diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index 6406551f..00000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "KMP json schema validator", - "image": "mcr.microsoft.com/devcontainers/java:1.0-11", - "features": { - "ghcr.io/devcontainers/features/java:1" : { - "version": "11", - "installGradle": true, - "gradleVersion": "8.7" - }, - "ghcr.io/devcontainers/features/python:1": { - "version": "3.10", - "installTools": false - }, - "ghcr.io/rocker-org/devcontainer-features/apt-packages" : { - "packages": "tig" - }, - "ghcr.io/devcontainers/features/sshd:1": { - "version": "latest" - } - }, - // Download all required dependencies - "postCreateCommand": { - "install-dependencies": "./gradlew dependencies > /dev/null", - "init-submodules": "git submodule init && git submodule update", - "git-completion": "echo \"source /usr/share/bash-completion/completions/git\" >> ~/.bashrc" - }, - "customizations": { - "vscode": { - "extensions": [ - "fwcd.kotlin", - "redhat.java", - "github.vscode-github-actions", - "vscjava.vscode-gradle" - ] - } - } -} \ No newline at end of file diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 0027fa0a..00000000 --- a/.editorconfig +++ /dev/null @@ -1,151 +0,0 @@ -[*] -charset = utf-8 -end_of_line = lf -indent_size = 2 -indent_style = space -insert_final_newline = false -max_line_length = 120 -tab_width = 2 -ij_continuation_indent_size = 4 -ij_formatter_off_tag = @formatter:off -ij_formatter_on_tag = @formatter:on -ij_formatter_tags_enabled = true -ij_smart_tabs = false -ij_visual_guides = none -ij_wrap_on_typing = false - -[{*.har,*.json}] -ij_json_array_wrapping = split_into_lines -ij_json_keep_blank_lines_in_code = 0 -ij_json_keep_indents_on_empty_lines = false -ij_json_keep_line_breaks = true -ij_json_keep_trailing_comma = false -ij_json_object_wrapping = split_into_lines -ij_json_property_alignment = do_not_align -ij_json_space_after_colon = true -ij_json_space_after_comma = true -ij_json_space_before_colon = false -ij_json_space_before_comma = false -ij_json_spaces_within_braces = false -ij_json_spaces_within_brackets = false -ij_json_wrap_long_lines = false - -[{*.kt,*.kts}] -# noinspection EditorConfigKeyCorrectness -ktlint_standard_package-name = disabled -ktlint_standard_property-naming = disabled -ij_kotlin_align_in_columns_case_branch = false -ij_kotlin_align_multiline_binary_operation = false -ij_kotlin_align_multiline_extends_list = false -ij_kotlin_align_multiline_method_parentheses = false -ij_kotlin_align_multiline_parameters = true -ij_kotlin_align_multiline_parameters_in_calls = false -ij_kotlin_allow_trailing_comma = true -ij_kotlin_allow_trailing_comma_on_call_site = true -ij_kotlin_assignment_wrap = normal -ij_kotlin_blank_lines_after_class_header = 0 -ij_kotlin_blank_lines_around_block_when_branches = 0 -ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1 -ij_kotlin_block_comment_add_space = false -ij_kotlin_block_comment_at_first_column = true -ij_kotlin_call_parameters_new_line_after_left_paren = true -ij_kotlin_call_parameters_right_paren_on_new_line = true -ij_kotlin_call_parameters_wrap = on_every_item -ij_kotlin_catch_on_new_line = false -ij_kotlin_class_annotation_wrap = split_into_lines -ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL -ij_kotlin_continuation_indent_for_chained_calls = false -ij_kotlin_continuation_indent_for_expression_bodies = false -ij_kotlin_continuation_indent_in_argument_lists = false -ij_kotlin_continuation_indent_in_elvis = false -ij_kotlin_continuation_indent_in_if_conditions = false -ij_kotlin_continuation_indent_in_parameter_lists = false -ij_kotlin_continuation_indent_in_supertype_lists = false -ij_kotlin_else_on_new_line = false -ij_kotlin_enum_constants_wrap = off -ij_kotlin_extends_list_wrap = normal -ij_kotlin_field_annotation_wrap = split_into_lines -ij_kotlin_finally_on_new_line = false -ij_kotlin_if_rparen_on_new_line = true -ij_kotlin_import_nested_classes = true -ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^ -ij_kotlin_insert_whitespaces_in_simple_one_line_method = true -ij_kotlin_keep_blank_lines_before_right_brace = 2 -ij_kotlin_keep_blank_lines_in_code = 2 -ij_kotlin_keep_blank_lines_in_declarations = 2 -ij_kotlin_keep_first_column_comment = true -ij_kotlin_keep_indents_on_empty_lines = false -ij_kotlin_keep_line_breaks = true -ij_kotlin_lbrace_on_next_line = false -ij_kotlin_line_break_after_multiline_when_entry = true -ij_kotlin_line_comment_add_space = false -ij_kotlin_line_comment_add_space_on_reformat = false -ij_kotlin_line_comment_at_first_column = true -ij_kotlin_method_annotation_wrap = split_into_lines -ij_kotlin_method_call_chain_wrap = normal -ij_kotlin_method_parameters_new_line_after_left_paren = true -ij_kotlin_method_parameters_right_paren_on_new_line = true -ij_kotlin_method_parameters_wrap = on_every_item -ij_kotlin_name_count_to_use_star_import = 2147483647 -ij_kotlin_name_count_to_use_star_import_for_members = 2147483647 -ij_kotlin_parameter_annotation_wrap = off -ij_kotlin_space_after_comma = true -ij_kotlin_space_after_extend_colon = true -ij_kotlin_space_after_type_colon = true -ij_kotlin_space_before_catch_parentheses = true -ij_kotlin_space_before_comma = false -ij_kotlin_space_before_extend_colon = true -ij_kotlin_space_before_for_parentheses = true -ij_kotlin_space_before_if_parentheses = true -ij_kotlin_space_before_lambda_arrow = true -ij_kotlin_space_before_type_colon = false -ij_kotlin_space_before_when_parentheses = true -ij_kotlin_space_before_while_parentheses = true -ij_kotlin_spaces_around_additive_operators = true -ij_kotlin_spaces_around_assignment_operators = true -ij_kotlin_spaces_around_equality_operators = true -ij_kotlin_spaces_around_function_type_arrow = true -ij_kotlin_spaces_around_logical_operators = true -ij_kotlin_spaces_around_multiplicative_operators = true -ij_kotlin_spaces_around_range = false -ij_kotlin_spaces_around_relational_operators = true -ij_kotlin_spaces_around_unary_operator = false -ij_kotlin_spaces_around_when_arrow = true -ij_kotlin_variable_annotation_wrap = off -ij_kotlin_while_on_new_line = false -ij_kotlin_wrap_elvis_expressions = 1 -ij_kotlin_wrap_expression_body_functions = 1 -ij_kotlin_wrap_first_method_in_call_chain = false - -[{*.markdown,*.md}] -ij_markdown_force_one_space_after_blockquote_symbol = true -ij_markdown_force_one_space_after_header_symbol = true -ij_markdown_force_one_space_after_list_bullet = true -ij_markdown_force_one_space_between_words = true -ij_markdown_format_tables = true -ij_markdown_insert_quote_arrows_on_wrap = true -ij_markdown_keep_indents_on_empty_lines = false -ij_markdown_keep_line_breaks_inside_text_blocks = true -ij_markdown_max_lines_around_block_elements = 1 -ij_markdown_max_lines_around_header = 1 -ij_markdown_max_lines_between_paragraphs = 1 -ij_markdown_min_lines_around_block_elements = 1 -ij_markdown_min_lines_around_header = 1 -ij_markdown_min_lines_between_paragraphs = 1 -ij_markdown_wrap_text_if_long = true -ij_markdown_wrap_text_inside_blockquotes = true - -[*.toml] -ij_toml_keep_indents_on_empty_lines = false - -[{*.yaml,*.yml}] -ij_yaml_align_values_properties = do_not_align -ij_yaml_autoinsert_sequence_marker = true -ij_yaml_block_mapping_on_new_line = false -ij_yaml_indent_sequence_value = true -ij_yaml_keep_indents_on_empty_lines = false -ij_yaml_keep_line_breaks = true -ij_yaml_sequence_on_new_line = false -ij_yaml_space_before_colon = false -ij_yaml_spaces_within_braces = true -ij_yaml_spaces_within_brackets = true diff --git a/.fossa.yml b/.fossa.yml deleted file mode 100644 index a855ef7e..00000000 --- a/.fossa.yml +++ /dev/null @@ -1,9 +0,0 @@ -version: 3 -project: - locator: custom+46664/github.com/OptimumCode/json-schema-validator - id: https://github.com/OptimumCode/json-schema-validator -targets: - only: - - type: gradle - path: ./ - target: ':json-schema-validator' \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml deleted file mode 100644 index a8da8624..00000000 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Bug -description: Report an issue with the library -title: 'Bug: ' -labels: - - bug -assignees: - - OptimumCode -body: - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if an issue already exists for the bug you encountered. - options: - - label: I have searched the existing issues - required: true - - type: textarea - attributes: - label: Current Behavior - description: A concise description of what you're experiencing. - validations: - required: false - - type: textarea - attributes: - label: Expected Behavior - description: A concise description of what you expected to happen. - validations: - required: false - - type: textarea - attributes: - label: JSON schema - description: A JSON schema that results in the observed behavior - placeholder: | - {} - render: json - validations: - required: false - - type: input - attributes: - label: Library version - description: Version of the library that you used when experienced the problem - placeholder: '0.0.1' - validations: - required: true - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Anything that will give us more context about the issue you are encountering! - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - validations: - required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml deleted file mode 100644 index b376d974..00000000 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Feature request -description: Enhancement proposal for the library -title: 'Enhancement: <title>' -labels: - - enhancement -assignees: - - OptimumCode -body: - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if a similar proposal already exists. - options: - - label: I have searched the existing issues - required: true - - type: textarea - attributes: - label: Enhancement description - description: A description of what would like to add/change in the library. - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/question.yml b/.github/ISSUE_TEMPLATE/question.yml deleted file mode 100644 index 623884bc..00000000 --- a/.github/ISSUE_TEMPLATE/question.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Question -description: Ask a question about the library or about its behavior in certain cases -title: 'Question: <title>' -labels: - - question -assignees: - - OptimumCode -body: - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if a similar question already exists for the one you would like to ask. - options: - - label: I have searched the existing issues - required: true - - type: textarea - attributes: - label: Question - description: What would you like to know? - validations: - required: false - - type: input - attributes: - label: Library version - description: Version of the library that you use right now - placeholder: '0.0.1' - validations: - required: false - - type: textarea - attributes: - label: Anything else? - description: | - Links? References? Examples? Anything else that will help to properly respond to your question! - - Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. - validations: - required: false diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 31f3c3bf..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,36 +0,0 @@ -version: 2 -updates: - - package-ecosystem: gradle - labels: - - dependencies - assignees: - - 'OptimumCode' - directory: '/' - schedule: - interval: daily - - package-ecosystem: github-actions - labels: - - dependencies - - CI/CD - assignees: - - 'OptimumCode' - directory: '/' - schedule: - interval: daily - - package-ecosystem: "devcontainers" - labels: - - dependencies - assignees: - - 'OptimumCode' - directory: '/' - schedule: - interval: daily - - package-ecosystem: gitsubmodule - directory: "/" - labels: - - ignore - - tests - assignees: - - 'OptimumCode' - schedule: - interval: daily \ No newline at end of file diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml deleted file mode 100644 index dd16e4ce..00000000 --- a/.github/workflows/benchmark.yml +++ /dev/null @@ -1,204 +0,0 @@ -name: "Running benchmark" - -on: - workflow_dispatch: - inputs: - warmups: - description: 'number of warmups run before the actual benchmark' - type: number - default: 5 - required: false - iterations: - description: 'number of iterations in the benchmark' - type: number - default: 10 - required: false - iteration-time: - description: 'duration of individual integration in benchmark' - type: number - default: 1 - required: false - iteration-time-unit: - description: 'timeunit for iteration-time parameter' - default: 's' - type: string - required: false - schedule: - - cron: "0 2 * * 1" - push: - branches: - - main - paths: - - 'build.gradle.kts' - - 'gradle.properties' - - 'json-schema-validator/**' - - 'gradle/**' - - 'generator/**' - - '.github/workflows/benchmark.yml' - pull_request: - -env: - REPORT_FORMAT: ${{ (github.event_name == 'push' || github.event_name == 'pull_request' ) && 'json' || 'csv' }} - MAIN_BENCH_TASK: ${{ github.event.pull_request.number && 'prValidationBenchmark' || 'benchmark' }} - MAIN_BENCH_RESULTS: ${{ github.event.pull_request.number && 'prValidation' || 'main' }} - COMPARISON_BENCH_RESULTS: ${{ github.event.pull_request.number && 'prValidationComparison' || 'comparison' }} - -concurrency: - cancel-in-progress: true - group: bench-${{ github.event_name }}-${{ github.event.pull_request.number || github.event.after }} - -jobs: - benchmark-matrix: - strategy: - matrix: - include: - - os: ubuntu-latest - additional-task: ":benchmark:${{ github.event.pull_request.number && 'jvmPrValidationComparisonBenchmark' || 'jvmComparisonBenchmark' }}" - - os: macos-latest - additional-task: "-x :benchmark:${{ github.event.pull_request.number && 'jvmPrValidationBenchmark' || 'jvmBenchmark' }}" - - os: macos-13 # for macosX64 - additional-task: "-x :benchmark:${{ github.event.pull_request.number && 'jvmPrValidationBenchmark' || 'jvmBenchmark' }}" - - os: windows-latest - additional-task: "-x :benchmark:${{ github.event.pull_request.number && 'jvmPrValidationBenchmark' || 'jvmBenchmark' }}" - runs-on: ${{ matrix.os }} - name: Run benchmarks on ${{ matrix.os }} - env: - BENCHMARK_RESULTS: 'benchmark/build/reports/benchmarks' - steps: - - name: 'Install native dependencies' - run: sudo apt-get install -y libunistring-dev - if: matrix.os == 'ubuntu-latest' - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - uses: actions/setup-python@v5 - with: - python-version-file: .python-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Run benchmarks - run: > - ./gradlew --no-daemon :benchmark:${{ env.MAIN_BENCH_TASK }} ${{ matrix.additional-task }} - -Pbenchmark_warmups=${{ inputs.warmups }} - -Pbenchmark_iterations=${{ inputs.iterations }} - -Pbenchmark_iteration_time=${{ inputs.iteration-time }} - -Pbenchmark_iteration_time_unit=${{ inputs.iteration-time-unit }} - -Pbenchmark_report_format=${{ env.REPORT_FORMAT }} - - name: Install CSV to MD converter - if: env.REPORT_FORMAT == 'csv' - run: pip install csv2md - - name: Add benchmark results to summary - shell: bash - if: env.REPORT_FORMAT == 'csv' - run: | - for report in $(find ./${{ env.BENCHMARK_RESULTS }} -type f -name "*.csv") - do - file_name=$(basename "$report") - platform="${file_name%.*}" - echo "File $file_name" - # remove empty lines - sed -i -e '/^[[:space:]]*$/d' $report - echo "::group::Report CSV" - cat "$report" - echo "::endgroup::" - markdown_table=$(csv2md "$report") - echo "::group::Report Markdown" - echo "$markdown_table" - echo "::endgroup::" - echo "# Platform ${platform}" >> $GITHUB_STEP_SUMMARY - echo "$markdown_table" >> $GITHUB_STEP_SUMMARY - done - - name: Store results as artifact - if: env.REPORT_FORMAT == 'json' - uses: actions/upload-artifact@v4 - with: - name: bench-result-${{ matrix.os }} - path: ${{ env.BENCHMARK_RESULTS }}/${{ env.MAIN_BENCH_RESULTS }}/**/*.json - - name: Store comparison results as artifact - if: env.REPORT_FORMAT == 'json' && matrix.os == 'ubuntu-latest' - uses: actions/upload-artifact@v4 - with: - name: bench-comparison-result-${{ matrix.os }} - path: ${{ env.BENCHMARK_RESULTS }}/${{ env.COMPARISON_BENCH_RESULTS }}/**/*.json - - upload-benchmark-results: - if: (github.event_name == 'push' || github.event_name == 'pull_request') && github.repository == 'OptimumCode/json-schema-validator' - needs: - - benchmark-matrix - runs-on: ubuntu-latest - env: - RESULTS_DIR: bench-results - permissions: - # deployments permission to deploy GitHub pages website - deployments: write - # contents permission to update benchmark contents in gh-pages branch - contents: write - # pull-requests permission to create comments on PR in case of alert - pull-requests: write - strategy: - # to make sure results are submitted one by one - max-parallel: 1 - matrix: - include: - - artifact-pattern: 'bench-result-*' - results-name: KMP JSON schema validator - alert: true - - artifact-pattern: 'bench-comparison-result-*' - results-name: Compare KMP JSON schema validator - alert: false - name: 'Process benchmark results for ${{ matrix.results-name }}' - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - name: Download benchmark results - uses: actions/download-artifact@v4 - with: - pattern: ${{ matrix.artifact-pattern }} - path: ${{ env.RESULTS_DIR }} - merge-multiple: true - - name: Show downloaded artifacts - run: tree ${{ env.RESULTS_DIR }} - - name: Prepare and join benchmark reports - id: prep - run: | - for report in $(find ./${{ env.RESULTS_DIR }} -type f -name "*.json") - do - file_name=$(basename "$report") - platform="${file_name%.*}" - jq "[ .[] | .benchmark |= \"${platform}.\" + ltrimstr(\"io.github.optimumcode.json.schema.benchmark.\") | .params |= map_values(. |= split(\"/\")[-1]) ]" $report > ${{ env.RESULTS_DIR }}/$platform.json - done - AGGREGATED_REPORT=aggregated.json - # Joined reports looks like this: [[{},{}], [{},{}]] - # We need to transform them into this: [{},{}] - ls ${{ env.RESULTS_DIR }}/*.json - jq -s '[ .[] | .[] ]' ${{ env.RESULTS_DIR }}/*.json > $AGGREGATED_REPORT - echo "report=$AGGREGATED_REPORT" >> $GITHUB_OUTPUT - - name: Store benchmark result - uses: benchmark-action/github-action-benchmark@v1 - with: - name: ${{ matrix.results-name }} - tool: 'jmh' - output-file-path: ${{ steps.prep.outputs.report }} - alert-comment-cc-users: "@OptimumCode" - comment-on-alert: ${{ matrix.alert }} - summary-always: true - alert-threshold: '150%' - fail-threshold: '200%' - max-items-in-chart: 50 - github-token: ${{ secrets.GITHUB_TOKEN }} - # Push and deploy GitHub pages branch automatically only if run in main repo and not in PR - auto-push: ${{ github.event_name != 'pull_request' }} diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml deleted file mode 100644 index 6eaeb5c4..00000000 --- a/.github/workflows/build-and-test.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: Build and test on different host systems - -on: - workflow_call: - inputs: - upload-code-coverage: - type: boolean - description: "enabled uploading coverage report to codecov" - required: false - default: false - collect-code-coverage: - type: boolean - description: "enables collecting coverage reports and uploading them as artifacts" - required: false - default: false - secrets: - CODECOV_TOKEN: - description: "token to upload codecov report" - required: false -jobs: - check-style: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Build - run: ./gradlew --no-daemon --continue detekt detektAll ktlintCheck apiCheck - check-linux: - uses: ./.github/workflows/check.yml - with: - run-on: ubuntu-latest - task: linuxAllTest - upload-code-coverage: ${{ inputs.upload-code-coverage }} - collect-code-coverage: ${{ inputs.collect-code-coverage }} - secrets: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - check-macos: - uses: ./.github/workflows/check.yml - with: - run-on: macos-latest - task: macOsAllTest - check-windows: - uses: ./.github/workflows/check.yml - with: - run-on: windows-latest - task: windowsAllTest diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml deleted file mode 100644 index 5bc02b94..00000000 --- a/.github/workflows/check.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Check project - -on: - workflow_call: - inputs: - run-on: - type: string - required: true - description: "runner to check the project" - task: - type: string - required: true - description: "task to check the platform targets" - upload-code-coverage: - type: boolean - description: "enabled uploading coverage report to codecov" - required: false - default: false - collect-code-coverage: - type: boolean - description: "enables collecting coverage reports and uploading them as artifacts" - required: false - default: false - secrets: - CODECOV_TOKEN: - description: "token to upload codecov report" - required: false - -jobs: - check: - runs-on: ${{ inputs.run-on }} - steps: - - name: 'Install native dependencies' - run: sudo apt-get install -y libunistring-dev - if: runner.os == 'Linux' - - name: 'Checkout Repository' - uses: actions/checkout@v4 - with: - submodules: true - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - uses: actions/setup-python@v5 - with: - python-version-file: .python-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Build - run: ./gradlew --no-daemon --info ${{ inputs.task }} koverXmlReport -x :benchmark:benchmark --build-cache - - name: Upload coverage reports to Codecov - if: inputs.upload-code-coverage && github.actor != 'dependabot[bot]' - uses: codecov/codecov-action@v5 - with: - token: ${{ secrets.CODECOV_TOKEN }} - - name: Collect coverage reports - if: inputs.collect-code-coverage && github.actor != 'dependabot[bot]' - uses: actions/upload-artifact@v4 - with: - name: coverage-reports - path: '**/build/reports/kover/report.xml' diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index 3c451766..00000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: "CodeQL" - -on: - push: - branches: [ "main" ] - pull_request: - branches: [ "main" ] - schedule: - - cron: '19 19 * * 6' - -jobs: - analyze: - runs-on: ubuntu-latest - timeout-minutes: 30 - permissions: - # required for all workflows - security-events: write - - # required to fetch internal or private CodeQL packs - packages: read - - # only required for workflows in private repositories - actions: read - contents: read - env: - LANGUAGE: java-kotlin - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ env.LANGUAGE }} - build-mode: manual - # Build - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Build - run: > - ./gradlew - --no-daemon - -S - -Dorg.gradle.dependency.verification=off - -Dorg.gradle.warning.mode=none - jvmTestClasses - jsTestClasses - - # Perform analysis - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{ env.LANGUAGE }}" \ No newline at end of file diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml deleted file mode 100644 index 87fac732..00000000 --- a/.github/workflows/dependencies.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: "Gradle dependencies submission" - -on: [ push ] - -jobs: - build: - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Gradle Dependency Submission - uses: gradle/actions/dependency-submission@v4 - with: - build-scan-publish: true - build-scan-terms-of-use-url: 'https://gradle.com/terms-of-service' - build-scan-terms-of-use-agree: 'yes' - env: - GITHUB_DEPENDENCY_GRAPH_REF: ${{ github.ref }} - DEPENDENCY_GRAPH_EXCLUDE_PROJECTS: ':buildSrc' - DEPENDENCY_GRAPH_EXCLUDE_CONFIGURATIONS: '(.*[Tt]est(Compile|Runtime)Classpath)|(dokka.*)|(graphql.*)' \ No newline at end of file diff --git a/.github/workflows/fossa-analyze.yml b/.github/workflows/fossa-analyze.yml deleted file mode 100644 index 8e24b249..00000000 --- a/.github/workflows/fossa-analyze.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Execute FOSSA analyze action - -on: - pull_request_target: - branches: - - main - paths: - - 'gradle/**' - push: - branches: - - main - paths: - - 'gradle/**' - workflow_dispatch: - -jobs: - fossa-scan: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - with: - repository: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - ref: ${{ github.event.pull_request.head.sha || github.sha }} - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - uses: fossas/fossa-action@v1 - with: - api-key: ${{secrets.FOSSA_API_KEY}} - branch: ${{ github.event.pull_request.head.ref || github.ref_name }} - - uses: fossas/fossa-action@v1 - if: github.event_name != 'push' - with: - api-key: ${{secrets.FOSSA_API_KEY}} - run-tests: true \ No newline at end of file diff --git a/.github/workflows/pr-compliance-check.yml b/.github/workflows/pr-compliance-check.yml deleted file mode 100644 index 3ca1af97..00000000 --- a/.github/workflows/pr-compliance-check.yml +++ /dev/null @@ -1,115 +0,0 @@ -name: "Check PR complains with requirements" - -on: - pull_request_target: - workflow_run: - workflows: ['Run tests for PR'] - types: [completed] - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.workflow_run.head_branch }} - cancel-in-progress: true - -jobs: - restore-pr: - if: github.event_name == 'workflow_run' - runs-on: ubuntu-latest - outputs: - pr-number: ${{ steps.pr-info.outputs.pr-number }} - steps: - - name: Download PR info - uses: dawidd6/action-download-artifact@v11 - with: - name: pr_number - path: pr/ - run_id: ${{ github.event.workflow_run.id }} - - name: Store PR number - id: pr-info - run: echo "pr-number=$(cat pr/pr_number)" >> $GITHUB_OUTPUT - reviewdog: - if: github.event_name == 'pull_request_target' - permissions: - pull-requests: write - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Setup format tools - run: | - ./gradlew --dry-run -q # download wrapper if needed - export DETEKT_VERSION=$(./gradlew --console plain -q printDetektVersion) - export KTLINT_VERSION=$(./gradlew --console plain -q printKtlintVersion) - mkdir -p ${HOME}/.local/bin - ./scripts/install-format-tools.sh - - name: 'Checkout PR' - uses: actions/checkout@v4 - with: - repository: ${{ github.event.pull_request.head.repo.full_name }} - ref: ${{ github.event.pull_request.head.ref }} - - name: Setup reviewdog - uses: reviewdog/action-setup@v1 - with: - reviewdog_version: latest - - name: Run reviewdog detekt - run: > - detekt-cli -c config/detekt/detekt.yml --includes '**/src/*Main/**/*.kt;**/src/main/**/*.kt' | - reviewdog -tee -reporter=github-pr-review -log-level=debug -efm="%f:%l:%c: %m" -name=detekt - env: - REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} - - name: Run reviewdog ktlint - run: > - ktlint '**/*.kt' '**/*.kts' '!**/build/generated*/**' | - reviewdog -tee -reporter=github-pr-review -log-level=debug -efm="%f:%l:%c: %m" -name=ktlint - env: - REVIEWDOG_GITHUB_API_TOKEN: ${{ github.token }} - - danger-check: - if: github.event_name == 'pull_request_target' - runs-on: ubuntu-latest - permissions: - pull-requests: write - statuses: write - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - name: Danger - uses: danger/kotlin@1.3.3 - with: - run-mode: ci - dangerfile: Dangerfile.df.kts - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - upload-coverage: - runs-on: ubuntu-latest - if: github.event.workflow_run.actor.name != 'dependabot[bot]' && github.event.workflow_run.conclusion == 'success' - needs: - - restore-pr - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - with: - repository: ${{ github.event.workflow_run.head_repository.full_name }} - ref: ${{ github.event.workflow_run.head_sha }} - - name: Download benchmark results - uses: dawidd6/action-download-artifact@v11 - with: - name: coverage-reports - path: reports/ - run_id: ${{ github.event.workflow_run.id }} - - name: Upload coverage reports to Codecov - uses: codecov/codecov-action@v5 - with: - override_branch: ${{ github.event.workflow_run.head_branch }} - override_commit: ${{ github.event.workflow_run.head_sha }} - override_pr: ${{ needs.restore-pr.outputs.pr-number }} - token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml deleted file mode 100644 index e699a564..00000000 --- a/.github/workflows/pull_request.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: "Run tests for PR" - -on: - pull_request: - paths-ignore: - - 'README.md' - - 'changelog_config.json' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number }} - cancel-in-progress: true - -jobs: - store-pr: - runs-on: ubuntu-latest - steps: - - name: Save PR number - env: - PR_NUMBER: ${{ github.event.number }} - run: | - mkdir -p ./pr - echo $PR_NUMBER > ./pr/pr_number - - uses: actions/upload-artifact@v4 - with: - name: pr_number - path: pr/ - check-pr: - uses: ./.github/workflows/build-and-test.yml - with: - collect-code-coverage: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 1a92d309..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,159 +0,0 @@ -name: "Create release" - -on: - workflow_dispatch: - inputs: - skip-publication: - description: 'Skip publication of artifacts to Maven Central' - required: false - default: false - type: boolean - -env: - VERSION_FILE: gradle.properties - VERSION_PATTERN: '(?<=version=).+' - -jobs: - version: - runs-on: ubuntu-latest - outputs: - CURRENT_VERSION: ${{ steps.versions.outputs.CURRENT_VERSION }} - NEXT_VERSION: ${{ steps.versions.outputs.NEXT_VERSION }} - RELEASE_VERSION: ${{ steps.versions.outputs.RELEASE_VERSION }} - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - name: Get version - id: versions - uses: HardNorth/github-version-generate@v1.4.0 - with: - version-source: file - version-file: ${{ env.VERSION_FILE }} - version-file-extraction-pattern: ${{ env.VERSION_PATTERN }} - build-and-test: - if: github.event.inputs.skip-publication != 'true' && !cancelled() - uses: ./.github/workflows/build-and-test.yml - publish_artifacts: - # permissions required for sigstore signature - permissions: - id-token: write - contents: read - needs: - - version - - build-and-test - if: github.event.inputs.skip-publication != 'true' && !cancelled() - runs-on: macos-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - with: - submodules: true - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - uses: actions/setup-python@v5 - with: - python-version-file: .python-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Build and publish release - run: > - ./gradlew --no-daemon --info - :json-schema-validator:assemble - :json-schema-validator-objects:assemble - publishToMavenCentral --no-configuration-cache - -Pversion=${{ needs.version.outputs.RELEASE_VERSION }} - -x :benchmark:benchmark - env: - ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} - ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_SECRET_KEY }} - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_PASSWORD }} - create_release: - runs-on: ubuntu-latest - needs: - - publish_artifacts - - version - if: ${{ !cancelled() }} - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - name: Store SHA of HEAD commit on ENV - run: echo "GIT_HEAD=$(git rev-parse HEAD)" >> $GITHUB_ENV - - - name: Create tag - id: create_tag - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.PUSH_PAT }} - script: | - const {GIT_HEAD} = process.env - github.rest.git.createRef({ - owner: context.repo.owner, - repo: context.repo.repo, - ref: "refs/tags/${{ needs.version.outputs.RELEASE_VERSION }}", - sha: `${GIT_HEAD}` - }) - - - name: Build changelog - id: build_changelog - uses: mikepenz/release-changelog-builder-action@v5 - with: - configuration: changelog_config.json - toTag: ${{ needs.version.outputs.RELEASE_VERSION }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Create release - id: create_release - uses: ncipollo/release-action@v1.18.0 - with: - body: ${{ steps.build_changelog.outputs.changelog }} - name: Release ${{ needs.version.outputs.RELEASE_VERSION }} - tag: ${{ needs.version.outputs.RELEASE_VERSION }} - token: ${{ secrets.PUSH_PAT }} - makeLatest: ${{ github.ref == 'refs/heads/main' }} - update-version: - runs-on: ubuntu-latest - if : ${{ !cancelled() }} - needs: - - create_release - - version - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - with: - token: ${{ secrets.PUSH_PAT }} - - name: Prepare next dev version - id: prepare_next_dev - run: | - # gradle - sed -i -e 's/${{ needs.version.outputs.CURRENT_VERSION }}/${{ needs.version.outputs.NEXT_VERSION }}/g' gradle.properties - sed -i -E -e 's/json-schema-validator((-[a-z]+)?:|\/)[0-9]+\.[0-9]+\.[0-9]+/json-schema-validator\1${{ needs.version.outputs.RELEASE_VERSION }}/g' README.md - sed -i -E -e 's/json-schema-validator((-[a-z]+)?:|\/)[0-9]+\.[0-9]+\.[0-9]+(-SNAPSHOT)/json-schema-validator\1${{ needs.version.outputs.NEXT_VERSION }}/g' README.md - # maven - sed -i -e 's|<version>[0-9]+\.[0-9]+\.[0-9]+|<version>${{ needs.version.outputs.RELEASE_VERSION }}|g' README.md - sed -i -e 's|<version>[0-9]+\.[0-9]+\.[0-9]+(-SNAPSHOT)|<version>${{ needs.version.outputs.NEXT_VERSION }}|g' README.md - - name: Show what has changed - if: ${{ !cancelled() }} - run: | - git diff - - name: Commit next dev version - id: commit_next_dev - uses: EndBug/add-and-commit@v9 - with: - add: "['gradle.properties', 'README.md']" - default_author: github_actions - message: "Prepare next version" \ No newline at end of file diff --git a/.github/workflows/review-release-notes.yml b/.github/workflows/review-release-notes.yml deleted file mode 100644 index 490ae4ac..00000000 --- a/.github/workflows/review-release-notes.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Renders release notes for next release - -on: - workflow_dispatch: - -jobs: - preview: - runs-on: ubuntu-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - - name: Build changelog - id: build_changelog - uses: mikepenz/release-changelog-builder-action@v5 - with: - configuration: changelog_config.json - toTag: ${{ github.ref }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Dump changelog - run: echo "${{ steps.build_changelog.outputs.changelog }}" >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/.github/workflows/snapshot_release.yml b/.github/workflows/snapshot_release.yml deleted file mode 100644 index 58df9a27..00000000 --- a/.github/workflows/snapshot_release.yml +++ /dev/null @@ -1,70 +0,0 @@ -name: Publish snapshot - -on: - push: - branches: - - main - paths: - - 'build.gradle.kts' - - 'gradle.properties' - - 'json-schema-validator/**' - - 'json-schema-validator-objects/**' - - 'gradle/**' - - 'buildSrc/src/main/kotlin/convention.publication.gradle.kts' - - '.github/workflows/snapshot_release.yml' - -jobs: - build-and-test: - uses: ./.github/workflows/build-and-test.yml - with: - upload-code-coverage: true - secrets: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - publish: - # permissions required for sigstore signature - permissions: - id-token: write - contents: read - needs: - - build-and-test - runs-on: macos-latest - steps: - - name: 'Checkout Repository' - uses: actions/checkout@v4 - with: - submodules: true - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version-file: .java-version - - uses: actions/setup-python@v5 - with: - python-version-file: .python-version - - name: Validate Gradle Wrapper - uses: gradle/actions/wrapper-validation@v4 - - name: Cache konan - uses: actions/cache@v4 - with: - path: ~/.konan - key: ${{ runner.os }}-gradle-${{ hashFiles('*.gradle.kts') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Build with Gradle - uses: gradle/actions/setup-gradle@v4 - with: - gradle-version: wrapper - - name: Setup Gradle - run: > - ./gradlew - --no-daemon - --info - :json-schema-validator:assemble - :json-schema-validator-objects:assemble - publishToMavenCentral - -x :benchmark:benchmark - env: - ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }} - ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }} - ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_SECRET_KEY }} - ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.OSSRH_USERNAME }} - ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.OSSRH_PASSWORD }} \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c28372d6..00000000 --- a/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -.idea/ -build/ -out/ - -.gradle/ -.kotlin/ - -# downloaded data for unicode characters -unicode_dump/ - -# to keep the local secrets from been published -local.properties \ No newline at end of file diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 52a8231b..00000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "schema-test-suite"] - path = test-suites/schema-test-suite - url = https://github.com/json-schema-org/JSON-Schema-Test-Suite.git diff --git a/.java-version b/.java-version deleted file mode 100644 index b5045cc4..00000000 --- a/.java-version +++ /dev/null @@ -1 +0,0 @@ -21 \ No newline at end of file diff --git a/.python-version b/.python-version deleted file mode 100644 index 7c7a975f..00000000 --- a/.python-version +++ /dev/null @@ -1 +0,0 @@ -3.10 \ No newline at end of file diff --git a/.reviewdog.yml b/.reviewdog.yml deleted file mode 100644 index 06cfd7d3..00000000 --- a/.reviewdog.yml +++ /dev/null @@ -1,13 +0,0 @@ -runner: - detekt: - cmd: "detekt-cli -c config/detekt/detekt.yml --includes '**/src/*Main/**/*.kt;**/src/main/**/*.kt'" - errorformat: - - "%f:%l:%c: %m" - name: detekt - level: error - ktlint: - cmd: "ktlint '**/*.kt' '**/*.kts' '!**/build/generated*/**'" - errorformat: - - "%f:%l:%c: %m" - name: ktlint - level: error \ No newline at end of file diff --git a/Dangerfile.df.kts b/Dangerfile.df.kts deleted file mode 100644 index 3592ce20..00000000 --- a/Dangerfile.df.kts +++ /dev/null @@ -1,30 +0,0 @@ -@file:Suppress("ktlint:standard:no-wildcard-imports") - -import systems.danger.kotlin.* -import systems.danger.kotlin.models.github.GitHubIssueLabel - -danger(args) { - if (git.modifiedFiles.any { it.contains("json-schema-validator/api/") }) { - markdown( - "## PR introduces changes to the public API\n" + - "Please add **\"ABI breaking\"** label if **any line** in API file was changed or deleted.<br/>" + - "Please add **\"API breaking\"** label if **any public method** in API file was changed or deleted.", - ) - } - onGitHub { - val prLabels = issue.labels - checkPrLabels(prLabels) - } -} - -fun checkPrLabels(prLabels: List<GitHubIssueLabel>) { - when (prLabels.size) { - 0 -> fail("PR must have labels") - 1 -> - prLabels.find { it.name.equals("ignore", ignoreCase = true) }?.let { - warn("PR must have labels other then '[${it.name}](${it.url})'") - } - - else -> {} - } -} \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0d2cd7f5..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2023 Oleg Smirnov - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 6fa9a6aa..00000000 --- a/README.md +++ /dev/null @@ -1,552 +0,0 @@ -# json-schema-validator - -[![Licence](https://img.shields.io/github/license/OptimumCode/json-schema-validator)](https://opensource.org/license/mit/) -[![Supported-drafts](https://img.shields.io/endpoint?url=https://bowtie-json-schema.github.io/bowtie/badges/kotlin-kmp-json-schema-validator/supported_versions.json)](https://json-schema.org/specification) -![Codecov](https://img.shields.io/codecov/c/github/optimumcode/json-schema-validator) -[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B46664%2Fgithub.com%2FOptimumCode%2Fjson-schema-validator.svg?type=shield&issueType=license)](https://app.fossa.com/projects/custom%2B46664%2Fgithub.com%2FOptimumCode%2Fjson-schema-validator?ref=badge_shield&issueType=license) - -![Maven Central Version](https://img.shields.io/maven-central/v/io.github.optimumcode/json-schema-validator) -![Sonatype Nexus (Releases)](https://img.shields.io/nexus/r/io.github.optimumcode/json-schema-validator?server=https%3A%2F%2Fs01.oss.sonatype.org) -![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/io.github.optimumcode/json-schema-validator?server=https%3A%2F%2Fs01.oss.sonatype.org) - - -This multiplatform library is an implementation of JSON schema that can validate -[JsonElement](https://github.com/Kotlin/kotlinx.serialization/blob/master/formats/json/commonMain/src/kotlinx/serialization/json/JsonElement.kt) -from [kotlinx.serialization-json](https://github.com/Kotlin/kotlinx.serialization/tree/master/formats/json) library. - -[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/OptimumCode/json-schema-validator) -[![Open in DevPod!](https://devpod.sh/assets/open-in-devpod.svg)](https://devpod.sh/open#https://github.com/OptimumCode/json-schema-validator) - -## Usage - -### Supported targets - -| Target | -|-------------------| -| jvm | -| js | -| wasmJs | -| macosX64 | -| macosArm64 | -| iosArm64 | -| iosSimulatorArm64 | -| linuxX64 | -| linuxArm64 | -| mingwX64 | - -### Dependencies - -#### Releases - -In order to use releases add Maven Central repository to the list of repositories. - -##### Gradle - -###### Kotlin - -```kotlin -repositories { - mavenCentral() -} - -implementation("io.github.optimumcode:json-schema-validator:0.5.2") -``` - -###### Groovy - -```groovy -repositories { - mavenCentral() -} - -implementation 'io.github.optimumcode:json-schema-validator:0.5.2' - -// or with BOM - -implementation(platform("io.github.optimumcode:json-schema-validator-bom:0.5.2")) -implementation("io.github.optimumcode:json-schema-validator") -``` - -_Release are published to Sonatype repository. The synchronization with Maven Central takes time._ -_If you want to use the release right after the publication you should add Sonatype Release repository to your build script._ - -###### Kotlin - -```kotlin -repositories { - maven(url = "https://s01.oss.sonatype.org/content/repositories/releases/") -} -``` - -###### Groovy - -```groovy -repositories { - maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } -} -``` - -##### Maven - -You can also use `json-schema-validator` as a dependency in your maven project. -But Maven cannot use Gradle's metadata so you need to depend on a JVM-specific artifact in your project: - -```xml -<dependency> - <groupId>io.github.optimumcode</groupId> - <artifactId>json-schema-validator-jvm</artifactId> - <version>0.5.1</version> -</dependency> -``` - -And you can also add a sonatype repository to your POM file - -```xml -<repositories> - <repository> - <id>sonatype-release</id> - <name>sonatype-release</name> - <url>https://s01.oss.sonatype.org/content/repositories/releases/</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - <releases> - <enabled>true</enabled> - </releases> - </repository> -</repositories> -``` - -#### Snapshots - -_If you want to use SNAPSHOT version you should add Sonatype Snapshot repository to your build script._ - -##### Gradle - -###### Kotlin - -```kotlin -repositories { - maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots") -} - -implementation("io.github.optimumcode:json-schema-validator:0.5.3-SNAPSHOT") - -// or with BOM - -implementation(platform("io.github.optimumcode:json-schema-validator-bom:0.5.3-SNAPSHOT")) -implementation("io.github.optimumcode:json-schema-validator") -``` - -###### Groovy - -```groovy -repositories { - maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' } -} - -implementation 'io.github.optimumcode:json-schema-validator:0.5.3-SNAPSHOT' -``` - -##### Maven - -For the Maven you need to add a snapshot repository to your POM file - -```xml -<repositories> - <repository> - <id>sonatype</id> - <name>sonatype-snapshot</name> - <url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url> - <snapshots> - <enabled>true</enabled> - </snapshots> - <releases> - <enabled>false</enabled> - </releases> - </repository> -</repositories> -``` - -And then you can add a dependency to a SNAPSHOT version - -```xml -<dependency> - <groupId>io.github.optimumcode</groupId> - <artifactId>json-schema-validator-jvm</artifactId> - <version>0.5.2-SNAPSHOT</version> -</dependency> -``` - -### Example - -If you have just one JSON schema or many independent schemes -you can create it using factory methods defined on `JsonSchema` class. - -```kotlin -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import kotlinx.serialization.json.JsonElement - -val key = "\$" // to use $ in multiline string -val schema = JsonSchema.fromDefinition( - """ - { - "${key}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "positiveInteger": { - "type": "integer", - "minimum": 0 - } - }, - "properties": { - "size": { "${key}ref": "#/definitions/positiveInteger" } - } - } - """.trimIndent(), -) -val errors = mutableListOf<ValidationError>() -val elementToValidate: JsonElement = loadJsonToValidate() - -val valid = schema.validate(elementToValidate, errors::add) -``` - -You can also use predefined `ValidationOutput`s to collect the results. -Output formats are defined in [draft 2020-12](https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-01#section-12.4). -The most performance can be achieved by using either `flag` or `basic` collectors. -The `detailed` and `verbose` provide more structured information but this adds additional cost to the validation process -(because they collect hierarchical output). - -```kotlin -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationOutput.Flag -import io.github.optimumcode.json.schema.ValidationOutput.Basic -import io.github.optimumcode.json.schema.ValidationOutput.OutputUnit - -val flag: Flag = schema.validate(elementToValidate, OutputCollector.flag()) -val basic: Basic = schema.validate(elementToValidate, OutputCollector.basic()) -val detailed: OutputUnit = schema.validate(elementToValidate, OutputCollector.detailed()) -val verbose: OutputUnit = schema.validate(elementToValidate, OutputCollector.verbose()) -``` - -If you need to use more than one schema, and they have references to other schemas you should use `JsonSchemaLoader` class. - -```kotlin -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import kotlinx.serialization.json.JsonElement - -val schema: JsonSchema = JsonSchemaLoader.create() - .register( - """ - { - "${KEY}id": "https://test.com", - "properties": { - "name": { - "type": "string" - } - } - } - """.trimIndent(), - ).fromDefinition( - """ - { - "properties": { - "anotherName": { - "${KEY}ref": "https://test.com#/properties/name" - } - } - } - """.trimIndent(), - ) - -val errors = mutableListOf<ValidationError>() -val elementToValidate: JsonElement = loadJsonToValidate() - -val valid = schema.validate(elementToValidate, errors::add) -``` - -## Supported JSON schema drafts: - -- [Draft 7](https://json-schema.org/specification-links.html#draft-7) - <details> - <summary>Supported keywords</summary> - - - Core - - | Keyword | Status | - |:------------|:----------------------------------------------------------------------------------------------------| - | $id | Supported. $id in sub-schemas are collected as well and can be used in $ref | - | $schema | Supported. Validates if schema is one of the supported schemas. The last supported is used if empty | - | $ref | Supported | - | definitions | Supported. Definitions are loaded and can be referenced | - - - Assertions - - | Category | Assertion | Status | - |:--------------|:---------------------|:------------------------------------------------------------------------------------------------------------------------------------------------| - | General | type | Supported all type [defined in the specification](https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01#section-6.1.1) | - | | enum | Supported | - | | const | Supported | - | Numbers | multipleOf | Supported | - | | maximum | Supported | - | | exclusiveMaximum | Supported | - | | minimum | Supported | - | | exclusiveMinimum | Supported | - | Strings | maxLength | Supported | - | | minLength | Supported | - | | pattern | Supported (kotlin.text.Regex is used) | - | Arrays | items | Supported | - | | additionalItems | Supported | - | | maxItems | Supported | - | | uniqueItems | Supported | - | | contains | Supported | - | Objects | maxProperties | Supported | - | | minProperties | Supported | - | | required | Supported | - | | properties | Supported | - | | patternProperties | Supported (kotlin.text.Regex is used) | - | | additionalProperties | Supported | - | | dependencies | Supported | - | | propertyNames | Supported | - | Conditions | if/then/else | Supported | - | Boolean logic | allOf | Supported | - | | anyOf | Supported (all validation will be executed even if the element matches the first one) | - | | oneOf | Supported | - | | not | Supported | - </details> -- [Draft 2019-09](https://json-schema.org/specification-links#draft-2019-09-(formerly-known-as-draft-8)) - <details> - <summary>Supported keywords</summary> - - - Core - - | Keyword | Status | - |:------------------|:----------------------------------------------------------------------------------------------------| - | $id | Supported. $id in sub-schemas are collected as well and can be used in $ref | - | $schema | Supported. Validates if schema is one of the supported schemas. The last supported is used if empty | - | $ref | Supported | - | $recursiveRef | Supported | - | $defs/definitions | Supported. Definitions are loaded and can be referenced | - | $vocabulary | Supported. You can disable and enable vocabularies through custom meta-schemes | - - - Assertions - - | Category | Assertion | Status | - |:--------------|:----------------------|:------------------------------------------------------------------------------------------------------------------------------------------------| - | General | type | Supported all type [defined in the specification](https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01#section-6.1.1) | - | | enum | Supported | - | | const | Supported | - | Numbers | multipleOf | Supported | - | | maximum | Supported | - | | exclusiveMaximum | Supported | - | | minimum | Supported | - | | exclusiveMinimum | Supported | - | Strings | maxLength | Supported | - | | minLength | Supported | - | | pattern | Supported (kotlin.text.Regex is used) | - | Arrays | items | Supported | - | | additionalItems | Supported | - | | unevaluatedItems | Supported | - | | maxItems | Supported | - | | uniqueItems | Supported | - | | contains | Supported | - | | minContains | Supported (does not affect the work of contains assertion anyhow even if minContains=0) | - | | maxContains | Supported | - | Objects | maxProperties | Supported | - | | minProperties | Supported | - | | required | Supported | - | | properties | Supported | - | | patternProperties | Supported (kotlin.text.Regex is used) | - | | additionalProperties | Supported | - | | unevaluatedProperties | Supported | - | | dependentRequired | Supported | - | | dependentSchemas | Supported | - | | propertyNames | Supported | - | Conditions | if/then/else | Supported | - | Boolean logic | allOf | Supported | - | | anyOf | Supported (all validation will be executed even if the element matches the first one) | - | | oneOf | Supported | - | | not | Supported | - </details> -- [Draft 2020-12](https://json-schema.org/specification-links#2020-12) - <details> - <summary>Supported keywords</summary> - - - Core - - | Keyword | Status | - |:---------------------------|:----------------------------------------------------------------------------------------------------| - | $id | Supported. $id in sub-schemas are collected as well and can be used in $ref | - | $schema | Supported. Validates if schema is one of the supported schemas. The last supported is used if empty | - | $ref | Supported | - | $dynamicRef/$dynamicAnchor | Supported | - | $defs/definitions | Supported. Definitions are loaded and can be referenced | - | $vocabulary | Supported. You can disable and enable vocabularies through custom meta-schemes | - - - Assertions - - | Category | Assertion | Status | - |:--------------|:----------------------|:------------------------------------------------------------------------------------------------------------------------------------------------| - | General | type | Supported all type [defined in the specification](https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01#section-6.1.1) | - | | enum | Supported | - | | const | Supported | - | Numbers | multipleOf | Supported | - | | maximum | Supported | - | | exclusiveMaximum | Supported | - | | minimum | Supported | - | | exclusiveMinimum | Supported | - | Strings | maxLength | Supported | - | | minLength | Supported | - | | pattern | Supported (kotlin.text.Regex is used) | - | Arrays | prefixItems | Supported | - | | items | Supported | - | | unevaluatedItems | Supported | - | | maxItems | Supported | - | | uniqueItems | Supported | - | | contains | Supported | - | | minContains | Supported | - | | maxContains | Supported | - | Objects | maxProperties | Supported | - | | minProperties | Supported | - | | required | Supported | - | | properties | Supported | - | | patternProperties | Supported (kotlin.text.Regex is used) | - | | additionalProperties | Supported | - | | unevaluatedProperties | Supported | - | | dependentRequired | Supported | - | | dependentSchemas | Supported | - | | propertyNames | Supported | - | Conditions | if/then/else | Supported | - | Boolean logic | allOf | Supported | - | | anyOf | Supported (all validation will be executed even if the element matches the first one) | - | | oneOf | Supported | - | | not | Supported | - </details> - -## Thread safety - -All public API is thread-safe unless stated otherwise. -Please, read the documentation for each class/interface carefully before using an instance from different threads. - -## Format assertion - -The library supports `format` assertion. -All formats from [JSON schema draft 2020-12](https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-01#section-7.3) are supported. - -According to JSON schema specification the `format` keyword produces **assertion by default** for all drafts **before draft 2019-09**. -Starting **from draft 2019-09** the `format` keyword produces only **annotation by default**. - -You can change the default behaviour by specifying the corresponding option in `JsonSchemaLoader`. -```kotlin -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaOption - -val schema = JsonSchemaLoader.create() - // option to change the default behavior - .withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, ANNOTATION_AND_ASSERTION) - // or - .withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, ANNOTATION_ONLY) - .fromDefinition(schemaDefinition) -``` - -Alternatively, for drafts starting from the draft 2019-09 you can either use a custom meta-schema with format-assertion vocabulary enabled -and use this meta-schema in `$schema` property or define `$vocabulary` block with enabled format assertion in your schema. - -**_Implementation details:_** - -+ **regex** - to implement regex format Kotlin `Regex` class is used. - Because of that, result might vary depending on the platform where validation is executed - ([KT-49557](https://youtrack.jetbrains.com/issue/KT-49557)). - Please, be aware of it when using this library.</p> - If you know a KMM library that provides support for ECMA-262 Regex format - I would appreciate it if you could find some time to create [an issue](https://github.com/OptimumCode/json-schema-validator/issues/new/choose) with information about that library. - -There is also an API to implement the user's defined format validation. -The [FormatValidator](src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationError.kt) interface can be user for that. -The custom format validators can be register in [JsonSchemaLoader](src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaLoader.kt). - -_**Please note, that the format validation API is marked as experimental and will require `OptIn` declaration in your code.**_ - -## Custom assertions - -You can implement custom assertions and use them. Read more [here](docs/custom_assertions.md). - -## Compliance to JSON schema test suites - -This library uses official [JSON schema test suites](https://github.com/json-schema-org/JSON-Schema-Test-Suite) -as a part of the CI to make sure the validation meet the expected behavior. -Not everything is supported right now but the missing functionality might be added in the future. -The tests are located [here](test-suites). - - -**NOTE:** _Python 3.* is required to run test-suites._ -_It is used to generate list of remote schemas using [this script](test-suites/schema-test-suite/bin/jsonschema_suite)_ - -This library is also integrated into [bowtie](https://github.com/bowtie-json-schema/bowtie) -and runs against the official test suite along with other libraries. -You can find the report [here](https://bowtie.report/). - -[![draft-04](https://img.shields.io/endpoint?url=https://bowtie-json-schema.github.io/bowtie/badges/kotlin-kmp-json-schema-validator/compliance/draft4.json)](https://bowtie.report/#/dialects/draft4?language=kotlin) -[![draft-06](https://img.shields.io/endpoint?url=https://bowtie-json-schema.github.io/bowtie/badges/kotlin-kmp-json-schema-validator/compliance/draft6.json)](https://bowtie.report/#/dialects/draft6?language=kotlin) -[![draft-07](https://img.shields.io/endpoint?url=https://bowtie-json-schema.github.io/bowtie/badges/kotlin-kmp-json-schema-validator/compliance/draft7.json)](https://bowtie.report/#/dialects/draft7?language=kotlin) -[![draft/2019-09](https://img.shields.io/endpoint?url=https://bowtie-json-schema.github.io/bowtie/badges/kotlin-kmp-json-schema-validator/compliance/draft2019-09.json)](https://bowtie.report/#/dialects/draft2019-09?language=kotlin) -[![draft/2020-12](https://img.shields.io/endpoint?url=https://bowtie-json-schema.github.io/bowtie/badges/kotlin-kmp-json-schema-validator/compliance/draft2020-12.json)](https://bowtie.report/#/dialects/draft2020-12?language=kotlin) - -## Benchmarking - -There is a benchmark project that compares this library with some other ones: - -+ [OpenAPI schema validator](https://github.com/openapi-processor/openapi-parser/tree/master/json-schema-validator) -+ [Networknt Schema Validator](https://github.com/networknt/json-schema-validator) - -The benchmark is scheduled to run every night on Monday. -You can see the results in the latest workflow execution. - -Also, benchmark results are available [here](https://optimumcode.github.io/json-schema-validator/dev/bench/) in nice charts. -Many thanks to maintainers of [github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark) repo. - -## Developer notes - -### Build process - -The update to Kotlin 1.9.22 came with an issue for JS incremental compilation. -In case you see an error about main function that already bind please execute `clean` task. - -When you build project for **linux** target you might get an error about missing native library. -This is because `com.doist.x:normalize` requires this library to perform string normalization. -This is needed to support `idn-hostname` format. Install this library with the following command: - -```bash -sudo apt-get install -y libunistring-dev -``` - -### Devcontainer - -Devcontainers is a cool feature. However, by default in Codespaces and DevPod you will use [VS Code](https://code.visualstudio.com/). -This is a good IDE but not for Kotlin, unfortunately. -The extension that is available for VS Code to support Kotlin works quite slow (when workspace is just started) -and sometimes does not work correctly with multiplatform definitions. -Because of that I higly recoment using JetBrains Gateway -(but it looks like the GitHub Codespace provider is not currently compatible with latest Gateway version). -However, there is a way to connect to Codespace and work with project using JetBrains IDE. -Please, read details [here](docs/codespaces_for_jetbrains.md). - -## Future plans - -- [x] Add `$schema` property validation (if not set the latest supported will be used) -- [x] Add proper `$id` support (for nested schemas and for referencing) -- [x] Add support for newer drafts - - [x] [Draft 2019-09 (Draft 8)](https://json-schema.org/specification-links.html#draft-2019-09-formerly-known-as-draft-8) - - [x] [2020-12](https://json-schema.org/specification-links.html#2020-12) -- [x] Add support for schemas from external documents - - [x] Load schemas from local sources - - [ ] Load schemas from remote sources -- [x] Formalize error output as it is defined in the latest drafts - -## License - -[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B46664%2Fgithub.com%2FOptimumCode%2Fjson-schema-validator.svg?type=large&issueType=license)](https://app.fossa.com/projects/custom%2B46664%2Fgithub.com%2FOptimumCode%2Fjson-schema-validator?ref=badge_large&issueType=license) \ No newline at end of file diff --git a/benchmark/build.gradle.kts b/benchmark/build.gradle.kts deleted file mode 100644 index 1650415b..00000000 --- a/benchmark/build.gradle.kts +++ /dev/null @@ -1,85 +0,0 @@ -plugins { - convention.kotlin - convention.`multiplatform-jvm` - alias(libs.plugins.kotlin.benchmark) - alias(libs.plugins.kotlin.allopen) -} - -allOpen { - annotation("org.openjdk.jmh.annotations.State") -} - -kotlin { - jvm() - macosX64() - macosArm64() - iosX64() - iosArm64() - iosSimulatorArm64() - - linuxX64() - - mingwX64() - - applyDefaultHierarchyTemplate() - - sourceSets { - commonMain { - dependencies { - implementation(projects.jsonSchemaValidator) - implementation(libs.kotlin.benchmark) - implementation(libs.okio.common) - implementation(libs.kotlin.serialization.json.okio) - } - } - - jvmMain { - dependencies { - implementation(project.dependencies.platform(libs.openapi.bom)) - implementation(libs.bundles.openapi) - implementation(project.dependencies.platform(libs.jackson.bom)) - implementation(libs.bundles.jackson) - - implementation(libs.networknt.validator) - } - } - } -} - -fun Any?.takeIfNotBlank(): String? = this?.toString()?.takeUnless(String::isBlank) - -benchmark { - configurations { - configureEach { - warmups = properties["benchmark_warmups"]?.takeIfNotBlank()?.toInt() ?: 5 - iterations = properties["benchmark_iterations"]?.takeIfNotBlank()?.toInt() ?: 10 - iterationTime = properties["benchmark_iteration_time"]?.takeIfNotBlank()?.toLong() ?: 1L - iterationTimeUnit = properties["benchmark_iteration_time_unit"]?.takeIfNotBlank() ?: "s" - reportFormat = properties["benchmark_report_format"]?.takeIfNotBlank() ?: "json" - param("objectPath", "$projectDir/data/openapi.json", "$projectDir/data/openapi-invalid.json") - param("schemaPath", "$projectDir/data/schemas/openapi_schema.json") - } - getByName("main") { - include(".*Common.*Bench.*") - } - create("prValidation") { - include(".*CommonAvgTimeBench.*") - } - create("comparison") { - include(".*Comparison.*Benchmark.*") - } - create("prValidationComparison") { - include(".*ComparisonAvgTimeBenchmark.*") - } - } - targets { - register("jvm") - register("macosX64") - register("macosArm64") - register("iosX64") - register("iosArm64") - register("iosSimulatorArm64") - register("linuxX64") - register("mingwX64") - } -} \ No newline at end of file diff --git a/benchmark/data/openapi-invalid.json b/benchmark/data/openapi-invalid.json deleted file mode 100644 index d0dc1503..00000000 --- a/benchmark/data/openapi-invalid.json +++ /dev/null @@ -1,791 +0,0 @@ -{ - "info": { - "title": 42, - "x-logo": { - "url": "https://www.ga4gh.org/wp-content/themes/ga4gh-theme/gfx/GA-logo-horizontal-tag-RGB.svg" - }, - "description": "## Executive Summary\nThe Task Execution Service (TES) API is a standardized schema and API for describing and executing batch execution tasks. A task defines a set of input files, a set of containers and commands to run, a set of output files and some other logging and metadata.\n\nTES servers accept task documents and execute them asynchronously on available compute resources. A TES server could be built on top of a traditional HPC queuing system, such as Grid Engine, Slurm or cloud style compute systems such as AWS Batch or Kubernetes.\n## Introduction\nThis document describes the TES API and provides details on the specific endpoints, request formats, and responses. It is intended to provide key information for developers of TES-compatible services as well as clients that will call these TES services. Use cases include:\n\n - Deploying existing workflow engines on new infrastructure. Workflow engines\n such as CWL-Tes and Cromwell have extentions for using TES. This will allow\n a system engineer to deploy them onto a new infrastructure using a job scheduling\n system not previously supported by the engine.\n\n - Developing a custom workflow management system. This API provides a common\n interface to asynchronous batch processing capabilities. A developer can write\n new tools against this interface and expect them to work using a variety of\n backend solutions that all support the same specification.\n\n\n## Standards\nThe TES API specification is written in OpenAPI and embodies a RESTful service philosophy. It uses JSON in requests and responses and standard HTTP/HTTPS for information transport. HTTPS should be used rather than plain HTTP except for testing or internal-only purposes.\n### Authentication and Authorization\nIs is envisaged that most TES API instances will require users to authenticate to use the endpoints. However, the decision if authentication is required should be taken by TES API implementers.\n\nIf authentication is required, we recommend that TES implementations use an OAuth2 bearer token, although they can choose other mechanisms if appropriate.\n\nChecking that a user is authorized to submit TES requests is a responsibility of TES implementations.\n### CORS\nIf TES API implementation is to be used by another website or domain it must implement Cross Origin Resource Sharing (CORS). Please refer to https://w3id.org/ga4gh/product-approval-support/cors for more information about GA4GH’s recommendations and how to implement CORS.\n" - }, - "servers": [ - { - "description": 42 - } - ], - "paths": { - "/service-info": { - "get": { - "tags": [ - 42 - ], - "summary": "GetServiceInfo", - "description": "Provides information about the service, this structure is based on the\nstandardized GA4GH service info structure. In addition, this endpoint\nwill also provide information about customized storage endpoints offered\nby the TES server.", - "operationId": "GetServiceInfo", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesServiceInfo" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "TaskService" - ], - "summary": 42, - "description": "List tasks tracked by the TES server. This includes queued, active and completed tasks.\nHow long completed tasks are stored by the system may be dependent on the underlying\nimplementation.", - "operationId": "ListTasks", - "parameters": [ - { - "in": "query", - "description": "OPTIONAL. Filter the list to include tasks where the name matches this prefix.\nIf unspecified, no task name filtering is done.", - "schema": { - "type": "string" - } - }, - { - "name": "page_size", - "description": "Optional number of tasks to return in one page.\nMust be less than 2048. Defaults to 256.", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "page_token", - "in": "query", - "description": "OPTIONAL. Page token is used to retrieve the next page of results.\nIf unspecified, returns the first page of results. The value can be found\nin the `next_page_token` field of the last returned result of ListTasks", - "schema": { - "type": "unknown" - } - }, - { - "$ref": "#/components/parameters/view" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesListTasksResponse" - } - } - } - } - } - }, - "post": { - "tags": [ - "TaskService" - ], - "summary": "CreateTask", - "description": "Create a new task. The user provides a Task document, which the server\nuses as a basis and adds additional fields.", - "operationId": 42, - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesTask" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesCreateTaskResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - 42 - ], - "summary": "GetTask", - "description": "Get a single task, based on providing the exact task ID string.", - "operationId": "GetTask", - "parameters": [ - { - "name": "id", - "required": true, - "description": "ID of task to retrieve.", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/view" - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesTask" - } - } - } - } - } - } - }, - "/tasks/{id}:cancel": { - "post": { - "tags": [ - "TaskService" - ], - "summary": 42, - "description": "Cancel a task based on providing an exact task ID.", - "operationId": "CancelTask", - "parameters": [ - { - "in": "path", - "description": "ID of task to be canceled.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesCancelTaskResponse" - } - } - } - } - } - } - } - }, - "components": { - "parameters": { - "view": { - "name": "view", - "description": "OPTIONAL. Affects the fields included in the returned Task messages.\n\n`MINIMAL`: Task message will include ONLY the fields:\n- `tesTask.Id`\n- `tesTask.State`\n\n`BASIC`: Task message will include all fields EXCEPT:\n- `tesTask.ExecutorLog.stdout`\n- `tesTask.ExecutorLog.stderr`\n- `tesInput.content`\n- `tesTaskLog.system_logs`\n\n`FULL`: Task message includes all fields.", - "schema": { - "type": "string", - "default": "MINIMAL", - "enum": [ - "MINIMAL", - "BASIC", - "FULL" - ] - } - } - }, - "schemas": { - "tesCancelTaskResponse": { - "type": "unknown", - "description": "CancelTaskResponse describes a response from the CancelTask endpoint." - }, - "tesCreateTaskResponse": { - "required": [ - "id" - ], - "type": 42, - "properties": { - "id": { - "type": "string", - "description": "Task identifier assigned by the server." - } - }, - "description": "CreateTaskResponse describes a response from the CreateTask endpoint. It\nwill include the task ID that can be used to look up the status of the job." - }, - "tesExecutor": { - "required": [ - "command", - "image" - ], - "type": "object", - "properties": { - "image": { - "type": 42, - "example": "ubuntu:20.04", - "description": "Name of the container image. The string will be passed as the image\nargument to the containerization run command. Examples:\n - `ubuntu`\n - `quay.io/aptible/ubuntu`\n - `gcr.io/my-org/my-image`\n - `myregistryhost:5000/fedora/httpd:version1.0`" - }, - "command": { - "type": "array", - "description": "A sequence of program arguments to execute, where the first argument\nis the program to execute (i.e. argv). Example:\n```\n{\n \"command\" : [\"/bin/md5\", \"/data/file1\"]\n}\n```", - "items": { - "type": "string" - }, - "example": [ - "/bin/md5", - "/data/file1" - ] - }, - "workdir": { - "type": "string", - "description": "The working directory that the command will be executed in.\nIf not defined, the system will default to the directory set by\nthe container image.", - "example": "/data/" - }, - "stdin": { - "type": "string", - "description": "Path inside the container to a file which will be piped\nto the executor's stdin. This must be an absolute path. This mechanism\ncould be used in conjunction with the input declaration to process\na data file using a tool that expects STDIN.\n\nFor example, to get the MD5 sum of a file by reading it into the STDIN\n```\n{\n \"command\" : [\"/bin/md5\"],\n \"stdin\" : \"/data/file1\"\n}\n```", - "example": "/data/file1" - }, - "stdout": { - "type": "string", - "description": "Path inside the container to a file where the executor's\nstdout will be written to. Must be an absolute path. Example:\n```\n{\n \"stdout\" : \"/tmp/stdout.log\"\n}\n```", - "example": "/tmp/stdout.log" - }, - "stderr": { - "type": "string", - "description": "Path inside the container to a file where the executor's\nstderr will be written to. Must be an absolute path. Example:\n```\n{\n \"stderr\" : \"/tmp/stderr.log\"\n}\n```", - "example": "/tmp/stderr.log" - }, - "env": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Enviromental variables to set within the container. Example:\n```\n{\n \"env\" : {\n \"ENV_CONFIG_PATH\" : \"/data/config.file\",\n \"BLASTDB\" : \"/data/GRC38\",\n \"HMMERDB\" : \"/data/hmmer\"\n }\n}\n```", - "example": { - "BLASTDB": "/data/GRC38", - "HMMERDB": "/data/hmmer" - } - } - }, - "description": "Executor describes a command to be executed, and its environment." - }, - "tesExecutorLog": { - "required": [ - "exit_code" - ], - "type": "object", - "properties": { - "start_time": { - "type": "unknown", - "description": "Time the executor started, in RFC 3339 format.", - "example": "2020-10-02T15:00:00.000Z" - }, - "end_time": { - "type": "string", - "description": "Time the executor ended, in RFC 3339 format.", - "example": "2020-10-02T16:00:00.000Z" - }, - "stdout": { - "type": "unknown", - "description": "Stdout content.\n\nThis is meant for convenience. No guarantees are made about the content.\nImplementations may chose different approaches: only the head, only the tail,\na URL reference only, etc.\n\nIn order to capture the full stdout client should set Executor.stdout\nto a container file path, and use Task.outputs to upload that file\nto permanent storage." - }, - "stderr": { - "type": "string", - "description": "Stderr content.\n\nThis is meant for convenience. No guarantees are made about the content.\nImplementations may chose different approaches: only the head, only the tail,\na URL reference only, etc.\n\nIn order to capture the full stderr client should set Executor.stderr\nto a container file path, and use Task.outputs to upload that file\nto permanent storage." - }, - "exit_code": { - "type": "integer", - "description": "Exit code.", - "format": "int32" - } - }, - "description": "ExecutorLog describes logging information related to an Executor." - }, - "tesFileType": { - "type": "string", - "default": "FILE", - "enum": [ - "FILE", - "DIRECTORY" - ] - }, - "tesInput": { - "required": [ - "path", - "type" - ], - "type": "object", - "properties": { - "name": { - "type": "unknown" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string", - "description": "REQUIRED, unless \"content\" is set.\n\nURL in long term storage, for example:\n - s3://my-object-store/file1\n - gs://my-bucket/file2\n - file:///path/to/my/file\n - /path/to/my/file", - "example": "s3://my-object-store/file1" - }, - "path": { - "type": "unknown", - "description": "Path of the file inside the container.\nMust be an absolute path.", - "example": "/data/file1" - }, - "type": { - "$ref": "#/components/schemas/tesFileType" - }, - "content": { - "type": "unknown", - "description": "File content literal.\n\nImplementations should support a minimum of 128 KiB in this field\nand may define their own maximum.\n\nUTF-8 encoded\n\nIf content is not empty, \"url\" must be ignored." - } - }, - "description": 42 - }, - "tesListTasksResponse": { - "required": [ - "tasks" - ], - "type": "object", - "properties": { - "tasks": { - "type": "unknown", - "description": "List of tasks. These tasks will be based on the original submitted\ntask document, but with other fields, such as the job state and\nlogging info, added/changed as the job progresses.", - "items": { - "$ref": "#/components/schemas/tesTask" - } - }, - "next_page_token": { - "type": "string", - "description": "Token used to return the next page of results. This value can be used\nin the `page_token` field of the next ListTasks request." - } - }, - "description": "ListTasksResponse describes a response from the ListTasks endpoint." - }, - "tesOutput": { - "required": [ - "path", - "type", - "url" - ], - "type": "object", - "properties": { - "name": { - "type": "unknown", - "description": "User-provided name of output file" - }, - "description": { - "type": "string", - "description": "Optional users provided description field, can be used for documentation." - }, - "url": { - "type": "unknown", - "description": "URL for the file to be copied by the TES server after the task is complete.\nFor Example:\n - `s3://my-object-store/file1`\n - `gs://my-bucket/file2`\n - `file:///path/to/my/file`" - }, - "path": { - "type": "string", - "description": "Path of the file inside the container.\nMust be an absolute path." - }, - "type": { - "$ref": "#/components/schemas/tesFileType" - } - }, - "description": "Output describes Task output files." - }, - "tesOutputFileLog": { - "required": [ - "path", - "size_bytes", - "url" - ], - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "URL of the file in storage, e.g. s3://bucket/file.txt" - }, - "path": { - "type": "unknown", - "description": "Path of the file inside the container. Must be an absolute path." - }, - "size_bytes": { - "type": "string", - "description": "Size of the file in bytes. Note, this is currently coded as a string\nbecause official JSON doesn't support int64 numbers.", - "format": "int64", - "example": [ - "1024" - ] - } - }, - "description": "OutputFileLog describes a single output file. This describes\nfile details after the task has completed successfully,\nfor logging purposes." - }, - "tesResources": { - "type": "object", - "properties": { - "cpu_cores": { - "type": "unknown", - "description": "Requested number of CPUs", - "format": "int64", - "example": 4 - }, - "preemptible": { - "type": "boolean", - "description": "Define if the task is allowed to run on preemptible compute instances,\nfor example, AWS Spot. This option may have no effect when utilized\non some backends that don't have the concept of preemptible jobs.", - "format": "boolean", - "example": false - }, - "ram_gb": { - "type": "number", - "description": "Requested RAM required in gigabytes (GB)", - "format": "double", - "example": 8 - }, - "disk_gb": { - "type": "number", - "description": "Requested disk size in gigabytes (GB)", - "format": "double", - "example": 40 - }, - "zones": { - "type": "unknown", - "description": "Request that the task be run in these compute zones. How this string\nis utilized will be dependent on the backend system. For example, a\nsystem based on a cluster queueing system may use this string to define\npriorty queue to which the job is assigned.", - "items": { - "type": "string" - }, - "example": "us-west-1" - } - }, - "description": "Resources describes the resources requested by a task." - }, - "tesServiceType": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceType" - }, - { - "type": "object", - "required": [ - "artifact" - ], - "properties": { - "artifact": { - "type": "unknown", - "enum": [ - "tes" - ], - "example": "tes" - } - } - } - ] - }, - "tesServiceInfo": { - "allOf": [ - { - "$ref": "#/components/schemas/Service" - }, - { - "type": "object", - "properties": { - "storage": { - "type": "array", - "description": "Lists some, but not necessarily all, storage locations supported\nby the service.", - "items": { - "type": "unknown" - }, - "example": [ - "file:///path/to/local/funnel-storage", - "s3://ohsu-compbio-funnel/storage" - ] - }, - "type": { - "$ref": "#/components/schemas/tesServiceType" - } - } - } - ] - }, - "tesState": { - "type": "unknown", - "readOnly": true, - "description": "Task state as defined by the server.\n\n - `UNKNOWN`: The state of the task is unknown. The cause for this status\n message may be dependent on the underlying system. The `UNKNOWN` states\n provides a safe default for messages where this field is missing so\n that a missing field does not accidentally imply that\n the state is QUEUED.\n - `QUEUED`: The task is queued and awaiting resources to begin computing.\n - `INITIALIZING`: The task has been assigned to a worker and is currently preparing to run.\nFor example, the worker may be turning on, downloading input files, etc.\n - `RUNNING`: The task is running. Input files are downloaded and the first Executor\nhas been started.\n - `PAUSED`: The task is paused. The reasons for this would be tied to\n the specific system running the job. An implementation may have the ability\n to pause a task, but this is not required.\n - `COMPLETE`: The task has completed running. Executors have exited without error\nand output files have been successfully uploaded.\n - `EXECUTOR_ERROR`: The task encountered an error in one of the Executor processes. Generally,\nthis means that an Executor exited with a non-zero exit code.\n - `SYSTEM_ERROR`: The task was stopped due to a system error, but not from an Executor,\nfor example an upload failed due to network issues, the worker's ran out\nof disk space, etc.\n - `CANCELED`: The task was canceled by the user.", - "default": "UNKNOWN", - "example": "COMPLETE", - "enum": [ - "UNKNOWN", - "QUEUED", - "INITIALIZING", - "RUNNING", - "PAUSED", - "COMPLETE", - "EXECUTOR_ERROR", - "SYSTEM_ERROR", - "CANCELED" - ] - }, - "tesTask": { - "required": [ - "executors" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Task identifier assigned by the server.", - "readOnly": true, - "example": "job-0012345" - }, - "state": { - "$ref": "#/components/schemas/tesState" - }, - "name": { - "type": "unknown", - "description": "User-provided task name." - }, - "description": { - "type": "string", - "description": "Optional user-provided description of task for documentation purposes." - }, - "inputs": { - "type": "unknown", - "description": "Input files that will be used by the task. Inputs will be downloaded\nand mounted into the executor container as defined by the task request\ndocument.", - "items": { - "$ref": "#/components/schemas/tesInput" - }, - "example": [ - { - "url": "s3://my-object-store/file1", - "path": "/data/file1" - } - ] - }, - "outputs": { - "type": "array", - "description": "Output files.\nOutputs will be uploaded from the executor container to long-term storage.", - "items": { - "$ref": "#/components/schemas/tesOutput" - }, - "example": [ - { - "path": "/data/outfile", - "url": "s3://my-object-store/outfile-1", - "type": "FILE" - } - ] - }, - "resources": { - "$ref": "#/components/schemas/tesResources" - }, - "executors": { - "type": "array", - "description": "An array of executors to be run. Each of the executors will run one\nat a time sequentially. Each executor is a different command that\nwill be run, and each can utilize a different docker image. But each of\nthe executors will see the same mapped inputs and volumes that are declared\nin the parent CreateTask message.\n\nExecution stops on the first error.", - "items": { - "$ref": "#/components/schemas/tesExecutor" - } - }, - "volumes": { - "type": "array", - "example": [ - "/vol/A/" - ], - "description": "Volumes are directories which may be used to share data between\nExecutors. Volumes are initialized as empty directories by the\nsystem when the task starts and are mounted at the same path\nin each Executor.\n\nFor example, given a volume defined at `/vol/A`,\nexecutor 1 may write a file to `/vol/A/exec1.out.txt`, then\nexecutor 2 may read from that file.\n\n(Essentially, this translates to a `docker run -v` flag where\nthe container path is the same for each executor).", - "items": { - "type": "unknown" - } - }, - "tags": { - "type": "object", - "example": { - "WORKFLOW_ID": "cwl-01234", - "PROJECT_GROUP": "alice-lab" - }, - "additionalProperties": { - "type": "unknown" - }, - "description": "A key-value map of arbitrary tags. These can be used to store meta-data\nand annotations about a task. Example:\n```\n{\n \"tags\" : {\n \"WORKFLOW_ID\" : \"cwl-01234\",\n \"PROJECT_GROUP\" : \"alice-lab\"\n }\n}\n```" - }, - "logs": { - "type": "array", - "description": "Task logging information.\nNormally, this will contain only one entry, but in the case where\na task fails and is retried, an entry will be appended to this list.", - "readOnly": true, - "items": { - "$ref": "#/components/schemas/tesTaskLog" - } - }, - "creation_time": { - "type": "string", - "description": "Date + time the task was created, in RFC 3339 format.\nThis is set by the system, not the client.", - "example": "2020-10-02T15:00:00.000Z", - "readOnly": true - } - }, - "description": "Task describes an instance of a task." - }, - "tesTaskLog": { - "required": [ - "logs", - "outputs" - ], - "type": "object", - "properties": { - "logs": { - "type": "array", - "description": "Logs for each executor", - "items": { - "$ref": "#/components/schemas/tesExecutorLog" - } - }, - "metadata": { - "type": "unknown", - "additionalProperties": { - "type": "string" - }, - "description": "Arbitrary logging metadata included by the implementation.", - "example": { - "host": "worker-001", - "slurmm_id": 123456 - } - }, - "start_time": { - "type": "string", - "description": "When the task started, in RFC 3339 format.", - "example": "2020-10-02T15:00:00.000Z" - }, - "end_time": { - "type": "unknown", - "description": "When the task ended, in RFC 3339 format.", - "example": "2020-10-02T16:00:00.000Z" - }, - "outputs": { - "type": "array", - "description": "Information about all output files. Directory outputs are\nflattened into separate items.", - "items": { - "$ref": "#/components/schemas/tesOutputFileLog" - } - }, - "system_logs": { - "type": "array", - "description": "System logs are any logs the system decides are relevant,\nwhich are not tied directly to an Executor process.\nContent is implementation specific: format, size, etc.\n\nSystem logs may be collected here to provide convenient access.\n\nFor example, the system may include the name of the host\nwhere the task is executing, an error message that caused\na SYSTEM_ERROR state (e.g. disk is full), etc.\n\nSystem logs are only included in the FULL task view.", - "items": { - "type": "string" - } - } - }, - "description": "TaskLog describes logging information related to a Task." - }, - "ServiceType": { - "description": "Type of a GA4GH service", - "type": "object", - "required": [ - "group", - "artifact", - "version" - ], - "properties": { - "group": { - "type": "string", - "description": "Namespace in reverse domain name format. Use `org.ga4gh` for implementations compliant with official GA4GH specifications. For services with custom APIs not standardized by GA4GH, or implementations diverging from official GA4GH specifications, use a different namespace (e.g. your organization's reverse domain name).", - "example": "org.ga4gh" - }, - "artifact": { - "type": "unknown", - "description": "Name of the API or GA4GH specification implemented. Official GA4GH types should be assigned as part of standards approval process. Custom artifacts are supported.", - "example": "beacon" - }, - "version": { - "type": "string", - "description": 42, - "example": "1.0.0" - } - } - }, - "Service": { - "description": "GA4GH service", - "type": "object", - "required": [ - "id", - "name", - "type", - "organization", - "version" - ], - "properties": { - "id": { - "type": "string", - "description": "Unique ID of this service. Reverse domain name notation is recommended, though not required. The identifier should attempt to be globally unique so it can be used in downstream aggregator services e.g. Service Registry.", - "example": "org.ga4gh.myservice" - }, - "name": { - "type": "string", - "description": "Name of this service. Should be human readable.", - "example": "My project" - }, - "type": { - "$ref": "#/components/schemas/ServiceType" - }, - "description": { - "type": "unknown", - "description": "Description of the service. Should be human readable and provide information about the service.", - "example": "This service provides..." - }, - "organization": { - "type": "object", - "description": "Organization providing the service", - "required": [ - "name", - "url" - ], - "properties": { - "name": { - "type": "unknown", - "description": "Name of the organization responsible for the service", - "example": "My organization" - }, - "url": { - "type": "string", - "format": "uri", - "description": "URL of the website of the organization (RFC 3986 format)", - "example": "https://example.com" - } - } - }, - "contactUrl": { - "type": "string", - "format": "uri", - "description": "URL of the contact for the provider of this service, e.g. a link to a contact form (RFC 3986 format), or an email (RFC 2368 format).", - "example": "mailto:support@example.com" - }, - "documentationUrl": { - "type": "string", - "format": "uri", - "description": "URL of the documentation of this service (RFC 3986 format). This should help someone learn how to use your service, including any specifics required to access data, e.g. authentication.", - "example": "https://docs.myservice.example.com" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "Timestamp describing when the service was first deployed and available (RFC 3339 format)", - "example": "2019-06-04T12:58:19Z" - }, - "updatedAt": { - "type": "unknown", - "format": "date-time", - "description": "Timestamp describing when the service was last updated (RFC 3339 format)", - "example": "2019-06-04T12:58:19Z" - }, - "environment": { - "type": "string", - "description": "Environment the service is running in. Use this to distinguish between production, development and testing/staging deployments. Suggested values are prod, test, dev, staging. However this is advised and not enforced.", - "example": "test" - }, - "version": { - "type": "string", - "description": "Version of the service being described. Semantic versioning is recommended, but other identifiers, such as dates or commit hashes, are also allowed. The version should be changed whenever the service is updated.", - "example": "1.0.0" - } - } - } - } - } -} \ No newline at end of file diff --git a/benchmark/data/openapi.json b/benchmark/data/openapi.json deleted file mode 100644 index 8d48de2e..00000000 --- a/benchmark/data/openapi.json +++ /dev/null @@ -1,802 +0,0 @@ -{ - "openapi": "3.0.1", - "info": { - "title": "Task Execution Service", - "version": "1.0.0", - "x-logo": { - "url": "https://www.ga4gh.org/wp-content/themes/ga4gh-theme/gfx/GA-logo-horizontal-tag-RGB.svg" - }, - "description": "## Executive Summary\nThe Task Execution Service (TES) API is a standardized schema and API for describing and executing batch execution tasks. A task defines a set of input files, a set of containers and commands to run, a set of output files and some other logging and metadata.\n\nTES servers accept task documents and execute them asynchronously on available compute resources. A TES server could be built on top of a traditional HPC queuing system, such as Grid Engine, Slurm or cloud style compute systems such as AWS Batch or Kubernetes.\n## Introduction\nThis document describes the TES API and provides details on the specific endpoints, request formats, and responses. It is intended to provide key information for developers of TES-compatible services as well as clients that will call these TES services. Use cases include:\n\n - Deploying existing workflow engines on new infrastructure. Workflow engines\n such as CWL-Tes and Cromwell have extentions for using TES. This will allow\n a system engineer to deploy them onto a new infrastructure using a job scheduling\n system not previously supported by the engine.\n\n - Developing a custom workflow management system. This API provides a common\n interface to asynchronous batch processing capabilities. A developer can write\n new tools against this interface and expect them to work using a variety of\n backend solutions that all support the same specification.\n\n\n## Standards\nThe TES API specification is written in OpenAPI and embodies a RESTful service philosophy. It uses JSON in requests and responses and standard HTTP/HTTPS for information transport. HTTPS should be used rather than plain HTTP except for testing or internal-only purposes.\n### Authentication and Authorization\nIs is envisaged that most TES API instances will require users to authenticate to use the endpoints. However, the decision if authentication is required should be taken by TES API implementers.\n\nIf authentication is required, we recommend that TES implementations use an OAuth2 bearer token, although they can choose other mechanisms if appropriate.\n\nChecking that a user is authorized to submit TES requests is a responsibility of TES implementations.\n### CORS\nIf TES API implementation is to be used by another website or domain it must implement Cross Origin Resource Sharing (CORS). Please refer to https://w3id.org/ga4gh/product-approval-support/cors for more information about GA4GH’s recommendations and how to implement CORS.\n" - }, - "servers": [ - { - "url": "/ga4gh/tes/v1" - } - ], - "paths": { - "/service-info": { - "get": { - "tags": [ - "TaskService" - ], - "summary": "GetServiceInfo", - "description": "Provides information about the service, this structure is based on the\nstandardized GA4GH service info structure. In addition, this endpoint\nwill also provide information about customized storage endpoints offered\nby the TES server.", - "operationId": "GetServiceInfo", - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesServiceInfo" - } - } - } - } - } - } - }, - "/tasks": { - "get": { - "tags": [ - "TaskService" - ], - "summary": "ListTasks", - "description": "List tasks tracked by the TES server. This includes queued, active and completed tasks.\nHow long completed tasks are stored by the system may be dependent on the underlying\nimplementation.", - "operationId": "ListTasks", - "parameters": [ - { - "name": "name_prefix", - "in": "query", - "description": "OPTIONAL. Filter the list to include tasks where the name matches this prefix.\nIf unspecified, no task name filtering is done.", - "schema": { - "type": "string" - } - }, - { - "name": "page_size", - "in": "query", - "description": "Optional number of tasks to return in one page.\nMust be less than 2048. Defaults to 256.", - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "name": "page_token", - "in": "query", - "description": "OPTIONAL. Page token is used to retrieve the next page of results.\nIf unspecified, returns the first page of results. The value can be found\nin the `next_page_token` field of the last returned result of ListTasks", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/view" - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesListTasksResponse" - } - } - } - } - } - }, - "post": { - "tags": [ - "TaskService" - ], - "summary": "CreateTask", - "description": "Create a new task. The user provides a Task document, which the server\nuses as a basis and adds additional fields.", - "operationId": "CreateTask", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesTask" - } - } - }, - "required": true - }, - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesCreateTaskResponse" - } - } - } - } - }, - "x-codegen-request-body-name": "body" - } - }, - "/tasks/{id}": { - "get": { - "tags": [ - "TaskService" - ], - "summary": "GetTask", - "description": "Get a single task, based on providing the exact task ID string.", - "operationId": "GetTask", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "description": "ID of task to retrieve.", - "schema": { - "type": "string" - } - }, - { - "$ref": "#/components/parameters/view" - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesTask" - } - } - } - } - } - } - }, - "/tasks/{id}:cancel": { - "post": { - "tags": [ - "TaskService" - ], - "summary": "CancelTask", - "description": "Cancel a task based on providing an exact task ID.", - "operationId": "CancelTask", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "ID of task to be canceled.", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/tesCancelTaskResponse" - } - } - } - } - } - } - } - }, - "components": { - "parameters": { - "view": { - "name": "view", - "in": "query", - "description": "OPTIONAL. Affects the fields included in the returned Task messages.\n\n`MINIMAL`: Task message will include ONLY the fields:\n- `tesTask.Id`\n- `tesTask.State`\n\n`BASIC`: Task message will include all fields EXCEPT:\n- `tesTask.ExecutorLog.stdout`\n- `tesTask.ExecutorLog.stderr`\n- `tesInput.content`\n- `tesTaskLog.system_logs`\n\n`FULL`: Task message includes all fields.", - "schema": { - "type": "string", - "default": "MINIMAL", - "enum": [ - "MINIMAL", - "BASIC", - "FULL" - ] - } - } - }, - "schemas": { - "tesCancelTaskResponse": { - "type": "object", - "description": "CancelTaskResponse describes a response from the CancelTask endpoint." - }, - "tesCreateTaskResponse": { - "required": [ - "id" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Task identifier assigned by the server." - } - }, - "description": "CreateTaskResponse describes a response from the CreateTask endpoint. It\nwill include the task ID that can be used to look up the status of the job." - }, - "tesExecutor": { - "required": [ - "command", - "image" - ], - "type": "object", - "properties": { - "image": { - "type": "string", - "example": "ubuntu:20.04", - "description": "Name of the container image. The string will be passed as the image\nargument to the containerization run command. Examples:\n - `ubuntu`\n - `quay.io/aptible/ubuntu`\n - `gcr.io/my-org/my-image`\n - `myregistryhost:5000/fedora/httpd:version1.0`" - }, - "command": { - "type": "array", - "description": "A sequence of program arguments to execute, where the first argument\nis the program to execute (i.e. argv). Example:\n```\n{\n \"command\" : [\"/bin/md5\", \"/data/file1\"]\n}\n```", - "items": { - "type": "string" - }, - "example": [ - "/bin/md5", - "/data/file1" - ] - }, - "workdir": { - "type": "string", - "description": "The working directory that the command will be executed in.\nIf not defined, the system will default to the directory set by\nthe container image.", - "example": "/data/" - }, - "stdin": { - "type": "string", - "description": "Path inside the container to a file which will be piped\nto the executor's stdin. This must be an absolute path. This mechanism\ncould be used in conjunction with the input declaration to process\na data file using a tool that expects STDIN.\n\nFor example, to get the MD5 sum of a file by reading it into the STDIN\n```\n{\n \"command\" : [\"/bin/md5\"],\n \"stdin\" : \"/data/file1\"\n}\n```", - "example": "/data/file1" - }, - "stdout": { - "type": "string", - "description": "Path inside the container to a file where the executor's\nstdout will be written to. Must be an absolute path. Example:\n```\n{\n \"stdout\" : \"/tmp/stdout.log\"\n}\n```", - "example": "/tmp/stdout.log" - }, - "stderr": { - "type": "string", - "description": "Path inside the container to a file where the executor's\nstderr will be written to. Must be an absolute path. Example:\n```\n{\n \"stderr\" : \"/tmp/stderr.log\"\n}\n```", - "example": "/tmp/stderr.log" - }, - "env": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Enviromental variables to set within the container. Example:\n```\n{\n \"env\" : {\n \"ENV_CONFIG_PATH\" : \"/data/config.file\",\n \"BLASTDB\" : \"/data/GRC38\",\n \"HMMERDB\" : \"/data/hmmer\"\n }\n}\n```", - "example": { - "BLASTDB": "/data/GRC38", - "HMMERDB": "/data/hmmer" - } - } - }, - "description": "Executor describes a command to be executed, and its environment." - }, - "tesExecutorLog": { - "required": [ - "exit_code" - ], - "type": "object", - "properties": { - "start_time": { - "type": "string", - "description": "Time the executor started, in RFC 3339 format.", - "example": "2020-10-02T15:00:00.000Z" - }, - "end_time": { - "type": "string", - "description": "Time the executor ended, in RFC 3339 format.", - "example": "2020-10-02T16:00:00.000Z" - }, - "stdout": { - "type": "string", - "description": "Stdout content.\n\nThis is meant for convenience. No guarantees are made about the content.\nImplementations may chose different approaches: only the head, only the tail,\na URL reference only, etc.\n\nIn order to capture the full stdout client should set Executor.stdout\nto a container file path, and use Task.outputs to upload that file\nto permanent storage." - }, - "stderr": { - "type": "string", - "description": "Stderr content.\n\nThis is meant for convenience. No guarantees are made about the content.\nImplementations may chose different approaches: only the head, only the tail,\na URL reference only, etc.\n\nIn order to capture the full stderr client should set Executor.stderr\nto a container file path, and use Task.outputs to upload that file\nto permanent storage." - }, - "exit_code": { - "type": "integer", - "description": "Exit code.", - "format": "int32" - } - }, - "description": "ExecutorLog describes logging information related to an Executor." - }, - "tesFileType": { - "type": "string", - "default": "FILE", - "enum": [ - "FILE", - "DIRECTORY" - ] - }, - "tesInput": { - "required": [ - "path", - "type" - ], - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "url": { - "type": "string", - "description": "REQUIRED, unless \"content\" is set.\n\nURL in long term storage, for example:\n - s3://my-object-store/file1\n - gs://my-bucket/file2\n - file:///path/to/my/file\n - /path/to/my/file", - "example": "s3://my-object-store/file1" - }, - "path": { - "type": "string", - "description": "Path of the file inside the container.\nMust be an absolute path.", - "example": "/data/file1" - }, - "type": { - "$ref": "#/components/schemas/tesFileType" - }, - "content": { - "type": "string", - "description": "File content literal.\n\nImplementations should support a minimum of 128 KiB in this field\nand may define their own maximum.\n\nUTF-8 encoded\n\nIf content is not empty, \"url\" must be ignored." - } - }, - "description": "Input describes Task input files." - }, - "tesListTasksResponse": { - "required": [ - "tasks" - ], - "type": "object", - "properties": { - "tasks": { - "type": "array", - "description": "List of tasks. These tasks will be based on the original submitted\ntask document, but with other fields, such as the job state and\nlogging info, added/changed as the job progresses.", - "items": { - "$ref": "#/components/schemas/tesTask" - } - }, - "next_page_token": { - "type": "string", - "description": "Token used to return the next page of results. This value can be used\nin the `page_token` field of the next ListTasks request." - } - }, - "description": "ListTasksResponse describes a response from the ListTasks endpoint." - }, - "tesOutput": { - "required": [ - "path", - "type", - "url" - ], - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "User-provided name of output file" - }, - "description": { - "type": "string", - "description": "Optional users provided description field, can be used for documentation." - }, - "url": { - "type": "string", - "description": "URL for the file to be copied by the TES server after the task is complete.\nFor Example:\n - `s3://my-object-store/file1`\n - `gs://my-bucket/file2`\n - `file:///path/to/my/file`" - }, - "path": { - "type": "string", - "description": "Path of the file inside the container.\nMust be an absolute path." - }, - "type": { - "$ref": "#/components/schemas/tesFileType" - } - }, - "description": "Output describes Task output files." - }, - "tesOutputFileLog": { - "required": [ - "path", - "size_bytes", - "url" - ], - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "URL of the file in storage, e.g. s3://bucket/file.txt" - }, - "path": { - "type": "string", - "description": "Path of the file inside the container. Must be an absolute path." - }, - "size_bytes": { - "type": "string", - "description": "Size of the file in bytes. Note, this is currently coded as a string\nbecause official JSON doesn't support int64 numbers.", - "format": "int64", - "example": [ - "1024" - ] - } - }, - "description": "OutputFileLog describes a single output file. This describes\nfile details after the task has completed successfully,\nfor logging purposes." - }, - "tesResources": { - "type": "object", - "properties": { - "cpu_cores": { - "type": "integer", - "description": "Requested number of CPUs", - "format": "int64", - "example": 4 - }, - "preemptible": { - "type": "boolean", - "description": "Define if the task is allowed to run on preemptible compute instances,\nfor example, AWS Spot. This option may have no effect when utilized\non some backends that don't have the concept of preemptible jobs.", - "format": "boolean", - "example": false - }, - "ram_gb": { - "type": "number", - "description": "Requested RAM required in gigabytes (GB)", - "format": "double", - "example": 8 - }, - "disk_gb": { - "type": "number", - "description": "Requested disk size in gigabytes (GB)", - "format": "double", - "example": 40 - }, - "zones": { - "type": "array", - "description": "Request that the task be run in these compute zones. How this string\nis utilized will be dependent on the backend system. For example, a\nsystem based on a cluster queueing system may use this string to define\npriorty queue to which the job is assigned.", - "items": { - "type": "string" - }, - "example": "us-west-1" - } - }, - "description": "Resources describes the resources requested by a task." - }, - "tesServiceType": { - "allOf": [ - { - "$ref": "#/components/schemas/ServiceType" - }, - { - "type": "object", - "required": [ - "artifact" - ], - "properties": { - "artifact": { - "type": "string", - "enum": [ - "tes" - ], - "example": "tes" - } - } - } - ] - }, - "tesServiceInfo": { - "allOf": [ - { - "$ref": "#/components/schemas/Service" - }, - { - "type": "object", - "properties": { - "storage": { - "type": "array", - "description": "Lists some, but not necessarily all, storage locations supported\nby the service.", - "items": { - "type": "string" - }, - "example": [ - "file:///path/to/local/funnel-storage", - "s3://ohsu-compbio-funnel/storage" - ] - }, - "type": { - "$ref": "#/components/schemas/tesServiceType" - } - } - } - ] - }, - "tesState": { - "type": "string", - "readOnly": true, - "description": "Task state as defined by the server.\n\n - `UNKNOWN`: The state of the task is unknown. The cause for this status\n message may be dependent on the underlying system. The `UNKNOWN` states\n provides a safe default for messages where this field is missing so\n that a missing field does not accidentally imply that\n the state is QUEUED.\n - `QUEUED`: The task is queued and awaiting resources to begin computing.\n - `INITIALIZING`: The task has been assigned to a worker and is currently preparing to run.\nFor example, the worker may be turning on, downloading input files, etc.\n - `RUNNING`: The task is running. Input files are downloaded and the first Executor\nhas been started.\n - `PAUSED`: The task is paused. The reasons for this would be tied to\n the specific system running the job. An implementation may have the ability\n to pause a task, but this is not required.\n - `COMPLETE`: The task has completed running. Executors have exited without error\nand output files have been successfully uploaded.\n - `EXECUTOR_ERROR`: The task encountered an error in one of the Executor processes. Generally,\nthis means that an Executor exited with a non-zero exit code.\n - `SYSTEM_ERROR`: The task was stopped due to a system error, but not from an Executor,\nfor example an upload failed due to network issues, the worker's ran out\nof disk space, etc.\n - `CANCELED`: The task was canceled by the user.", - "default": "UNKNOWN", - "example": "COMPLETE", - "enum": [ - "UNKNOWN", - "QUEUED", - "INITIALIZING", - "RUNNING", - "PAUSED", - "COMPLETE", - "EXECUTOR_ERROR", - "SYSTEM_ERROR", - "CANCELED" - ] - }, - "tesTask": { - "required": [ - "executors" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Task identifier assigned by the server.", - "readOnly": true, - "example": "job-0012345" - }, - "state": { - "$ref": "#/components/schemas/tesState" - }, - "name": { - "type": "string", - "description": "User-provided task name." - }, - "description": { - "type": "string", - "description": "Optional user-provided description of task for documentation purposes." - }, - "inputs": { - "type": "array", - "description": "Input files that will be used by the task. Inputs will be downloaded\nand mounted into the executor container as defined by the task request\ndocument.", - "items": { - "$ref": "#/components/schemas/tesInput" - }, - "example": [ - { - "url": "s3://my-object-store/file1", - "path": "/data/file1" - } - ] - }, - "outputs": { - "type": "array", - "description": "Output files.\nOutputs will be uploaded from the executor container to long-term storage.", - "items": { - "$ref": "#/components/schemas/tesOutput" - }, - "example": [ - { - "path": "/data/outfile", - "url": "s3://my-object-store/outfile-1", - "type": "FILE" - } - ] - }, - "resources": { - "$ref": "#/components/schemas/tesResources" - }, - "executors": { - "type": "array", - "description": "An array of executors to be run. Each of the executors will run one\nat a time sequentially. Each executor is a different command that\nwill be run, and each can utilize a different docker image. But each of\nthe executors will see the same mapped inputs and volumes that are declared\nin the parent CreateTask message.\n\nExecution stops on the first error.", - "items": { - "$ref": "#/components/schemas/tesExecutor" - } - }, - "volumes": { - "type": "array", - "example": [ - "/vol/A/" - ], - "description": "Volumes are directories which may be used to share data between\nExecutors. Volumes are initialized as empty directories by the\nsystem when the task starts and are mounted at the same path\nin each Executor.\n\nFor example, given a volume defined at `/vol/A`,\nexecutor 1 may write a file to `/vol/A/exec1.out.txt`, then\nexecutor 2 may read from that file.\n\n(Essentially, this translates to a `docker run -v` flag where\nthe container path is the same for each executor).", - "items": { - "type": "string" - } - }, - "tags": { - "type": "object", - "example": { - "WORKFLOW_ID": "cwl-01234", - "PROJECT_GROUP": "alice-lab" - }, - "additionalProperties": { - "type": "string" - }, - "description": "A key-value map of arbitrary tags. These can be used to store meta-data\nand annotations about a task. Example:\n```\n{\n \"tags\" : {\n \"WORKFLOW_ID\" : \"cwl-01234\",\n \"PROJECT_GROUP\" : \"alice-lab\"\n }\n}\n```" - }, - "logs": { - "type": "array", - "description": "Task logging information.\nNormally, this will contain only one entry, but in the case where\na task fails and is retried, an entry will be appended to this list.", - "readOnly": true, - "items": { - "$ref": "#/components/schemas/tesTaskLog" - } - }, - "creation_time": { - "type": "string", - "description": "Date + time the task was created, in RFC 3339 format.\nThis is set by the system, not the client.", - "example": "2020-10-02T15:00:00.000Z", - "readOnly": true - } - }, - "description": "Task describes an instance of a task." - }, - "tesTaskLog": { - "required": [ - "logs", - "outputs" - ], - "type": "object", - "properties": { - "logs": { - "type": "array", - "description": "Logs for each executor", - "items": { - "$ref": "#/components/schemas/tesExecutorLog" - } - }, - "metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Arbitrary logging metadata included by the implementation.", - "example": { - "host": "worker-001", - "slurmm_id": 123456 - } - }, - "start_time": { - "type": "string", - "description": "When the task started, in RFC 3339 format.", - "example": "2020-10-02T15:00:00.000Z" - }, - "end_time": { - "type": "string", - "description": "When the task ended, in RFC 3339 format.", - "example": "2020-10-02T16:00:00.000Z" - }, - "outputs": { - "type": "array", - "description": "Information about all output files. Directory outputs are\nflattened into separate items.", - "items": { - "$ref": "#/components/schemas/tesOutputFileLog" - } - }, - "system_logs": { - "type": "array", - "description": "System logs are any logs the system decides are relevant,\nwhich are not tied directly to an Executor process.\nContent is implementation specific: format, size, etc.\n\nSystem logs may be collected here to provide convenient access.\n\nFor example, the system may include the name of the host\nwhere the task is executing, an error message that caused\na SYSTEM_ERROR state (e.g. disk is full), etc.\n\nSystem logs are only included in the FULL task view.", - "items": { - "type": "string" - } - } - }, - "description": "TaskLog describes logging information related to a Task." - }, - "ServiceType": { - "description": "Type of a GA4GH service", - "type": "object", - "required": [ - "group", - "artifact", - "version" - ], - "properties": { - "group": { - "type": "string", - "description": "Namespace in reverse domain name format. Use `org.ga4gh` for implementations compliant with official GA4GH specifications. For services with custom APIs not standardized by GA4GH, or implementations diverging from official GA4GH specifications, use a different namespace (e.g. your organization's reverse domain name).", - "example": "org.ga4gh" - }, - "artifact": { - "type": "string", - "description": "Name of the API or GA4GH specification implemented. Official GA4GH types should be assigned as part of standards approval process. Custom artifacts are supported.", - "example": "beacon" - }, - "version": { - "type": "string", - "description": "Version of the API or specification. GA4GH specifications use semantic versioning.", - "example": "1.0.0" - } - } - }, - "Service": { - "description": "GA4GH service", - "type": "object", - "required": [ - "id", - "name", - "type", - "organization", - "version" - ], - "properties": { - "id": { - "type": "string", - "description": "Unique ID of this service. Reverse domain name notation is recommended, though not required. The identifier should attempt to be globally unique so it can be used in downstream aggregator services e.g. Service Registry.", - "example": "org.ga4gh.myservice" - }, - "name": { - "type": "string", - "description": "Name of this service. Should be human readable.", - "example": "My project" - }, - "type": { - "$ref": "#/components/schemas/ServiceType" - }, - "description": { - "type": "string", - "description": "Description of the service. Should be human readable and provide information about the service.", - "example": "This service provides..." - }, - "organization": { - "type": "object", - "description": "Organization providing the service", - "required": [ - "name", - "url" - ], - "properties": { - "name": { - "type": "string", - "description": "Name of the organization responsible for the service", - "example": "My organization" - }, - "url": { - "type": "string", - "format": "uri", - "description": "URL of the website of the organization (RFC 3986 format)", - "example": "https://example.com" - } - } - }, - "contactUrl": { - "type": "string", - "format": "uri", - "description": "URL of the contact for the provider of this service, e.g. a link to a contact form (RFC 3986 format), or an email (RFC 2368 format).", - "example": "mailto:support@example.com" - }, - "documentationUrl": { - "type": "string", - "format": "uri", - "description": "URL of the documentation of this service (RFC 3986 format). This should help someone learn how to use your service, including any specifics required to access data, e.g. authentication.", - "example": "https://docs.myservice.example.com" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "Timestamp describing when the service was first deployed and available (RFC 3339 format)", - "example": "2019-06-04T12:58:19Z" - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "description": "Timestamp describing when the service was last updated (RFC 3339 format)", - "example": "2019-06-04T12:58:19Z" - }, - "environment": { - "type": "string", - "description": "Environment the service is running in. Use this to distinguish between production, development and testing/staging deployments. Suggested values are prod, test, dev, staging. However this is advised and not enforced.", - "example": "test" - }, - "version": { - "type": "string", - "description": "Version of the service being described. Semantic versioning is recommended, but other identifiers, such as dates or commit hashes, are also allowed. The version should be changed whenever the service is updated.", - "example": "1.0.0" - } - } - } - } - } -} \ No newline at end of file diff --git a/benchmark/data/schemas/openapi_schema.json b/benchmark/data/schemas/openapi_schema.json deleted file mode 100644 index b14eaca5..00000000 --- a/benchmark/data/schemas/openapi_schema.json +++ /dev/null @@ -1,1663 +0,0 @@ -{ - "$id": "https://spec.openapis.org/oas/3.0/schema/2021-09-28", - "$schema": "http://json-schema.org/draft-07/schema#", - "description": "The description of OpenAPI v3.0.x documents, as defined by https://spec.openapis.org/oas/v3.0.3", - "type": "object", - "required": [ - "openapi", - "info", - "paths" - ], - "properties": { - "openapi": { - "type": "string", - "pattern": "^3\\.0\\.\\d(-.+)?$" - }, - "info": { - "$ref": "#/definitions/Info" - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - } - }, - "security": { - "type": "array", - "items": { - "$ref": "#/definitions/SecurityRequirement" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/definitions/Tag" - }, - "uniqueItems": true - }, - "paths": { - "$ref": "#/definitions/Paths" - }, - "components": { - "$ref": "#/definitions/Components" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "definitions": { - "Reference": { - "type": "object", - "required": [ - "$ref" - ], - "patternProperties": { - "^\\$ref$": { - "type": "string", - "format": "uri-reference" - } - } - }, - "Info": { - "type": "object", - "required": [ - "title", - "version" - ], - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "termsOfService": { - "type": "string", - "format": "uri-reference" - }, - "contact": { - "$ref": "#/definitions/Contact" - }, - "license": { - "$ref": "#/definitions/License" - }, - "version": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Contact": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri-reference" - }, - "email": { - "type": "string", - "format": "email" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "License": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri-reference" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Server": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "url": { - "type": "string" - }, - "description": { - "type": "string" - }, - "variables": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServerVariable" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ServerVariable": { - "type": "object", - "required": [ - "default" - ], - "properties": { - "enum": { - "type": "array", - "items": { - "type": "string" - } - }, - "default": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Components": { - "type": "object", - "properties": { - "schemas": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "responses": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/Response" - } - ] - } - } - }, - "parameters": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/Parameter" - } - ] - } - } - }, - "examples": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/Example" - } - ] - } - } - }, - "requestBodies": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/RequestBody" - } - ] - } - } - }, - "headers": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/Header" - } - ] - } - } - }, - "securitySchemes": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/SecurityScheme" - } - ] - } - } - }, - "links": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/Link" - } - ] - } - } - }, - "callbacks": { - "type": "object", - "patternProperties": { - "^[a-zA-Z0-9\\.\\-_]+$": { - "oneOf": [ - { - "$ref": "#/definitions/Reference" - }, - { - "$ref": "#/definitions/Callback" - } - ] - } - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Schema": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": { - "type": "integer", - "minimum": 0 - }, - "minLength": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "pattern": { - "type": "string", - "format": "regex" - }, - "maxItems": { - "type": "integer", - "minimum": 0 - }, - "minItems": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxProperties": { - "type": "integer", - "minimum": 0 - }, - "minProperties": { - "type": "integer", - "minimum": 0, - "default": 0 - }, - "required": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1, - "uniqueItems": true - }, - "enum": { - "type": "array", - "items": { - }, - "minItems": 1, - "uniqueItems": false - }, - "type": { - "type": "string", - "enum": [ - "array", - "boolean", - "integer", - "number", - "object", - "string" - ] - }, - "not": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "allOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "oneOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "anyOf": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "properties": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - }, - { - "type": "boolean" - } - ], - "default": true - }, - "description": { - "type": "string" - }, - "format": { - "type": "string" - }, - "default": { - }, - "nullable": { - "type": "boolean", - "default": false - }, - "discriminator": { - "$ref": "#/definitions/Discriminator" - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "example": { - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "xml": { - "$ref": "#/definitions/XML" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Discriminator": { - "type": "object", - "required": [ - "propertyName" - ], - "properties": { - "propertyName": { - "type": "string" - }, - "mapping": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "XML": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "namespace": { - "type": "string", - "format": "uri" - }, - "prefix": { - "type": "string" - }, - "attribute": { - "type": "boolean", - "default": false - }, - "wrapped": { - "type": "boolean", - "default": false - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Response": { - "type": "object", - "required": [ - "description" - ], - "properties": { - "description": { - "type": "string" - }, - "headers": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Header" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - } - }, - "links": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Link" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "MediaType": { - "type": "object", - "properties": { - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "example": { - }, - "examples": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Example" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "encoding": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/Encoding" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "allOf": [ - { - "$ref": "#/definitions/ExampleXORExamples" - } - ] - }, - "Example": { - "type": "object", - "properties": { - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "value": { - }, - "externalValue": { - "type": "string", - "format": "uri-reference" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Header": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "required": { - "type": "boolean", - "default": false - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "allowEmptyValue": { - "type": "boolean", - "default": false - }, - "style": { - "type": "string", - "enum": [ - "simple" - ], - "default": "simple" - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "type": "boolean", - "default": false - }, - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - }, - "minProperties": 1, - "maxProperties": 1 - }, - "example": { - }, - "examples": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Example" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "allOf": [ - { - "$ref": "#/definitions/ExampleXORExamples" - }, - { - "$ref": "#/definitions/SchemaXORContent" - } - ] - }, - "Paths": { - "type": "object", - "patternProperties": { - "^\\/": { - "$ref": "#/definitions/PathItem" - }, - "^x-": { - } - }, - "additionalProperties": false - }, - "PathItem": { - "type": "object", - "properties": { - "$ref": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - } - }, - "parameters": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Parameter" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "uniqueItems": true - } - }, - "patternProperties": { - "^(get|put|post|delete|options|head|patch|trace)$": { - "$ref": "#/definitions/Operation" - }, - "^x-": { - } - }, - "additionalProperties": false - }, - "Operation": { - "type": "object", - "required": [ - "responses" - ], - "properties": { - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - }, - "operationId": { - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/Parameter" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "uniqueItems": true - }, - "requestBody": { - "oneOf": [ - { - "$ref": "#/definitions/RequestBody" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "responses": { - "$ref": "#/definitions/Responses" - }, - "callbacks": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Callback" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "security": { - "type": "array", - "items": { - "$ref": "#/definitions/SecurityRequirement" - } - }, - "servers": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Responses": { - "type": "object", - "properties": { - "default": { - "oneOf": [ - { - "$ref": "#/definitions/Response" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "patternProperties": { - "^[1-5](?:\\d{2}|XX)$": { - "oneOf": [ - { - "$ref": "#/definitions/Response" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "^x-": { - } - }, - "minProperties": 1, - "additionalProperties": false - }, - "SecurityRequirement": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Tag": { - "type": "object", - "required": [ - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "externalDocs": { - "$ref": "#/definitions/ExternalDocumentation" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ExternalDocumentation": { - "type": "object", - "required": [ - "url" - ], - "properties": { - "description": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri-reference" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ExampleXORExamples": { - "description": "Example and examples are mutually exclusive", - "not": { - "required": [ - "example", - "examples" - ] - } - }, - "SchemaXORContent": { - "description": "Schema and content are mutually exclusive, at least one is required", - "not": { - "required": [ - "schema", - "content" - ] - }, - "oneOf": [ - { - "required": [ - "schema" - ] - }, - { - "required": [ - "content" - ], - "description": "Some properties are not allowed if content is present", - "allOf": [ - { - "not": { - "required": [ - "style" - ] - } - }, - { - "not": { - "required": [ - "explode" - ] - } - }, - { - "not": { - "required": [ - "allowReserved" - ] - } - }, - { - "not": { - "required": [ - "example" - ] - } - }, - { - "not": { - "required": [ - "examples" - ] - } - } - ] - } - ] - }, - "Parameter": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "in": { - "type": "string" - }, - "description": { - "type": "string" - }, - "required": { - "type": "boolean", - "default": false - }, - "deprecated": { - "type": "boolean", - "default": false - }, - "allowEmptyValue": { - "type": "boolean", - "default": false - }, - "style": { - "type": "string" - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "type": "boolean", - "default": false - }, - "schema": { - "oneOf": [ - { - "$ref": "#/definitions/Schema" - }, - { - "$ref": "#/definitions/Reference" - } - ] - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - }, - "minProperties": 1, - "maxProperties": 1 - }, - "example": { - }, - "examples": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Example" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "required": [ - "name", - "in" - ], - "allOf": [ - { - "$ref": "#/definitions/ExampleXORExamples" - }, - { - "$ref": "#/definitions/SchemaXORContent" - }, - { - "$ref": "#/definitions/ParameterLocation" - } - ] - }, - "ParameterLocation": { - "description": "Parameter location", - "oneOf": [ - { - "description": "Parameter in path", - "required": [ - "required" - ], - "properties": { - "in": { - "enum": [ - "path" - ] - }, - "style": { - "enum": [ - "matrix", - "label", - "simple" - ], - "default": "simple" - }, - "required": { - "enum": [ - true - ] - } - } - }, - { - "description": "Parameter in query", - "properties": { - "in": { - "enum": [ - "query" - ] - }, - "style": { - "enum": [ - "form", - "spaceDelimited", - "pipeDelimited", - "deepObject" - ], - "default": "form" - } - } - }, - { - "description": "Parameter in header", - "properties": { - "in": { - "enum": [ - "header" - ] - }, - "style": { - "enum": [ - "simple" - ], - "default": "simple" - } - } - }, - { - "description": "Parameter in cookie", - "properties": { - "in": { - "enum": [ - "cookie" - ] - }, - "style": { - "enum": [ - "form" - ], - "default": "form" - } - } - } - ] - }, - "RequestBody": { - "type": "object", - "required": [ - "content" - ], - "properties": { - "description": { - "type": "string" - }, - "content": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MediaType" - } - }, - "required": { - "type": "boolean", - "default": false - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "SecurityScheme": { - "oneOf": [ - { - "$ref": "#/definitions/APIKeySecurityScheme" - }, - { - "$ref": "#/definitions/HTTPSecurityScheme" - }, - { - "$ref": "#/definitions/OAuth2SecurityScheme" - }, - { - "$ref": "#/definitions/OpenIdConnectSecurityScheme" - } - ] - }, - "APIKeySecurityScheme": { - "type": "object", - "required": [ - "type", - "name", - "in" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "apiKey" - ] - }, - "name": { - "type": "string" - }, - "in": { - "type": "string", - "enum": [ - "header", - "query", - "cookie" - ] - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "HTTPSecurityScheme": { - "type": "object", - "required": [ - "scheme", - "type" - ], - "properties": { - "scheme": { - "type": "string" - }, - "bearerFormat": { - "type": "string" - }, - "description": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "http" - ] - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "oneOf": [ - { - "description": "Bearer", - "properties": { - "scheme": { - "type": "string", - "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$" - } - } - }, - { - "description": "Non Bearer", - "not": { - "required": [ - "bearerFormat" - ] - }, - "properties": { - "scheme": { - "not": { - "type": "string", - "pattern": "^[Bb][Ee][Aa][Rr][Ee][Rr]$" - } - } - } - } - ] - }, - "OAuth2SecurityScheme": { - "type": "object", - "required": [ - "type", - "flows" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "oauth2" - ] - }, - "flows": { - "$ref": "#/definitions/OAuthFlows" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "OpenIdConnectSecurityScheme": { - "type": "object", - "required": [ - "type", - "openIdConnectUrl" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "openIdConnect" - ] - }, - "openIdConnectUrl": { - "type": "string", - "format": "uri-reference" - }, - "description": { - "type": "string" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "OAuthFlows": { - "type": "object", - "properties": { - "implicit": { - "$ref": "#/definitions/ImplicitOAuthFlow" - }, - "password": { - "$ref": "#/definitions/PasswordOAuthFlow" - }, - "clientCredentials": { - "$ref": "#/definitions/ClientCredentialsFlow" - }, - "authorizationCode": { - "$ref": "#/definitions/AuthorizationCodeOAuthFlow" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ImplicitOAuthFlow": { - "type": "object", - "required": [ - "authorizationUrl", - "scopes" - ], - "properties": { - "authorizationUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "PasswordOAuthFlow": { - "type": "object", - "required": [ - "tokenUrl", - "scopes" - ], - "properties": { - "tokenUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "ClientCredentialsFlow": { - "type": "object", - "required": [ - "tokenUrl", - "scopes" - ], - "properties": { - "tokenUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "AuthorizationCodeOAuthFlow": { - "type": "object", - "required": [ - "authorizationUrl", - "tokenUrl", - "scopes" - ], - "properties": { - "authorizationUrl": { - "type": "string", - "format": "uri-reference" - }, - "tokenUrl": { - "type": "string", - "format": "uri-reference" - }, - "refreshUrl": { - "type": "string", - "format": "uri-reference" - }, - "scopes": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - }, - "Link": { - "type": "object", - "properties": { - "operationId": { - "type": "string" - }, - "operationRef": { - "type": "string", - "format": "uri-reference" - }, - "parameters": { - "type": "object", - "additionalProperties": { - } - }, - "requestBody": { - }, - "description": { - "type": "string" - }, - "server": { - "$ref": "#/definitions/Server" - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false, - "not": { - "description": "Operation Id and Operation Ref are mutually exclusive", - "required": [ - "operationId", - "operationRef" - ] - } - }, - "Callback": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PathItem" - }, - "patternProperties": { - "^x-": { - } - } - }, - "Encoding": { - "type": "object", - "properties": { - "contentType": { - "type": "string" - }, - "headers": { - "type": "object", - "additionalProperties": { - "oneOf": [ - { - "$ref": "#/definitions/Header" - }, - { - "$ref": "#/definitions/Reference" - } - ] - } - }, - "style": { - "type": "string", - "enum": [ - "form", - "spaceDelimited", - "pipeDelimited", - "deepObject" - ] - }, - "explode": { - "type": "boolean" - }, - "allowReserved": { - "type": "boolean", - "default": false - } - }, - "patternProperties": { - "^x-": { - } - }, - "additionalProperties": false - } - } -} diff --git a/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractCommonBenchmark.kt b/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractCommonBenchmark.kt deleted file mode 100644 index dbd45dd9..00000000 --- a/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractCommonBenchmark.kt +++ /dev/null @@ -1,73 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.OutputCollector -import kotlinx.benchmark.Benchmark -import kotlinx.benchmark.Blackhole -import kotlinx.benchmark.Setup -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.okio.decodeFromBufferedSource -import okio.Path.Companion.toPath -import okio.buffer -import okio.use - -/** - * This abstract class is extracted to bypass limitations for a single benchmark mode for native targets. - * Also, it allows to configure different output time units for benchmarks - */ -abstract class AbstractCommonBenchmark { - abstract var objectPath: String - - abstract var schemaPath: String - - private lateinit var schema: JsonSchema - private lateinit var document: JsonElement - - @OptIn(ExperimentalSerializationApi::class) - @Setup - fun setup() { - val fs = fileSystem() - document = - fs.openReadOnly(objectPath.toPath()).use { fh -> - fh.source().buffer().use { - Json.decodeFromBufferedSource(JsonElement.serializer(), it) - } - } - schema = - fs.openReadOnly(schemaPath.toPath()).use { fh -> - fh.source().buffer().use { - Json.decodeFromBufferedSource(JsonElement.serializer(), it) - } - }.let { schemaElement -> - JsonSchema.fromJsonElement(schemaElement) - } - } - - @Benchmark - fun validate(bh: Blackhole) { - bh.consume(schema.validate(document, ErrorCollector.EMPTY)) - } - - @Benchmark - fun validateFlag(bh: Blackhole) { - bh.consume(schema.validate(document, OutputCollector.flag())) - } - - @Benchmark - fun validateBasic(bh: Blackhole) { - bh.consume(schema.validate(document, OutputCollector.basic())) - } - - @Benchmark - fun validateDetailed(bh: Blackhole) { - bh.consume(schema.validate(document, OutputCollector.detailed())) - } - - @Benchmark - fun validateVerbose(bh: Blackhole) { - bh.consume(schema.validate(document, OutputCollector.verbose())) - } -} \ No newline at end of file diff --git a/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/CommonBenchmarks.kt b/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/CommonBenchmarks.kt deleted file mode 100644 index f077ae75..00000000 --- a/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/CommonBenchmarks.kt +++ /dev/null @@ -1,31 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import kotlinx.benchmark.BenchmarkMode -import kotlinx.benchmark.BenchmarkTimeUnit -import kotlinx.benchmark.Mode -import kotlinx.benchmark.OutputTimeUnit -import kotlinx.benchmark.Param -import kotlinx.benchmark.Scope -import kotlinx.benchmark.State - -@State(Scope.Benchmark) -@OutputTimeUnit(BenchmarkTimeUnit.SECONDS) -@BenchmarkMode(Mode.Throughput) -class CommonThroughputBench : AbstractCommonBenchmark() { - @Param("object") - override var objectPath: String = "" - - @Param("schema") - override var schemaPath: String = "" -} - -@State(Scope.Benchmark) -@OutputTimeUnit(BenchmarkTimeUnit.MICROSECONDS) -@BenchmarkMode(Mode.AverageTime) -class CommonAvgTimeBench : AbstractCommonBenchmark() { - @Param("object") - override var objectPath: String = "" - - @Param("schema") - override var schemaPath: String = "" -} \ No newline at end of file diff --git a/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.kt b/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.kt deleted file mode 100644 index 215e0d29..00000000 --- a/benchmark/src/commonMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import okio.FileSystem - -expect fun fileSystem(): FileSystem \ No newline at end of file diff --git a/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractComparisonBenchmark.kt b/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractComparisonBenchmark.kt deleted file mode 100644 index 91ac82ea..00000000 --- a/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/AbstractComparisonBenchmark.kt +++ /dev/null @@ -1,150 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import com.fasterxml.jackson.databind.JsonNode -import com.fasterxml.jackson.databind.ObjectMapper -import com.networknt.schema.JsonSchemaFactory -import com.networknt.schema.OutputFormat -import com.networknt.schema.PathType -import com.networknt.schema.SchemaValidatorsConfig -import com.networknt.schema.SpecVersion.VersionFlag.V7 -import com.networknt.schema.output.OutputFlag -import com.networknt.schema.output.OutputUnit -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.ValidationOutput -import io.github.optimumcode.json.schema.fromStream -import io.openapiprocessor.jackson.JacksonConverter -import io.openapiprocessor.jsonschema.reader.UriReader -import io.openapiprocessor.jsonschema.schema.DocumentLoader -import io.openapiprocessor.jsonschema.schema.JsonInstance -import io.openapiprocessor.jsonschema.schema.JsonSchema -import io.openapiprocessor.jsonschema.schema.Output.FLAG -import io.openapiprocessor.jsonschema.schema.SchemaStore -import io.openapiprocessor.jsonschema.validator.Validator -import io.openapiprocessor.jsonschema.validator.ValidatorSettings -import io.openapiprocessor.jsonschema.validator.steps.ValidationStep -import kotlinx.benchmark.Benchmark -import kotlinx.benchmark.Setup -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.decodeFromStream -import java.io.File -import java.nio.file.Path -import kotlin.io.path.inputStream - -/** - * This abstract class is extracted to configure different output time units for benchmarks - */ -abstract class AbstractComparisonBenchmark { - abstract var objectPath: String - - abstract var schemaPath: String - - // OpenAPI schema - private lateinit var openapiSchema: JsonSchema - private lateinit var openapiDocument: JsonInstance - private val openapiValidator: Validator = Validator(ValidatorSettings().setOutput(FLAG)) - - // networknt - private lateinit var networkntSchema: com.networknt.schema.JsonSchema - private lateinit var networkntDocument: JsonNode - - private lateinit var schema: io.github.optimumcode.json.schema.JsonSchema - private lateinit var document: JsonElement - - @Setup - fun setup() { - setupOpenAPI() - setupNetworknt() - - setupKmp() - } - - private fun setupNetworknt() { - val factory = JsonSchemaFactory.getInstance(V7) - networkntSchema = - Path.of(schemaPath).inputStream().use { - factory.getSchema( - it, - SchemaValidatorsConfig - .builder() - .pathType(PathType.JSON_POINTER) - .errorMessageKeyword("message") - .nullableKeywordEnabled(false) - .build(), - ) - } - networkntDocument = - Path.of(objectPath).inputStream().use { - ObjectMapper().readTree(it) - } - } - - @OptIn(ExperimentalSerializationApi::class) - private fun setupKmp() { - schema = - Path.of(schemaPath).inputStream().use { - io.github.optimumcode.json.schema.JsonSchema - .fromStream(it) - } - document = - Path.of(objectPath).inputStream().use { - Json.decodeFromStream(JsonElement.serializer(), it) - } - } - - private fun setupOpenAPI() { - val converter = JacksonConverter() - val loader = DocumentLoader(UriReader(), converter) - val store = SchemaStore(loader) - val uri = File(schemaPath).toURI() - store.register(uri) - openapiSchema = store.getSchema(uri) - openapiDocument = - JsonInstance( - converter.convert( - Path - .of(objectPath) - .inputStream() - .use { it.readAllBytes() } - .toString(Charsets.UTF_8), - ), - ) - } - - @Benchmark - fun validateOpenApi(): ValidationStep = openapiValidator.validate(openapiSchema, openapiDocument) - - @Benchmark - fun validateNetworkntFlag(): OutputFlag? = networkntSchema.validate(networkntDocument, OutputFormat.FLAG) - - @Benchmark - fun validateNetworkntDetailed(): OutputUnit = networkntSchema.validate(networkntDocument, OutputFormat.LIST) - - @Benchmark - fun validateNetworkntVerbose(): OutputUnit = networkntSchema.validate(networkntDocument, OutputFormat.HIERARCHICAL) - - @Benchmark - fun validateKmpEmptyCollector(): Boolean = schema.validate(document, ErrorCollector.EMPTY) - - @Benchmark - fun validateKmpCollectErrors(): List<ValidationError> { - val errors = arrayListOf<ValidationError>() - schema.validate(document, errors::add) - return errors - } - - @Benchmark - fun validateKmpBasic(): ValidationOutput.Basic = schema.validate(document, OutputCollector.basic()) - - @Benchmark - fun validateKmpFlag(): ValidationOutput.Flag = schema.validate(document, OutputCollector.flag()) - - @Benchmark - fun validateKmpDetailed(): ValidationOutput.OutputUnit = schema.validate(document, OutputCollector.detailed()) - - @Benchmark - fun validateKmpVerbose(): ValidationOutput.OutputUnit = schema.validate(document, OutputCollector.verbose()) -} \ No newline at end of file diff --git a/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/ComparisonBenchmark.kt b/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/ComparisonBenchmark.kt deleted file mode 100644 index a6a4eb1b..00000000 --- a/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/ComparisonBenchmark.kt +++ /dev/null @@ -1,32 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import kotlinx.benchmark.BenchmarkMode -import kotlinx.benchmark.Mode -import kotlinx.benchmark.OutputTimeUnit -import kotlinx.benchmark.Param -import kotlinx.benchmark.Scope -import kotlinx.benchmark.State -import java.util.concurrent.TimeUnit.MICROSECONDS -import java.util.concurrent.TimeUnit.SECONDS - -@State(Scope.Benchmark) -@OutputTimeUnit(SECONDS) -@BenchmarkMode(Mode.Throughput) -class ComparisonThroughputBenchmark : AbstractComparisonBenchmark() { - @Param("object") - override var objectPath: String = "" - - @Param("schema") - override var schemaPath: String = "" -} - -@State(Scope.Benchmark) -@OutputTimeUnit(MICROSECONDS) -@BenchmarkMode(Mode.AverageTime) -class ComparisonAvgTimeBenchmark : AbstractComparisonBenchmark() { - @Param("object") - override var objectPath: String = "" - - @Param("schema") - override var schemaPath: String = "" -} \ No newline at end of file diff --git a/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.jvm.kt b/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.jvm.kt deleted file mode 100644 index 62bcbadd..00000000 --- a/benchmark/src/jvmMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.jvm.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import okio.FileSystem - -actual fun fileSystem(): FileSystem = FileSystem.SYSTEM \ No newline at end of file diff --git a/benchmark/src/nativeMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.native.kt b/benchmark/src/nativeMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.native.kt deleted file mode 100644 index 62bcbadd..00000000 --- a/benchmark/src/nativeMain/kotlin/io/github/optimumcode/json/schema/benchmark/FileAccess.native.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.github.optimumcode.json.schema.benchmark - -import okio.FileSystem - -actual fun fileSystem(): FileSystem = FileSystem.SYSTEM \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts deleted file mode 100644 index f5b6d42d..00000000 --- a/build.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - alias(libs.plugins.kotlin.binaryCompatibility) -} - -allprojects { - repositories { - mavenCentral() - } -} - -apiValidation { - ignoredProjects += listOf("benchmark", "test-suites", "json-schema-validator-bom") -} - -tasks.register("printKtlintVersion") { - doLast { - println(libs.versions.ktlint.get()) - } -} - -tasks.register("printDetektVersion") { - doLast { - println(libs.versions.detekt.get()) - } -} \ No newline at end of file diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts deleted file mode 100644 index 6ab2a3e5..00000000 --- a/buildSrc/build.gradle.kts +++ /dev/null @@ -1,13 +0,0 @@ -plugins { - `kotlin-dsl` -} - -repositories { - gradlePluginPortal() -} - -dependencies { - implementation(libs.kotlin.gradle.plugin) - implementation(libs.sigstore.gradle.plugin) - implementation(libs.maven.publish.gradle.plugin) -} \ No newline at end of file diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts deleted file mode 100644 index d754ac31..00000000 --- a/buildSrc/settings.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -rootProject.name = "buildSrc" - -dependencyResolutionManagement { - versionCatalogs { - create("libs") { - from(files("../gradle/libs.versions.toml")) - } - } -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts b/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts deleted file mode 100644 index 25423093..00000000 --- a/buildSrc/src/main/kotlin/convention.kotlin.gradle.kts +++ /dev/null @@ -1,6 +0,0 @@ -plugins { - kotlin("multiplatform") -} - -kotlin { -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/convention.multiplatform-jvm.gradle.kts b/buildSrc/src/main/kotlin/convention.multiplatform-jvm.gradle.kts deleted file mode 100644 index 1270583f..00000000 --- a/buildSrc/src/main/kotlin/convention.multiplatform-jvm.gradle.kts +++ /dev/null @@ -1,17 +0,0 @@ -import org.jetbrains.kotlin.gradle.dsl.JvmTarget - -plugins { - id("convention.kotlin") -} - -kotlin { - jvm { - testRuns["test"].executionTask.configure { - useJUnitPlatform() - } - compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) - freeCompilerArgs.add("-Xjdk-release=11") - } - } -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/convention.multiplatform-lib.gradle.kts b/buildSrc/src/main/kotlin/convention.multiplatform-lib.gradle.kts deleted file mode 100644 index 14e7751c..00000000 --- a/buildSrc/src/main/kotlin/convention.multiplatform-lib.gradle.kts +++ /dev/null @@ -1,38 +0,0 @@ -import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl - -plugins { - id("convention.kotlin") - id("convention.multiplatform-jvm") -} - -kotlin { - explicitApi() - - jvm() - js(IR) { - browser() - generateTypeScriptDefinitions() - nodejs() - } - - @OptIn(ExperimentalWasmDsl::class) - wasmJs { - // The wasmJsBrowserTest prints all executed tests as one unformatted string - // Have not found a way to suppress printing all this into console - browser() - nodejs() - } - - applyDefaultHierarchyTemplate() - - macosX64() - macosArm64() - iosX64() - iosArm64() - iosSimulatorArm64() - - linuxX64() - linuxArm64() - - mingwX64() -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/convention.multiplatform-tests.gradle.kts b/buildSrc/src/main/kotlin/convention.multiplatform-tests.gradle.kts deleted file mode 100644 index 3970a6bb..00000000 --- a/buildSrc/src/main/kotlin/convention.multiplatform-tests.gradle.kts +++ /dev/null @@ -1,36 +0,0 @@ -import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests - -plugins { - id("convention.kotlin") -} - -val macOsAllTest by tasks.register("macOsAllTest") { - group = "verification" - description = "runs all tests for MacOS and IOS targets" -} - -val windowsAllTest by tasks.register("windowsAllTest") { - group = "verification" - description = "runs all tests for Windows targets" -} -val linuxAllTest by tasks.register("linuxAllTest") { - group = "verification" - description = "runs all tests for Linux targets" -} - -kotlin.targets.configureEach { - if (this !is KotlinTargetWithTests<*, *>) { - return@configureEach - } - when { - name.startsWith("ios") || name.startsWith("macos") -> { - macOsAllTest.dependsOn(tasks.named("${name}Test")) - } - name.startsWith("mingw") -> { - windowsAllTest.dependsOn(tasks.named("${name}Test")) - } - else -> { - linuxAllTest.dependsOn(tasks.named("${name}Test")) - } - } -} \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/convention.publication.gradle.kts b/buildSrc/src/main/kotlin/convention.publication.gradle.kts deleted file mode 100644 index 628e5106..00000000 --- a/buildSrc/src/main/kotlin/convention.publication.gradle.kts +++ /dev/null @@ -1,62 +0,0 @@ -plugins { - `maven-publish` - signing - id("dev.sigstore.sign") - id("com.vanniktech.maven.publish") -} - -/** - * Create a service for collecting the coordinates of all artifacts that should be included in the bom. - */ -abstract class BomService : BuildService<BuildServiceParameters.None> { - /** Coordinates that will be included in the BOM. */ - abstract val coordinates: SetProperty<String> -} - -val bomService: BomService = - gradle.sharedServices.registerIfAbsent("bomService", BomService::class).get() - -extensions.add("bomService", bomService) - -/** Controls whether the current subproject will be included in the kotest-bom. */ -val includeInBom: Property<Boolean> = - objects.property<Boolean>().convention(project.name != "json-schema-validator-bom") - -extensions.add<Property<Boolean>>("includeInBom", includeInBom) - -bomService.coordinates - .addAll( - provider { - project.run { "$group:$name:$version" } - }.zip(includeInBom) { coordinates, include -> - if (include) listOf(coordinates) else emptyList() - }, - ) - -mavenPublishing { - publishToMavenCentral(automaticRelease = true) - signAllPublications() - - pom { - name.set("JSON schema validator") - description.set("Multiplatform Kotlin implementation of JSON schema validator") - url.set("https://github.com/OptimumCode/json-schema-validator") - - licenses { - license { - name.set("MIT") - url.set("https://opensource.org/licenses/MIT") - } - } - developers { - developer { - id.set("OptimumCode") - name.set("Oleg Smirnov") - email.set("oleg31101996@gmail.com") - } - } - scm { - url.set("https://github.com/OptimumCode/json-schema-validator") - } - } -} diff --git a/buildSrc/src/main/kotlin/tasks/GenerateRemoteSchemas.kt b/buildSrc/src/main/kotlin/tasks/GenerateRemoteSchemas.kt deleted file mode 100644 index d413ef40..00000000 --- a/buildSrc/src/main/kotlin/tasks/GenerateRemoteSchemas.kt +++ /dev/null @@ -1,60 +0,0 @@ -package tasks - -import org.gradle.api.DefaultTask -import org.gradle.api.file.Directory -import org.gradle.api.file.RegularFile -import org.gradle.api.provider.Provider -import org.gradle.api.tasks.InputDirectory -import org.gradle.api.tasks.InputFile -import org.gradle.api.tasks.OutputFile -import org.gradle.api.tasks.TaskAction -import org.gradle.process.ExecOperations -import javax.inject.Inject - -/** - * Generates remote schemas file for JSON schema test-suite - */ -abstract class GenerateRemoteSchemas : DefaultTask() { - @InputDirectory - val remotes: Provider<Directory> = - project.objects.directoryProperty() - .convention( - project.layout.projectDirectory.dir("schema-test-suite/remotes"), - ) - - @InputFile - val script: Provider<RegularFile> = - project.objects.fileProperty() - .convention( - project.layout.projectDirectory.file("schema-test-suite/bin/jsonschema_suite"), - ) - - @OutputFile - val remotesFile: Provider<RegularFile> = - project.objects.fileProperty() - .convention( - project.layout.buildDirectory.file("remotes.json"), - ) - - @get:Inject - protected abstract val execService: ExecOperations - - init { - group = "generation" - description = "Generates remote schema files for test suites" - } - - @TaskAction - protected fun generate() { - remotesFile.get().asFile.outputStream().use { out -> - execService.exec { - standardOutput = out - executable = "python3" - args( - script.get().asFile.path, - "remotes", - ) - } - } - } -} \ No newline at end of file diff --git a/changelog_config.json b/changelog_config.json deleted file mode 100644 index a9b51b79..00000000 --- a/changelog_config.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "categories": [ - { - "title": "## ⚠ Breaking changes", - "labels": ["API breaking", "ABI breaking"] - }, - { - "title": "## 🚀 Features", - "labels": ["enhancement"], - "exclude_labels": ["internal"], - "empty_content": "No new features today 😢" - }, - { - "title": "## 🐛 Fixes", - "labels": ["fix"], - "exclude_labels": ["documentation"], - "empty_content": "🤔 No bugs at all?" - }, - { - "title": "## 🧰 CI/CD", - "labels": ["ci/cd"] - }, - { - "title": "## Documentation", - "labels": ["documentation"] - }, - { - "title": "## Dependencies", - "labels": ["dependencies"] - } - ], - "ignore_labels": [ - "ignore" - ], - "sort": { - "order": "ASC", - "on_property": "mergedAt" - }, - "template": "#{{CHANGELOG}}\n\n<details>\n<summary>Uncategorized</summary>\n\n#{{UNCATEGORIZED}}\n</details>\n\n<details>\n<summary>Also merged but not included in notes</summary>\n\n#{{IGNORED}}\n</details>\n\n### Contributors\n\n#{{CONTRIBUTORS}}\n\n#{{RELEASE_DIFF}}", - "pr_template": "- #{{TITLE}} (PR: ##{{NUMBER}})", - "empty_template": "Nothing here today", - "trim_values": true, - "max_tags_to_fetch": 200, - "max_pull_requests": 200, - "max_back_track_time_days": 365, - "base_branches": [ "main" ] -} \ No newline at end of file diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index 16dad42a..00000000 --- a/codecov.yml +++ /dev/null @@ -1,9 +0,0 @@ -coverage: - status: - project: - default: - target: 90% - threshold: 1% - patch: - default: - informational: true \ No newline at end of file diff --git a/config/detekt/detekt.yml b/config/detekt/detekt.yml deleted file mode 100644 index c2b27ff5..00000000 --- a/config/detekt/detekt.yml +++ /dev/null @@ -1,774 +0,0 @@ -build: - maxIssues: 0 - excludeCorrectable: false - weights: - # complexity: 2 - # LongParameterList: 1 - # style: 1 - # comments: 1 - -config: - validation: true - warningsAsErrors: false - checkExhaustiveness: false - # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]' - excludes: '' - -processors: - active: true - exclude: - - 'DetektProgressListener' - -console-reports: - active: true - exclude: - - 'ProjectStatisticsReport' - - 'ComplexityReport' - - 'NotificationReport' - - 'FindingsReport' - - 'FileBasedFindingsReport' - # - 'LiteFindingsReport' - -output-reports: - active: true - exclude: - # - 'TxtOutputReport' - # - 'XmlOutputReport' - # - 'HtmlOutputReport' - # - 'MdOutputReport' - # - 'SarifOutputReport' - -comments: - active: true - AbsentOrWrongFileLicense: - active: false - licenseTemplateFile: 'license.template' - licenseTemplateIsRegex: false - CommentOverPrivateFunction: - active: false - CommentOverPrivateProperty: - active: false - DeprecatedBlockTag: - active: false - EndOfSentenceFormat: - active: false - endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' - KDocReferencesNonPublicProperty: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - OutdatedDocumentation: - active: false - matchTypeParameters: true - matchDeclarationsOrder: true - allowParamOnConstructorProperties: false - UndocumentedPublicClass: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - searchInNestedClass: true - searchInInnerClass: true - searchInInnerObject: true - searchInInnerInterface: true - searchInProtectedClass: false - UndocumentedPublicFunction: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - searchProtectedFunction: false - UndocumentedPublicProperty: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - searchProtectedProperty: false - -complexity: - active: true - CognitiveComplexMethod: - active: false - threshold: 15 - ComplexCondition: - active: true - threshold: 4 - ComplexInterface: - active: false - threshold: 10 - includeStaticDeclarations: false - includePrivateDeclarations: false - ignoreOverloaded: false - CyclomaticComplexMethod: - active: true - threshold: 20 - ignoreSingleWhenExpression: false - ignoreSimpleWhenEntries: false - ignoreNestingFunctions: false - nestingFunctions: - - 'also' - - 'apply' - - 'forEach' - - 'isNotNull' - - 'ifNull' - - 'let' - - 'run' - - 'use' - - 'with' - LabeledExpression: - active: false - ignoredLabels: [] - LargeClass: - active: true - threshold: 600 - LongMethod: - active: true - threshold: 60 - LongParameterList: - active: true - functionThreshold: 6 - constructorThreshold: 7 - ignoreDefaultParameters: false - ignoreDataClasses: true - ignoreAnnotatedParameter: [] - MethodOverloading: - active: false - threshold: 6 - NamedArguments: - active: false - threshold: 3 - ignoreArgumentsMatchingNames: false - NestedBlockDepth: - active: true - threshold: 5 - NestedScopeFunctions: - active: false - threshold: 1 - functions: - - 'kotlin.apply' - - 'kotlin.run' - - 'kotlin.with' - - 'kotlin.let' - - 'kotlin.also' - ReplaceSafeCallChainWithRun: - active: false - StringLiteralDuplication: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - threshold: 3 - ignoreAnnotation: true - excludeStringsWithLessThan5Characters: true - ignoreStringsRegex: '$^' - TooManyFunctions: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - thresholdInFiles: 11 - thresholdInClasses: 15 - thresholdInInterfaces: 15 - thresholdInObjects: 11 - thresholdInEnums: 11 - ignoreDeprecated: false - ignorePrivate: true - ignoreOverridden: false - -coroutines: - active: true - GlobalCoroutineUsage: - active: false - InjectDispatcher: - active: true - dispatcherNames: - - 'IO' - - 'Default' - - 'Unconfined' - RedundantSuspendModifier: - active: true - SleepInsteadOfDelay: - active: true - SuspendFunSwallowedCancellation: - active: false - SuspendFunWithCoroutineScopeReceiver: - active: false - SuspendFunWithFlowReturnType: - active: true - -empty-blocks: - active: true - EmptyCatchBlock: - active: true - allowedExceptionNameRegex: '_|(ignore|expected).*' - EmptyClassBlock: - active: true - EmptyDefaultConstructor: - active: true - EmptyDoWhileBlock: - active: true - EmptyElseBlock: - active: true - EmptyFinallyBlock: - active: true - EmptyForBlock: - active: true - EmptyFunctionBlock: - active: true - ignoreOverridden: false - EmptyIfBlock: - active: true - EmptyInitBlock: - active: true - EmptyKtFile: - active: true - EmptySecondaryConstructor: - active: true - EmptyTryBlock: - active: true - EmptyWhenBlock: - active: true - EmptyWhileBlock: - active: true - -exceptions: - active: true - ExceptionRaisedInUnexpectedLocation: - active: true - methodNames: - - 'equals' - - 'finalize' - - 'hashCode' - - 'toString' - InstanceOfCheckForException: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - NotImplementedDeclaration: - active: false - ObjectExtendsThrowable: - active: false - PrintStackTrace: - active: true - RethrowCaughtException: - active: true - ReturnFromFinally: - active: true - ignoreLabeled: false - SwallowedException: - active: true - ignoredExceptionTypes: - - 'InterruptedException' - - 'MalformedURLException' - - 'NumberFormatException' - - 'ParseException' - allowedExceptionNameRegex: '_|(ignore|expected).*' - ThrowingExceptionFromFinally: - active: true - ThrowingExceptionInMain: - active: false - ThrowingExceptionsWithoutMessageOrCause: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - exceptions: - - 'ArrayIndexOutOfBoundsException' - - 'Exception' - - 'IllegalArgumentException' - - 'IllegalMonitorStateException' - - 'IllegalStateException' - - 'IndexOutOfBoundsException' - - 'NullPointerException' - - 'RuntimeException' - - 'Throwable' - ThrowingNewInstanceOfSameException: - active: true - TooGenericExceptionCaught: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - exceptionNames: - - 'ArrayIndexOutOfBoundsException' - - 'Error' - - 'Exception' - - 'IllegalMonitorStateException' - - 'IndexOutOfBoundsException' - - 'NullPointerException' - - 'RuntimeException' - - 'Throwable' - allowedExceptionNameRegex: '_|(ignore|expected).*|exOrJsError' - TooGenericExceptionThrown: - active: true - exceptionNames: - - 'Error' - - 'Exception' - - 'RuntimeException' - - 'Throwable' - -naming: - active: true - BooleanPropertyNaming: - active: false - allowedPattern: '^(is|has|are)' - ClassNaming: - active: true - classPattern: '[A-Z][a-zA-Z0-9]*' - ConstructorParameterNaming: - active: true - parameterPattern: '[a-z][A-Za-z0-9]*' - privateParameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - EnumNaming: - active: true - enumEntryPattern: '[A-Z][_a-zA-Z0-9]*' - ForbiddenClassName: - active: false - forbiddenName: [] - FunctionMaxLength: - active: false - maximumFunctionNameLength: 30 - FunctionMinLength: - active: false - minimumFunctionNameLength: 3 - FunctionNaming: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - functionPattern: '[a-z][a-zA-Z0-9]*' - excludeClassPattern: '$^' - FunctionParameterNaming: - active: true - parameterPattern: '[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - InvalidPackageDeclaration: - active: true - rootPackage: '' - requireRootInDeclaration: false - LambdaParameterNaming: - active: false - parameterPattern: '[a-z][A-Za-z0-9]*|_' - MatchingDeclarationName: - active: true - mustBeFirst: true - MemberNameEqualsClassName: - active: true - ignoreOverridden: true - NoNameShadowing: - active: true - NonBooleanPropertyPrefixedWithIs: - active: false - ObjectPropertyNaming: - active: true - constantPattern: '[A-Za-z][_A-Za-z0-9]*' - propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*' - PackageNaming: - active: true - packagePattern: '[a-z]+(\.[a-z][A-Za-z0-9]*)*' - TopLevelPropertyNaming: - active: true - constantPattern: '[A-Z][_A-Z0-9]*' - propertyPattern: '[A-Za-z][_A-Za-z0-9]*' - privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*' - VariableMaxLength: - active: false - maximumVariableNameLength: 64 - VariableMinLength: - active: false - minimumVariableNameLength: 1 - VariableNaming: - active: true - variablePattern: '[a-z][A-Za-z0-9]*' - privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' - excludeClassPattern: '$^' - -performance: - active: true - ArrayPrimitive: - active: true - CouldBeSequence: - active: false - threshold: 3 - ForEachOnRange: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - SpreadOperator: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - UnnecessaryPartOfBinaryExpression: - active: false - UnnecessaryTemporaryInstantiation: - active: true - -potential-bugs: - active: true - AvoidReferentialEquality: - active: true - forbiddenTypePatterns: - - 'kotlin.String' - CastNullableToNonNullableType: - active: false - CastToNullableType: - active: false - Deprecation: - active: false - DontDowncastCollectionTypes: - active: false - DoubleMutabilityForCollection: - active: true - mutableTypes: - - 'kotlin.collections.MutableList' - - 'kotlin.collections.MutableMap' - - 'kotlin.collections.MutableSet' - - 'java.util.ArrayList' - - 'java.util.LinkedHashSet' - - 'java.util.HashSet' - - 'java.util.LinkedHashMap' - - 'java.util.HashMap' - ElseCaseInsteadOfExhaustiveWhen: - active: false - ignoredSubjectTypes: [] - EqualsAlwaysReturnsTrueOrFalse: - active: true - EqualsWithHashCodeExist: - active: true - ExitOutsideMain: - active: false - ExplicitGarbageCollectionCall: - active: true - HasPlatformType: - active: true - IgnoredReturnValue: - active: true - restrictToConfig: true - returnValueAnnotations: - - 'CheckResult' - - '*.CheckResult' - - 'CheckReturnValue' - - '*.CheckReturnValue' - ignoreReturnValueAnnotations: - - 'CanIgnoreReturnValue' - - '*.CanIgnoreReturnValue' - returnValueTypes: - - 'kotlin.sequences.Sequence' - - 'kotlinx.coroutines.flow.*Flow' - - 'java.util.stream.*Stream' - ignoreFunctionCall: [] - ImplicitDefaultLocale: - active: true - ImplicitUnitReturnType: - active: false - allowExplicitReturnType: true - InvalidRange: - active: true - IteratorHasNextCallsNextMethod: - active: true - IteratorNotThrowingNoSuchElementException: - active: true - LateinitUsage: - active: false - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - ignoreOnClassesPattern: '' - MapGetWithNotNullAssertionOperator: - active: true - MissingPackageDeclaration: - active: false - excludes: ['**/*.kts'] - NullCheckOnMutableProperty: - active: false - NullableToStringCall: - active: false - PropertyUsedBeforeDeclaration: - active: false - UnconditionalJumpStatementInLoop: - active: false - UnnecessaryNotNullCheck: - active: false - UnnecessaryNotNullOperator: - active: true - UnnecessarySafeCall: - active: true - UnreachableCatchBlock: - active: true - UnreachableCode: - active: true - UnsafeCallOnNullableType: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**'] - UnsafeCast: - active: true - UnusedUnaryOperator: - active: true - UselessPostfixExpression: - active: true - WrongEqualsTypeParameter: - active: true - -style: - active: true - AlsoCouldBeApply: - active: false - BracesOnIfStatements: - active: false - singleLine: 'never' - multiLine: 'always' - BracesOnWhenStatements: - active: false - singleLine: 'necessary' - multiLine: 'consistent' - CanBeNonNullable: - active: false - CascadingCallWrapping: - active: false - includeElvis: true - ClassOrdering: - active: false - CollapsibleIfStatements: - active: false - DataClassContainsFunctions: - active: false - conversionFunctionPrefix: - - 'to' - allowOperators: false - DataClassShouldBeImmutable: - active: false - DestructuringDeclarationWithTooManyEntries: - active: true - maxDestructuringEntries: 3 - DoubleNegativeLambda: - active: false - negativeFunctions: - - reason: 'Use `takeIf` instead.' - value: 'takeUnless' - - reason: 'Use `all` instead.' - value: 'none' - negativeFunctionNameParts: - - 'not' - - 'non' - EqualsNullCall: - active: true - EqualsOnSignatureLine: - active: false - ExplicitCollectionElementAccessMethod: - active: false - ExplicitItLambdaParameter: - active: true - ExpressionBodySyntax: - active: false - includeLineWrapping: false - ForbiddenAnnotation: - active: false - annotations: - - reason: 'it is a java annotation. Use `Suppress` instead.' - value: 'java.lang.SuppressWarnings' - - reason: 'it is a java annotation. Use `kotlin.Deprecated` instead.' - value: 'java.lang.Deprecated' - - reason: 'it is a java annotation. Use `kotlin.annotation.MustBeDocumented` instead.' - value: 'java.lang.annotation.Documented' - - reason: 'it is a java annotation. Use `kotlin.annotation.Target` instead.' - value: 'java.lang.annotation.Target' - - reason: 'it is a java annotation. Use `kotlin.annotation.Retention` instead.' - value: 'java.lang.annotation.Retention' - - reason: 'it is a java annotation. Use `kotlin.annotation.Repeatable` instead.' - value: 'java.lang.annotation.Repeatable' - - reason: 'Kotlin does not support @Inherited annotation, see https://youtrack.jetbrains.com/issue/KT-22265' - value: 'java.lang.annotation.Inherited' - ForbiddenComment: - active: true - comments: - - reason: 'Forbidden FIXME todo marker in comment, please fix the problem.' - value: 'FIXME:' - - reason: 'Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code.' - value: 'STOPSHIP:' - - reason: 'Forbidden TODO todo marker in comment, please do the changes.' - value: 'TODO:' - allowedPatterns: '' - ForbiddenImport: - active: false - imports: [] - forbiddenPatterns: '' - ForbiddenMethodCall: - active: false - methods: - - reason: 'print does not allow you to configure the output stream. Use a logger instead.' - value: 'kotlin.io.print' - - reason: 'println does not allow you to configure the output stream. Use a logger instead.' - value: 'kotlin.io.println' - ForbiddenSuppress: - active: false - rules: [] - ForbiddenVoid: - active: true - ignoreOverridden: false - ignoreUsageInGenerics: false - FunctionOnlyReturningConstant: - active: true - ignoreOverridableFunction: true - ignoreActualFunction: true - excludedFunctions: [] - LoopWithTooManyJumpStatements: - active: true - maxJumpCount: 4 - MagicNumber: - active: true - excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/androidUnitTest/**', '**/androidInstrumentedTest/**', '**/jsTest/**', '**/iosTest/**', '**/*.kts'] - ignoreNumbers: - - '-1' - - '0' - - '0.0' - - '-0.0' - - '1' - - '2' - ignoreHashCodeFunction: true - ignorePropertyDeclaration: false - ignoreLocalVariableDeclaration: false - ignoreConstantDeclaration: true - ignoreCompanionObjectPropertyDeclaration: true - ignoreAnnotation: false - ignoreNamedArgument: true - ignoreEnums: false - ignoreRanges: false - ignoreExtensionFunctions: true - MandatoryBracesLoops: - active: false - MaxChainedCallsOnSameLine: - active: false - maxChainedCalls: 5 - MaxLineLength: - active: true - maxLineLength: 120 - excludePackageStatements: true - excludeImportStatements: true - excludeCommentStatements: false - excludeRawStrings: true - MayBeConst: - active: true - ModifierOrder: - active: true - MultilineLambdaItParameter: - active: false - MultilineRawStringIndentation: - active: false - indentSize: 4 - trimmingMethods: - - 'trimIndent' - - 'trimMargin' - NestedClassesVisibility: - active: true - NewLineAtEndOfFile: - active: false - NoTabs: - active: false - NullableBooleanCheck: - active: false - ObjectLiteralToLambda: - active: true - OptionalAbstractKeyword: - active: true - OptionalUnit: - active: false - PreferToOverPairSyntax: - active: false - ProtectedMemberInFinalClass: - active: true - RedundantExplicitType: - active: false - RedundantHigherOrderMapUsage: - active: true - RedundantVisibilityModifierRule: - active: false - ReturnCount: - active: true - max: 4 - excludedFunctions: - - 'equals' - excludeLabeled: false - excludeReturnFromLambda: true - excludeGuardClauses: false - SafeCast: - active: true - SerialVersionUIDInSerializableClass: - active: true - SpacingBetweenPackageAndImports: - active: false - StringShouldBeRawString: - active: false - maxEscapedCharacterCount: 2 - ignoredCharacters: [] - ThrowsCount: - active: true - max: 2 - excludeGuardClauses: false - TrailingWhitespace: - active: false - TrimMultilineRawString: - active: false - trimmingMethods: - - 'trimIndent' - - 'trimMargin' - UnderscoresInNumericLiterals: - active: false - acceptableLength: 4 - allowNonStandardGrouping: false - UnnecessaryAbstractClass: - active: true - UnnecessaryAnnotationUseSiteTarget: - active: false - UnnecessaryApply: - active: true - UnnecessaryBackticks: - active: false - UnnecessaryBracesAroundTrailingLambda: - active: false - UnnecessaryFilter: - active: true - UnnecessaryInheritance: - active: true - UnnecessaryInnerClass: - active: false - UnnecessaryLet: - active: false - UnnecessaryParentheses: - active: false - allowForUnclearPrecedence: false - UntilInsteadOfRangeTo: - active: false - UnusedImports: - active: false - UnusedParameter: - active: true - allowedNames: 'ignored|expected' - UnusedPrivateClass: - active: true - UnusedPrivateMember: - active: true - allowedNames: '' - UnusedPrivateProperty: - active: true - allowedNames: '_|ignored|expected|serialVersionUID' - UseAnyOrNoneInsteadOfFind: - active: true - UseArrayLiteralsInAnnotations: - active: true - UseCheckNotNull: - active: true - UseCheckOrError: - active: true - UseDataClass: - active: false - allowVars: false - UseEmptyCounterpart: - active: false - UseIfEmptyOrIfBlank: - active: false - UseIfInsteadOfWhen: - active: false - ignoreWhenContainingVariableDeclaration: false - UseIsNullOrEmpty: - active: true - UseLet: - active: false - UseOrEmpty: - active: true - UseRequire: - active: true - UseRequireNotNull: - active: true - UseSumOfInsteadOfFlatMapSize: - active: false - UselessCallOnNotNull: - active: true - UtilityClassWithPublicConstructor: - active: true - VarCouldBeVal: - active: true - ignoreLateinitVar: false - WildcardImport: - active: true - excludeImports: - - 'java.util.*' diff --git a/dev/bench/data.js b/dev/bench/data.js new file mode 100644 index 00000000..a1365842 --- /dev/null +++ b/dev/bench/data.js @@ -0,0 +1,44410 @@ +window.BENCHMARK_DATA = { + "lastUpdate": 1753515159148, + "repoUrl": "https://github.com/OptimumCode/json-schema-validator", + "entries": { + "KMP JSON schema validator": [ + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "027c7090217515d8d1845e71f5f1c4a932f0a36a", + "message": "Bump kotest from 6.0.0.M1 to 6.0.0.M2 (#249)\n\nBumps `kotest` from 6.0.0.M1 to 6.0.0.M2.\nUpdates `io.kotest:kotest-assertions-core` from 6.0.0.M1 to 6.0.0.M2\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a\nhref=\"https://github.com/kotest/kotest/commits\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `io.kotest:kotest-framework-engine` from 6.0.0.M1 to 6.0.0.M2\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a\nhref=\"https://github.com/kotest/kotest/commits\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `io.kotest:kotest-runner-junit5` from 6.0.0.M1 to 6.0.0.M2\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a\nhref=\"https://github.com/kotest/kotest/commits\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `io.kotest.multiplatform` from 6.0.0.M1 to 6.0.0.M2\n\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Oleg Smirnov <oleg31101996@gmail.com>", + "timestamp": "2025-02-08T15:29:31Z", + "tree_id": "08544e657b223820a9e64f6fad1e29162aaa901a", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/027c7090217515d8d1845e71f5f1c4a932f0a36a" + }, + "date": 1739030079150, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2318.919612942881, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2309.492182397485, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2210.089554516248, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2077.4583707677875, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 899.7599782445197, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 870.0841071092285, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3062.763759860986, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6155855.071576274, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.0105929429175, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 641.8747923127916, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 430.9121185391972, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 435.51511798555083, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 451.6434403604965, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 485.10043111728373, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1105.5966195705546, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1190.59491869384, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.595801361093, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16490791320256498, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1593.166295234845, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1554.4897097906771, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1654.40099408867, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1741.6025965579713, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3890.583476862745, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4158.407131779661, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1195.2287616487454, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7915980862404165, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7543.998649230768, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7115.75404042553, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1568.1348003125, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1585.856527858293, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 621.1259851370977, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 571.8957798909624, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 267.0933740058558, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.0804990369896, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 852.3897512379983, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1287293.849122249, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.28809060327706, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.6112449077633, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 641.3138828388453, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 628.5403115246106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1068.875324759872, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1165.8310817264573, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2586.5718406169667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2848.9320232294617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 783.2643267234702, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5302771226337653, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5342.861103409092, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5360.938910582011, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1027.8737907692307, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1061.9133381395347, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 935.3018813508918, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 876.4438102946733, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.64515958559195, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.9202714117599, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1288.815697477195, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1859630.338662492, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 187.50438976662386, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 185.68091973778002, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 956.8875610035853, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 941.4172197775263, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2617.522634036939, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2663.0467519788917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5920.881714035088, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6038.177635119047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1859.6831608208954, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3003200857723123, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10527.774289473684, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10434.72432125, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2522.2230175572518, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2506.6817202970296, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 388.7116300221514, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.58527866736875, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 175.23851081330105, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 164.58339802836463, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 538.3133553675964, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 772413.5294751487, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.21453738377332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.32639242782622, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 399.6992887818496, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 398.4596741756357, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2956.2235294117645, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3059.5859878419456, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6427.171538461539, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6657.536026490066, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2128.135536480687, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4651065908338943, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10583.297127659574, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10236.132755102042, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2890.6487896253598, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2883.819415204679, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.89637177322885, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.4245965796721, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.48249128728725, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 150.17854488063705, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 459.781149192672, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 682039.1912966137, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.45993117072211, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.44454930464694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.1762206335356, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.9761917652477, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a03e11595d77f198dce563038371a5d29ca019f7", + "message": "Increase deprecation level to warning (#252)\n\nResolves #228", + "timestamp": "2025-02-08T20:00:26+04:00", + "tree_id": "38bf501a0027d2bffc05154482936de5169f96c9", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a03e11595d77f198dce563038371a5d29ca019f7" + }, + "date": 1739031977491, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2322.872702215069, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2259.5040821009393, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2232.256014138723, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2056.2661205826375, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 904.8288531937371, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 846.8707901508775, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3087.906161560667, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5782793.669443326, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.1910454984579, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 631.9400597666556, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 429.3383322372263, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 437.5757661756637, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 456.30799768670505, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 492.2656252545909, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1132.178651029458, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1140.3507702217498, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 320.058818692164, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1602312120626334, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1552.12816950563, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1554.4846306602622, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1627.173649201278, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1734.5366088135597, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3755.224760526316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4020.678286, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1210.9569211031173, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7902559827980348, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7545.446897794117, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7176.831221527778, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1566.765644720497, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1590.9604938582681, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 616.6546290335078, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 576.237542949161, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 267.128072802882, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.73120720201945, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 857.8212113940468, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1278081.3702234332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.71316089146646, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.4518017260683, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.3351256248927, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.5945365818285, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1081.7186609207708, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1136.4301993303573, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2604.3865359897177, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2819.950703943662, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 791.1917243827161, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.53022276033001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5312.03600855615, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5383.558751851851, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1038.2951671891328, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1057.738628226653, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 926.6374950523265, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 885.376969851952, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380.86546459034736, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.8535407467639, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1265.8427134226854, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1669766.9184057452, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 168.91207636680954, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.6612112007445, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 711.682362451473, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 530.0851212827898, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3880.1173145539906, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3390.364278291815, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6045.969643373494, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6762.547019736843, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1994.3699318181818, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4640834318644047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11387.884080681817, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13406.631321505378, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3323.3279103806226, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3486.973592056075, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 275.96461489942715, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 231.48709036128406, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.9433917964348, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 103.17261323648547, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 312.6902156791748, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 471499.50624769257, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 58.0131874046653, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 62.67904704551542, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 261.41396080428984, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.9940022716051, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2938.901117647059, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3005.104520958084, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6483.485202702703, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6579.5425000000005, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2109.2054811715484, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4538110816805294, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10344.233505154638, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10111.414949494949, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2896.4043553008596, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2857.515977011494, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.51150581460286, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.28760434197886, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.4093550807318, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.70344631334729, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 469.475151233841, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 699748.5279451567, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.4028315689332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.24686502942009, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.0837408283032, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.6092206995655, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "54cfb380e3a55bbb8541f9684799370b24d851fd", + "message": "Remove dependency to coroutine core lib (#254)\n\nResolves #239", + "timestamp": "2025-02-08T16:24:07Z", + "tree_id": "8a3be4c5bbe4f240adbfb88e107034f2be93cced", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/54cfb380e3a55bbb8541f9684799370b24d851fd" + }, + "date": 1739033372718, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2299.0211684493597, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2279.4364597401814, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2218.2883721787366, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2056.5887954822333, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 858.5312508070363, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 876.8380243030672, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3035.893456764962, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5377894.4040363645, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.3359412482698, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 649.6465185157447, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 424.1777032391845, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.49385695821127, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.0922058727936, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 498.89327677211105, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1096.0456914520428, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1201.0555688932748, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.10096414525395, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17345286663604526, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1607.4227950650445, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1537.2495235080448, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1624.7270848142166, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1750.6879005059022, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3767.7856507575757, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4082.2017844621523, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1189.4675805847953, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7966537425652966, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7462.711047407409, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7054.132830496454, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1556.1205341984737, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1620.9719802744426, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 614.7587684295604, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 566.5924810883517, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 259.7517476152618, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.41160346450903, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 834.2342636394918, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1211113.5482423343, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 129.1262970461387, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.60788903239475, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 630.6292883305063, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 606.9567850323763, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1311.4245283140283, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1473.6046803149607, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3072.6579864197533, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2963.113961449275, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 789.9786560096153, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.535620862611401, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7826.5886619047615, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7042.258755468751, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1107.7367093750001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1257.5493666666666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 693.5335604604805, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 692.4794287768852, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.118589147365, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.1689833029297, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1211.6399706322131, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1809112.0240368363, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 179.01637073870296, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 171.94802792336606, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 892.5887211900563, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 895.1501584482363, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3104.4278389473684, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2979.284152941176, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6850.075865562913, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6892.414512162162, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2072.5344697855753, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5451881405586179, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 16749.18524683544, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12732.13313023256, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2730.2002603825135, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2814.2520863157897, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.21278990317967, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.0698744644095, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.94814050173036, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.64836432003818, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 379.5096343096096, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 704058.1698994192, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 84.5210547352129, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.92308719604009, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 402.65521233878223, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 393.33835550305594, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2978.741104477612, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3029.7384451219505, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6375.285870967742, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6707.2060402684565, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2127.6056448202958, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.471148512461146, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10519.673645833333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10287.716938775511, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2895.9385507246375, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2895.53298245614, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.79057298986106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.30334753910654, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.4256010215402, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.72523337575765, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 467.95683668781413, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 690283.3914499903, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.30118782984484, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.35405249987858, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.1394222426334, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.0057383293339, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "2a57a29e4f38115da704e683592acf6969e133a8", + "message": "Prepare next version", + "timestamp": "2025-02-09T18:22:10Z", + "tree_id": "427b6c53baeac82cd3c798376bb6257155ddee26", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/2a57a29e4f38115da704e683592acf6969e133a8" + }, + "date": 1739126825632, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2303.4007451875304, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2234.1774170730428, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2222.4935885654095, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2021.4703577530029, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 925.1536652644027, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 879.0733580870535, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3073.6692041621427, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6263515.356712928, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.9739645102538, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 650.2198288222962, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 427.8442447208645, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 440.3452962682145, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 446.50103015915266, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 483.7541204201969, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1103.2110117086177, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1176.992494647393, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.95596036557924, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1642452569511934, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1530.3542510911022, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1554.7608937756575, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1605.452324401914, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1710.3097753001716, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3717.0232743494425, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4010.920136220472, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1173.6443186558517, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7921462498987131, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7449.968142335766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7050.568126388889, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1585.6399308056868, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1595.989108513932, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 615.1017401692268, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 588.5966657528132, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 269.42316647063797, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.7722525513629, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 847.7625840047804, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1286296.143273925, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.8547092476288, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.72945654025722, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 649.0831690042826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.1804276275625, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1612.5515528662422, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1711.1244971088436, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3923.5338430830043, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4441.497275641025, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1167.8223204264868, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7266621909968165, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7127.697333599999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7475.852705970149, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1457.945113501144, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1577.0176231124808, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 609.3674296685422, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 596.9573151114217, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 261.64301877955955, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 228.60624968241595, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 887.8327497411323, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1389353.8358938969, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.11877712262375, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.88942431352686, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.3759186482403, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.8001211780498, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2594.2872572164947, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2656.6920020942407, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5712.4947752808985, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6098.557983333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1862.1909191528546, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3069697930695339, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10581.80902631579, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10411.966281632653, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2545.1257488778056, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2509.5464445, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 382.93465458608625, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.35454994439795, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 174.77376402425946, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 158.3996933412363, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 480.9109034643503, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 661596.8574216812, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 83.54978383981732, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 84.6098032518972, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.75210700535666, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.96635534114745, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2957.0288235294115, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3004.2663663663666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6338.532911392405, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6653.4692715231795, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2124.4050635593217, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4420402901806377, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10441.840103092785, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10227.363711340204, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2900.7243553008598, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2887.243150289017, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.6542284984614, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.7771638463133, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.02256560370708, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.73266418488757, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 456.9755400227412, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 679502.6850994115, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.31053747094772, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.88911930782628, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.22015485112934, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.73578481686087, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "01dfc47ff90be248ed45d55970b4c7b2c79107e4", + "message": "Bump kotlin from 2.1.0 to 2.1.10 (#243)\n\nBumps `kotlin` from 2.1.0 to 2.1.10.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.1.0 to 2.1.10\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/releases\">org.jetbrains.kotlin.multiplatform's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Kotlin 2.1.10</h2>\n<h2>Changelog</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70146\"><code>KT-70146</code></a>\n[KLIB Resolve] Don't fail on nonexistent transitive dependency</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<h3>Tools. Daemon</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73311\"><code>KT-73311</code></a>\n"Unable to release compile session, maybe daemon is already\ndown" flakiness</li>\n</ul>\n<h3>Tools. Gradle</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73728\"><code>KT-73728</code></a>\n'generatePomFileForMavenPublication' creates pom with dependencies with\n'unspecified' version</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/blob/v2.1.10/ChangeLog.md\">org.jetbrains.kotlin.multiplatform's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>2.1.10-RC2</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h2>2.1.10-RC</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/6dff5659f42b0b90863d10ee503efd5a8ebb1034\"><code>6dff565</code></a>\nAdd ChangeLog for 2.1.10-RC2</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5e6f6a655b9efe4aa35387b60143a6c4611e8c2c\"><code>5e6f6a6</code></a>\n[tests] Turned on passing tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/b968b02674e99f3fb423843b27d382f110b25468\"><code>b968b02</code></a>\n[K/N] Skip missing dependencies during cache building</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/8b57d4490f9708a6458c5822a72567778ab1d59c\"><code>8b57d44</code></a>\n[CMP] no metadata annotations on synthetic classes</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/f82abd90b3b1de74a89a10034c2ea843308c8fa2\"><code>f82abd9</code></a>\n[AA] Lazily compute the effective visibility in FIR stub-based\ndeserializer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/618eaff0cdd5dfe40cb37c8fd2c679951d0ff51e\"><code>618eaff</code></a>\n[FIR] Don't render lazy attributes with <code>null</code> value in FIR\nrenderer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5f5af3826c2aca1c43e1644830085db3e1cc6a7d\"><code>5f5af38</code></a>\n[FIR] Remove incorrect fast-path from <a\nhref=\"https://github.com/PublishedAPI\"><code>@​PublishedAPI</code></a>\ncomputation for binary de...</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/435080bbd908b4604c4d6e74696506adeba5f453\"><code>435080b</code></a>\n[FIR] Consider effective visibility of parent class during\ndeserialization</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/05e92d4ee57784037b6eb759705b2ab58653cc7f\"><code>05e92d4</code></a>\n[Test] Reproduce KT-74040 in AA tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/c49acfbcb1262d58ef541340e8f29043665d2e62\"><code>c49acfb</code></a>\n[Test] Render <code>isPublicApi</code> attribute in AA tests</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.0 to 2.1.10\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/releases\">org.jetbrains.kotlin.plugin.serialization's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Kotlin 2.1.10</h2>\n<h2>Changelog</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70146\"><code>KT-70146</code></a>\n[KLIB Resolve] Don't fail on nonexistent transitive dependency</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<h3>Tools. Daemon</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73311\"><code>KT-73311</code></a>\n"Unable to release compile session, maybe daemon is already\ndown" flakiness</li>\n</ul>\n<h3>Tools. Gradle</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73728\"><code>KT-73728</code></a>\n'generatePomFileForMavenPublication' creates pom with dependencies with\n'unspecified' version</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/blob/v2.1.10/ChangeLog.md\">org.jetbrains.kotlin.plugin.serialization's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>2.1.10-RC2</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h2>2.1.10-RC</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/6dff5659f42b0b90863d10ee503efd5a8ebb1034\"><code>6dff565</code></a>\nAdd ChangeLog for 2.1.10-RC2</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5e6f6a655b9efe4aa35387b60143a6c4611e8c2c\"><code>5e6f6a6</code></a>\n[tests] Turned on passing tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/b968b02674e99f3fb423843b27d382f110b25468\"><code>b968b02</code></a>\n[K/N] Skip missing dependencies during cache building</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/8b57d4490f9708a6458c5822a72567778ab1d59c\"><code>8b57d44</code></a>\n[CMP] no metadata annotations on synthetic classes</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/f82abd90b3b1de74a89a10034c2ea843308c8fa2\"><code>f82abd9</code></a>\n[AA] Lazily compute the effective visibility in FIR stub-based\ndeserializer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/618eaff0cdd5dfe40cb37c8fd2c679951d0ff51e\"><code>618eaff</code></a>\n[FIR] Don't render lazy attributes with <code>null</code> value in FIR\nrenderer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5f5af3826c2aca1c43e1644830085db3e1cc6a7d\"><code>5f5af38</code></a>\n[FIR] Remove incorrect fast-path from <a\nhref=\"https://github.com/PublishedAPI\"><code>@​PublishedAPI</code></a>\ncomputation for binary de...</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/435080bbd908b4604c4d6e74696506adeba5f453\"><code>435080b</code></a>\n[FIR] Consider effective visibility of parent class during\ndeserialization</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/05e92d4ee57784037b6eb759705b2ab58653cc7f\"><code>05e92d4</code></a>\n[Test] Reproduce KT-74040 in AA tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/c49acfbcb1262d58ef541340e8f29043665d2e62\"><code>c49acfb</code></a>\n[Test] Render <code>isPublicApi</code> attribute in AA tests</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `org.jetbrains.kotlin.plugin.allopen` from 2.1.0 to 2.1.10\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/releases\">org.jetbrains.kotlin.plugin.allopen's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Kotlin 2.1.10</h2>\n<h2>Changelog</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70146\"><code>KT-70146</code></a>\n[KLIB Resolve] Don't fail on nonexistent transitive dependency</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<h3>Tools. Daemon</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73311\"><code>KT-73311</code></a>\n"Unable to release compile session, maybe daemon is already\ndown" flakiness</li>\n</ul>\n<h3>Tools. Gradle</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73728\"><code>KT-73728</code></a>\n'generatePomFileForMavenPublication' creates pom with dependencies with\n'unspecified' version</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/blob/v2.1.10/ChangeLog.md\">org.jetbrains.kotlin.plugin.allopen's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>2.1.10-RC2</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h2>2.1.10-RC</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/6dff5659f42b0b90863d10ee503efd5a8ebb1034\"><code>6dff565</code></a>\nAdd ChangeLog for 2.1.10-RC2</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5e6f6a655b9efe4aa35387b60143a6c4611e8c2c\"><code>5e6f6a6</code></a>\n[tests] Turned on passing tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/b968b02674e99f3fb423843b27d382f110b25468\"><code>b968b02</code></a>\n[K/N] Skip missing dependencies during cache building</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/8b57d4490f9708a6458c5822a72567778ab1d59c\"><code>8b57d44</code></a>\n[CMP] no metadata annotations on synthetic classes</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/f82abd90b3b1de74a89a10034c2ea843308c8fa2\"><code>f82abd9</code></a>\n[AA] Lazily compute the effective visibility in FIR stub-based\ndeserializer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/618eaff0cdd5dfe40cb37c8fd2c679951d0ff51e\"><code>618eaff</code></a>\n[FIR] Don't render lazy attributes with <code>null</code> value in FIR\nrenderer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5f5af3826c2aca1c43e1644830085db3e1cc6a7d\"><code>5f5af38</code></a>\n[FIR] Remove incorrect fast-path from <a\nhref=\"https://github.com/PublishedAPI\"><code>@​PublishedAPI</code></a>\ncomputation for binary de...</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/435080bbd908b4604c4d6e74696506adeba5f453\"><code>435080b</code></a>\n[FIR] Consider effective visibility of parent class during\ndeserialization</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/05e92d4ee57784037b6eb759705b2ab58653cc7f\"><code>05e92d4</code></a>\n[Test] Reproduce KT-74040 in AA tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/c49acfbcb1262d58ef541340e8f29043665d2e62\"><code>c49acfb</code></a>\n[Test] Render <code>isPublicApi</code> attribute in AA tests</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-02-10T13:41:52Z", + "tree_id": "58a4aca057de96f8fd80425e7f22d82521e0d781", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/01dfc47ff90be248ed45d55970b4c7b2c79107e4" + }, + "date": 1739196527198, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2272.9520072502005, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2180.6622629224307, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2268.108161118812, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2077.1842660177517, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 909.1942999557339, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 867.8286429590529, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3038.3921705477846, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5437419.62479472, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.5716728117694, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 631.3730510011098, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 443.70844089073546, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 443.9097751453954, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 459.29829026925853, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 479.275242664365, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1097.82819074185, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1134.1402618252869, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.73081230744253, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1698416868947995, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1583.7743158387068, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1541.6886195846375, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1617.9626142625607, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1694.972291860465, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3708.40512037037, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4010.5246346613544, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1172.8631280952382, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7919818985660718, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7402.589235820895, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7087.225144444444, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1554.217977389985, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1592.865222979398, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 618.304864746042, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 585.792008085077, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 268.8064197402881, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.11276917574133, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 853.0783672229652, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1296260.7379945545, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 130.7987347883373, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.16593036453614, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.5501066310884, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 622.7679210103777, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1708.4880117647058, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2036.7050176595744, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5487.696999000001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5430.359148913043, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1636.324680195258, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7475429651064813, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7118.9903583333335, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7396.203700657896, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1189.3330845310597, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1257.7666993325915, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 815.1149070711907, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 782.4519078825249, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.5362688617882, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 314.21236289197367, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1136.452731874741, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1479329.317326889, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.06669041577717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.99111738111355, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.2847029911363, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 770.6411289585678, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2560.5153675324677, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2656.9154106321835, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5741.791143636364, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5979.39143433735, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1848.606870185185, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2863394251067628, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10416.704663917528, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10312.806831958762, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2479.4621256723713, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2487.86003159204, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 387.47586773180853, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.9822012224804, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 177.4802541701659, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 167.40908659668156, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 543.0315819523594, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 776581.5453016455, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.71371835119359, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.17223389264788, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 403.11677534021726, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 400.62643653697074, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.7406784660766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3122.635098039216, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6385.346923076923, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6633.807105263157, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2131.405337552743, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4531324326007098, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10428.169166666665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10211.819897959182, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2884.1577233429393, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2891.859794117647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.02463400875246, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.62838174334695, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.3127289085447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 150.56829451185732, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.1406934050283, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 676343.2068147438, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.60007352135173, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.27544005197394, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.40737123741616, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.4888390819736, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "74086e8c84ea4624b1a67e6bce35d03ab21264bc", + "message": "Bump io.github.optimumcode:karacteristics from 0.0.3 to 0.0.4 (#255)\n\nBumps\n[io.github.optimumcode:karacteristics](https://github.com/OptimumCode/karacteristics)\nfrom 0.0.3 to 0.0.4.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/OptimumCode/karacteristics/releases\">io.github.optimumcode:karacteristics's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Release 0.0.4</h2>\n<h2>📦 Uncategorized</h2>\n<ul>\n<li>Bump graphql from 8.1.0 to 8.2.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/14\">#14</a></li>\n</ul>\n</li>\n<li>Bump com.squareup:kotlinpoet from 1.18.1 to 2.0.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/15\">#15</a></li>\n</ul>\n</li>\n<li>Bump graphql from 8.2.0 to 8.2.1\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/16\">#16</a></li>\n</ul>\n</li>\n<li>Bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to\n0.9.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/20\">#20</a></li>\n</ul>\n</li>\n<li>Bump org.jetbrains.kotlinx.binary-compatibility-validator from\n0.16.3 to 0.17.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/21\">#21</a></li>\n</ul>\n</li>\n<li>Bump ncipollo/release-action from 1.14.0 to 1.15.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/23\">#23</a></li>\n</ul>\n</li>\n<li>Bump graphql from 8.2.1 to 8.3.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/24\">#24</a></li>\n</ul>\n</li>\n<li>Bump codecov/codecov-action from 4 to 5\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/17\">#17</a></li>\n</ul>\n</li>\n<li>Bump kotlin from 2.0.21 to 2.1.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/18\">#18</a></li>\n</ul>\n</li>\n<li>Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to\n1.8.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/22\">#22</a></li>\n</ul>\n</li>\n<li>Bump com.github.ajalt.clikt:clikt from 5.0.1 to 5.0.2\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/19\">#19</a></li>\n</ul>\n</li>\n<li>Bump kotest from 6.0.0.M1 to 6.0.0.M2\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/26\">#26</a></li>\n</ul>\n</li>\n<li>Bump kotlin from 2.1.0 to 2.1.10\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/25\">#25</a></li>\n</ul>\n</li>\n<li>Bump com.github.ajalt.clikt:clikt from 5.0.2 to 5.0.3\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/27\">#27</a></li>\n</ul>\n</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/46ee986c2462f72af6ab985c3fe95ee9e1d0e718\"><code>46ee986</code></a>\nBump com.github.ajalt.clikt:clikt from 5.0.2 to 5.0.3 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/27\">#27</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/2e77bdc632b111d9a7be7323cc8fa0c7cccdd968\"><code>2e77bdc</code></a>\nBump kotlin from 2.1.0 to 2.1.10 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/25\">#25</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/d14e99d40f98440e4deacf30ac1a0aecda534061\"><code>d14e99d</code></a>\nBump kotest from 6.0.0.M1 to 6.0.0.M2 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/26\">#26</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/b182b4468a01985f6b5a526cbec6bc0c1e4b1993\"><code>b182b44</code></a>\nBump com.github.ajalt.clikt:clikt from 5.0.1 to 5.0.2 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/19\">#19</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/5bc119b56704d6a7c269309a850c1c310ec23ba1\"><code>5bc119b</code></a>\nBump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to\n1.8.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/22\">#22</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/0ddfaee5075c372286352b261f9cff4d6ad9d3eb\"><code>0ddfaee</code></a>\nBump kotlin from 2.0.21 to 2.1.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/18\">#18</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/a5a184b9e402827f0d98bc3373b5743a8029adfb\"><code>a5a184b</code></a>\nBump codecov/codecov-action from 4 to 5 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/17\">#17</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/3e16b01d91292dacd7fa5aadb05bb6edf1904b56\"><code>3e16b01</code></a>\nBump graphql from 8.2.1 to 8.3.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/24\">#24</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/228216667ae00538497cfa02c9b2e4f55eac9780\"><code>2282166</code></a>\nUpdate pr-compliance-check.yml</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/26da953040b57a1ba7344dd7d596b1a763e60785\"><code>26da953</code></a>\nBump ncipollo/release-action from 1.14.0 to 1.15.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/23\">#23</a>)</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/OptimumCode/karacteristics/compare/0.0.3...0.0.4\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=io.github.optimumcode:karacteristics&package-manager=gradle&previous-version=0.0.3&new-version=0.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-02-10T17:32:15+03:00", + "tree_id": "7e8839342aa273dc6304678f588f81f7504ed9a8", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/74086e8c84ea4624b1a67e6bce35d03ab21264bc" + }, + "date": 1739199534004, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2356.418276283516, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2275.655816122132, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2221.3986941796, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2088.452190938956, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 892.7675789137268, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 861.9410066558017, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3073.75288526818, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6056234.143078603, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.5260196064845, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 650.3136648046599, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 433.54895304791825, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 444.9923762465097, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 442.8777313529514, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 490.58789871428496, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1112.8331199568154, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1131.8657427378243, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.119569318906, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15985009681887372, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1549.1015246191748, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1552.5029852897999, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1609.5328721958927, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1727.9479572379364, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3729.9573833333334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4040.4141751999996, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1166.0976406936418, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7933065727933915, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7342.373553956834, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7063.6239486301365, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1550.1962791411045, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1585.378445962733, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 622.1582635149988, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 585.7227633345481, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 263.92427666268, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.61394280322216, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 866.1707875156156, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1280241.4566448792, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.85271302445645, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.40432102341566, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 640.2966642596207, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.110860659832, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1364.0535615286624, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1910.1949294320136, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4852.653719620253, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5072.293523550725, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1535.9005558994197, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6340314939307531, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8525.441960645161, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6249.34228076923, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1918.420598727273, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1526.062464695946, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 882.0979861300655, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 798.1690093404679, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.03476576801063, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.3894881101212, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1205.8604928740908, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1733279.2542508743, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.01041772737713, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 164.92320573212447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 883.9225362741824, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 826.7622261442659, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4648.966873251028, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4052.424074090909, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8406.098170634921, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6684.871241221374, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1912.289217690875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5591541790964552, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10732.54715, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10793.131656842104, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2585.771054385965, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2519.2085902813296, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 389.8791646798719, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.25258661708864, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.29295987784437, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.9085260941386, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 539.0169659594433, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 775395.4033239959, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.63470115631114, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.73356392351822, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 400.20417104023636, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 392.30038222171896, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3109.1863109756096, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3104.254984326019, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6474.367171052631, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6820.467837837838, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2156.299703389831, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4768264588186297, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11212.039999999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10564.950416666668, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2958.2901461988304, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2916.978713450292, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.3742001707377, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.98304582974583, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.23188099795533, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.5240357673428, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.10168327247476, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 677087.68350607, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.94054963712568, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.94927885610119, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.0523198992144, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.16311079463884, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2fe1c0bd8b9433968ab91268e3cd872fe01eaff4", + "message": "Bump com.networknt:json-schema-validator from 1.5.5 to 1.5.6 (#258)", + "timestamp": "2025-02-20T12:43:11Z", + "tree_id": "8c440aad917caad342dfc9d4f84e47d8e69722e4", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/2fe1c0bd8b9433968ab91268e3cd872fe01eaff4" + }, + "date": 1740056935958, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2378.958691116442, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2239.881342966106, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2205.3462694099157, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2066.1671732609966, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 907.6965800424441, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 848.1107666022215, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3086.8067206404485, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5162106.143262173, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 644.3792387719982, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.67632896392, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 419.66463044330914, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 439.61588281765796, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.09812723260063, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 493.29738590149645, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1074.1112737236733, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1167.3042125622094, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.4759710434052, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1673279314061979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1580.9502969493647, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1592.132104933077, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1620.8796557692308, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1720.790576831346, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3747.21317732342, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4007.864088095238, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1163.478192237443, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.794523969094524, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7507.070598550725, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7022.196760958905, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1537.4156850609756, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1568.2130302066773, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 621.5444284208211, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 592.6054427678098, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 269.59488906946405, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.19859315382146, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 853.3037524355917, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1325145.8602770413, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 134.41208052312732, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.14554228013998, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 651.3820056092951, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.5831254103388, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2499.0997113673807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3062.346813095238, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5838.713242162162, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5667.001854945054, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1246.5854685941042, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8716027982553711, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7503.549731451613, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7707.158931060605, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1640.8245307017544, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1619.60178392555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.79600899464066, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 492.034318989804, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 196.83547669248964, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 259.5559558475447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 957.6852133944324, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1330030.0909325061, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.34095729299727, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.00710894452254, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.9447516914286, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 592.2594853928688, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2651.7309190600527, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2744.2351983333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5849.659873333332, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6222.606443750001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1891.6233736242884, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3174057649209676, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10775.00601827957, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10608.929044086022, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2533.776598737374, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2580.6267922110555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 375.5723959760836, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.97859663682095, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 168.24017320524203, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 158.1852785494703, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 472.57438592754914, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 710482.7565582701, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 79.846367787069, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 83.33240734009821, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.0581416532658, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.6253404672114, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.962176470588, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3023.207012195122, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6371.950320512819, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6698.687666666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2111.8713626834383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4492717171228355, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10389.749587628865, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10126.270816326532, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2924.5129651162797, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2863.3835999999997, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.6727092676788, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.1038826476807, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.61751624087873, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 150.20898044601591, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 469.22396673217764, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 693558.1387631044, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.31442095674878, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.60526520771472, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.09008660299736, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.7062568231457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a9702a2eebd52443a4170e3163187216d3797bbb", + "message": "Bump io.gitlab.arturbosch.detekt from 1.23.7 to 1.23.8 (#259)", + "timestamp": "2025-02-21T13:54:17+01:00", + "tree_id": "7bfe81c08909ea4352144fd19fc3a0c76783b882", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a9702a2eebd52443a4170e3163187216d3797bbb" + }, + "date": 1740144031068, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2337.4208044568754, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2267.781853746141, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2230.984407317513, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2013.133110280754, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 912.009181029856, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 869.3853703183629, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3065.591999401435, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4961573.431557363, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.7759849957711, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 605.9879632713637, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 436.21773703631345, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 430.0503890929841, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.1185960262531, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 489.69331604633464, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1123.7362432013113, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1146.5361075092392, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.335421437013, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16513631336910128, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1546.5777958557635, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1605.6267394473718, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1622.0213449675325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1878.7674458947367, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3824.3616353383463, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3989.795582608696, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1164.3101462093862, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8081920680243837, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7536.733545522387, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6991.172033802817, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1540.4366195987654, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1586.7123874193549, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.0489180082096, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 578.5298329555965, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 258.82444541078877, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.27281004384236, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 841.2227047661718, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1312844.9924660563, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.8207811235407, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.2257235282931, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 645.8162841766227, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 615.5932515853912, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1354.1982561238224, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1597.7453674902472, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3124.836703184713, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2933.2199407738094, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 793.7540033101046, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5568586743636966, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5628.907428571429, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8110.566452205882, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1334.7149524590163, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1179.4797905080213, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 854.4108049587132, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 796.6008034753295, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.6921710616451, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.15404379679455, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1200.3462330331977, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1750066.5367976974, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 161.40780927235906, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 177.3988206754814, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 881.0003992574855, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 864.859417230084, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2718.639890112995, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2667.373124671916, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5791.537928409091, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6080.535925748503, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1906.2651961182994, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3129348793792233, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10538.695536170211, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10629.549763265304, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2489.0983669975185, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2522.1750967741937, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 387.8443477359876, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 375.50183316756494, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 174.99945489594091, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 162.72920681455645, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 538.632702959178, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 764212.4749857304, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.28745112849573, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 85.19910961416615, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 397.48271130747037, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 397.5862715489046, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2967.505370919881, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3016.85914893617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6339.456962025316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6647.093973509934, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2113.3170798319325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4556196280644538, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10337.827525773197, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10055.105099999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2877.1384770114946, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2860.9653868194846, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.2761117995773, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.37321137256856, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.41804650529224, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 150.78123703238484, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 469.2112521808225, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 681717.0888616253, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.17451029475585, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.4025570951251, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.298727192236, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.46242680929373, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6ff166c42e4ab0e4b4e26a5a9b54a1095ca0e276", + "message": "Bump org.jlleitschuh.gradle.ktlint from 12.1.2 to 12.2.0 (#262)", + "timestamp": "2025-02-28T13:06:01Z", + "tree_id": "c45b25b4706ae8b807eeb7334931a76df37188e5", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/6ff166c42e4ab0e4b4e26a5a9b54a1095ca0e276" + }, + "date": 1740749458232, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2321.758052600828, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2282.5648394918744, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2233.2012197385143, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2019.8307046683353, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 942.2915906993243, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 855.6832304676384, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3033.025969678162, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5946138.8275915785, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.7323332166393, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.9859682769767, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 429.2301914369028, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 457.27717772504184, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 456.89195998826665, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 490.9000449024187, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1081.4955254292402, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1157.6167583136107, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 315.23920625430645, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17524358023523529, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1539.1241221549958, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1567.836695765626, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1616.837432026144, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1713.9843707275807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3770.2881126865677, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4041.8902097560976, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1181.825467283237, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7988195330453088, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7445.207620895521, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7037.560433793103, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1555.7088063271603, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1591.0974225705327, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 621.5887112984844, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 588.1708505333319, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 265.7812910937852, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 222.30457396703747, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 861.2945787551969, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1288877.369452765, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.79033520719898, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.48737101249472, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.8002054049596, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.2474949152158, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1568.8963385444745, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1647.4150226495724, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3858.8606445255477, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4143.236144313725, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1304.4482696612663, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0187452329974291, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8259.806085217391, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8673.290626666665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1748.131719952494, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1435.1215197693575, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 565.2216988988408, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 595.1541833792201, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.99807742688336, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 204.633773840738, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 745.5759393364981, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1230247.2590913137, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 115.49750476877337, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 109.95577341230846, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 478.9209978169248, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 577.7807041347281, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2681.628098947369, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2694.7199861333334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5805.919582954544, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7137.96361656051, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1947.4585560157789, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3316055024596123, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10655.516424210526, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10582.50044042553, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2561.751462871287, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2561.175993575419, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.1683855843287, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.60430932644823, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.85900375125848, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 164.11242590909825, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 534.1152125190781, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 766919.1914550246, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.1629699152066, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.8802370234738, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 382.4316132187694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.1874919868294, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2953.5477058823535, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3039.696911314985, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6442.510573248407, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6619.139999999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2103.36928721174, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4514625152606162, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10420.1453125, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10091.508585858584, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2873.184248554913, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2868.5782, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.7352614167968, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.57868106768484, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 155.3149986525297, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.91142174447833, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 471.16983846367475, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 678220.2174190547, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.34940306443136, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.28441775634457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.50941033888046, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.7924196690341, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "20ad1678c3b588bf2ee004b8c4a2e1838b6fb2b5", + "message": "Add module to wrap kotlin objects for validation (#197)\n\nResolves #194", + "timestamp": "2025-03-01T15:52:53Z", + "tree_id": "9b98713b494e52f78c93a9f49fb4160ff69128cd", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/20ad1678c3b588bf2ee004b8c4a2e1838b6fb2b5" + }, + "date": 1740845941866, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2346.1365347169203, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2219.798938369692, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2258.072804356607, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2059.607712726666, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 899.0793003728819, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 864.1916970516406, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3037.8442165409715, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5416479.868181629, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 649.292632401175, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 647.6373750867958, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 426.23666249967073, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 438.7071563279575, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 451.8546072725756, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 500.4902387590276, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1097.3715013539825, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1165.720864328266, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.8053394273007, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17228113680262472, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1582.0135642723994, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1505.4575434950339, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1632.5147387722134, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1685.8448521968362, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3748.515588014981, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4079.5761275303644, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1177.2958935714287, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.790773383633313, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7453.512461594202, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7034.687861428572, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1544.3402933641978, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1597.6179935085008, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 619.8188669992362, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 574.8030137040789, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 265.87472906005206, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.35847825372653, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 840.276301703869, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1290199.4492349657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.44536225427325, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.09872007317523, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 640.4194374542997, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.2359726779271, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1177.953092872807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1197.3972770341209, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2635.3775852691215, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2917.4272199430197, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 784.6348057857701, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.537688201729224, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5416.786270526316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5380.57283968254, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1053.8168317327766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1061.627992639327, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 906.1208794333622, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.4926023024557, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 386.4535330002838, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.1691836373621, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1280.4060076870642, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1841989.9458877544, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 185.60915932693496, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 169.63478801342922, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 946.694946143326, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 945.9874320519464, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2563.2647378172587, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2679.9473964028775, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5658.405435119047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6087.734697005988, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1872.5566942164182, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2909841217315452, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10541.699361458333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10455.328892857142, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2491.1848772839503, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2577.285279329609, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 384.0933707636717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.53519430714925, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 177.6215141794562, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 165.90614389130633, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 543.3642917086861, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 775498.0692351479, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.14814370331773, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.75684874074096, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 397.9554926585332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 401.1393813140804, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2981.0921364985165, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3045.3717647058825, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6389.458104575164, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6739.307666666666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2129.207737843552, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5412752577484887, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10581.805104166666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10206.014897959181, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2903.337936962751, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2877.4124117647057, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.0598993524093, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.1723978401864, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.15625630888954, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.60772156132938, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 464.5502102641159, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 670361.7355877345, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.92197217753774, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.93401139987166, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.7748213003977, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.5558707485442, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "distinct": true, + "id": "7178ca36119844701b56f5fd03de67e27124d868", + "message": "Increment minor version", + "timestamp": "2025-03-01T17:19:17+01:00", + "tree_id": "eb3d4ac4969fc7cc455618a0e12ddd31482af1da", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/7178ca36119844701b56f5fd03de67e27124d868" + }, + "date": 1740847583441, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2287.093345532919, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2279.181579284574, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2187.1011746654654, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1984.3321080694295, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 842.034023205271, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 876.8523578055235, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3043.175583591342, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5847024.039949621, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.7088776868478, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 640.0249659798299, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 433.1803035074183, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 451.1744828777707, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.1954221702912, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 476.0225720414146, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1123.3730749408192, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1247.2618024588187, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.76669049360294, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.2076594668665197, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1579.0577345971374, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1523.9946832422313, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1621.6191993569132, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1715.8149501694916, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3775.5179203773587, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4058.277726799999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1184.2040653395784, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8003903210129772, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7424.430002325581, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7149.046485915494, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1540.9000266055043, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1603.9005824390247, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 615.6062592291639, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 568.6517025044265, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 264.07347120600747, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.27846873596573, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 847.2315529368713, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1267613.218468416, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.06695670762878, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.2122504479818, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.3897600745713, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 623.4174399643, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1150.4128840909088, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1138.307102367531, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2607.0911373056992, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2869.0553940509917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 822.5123153188182, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5475594160987014, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5460.13572712766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5379.464938297871, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1044.3867984504136, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1048.6471240085743, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 931.5912109471777, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 886.9278567992869, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380.24131140632505, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.1999918649147, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1285.333246324259, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1860245.49675022, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 183.67317898339246, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 184.31478819190923, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 967.9411531056879, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 941.4817167706042, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2604.274675733333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2719.825688378378, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5934.037850295857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6195.260468292683, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1884.5556527410208, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3310009612664895, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10947.269093617022, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10863.335825531914, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2512.2301711779446, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2533.1662737244897, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 381.3221247132048, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 375.3612592469057, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 174.85980123222438, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.81928264769743, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 518.5709311265416, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 731587.4956807008, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.96385013441787, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.16884757073338, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.7309236973367, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 383.57456155806926, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2987.0547706422017, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3021.167339449541, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6393.160316455696, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6677.668389261744, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2125.787860169491, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.555414219459181, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10520.609479166666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10284.380312500001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2903.99112716763, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2925.283052325582, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.05911480818605, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.8589272619268, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.83527535522643, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 150.45783265021083, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 469.2335340582948, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 690116.3483342141, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.65338006963682, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.24457739663204, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.5318790819168, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.2918410084079, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8570240b8bc0c4ff2a4b6c0000a7167c144e458a", + "message": "chore: hide deprecated API (#263)\n\nResolves #253", + "timestamp": "2025-03-02T09:05:54Z", + "tree_id": "a9bc8155051499f1402113407dccfb79f8d4541c", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/8570240b8bc0c4ff2a4b6c0000a7167c144e458a" + }, + "date": 1740907888591, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2300.275730052151, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2243.178657847116, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2150.727585654361, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1963.8954025621092, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 875.2987163217746, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 874.9194885804867, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3139.0651293688247, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6138001.819035613, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 605.1229688619048, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 659.3102482172756, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 426.27099734360536, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 439.70566560278013, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 446.7569811218265, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 499.8796706836162, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1086.6276149939881, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1167.8489352810047, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.35572087431603, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15536441469049217, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1538.6860341245526, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1533.0540654071278, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1626.4383977272726, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1716.9300755281688, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3739.85419704797, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4003.586505200001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1173.657109248555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8123150161508231, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7505.9548113475175, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7121.375055319149, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1552.3788387345678, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1639.2163878164556, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 622.0706868957634, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 574.5718716052326, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 267.29915338160873, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.93627176713926, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 861.7445623981328, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1273024.231755719, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.9224297766129, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.57403908568364, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 623.3697966138559, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 628.3465053318354, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1082.7880303128372, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1146.9264339491915, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2576.172175515464, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2933.4327411931818, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 785.2986633099141, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5294402575896442, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5311.90332393617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5385.820008021389, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1059.7526491155047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1052.8820553571427, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 931.8381349027471, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 886.4428801375692, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.53233484809505, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.30657937287504, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 987.6700452561945, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1768864.2778110057, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 186.34316684272906, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 161.95512986092916, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.5756919696371, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 814.7228979016045, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3019.2387301546396, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2724.8562922043006, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5758.726965306122, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6084.4968714285715, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1905.8740039179106, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3283971969235846, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10689.804689473682, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10676.059183950618, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2627.899872098765, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2667.154005128205, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.03084222920666, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 373.32753978576204, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 174.55263781389056, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.7240220473306, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 524.6507935754104, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 747849.5404052262, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.41330544713716, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.93304901464647, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 396.18321514479146, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 396.42086293752715, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2993.3773451327434, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3029.019909638554, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6368.4443670886085, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6686.542516556292, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2130.912711864407, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4617521375552007, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10563.741157894738, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10270.541649484536, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2901.7912391930836, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2924.6179130434784, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.8223934170671, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.7690724145411, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.84693869902688, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.89906340081023, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 468.00816769704477, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 682758.7139157086, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.98829410927014, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.89084652518059, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.1634872351325, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.7093548274548, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "distinct": true, + "id": "34ba3baba51fe5f3e776f54fc7e60a1064374b82", + "message": "Increase Xmx for build", + "timestamp": "2025-03-02T10:17:59+01:00", + "tree_id": "6e4bf343ff9053a2e318014cc5a815d321a45fea", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/34ba3baba51fe5f3e776f54fc7e60a1064374b82" + }, + "date": 1740908661316, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2326.810954449623, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2255.448146670399, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2242.3578906022376, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2055.7902825650544, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 895.2803004482543, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 868.0122132730755, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3024.977971473237, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5922707.982482428, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 607.0142295332429, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 618.5998568201492, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 435.56006067801945, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.04066884120766, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 444.593925734781, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 481.5788293454343, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1103.5038003951752, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1175.3240391512336, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.20930419400537, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16182432692496784, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1566.105600212325, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1544.2507156100578, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1628.4104427168572, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1728.8873101549057, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3764.0902909774436, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4062.8925995884774, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1198.7453938679248, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8108267127516571, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7710.56543875969, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7384.970205839416, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1587.9701324758842, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1625.7969084142394, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 605.0997453862229, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 574.5666991380671, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 260.4123400625857, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.6069694014217, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 847.5867728809965, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1222175.0180875084, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 127.86333618824828, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 136.33191247820932, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.4176606897342, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 610.6802643412241, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1574.2171146802325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1404.683348381295, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3219.9836800000003, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3291.614026726727, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1024.3973877278252, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6829612219803683, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6789.337813953488, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6253.1227125, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1431.6492429268294, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1371.3954005934718, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 873.9178701579862, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 825.0742763434303, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.2031542637143, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.32532577389236, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1123.0535152580992, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1209316.219101164, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 153.61537788089635, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 164.987695020661, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 796.8776698550106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 679.4213191828493, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2610.195879539642, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2694.5513095238093, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5740.562227745666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6224.088340361446, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1877.842943207547, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3080788581892515, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11023.572436170212, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10578.94277473684, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2490.7795439698493, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2512.67224480198, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 381.2065351064619, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.8953597979228, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 174.76383288830397, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 162.93606418126268, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 535.1930572908029, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 770138.719999695, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.61396400570337, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.05983198516444, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 402.67549006859207, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 399.79524132020543, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2978.3407738095243, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3032.128787878788, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6393.009873417723, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6748.378791946309, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2120.6858562367865, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4478744831348531, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10454.725312500002, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10195.289285714285, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2908.367739130435, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2881.412931034483, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.89355201706445, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.90834721234205, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.78575695004855, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.3894984478967, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.7808687762109, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 680596.3412870395, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.08264019048114, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.50153649745332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 320.94931442376077, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.8963483191985, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1082f5520c05f0c906512848c7a1a58881af2dac", + "message": "chore: move common logic into conventional plugin (#267)\n\nResolves #266", + "timestamp": "2025-03-02T18:14:24Z", + "tree_id": "a7546c382772f22da2bdcbbf39c4bcc67a342935", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/1082f5520c05f0c906512848c7a1a58881af2dac" + }, + "date": 1740940861134, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2346.403977529976, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2256.3771038377877, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2203.537050902355, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2068.9663968761247, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 889.2273157832553, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 859.2849983704357, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3077.340642902318, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6194796.757309178, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.3417793513111, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.8793003734684, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 435.0972405285944, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 433.62367451261326, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 456.3511505307375, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 473.6917634546844, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1122.509599460543, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1180.6400984351199, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.8859337658215, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15591325244196774, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1537.1717110784464, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1551.8207448926225, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1625.4580745627984, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1710.432150515464, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3741.5746662962965, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4041.8886405622484, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1179.419991954023, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7772622283759569, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7490.953476470588, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7167.335341958043, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1548.2826457186545, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1578.5490006482983, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.6731353685717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 586.0406308371755, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 268.7099691693303, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.9596077911674, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 860.0469246525129, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1294693.8018192027, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.31850315243233, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.4967455458288, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 651.6791580369746, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.8493011897641, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1319.3674689530685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1298.5475408256882, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2626.990581958763, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2883.6823831908832, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 795.6567288431062, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5362738830148172, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5312.839297894737, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5347.426074193549, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1033.7858060265578, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1063.8385128450107, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 903.998139662465, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 891.3139453348882, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 379.2268105094553, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.4281010352546, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1270.3930993136532, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1810636.4989182712, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.36249863403205, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.107760535483, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 858.8230782658773, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 850.3346150337405, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3138.141468674699, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3890.0822003205126, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8568.800090825687, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8583.624828089887, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2271.8137793023257, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.728554531041339, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11814.740131999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11155.045010989012, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2633.1673452012383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2651.1183062992122, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.9621742433601, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.04559707242134, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 159.86027670885187, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.70378405891864, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 507.2083032754082, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 740621.2971485511, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 87.1164164193741, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 87.6886426935577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.21189089384006, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 369.58311267920743, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3013.695505952381, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3073.9517846153844, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6407.164267515923, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6653.965629139073, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2124.1308456659617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4528956179798718, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10503.03347368421, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10215.905204081631, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2897.250173410405, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2917.1144023323614, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.48853495110995, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.81887086739954, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.87762728114816, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.08235853770984, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 470.42926933835344, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 679629.4661528257, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.29693461785253, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.26340017540221, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.00836311369903, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.2271270183463, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fc0996cf296572eb2a65b6458db046732557ea92", + "message": "enhancement: add BOM module (#268)\n\nResolves #265", + "timestamp": "2025-03-02T18:34:44Z", + "tree_id": "b3c267a94dde63dff60f40e7ebf3d1f82d6168cf", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/fc0996cf296572eb2a65b6458db046732557ea92" + }, + "date": 1740942072695, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2279.2019746911233, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2183.3381512086557, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2233.2826355602538, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2056.0084435126428, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 902.8898525945536, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 876.6296689177328, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3119.0824459239284, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5485847.634989807, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.9652342919765, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 636.3704319736485, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 435.2520853884468, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 441.49841960080346, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.475829474666, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 480.61527318741275, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1108.1081804184792, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1147.7404190340385, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.6830164361825, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17138345484507184, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1525.2788707606053, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1576.0426098838266, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1659.1924116693676, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1740.5775468907564, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3735.248145756458, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4018.7177212851398, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1177.2141126744186, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.809641581127974, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7526.6237395522385, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7009.546030821917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1546.703510371517, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1572.8266521241828, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.3800582116148, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 583.3904280246882, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 266.53729734328965, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.59172374909798, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 856.8581220067672, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 916738.267583554, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.54560399892915, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.7399402913552, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638.7927330707869, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 614.862187827247, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1135.7204043991417, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1141.7266227833895, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2648.1765069767443, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2872.00735915493, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 874.5690302816902, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5326884366929097, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5346.607845212767, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5345.155115343916, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1043.6419289690725, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1080.038977142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 923.8144353126812, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.0295585166098, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 383.8758762822833, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.8400610764524, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1258.0857288422844, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1893863.258542775, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 187.0169213472117, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 187.7012926647458, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 949.6805516890024, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 952.6046721996557, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2596.6839162371134, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3315.9394594594596, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5809.2590258620685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6115.905643902439, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1847.6854697588126, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2999360136183917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10671.703318085107, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10485.49035670103, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2518.494661124694, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2645.6437093750005, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 387.7832183072333, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.0799223176374, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 176.79025326523438, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 161.12616103009142, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 539.7112271148668, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 766173.2391262511, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.28163805195831, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.61359971091841, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 403.77851258580233, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 398.8058682359606, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3025.999939759036, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3049.5564329268295, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6503.807207792209, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6769.399797297298, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2147.876923076923, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4702481620982772, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10707.889787234042, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10345.383333333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2943.8759649122803, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2907.21601744186, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.33102466290813, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.33504458815787, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.75554149637867, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.52221145765074, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 465.41977557733037, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 675912.4859204723, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.36574577664861, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.79038704797746, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.95557936039904, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.6645772694932, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ef3f281ccdebf3d205073317f63a89dc39bccd59", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.18.2 to 2.18.3 (#269)", + "timestamp": "2025-03-03T13:24:54Z", + "tree_id": "246b798f5de96f9a3bad647c0d7f7b1414c86ab3", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ef3f281ccdebf3d205073317f63a89dc39bccd59" + }, + "date": 1741009856892, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2352.1148250099077, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2267.890410127409, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2233.5673744605065, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2084.113089844486, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 903.9169420845453, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 877.9960738605262, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3050.678519717181, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5829323.071064286, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 630.8445977492378, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 640.4074575471396, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 432.52547830134273, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 446.895280606077, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 462.3556846442899, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 471.21608462263686, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1102.2489679024795, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1174.7051993703967, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.57095494572656, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.18438032352668254, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1548.472100110677, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1529.0728264929398, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1613.4958706070288, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1729.3897375426618, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3762.9374898876404, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4056.223594422311, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1187.4451939644969, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.789402389247486, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7564.915614503817, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7127.1853286713285, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1556.678608141321, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1594.52361203125, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 614.0533151503869, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 584.6425303156361, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 266.09679264610537, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.59313375221254, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 825.6311594944597, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1275085.9369591933, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 130.01405242945143, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.72966615569007, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638.3821351657201, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.4786328356776, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2745.0474999999997, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2594.673327078385, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6922.805259562842, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7702.538603305785, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1859.878559322034, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1455746631550692, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12014.25425638298, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10656.645998039214, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2427.2281554285714, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2253.0123234374996, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 460.6525412291929, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.35741280692855, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.08916329697996, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 158.21686130007592, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 569.6117035556109, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 835046.5214482836, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.55516001364234, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 101.026986854449, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 460.75328434787525, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 427.76321494022386, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2606.5185346883472, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2747.9582844327174, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6057.82699132948, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6214.211591566265, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1930.6308865671642, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2967089577253696, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10888.029952173914, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10489.626930208335, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2520.624946428571, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2514.800115037594, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 383.41923755968514, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.04544273113646, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 171.45658051899645, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 165.88074164950623, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 532.5047296082597, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 748851.9033625151, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.87942794022896, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.46770146372337, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 399.27825523115706, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 390.2525177220607, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3080.438395061728, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3145.2277708978336, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6657.903921568628, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7025.9956250000005, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2190.9206813186815, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.47872335958171, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11157.861195652175, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10813.717419354838, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2948.93471810089, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3365.2409655172414, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.9537594207707, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.7652611831699, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.86117793906297, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.58097278124242, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 466.28233930059434, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 686580.886545209, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.70211649049185, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.59253768171553, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.62781505108234, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.42549095503114, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "07e1a1b848761d845219ad20ac7fd1c92080f6fd", + "message": "Update gradle to 8.13 (#270)", + "timestamp": "2025-03-03T17:44:25Z", + "tree_id": "c8aede31c7a36c193da1e096b0b6a5825c09d79b", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/07e1a1b848761d845219ad20ac7fd1c92080f6fd" + }, + "date": 1741025529891, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2289.1489659022313, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2260.4344228013915, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2258.8398206269767, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2072.565684422315, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 892.9127255276533, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 839.8225024094785, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3095.905381759392, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6002552.746430096, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 648.1107954963531, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638.0121632071493, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 434.45284052570935, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 442.68314162541475, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 454.5936510850008, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 477.74802996089676, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1175.5184600794091, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1168.0245662015354, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.5289992825133, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17795211511764794, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1578.1802400971976, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1555.7521917652991, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1647.588907792208, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1765.9289793706296, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3777.0857709923666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4066.3761773279357, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1188.8949796230859, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8052781030850531, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7577.876746511628, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7184.716246099291, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1556.065391640867, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1632.03296028481, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 617.1969593360807, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 568.0518981617322, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 264.3292395591286, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.014402451394, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 840.6348524230898, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1266277.700029442, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.07145834987801, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.27636010621282, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 641.6421682772906, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 610.7157921118428, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1703.958133210332, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4130.559727467811, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3767.8979091575093, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4242.678093656717, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1049.3914194412107, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6659974152007578, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7092.810133093526, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7744.521683802816, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1361.5483691689008, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1521.2344144927536, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 674.6812959366001, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.563832076401, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 274.95014564597267, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 284.7908906406841, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1080.2944501060283, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1270041.4094324498, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.03369173952967, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.71316014034423, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 721.858029751703, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 497.84380670056436, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3339.4732939597316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3503.728403859649, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8379.984645925924, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9458.99411904762, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3415.104236363636, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.8457513167361044, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 16559.62702419355, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 15714.263259677416, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3787.365088848922, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3971.426440754716, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.7104624261426, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.96620705017963, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 104.94052808509771, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 102.99689427431497, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 313.3289947507872, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 424490.0935511291, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 63.041332862103104, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 71.78986129904575, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 297.8952607629391, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 301.2416252804399, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3020.0636585365855, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3076.560909090909, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6503.700129032257, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6938.920551724138, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2160.668217391304, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4719221371636775, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11203.618409090908, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10537.51414893617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.2297953216375, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2908.5219308357346, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.179541403029, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.74673731388845, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 155.15959995291846, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.89894214480373, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 463.8270493831874, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 684946.9958341207, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.66648362788281, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.54473447921727, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 288.50783465866147, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.80906687097576, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "bec8547260d1a256bdc1415dcca931f98872d875", + "message": "enhancement: integrate sigstore signature (#272)\n\nResolves #271", + "timestamp": "2025-03-04T09:44:57Z", + "tree_id": "e6ace4a1dbf09c69e5e8f19e2574fdf8f9135da2", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/bec8547260d1a256bdc1415dcca931f98872d875" + }, + "date": 1741083091613, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2315.521329792483, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2197.413169919432, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2232.7962619712953, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2055.9601088125664, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 915.2948238663379, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 873.432127571606, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3086.456486619302, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6086180.934825999, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 636.8320132360972, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.4578687705299, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 428.3285985199144, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 436.55592777231425, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.3306408835151, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 501.0662321997317, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1116.4619330042797, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1163.683424893845, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.6991851818019, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1732584781310281, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1601.7119277521429, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1529.1261324060365, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1628.6904592105263, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1722.6027755972696, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3783.4400640449435, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4052.7582740890684, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1170.527267171129, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.801248065159401, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7507.941035606062, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7283.554009219859, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1561.9927701996928, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1646.6084993548386, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 614.1604415070758, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 580.3725720966274, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 264.4875990302051, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.24509600184302, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 861.4103959746524, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1297510.2296683039, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 134.90428957208613, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.04412940148978, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.9037112077838, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.4276207152283, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1206.932576142698, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1199.501607949309, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2829.1226404761906, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3313.0867460526324, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 905.6081839481556, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6398045410897033, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8188.833882638888, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8645.140220967742, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1878.8473499194847, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1624.824625621415, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 633.7212582910244, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 587.4709120114834, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 279.23864935530145, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 233.75672897338342, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1005.6999015753443, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1479254.1677387045, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.53272679799696, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.51426616500956, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 940.3305762658094, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 886.7822239706004, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2608.29877131783, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2642.8470324538257, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5634.7845168539325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6060.987996449704, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1863.1917285451195, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2975013615371997, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10447.336417204302, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10395.88985, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2502.6235861728396, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2501.8717133995037, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.4530348806821, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.7310203369301, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.9576009007741, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.21493379265172, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 407.34377857335147, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 707214.0693569988, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 85.91825415591147, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 76.452595317064, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 361.3873668625087, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.4755907041705, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2978.736126126126, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3013.1316666666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6349.886987179487, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6646.030199999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2118.1010947368422, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.459269080738485, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10443.053578947369, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10096.737346938777, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2881.7124712643677, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2874.4301729106623, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.00944677494823, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.2964583707566, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.6901247035822, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.31937872451624, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 472.54142291509953, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 686732.565383203, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.13321395139141, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.04030346412284, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.15211914385293, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.04442782683543, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9d86f5761c5d807daad8979db4ab0282503ffce8", + "message": "Use java 21 to build the library. Set compile target to 11 (#275)", + "timestamp": "2025-03-04T16:51:17+03:00", + "tree_id": "89c348a66dcf9154a6a7e230801b29d210485354", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/9d86f5761c5d807daad8979db4ab0282503ffce8" + }, + "date": 1741097813058, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3120.631437955796, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2973.4056799707982, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2999.471530584611, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2826.8589534784433, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1080.7391236665203, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1012.2796833235983, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4180.754976880121, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6619687.848224443, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 732.7726046795759, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.4006129446905, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.06278656046663, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.43095435262876, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.3689751720793, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.93341667249945, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 995.6193549834252, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 974.0225190304103, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.48187405810125, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16208488183717212, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1392.1700436194315, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1363.0270622659073, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1622.7045434146341, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1717.3247439932318, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3756.4756800000005, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4005.3425381526104, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1155.547606091954, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7663610233045925, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7582.441958394161, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6951.205250694444, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1547.5847080792682, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1616.3511979844964, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 608.8506752985501, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 582.5913447966811, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 265.41039007218603, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.1250940216049, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 853.9723543324374, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1293301.7091038865, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.89366807536027, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.70882393852753, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 644.770419206854, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.4759096518158, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1959.970323390558, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2118.4785058275056, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4454.271068070176, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4247.902950833334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1162.4140008695651, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8153205745950747, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9631.989634146343, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6632.165331460676, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1227.8764694204688, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1197.6192606290672, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 510.8394901476272, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 560.79365701821, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.0444988715029, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.5647271796102, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1063.240283417285, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1706621.7842647724, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 136.7982072498677, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.08153972128008, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 736.0561366202041, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 656.733612287109, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2615.4622744186045, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3122.118472847682, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8043.650276000002, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9142.312693406591, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2481.4845970183487, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4843878957977763, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11464.439030337078, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10925.832185714284, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2660.460969053708, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2639.9873767999998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.22373051611015, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.8723419483068, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.63726878364255, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.6539495571874, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 508.7372009138115, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 731105.7277622123, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 90.30622144074006, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.69234888228027, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 382.44555431056585, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380.30124186307955, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3144.7455063291136, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3102.1555937499998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6495.444350649351, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6793.909054054054, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2156.5245202558635, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.460841954018481, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10586.507765957447, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10423.669166666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3011.0776696165194, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3015.3293750000003, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.1807399137565, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.2198661710169, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 153.0001733774626, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.53524234333895, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 461.59226435958556, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 672731.0820366626, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.0979616424426, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.42040944880105, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.20165249693684, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.9394443102245, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3127d32754b585c471b02a498bb1fa06a2d162ab", + "message": "Bump io.openapiprocessor:json-schema-validator-bom from 2025.1 to 2025.2 (#276)", + "timestamp": "2025-03-10T15:19:40+01:00", + "tree_id": "569d24d94d8f635e26ce45febbbf32662e35866c", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/3127d32754b585c471b02a498bb1fa06a2d162ab" + }, + "date": 1741617901289, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3071.9837478754716, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2970.1632009284463, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3015.957343228953, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2833.9633166344734, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1083.4301390682822, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1015.4201263499399, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4160.333853851014, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6377876.632994264, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 709.7965805587247, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 692.0938276309327, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.12556102930483, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.40683327917293, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.2361850419892, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.0579724686101, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 942.4455556996265, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 990.3507729369458, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.79731261365413, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14629042821422494, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1384.0703498778407, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1381.2038621715571, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1617.6264024115758, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1702.0973415929207, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3764.8013033707866, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4030.1774760956177, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1161.3228717049578, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8229369463093905, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7514.745417647058, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7148.590858450705, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1550.3172480376766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1581.8364253611555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 618.3468466286912, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 570.6736154257549, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 264.6722047313472, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.0016568805383, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 850.732186772107, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1240010.7825503082, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 131.89885076560972, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.31954110904908, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 637.9004315474998, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 623.0103917434606, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1397.6936810281518, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1319.7273807580177, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3521.798041035857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4207.740796850393, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1191.2299840567612, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6967623573592248, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6117.820859146343, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5702.870353205128, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1085.3325525879916, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1106.1716566410537, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 910.7391913046953, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 889.0615030025847, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 387.6970446339722, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.59420748859304, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1286.0042329769735, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1739234.2292503354, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 187.4597657769847, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 185.89391890144265, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 945.3408602603098, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 947.4722764007759, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3744.7502979797982, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3263.86905483871, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7054.779305194806, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9241.714278431373, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2477.0741357682623, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.721631130934454, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14667.345225000001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 16934.587924096384, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3515.156805810397, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3501.3012642857148, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 305.57484378624474, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 220.63615705749172, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.9186948540462, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 119.18988872070311, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 506.0189355790818, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 773271.4517630853, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.01596110458794, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.55863029357349, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 403.544566184761, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.28588709592447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3001.877791044776, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3044.492, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6440.983782051282, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6702.721866666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2165.1993978494625, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4723320454230937, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10480.9771875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10105.93202020202, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2915.3132361516036, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2914.3765028901735, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.63410806349, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.22579560944854, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.9667401606201, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.87772652238215, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 463.5824859934376, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 686541.6254063735, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.07035523986391, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.47075333098647, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.9535692608524, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.3161740323405, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1865404839b0964412960414cf3ae363e7fa682d", + "message": "Bump kotlin from 2.1.10 to 2.1.20 (#277)", + "timestamp": "2025-03-20T13:10:26Z", + "tree_id": "90188883124a43223d45e20bae72d434adcec212", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/1865404839b0964412960414cf3ae363e7fa682d" + }, + "date": 1742477809781, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3047.6602074909124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2928.8871626079276, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2941.773398063165, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2808.927473393885, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1058.5471012134335, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018.0134876740234, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4182.048020566525, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7003408.889055029, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 724.5433107727347, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 710.0715031595929, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.7578866341378, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.5196872979471, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.127468741623, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.65638685278054, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 984.6944720919726, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1011.6613740730636, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.26694577425252, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1575142165501726, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1405.5678300752518, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1403.0497601356763, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1635.9165538590603, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1752.7373165170557, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3938.863271042471, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4176.0878075, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1144.2270014150943, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7722884425619968, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7043.645739259259, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7202.510747222223, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1565.4613246353322, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1645.00547319933, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.5898002813938, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 589.1565947954332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.03267469670055, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.41255991535346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.7303953554414, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1293848.5228755348, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.13429909902237, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.8609172563813, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 637.4454095463218, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.7095573049274, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1070.3196829424307, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1134.8185331447964, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2657.669711345646, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2912.003638904899, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 795.0551657232704, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5446923616075392, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5520.7130688524585, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5044.9768020833335, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1047.1104360501567, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1068.087188740245, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 914.141838170013, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 869.595129471362, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.1399749603544, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.1792292027682, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1278.9064444630683, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1826225.798904913, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 181.2422536378134, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 197.0735229734468, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 956.9715498775349, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 919.3269110989019, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3151.248915360501, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3050.9022971830987, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7181.369398518519, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7381.1378758620685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2064.5181504, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4913517459202534, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11369.217438749998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 16371.690422916665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2466.976831372549, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2493.5743559113303, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 397.27791098748673, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.2076065205323, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.20869087977707, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.90786108943055, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 522.0239817051407, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 611319.2502184731, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.7630739929094, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 90.32914478587385, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 381.90440091144615, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.3056902371508, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3044.0453915662647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3105.481510067114, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6654.789801324504, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6881.643172413792, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2158.2839655172415, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.523613787260389, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10469.74052631579, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10370.285979381442, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2962.008100890208, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2976.44019169329, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.45177976851903, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.1154777052431, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.04756064170616, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.51971639002994, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 460.53854282741304, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 660680.5938761187, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.95542238164077, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.54522885415378, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.3421134405815, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.48808211662384, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f9d460cc6d7f0b48424662e3112008f047a629f4", + "message": "Bump com.doist.x:normalize from 1.1.1 to 1.2.0 (#278)\n\nBumps [com.doist.x:normalize](https://github.com/Doist/doistx-normalize)\nfrom 1.1.1 to 1.2.0.\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/Doist/doistx-normalize/blob/main/CHANGELOG.md\">com.doist.x:normalize's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>[1.2.0] - 2025-03-20</h2>\n<h3>Added</h3>\n<ul>\n<li>Support for Wasm - thanks <a\nhref=\"https://github.com/zsmb13\"><code>@​zsmb13</code></a>!</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/42c8e212df490bfb1684745aa4bc81259ae8b72a\"><code>42c8e21</code></a>\nRelease v1.2.0</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/54696e06d43b70a3b14796e3f09c2343d08c422d\"><code>54696e0</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/91\">#91</a>\nfrom zsmb13/wasm</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/ce4b3908f897748dafb765bcebcb2f847c07326d\"><code>ce4b390</code></a>\nRemove manual hierarchy configuration that's already covered by the\ndefault t...</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/5e035fd37ea026ca8f6a11c3c44d08c29927cf58\"><code>5e035fd</code></a>\nAdd wasm support</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/ff1c298c8efe4b33e895aa177a7a21616c06e8e1\"><code>ff1c298</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/90\">#90</a>\nfrom Doist/renovate/gradle-8.x</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/b39cef566c58f466a9c9eebc2a46d04633b2bcbf\"><code>b39cef5</code></a>\nchore(deps): update dependency gradle to v8.13</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/ba547a2fae6f4e9284e9971642508f9b42a392ae\"><code>ba547a2</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/89\">#89</a>\nfrom Doist/renovate/org.jetbrains.kotlin</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/2d1a03f9746d95322df9ea77833eac84c483b494\"><code>2d1a03f</code></a>\nchore(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin\nto v...</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/161ca885666fc1eb8b019f3db35ce29bdfd737a0\"><code>161ca88</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/86\">#86</a>\nfrom Doist/renovate/gradle-8.x</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/8e0f7b9aa76d0edaaef76b81d88b6b77a2e3afeb\"><code>8e0f7b9</code></a>\nchore(deps): update dependency gradle to v8.12.1</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/Doist/doistx-normalize/compare/v1.1.1...v1.2.0\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.doist.x:normalize&package-manager=gradle&previous-version=1.1.1&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-03-23T20:11:43+04:00", + "tree_id": "6a7748ee28fc5be4b85d4a9bb59d93b765c828f7", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/f9d460cc6d7f0b48424662e3112008f047a629f4" + }, + "date": 1742747835553, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3045.958975725795, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2890.09184840728, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2949.8677653100212, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2668.9562447172043, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1050.778169968511, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1010.2728830848857, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4229.889370821263, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6846865.747454172, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 710.9818449442918, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 732.9446523186494, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 320.27516175095, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.91130585186164, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.18363819644634, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.0848917262686, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 970.0434235776345, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 981.5298208434808, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.3736962806683, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15324728192026724, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1394.123831991838, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1413.03112424605, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1605.1509218800645, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1734.1642584905662, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3975.0960412698414, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4214.006856326531, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1153.9327665898618, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7820435270138556, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7309.571328169014, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7178.537504929578, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1574.2855101404057, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1650.5468733990147, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.1977084141043, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 562.1198577783377, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.48557403292543, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.81058455034673, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 874.4234282630838, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1294713.9649315255, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.43133491075153, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 137.31850825903118, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.751807322348, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.6388951174089, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1071.1908064516128, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1133.7768497168743, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2718.4598860248448, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2984.503484210526, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 785.8606712062257, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5467037372040934, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5518.65594888889, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5037.195770050761, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1054.7200224765868, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1083.698350377562, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 928.9795512647722, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 878.4497817956292, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 375.1756962282121, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.11886366094046, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1283.9254496731176, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1836081.6734238237, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 183.3549656779536, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 197.77643766907633, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 869.6904444748512, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 756.4380659781456, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2526.7009231155776, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2617.323179002625, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5876.061230635838, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6103.2214614906825, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1817.6810326678765, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3346293865252468, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10510.029102105265, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9933.661328431373, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2467.1173552311434, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2495.3028586734695, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 395.73467876994073, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380.3116779997717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 172.43893706964693, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.48600579744198, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 549.7721946986188, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 748017.8340008134, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.12631699901023, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 101.44825340612127, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 404.13950027925733, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 400.7655584602827, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3057.8319875776397, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3107.3373993808045, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6926.195960264902, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7081.694, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2242.7502027027026, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5550724209933526, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10946.946627906977, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10830.617032967031, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3166.4194357366773, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3000.967159763314, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.39261837307123, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.18338934679224, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.10245789382333, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.19939569122084, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 459.8552845733432, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 660514.4689081106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.80984567473573, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.73709595648288, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.46071407984726, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.32796303387767, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9acfbbd40cf5e9ba6aad996d5fcccac8d01980f1", + "message": "Move normalization logic back to common sources (#279)\n\nAfter #278, the normalization library supports `wasmJs` target\nout-of-the-box and we can move the normalization logic back to common\nsources", + "timestamp": "2025-03-23T16:38:47Z", + "tree_id": "ae42300c1b8ebfd1f57b5c4d2d6db18d99ef97b5", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/9acfbbd40cf5e9ba6aad996d5fcccac8d01980f1" + }, + "date": 1742749456437, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3043.080861379424, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2904.040656338018, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3027.9917290234966, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2795.8737770356693, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1088.3239093611508, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1005.1992146913084, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4192.31729220001, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6334389.073673521, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 737.0288589926577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 736.5779519897925, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.5683298615403, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.10735793768765, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.16436070186927, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 361.32229458199515, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 980.8058062258112, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 962.4951296140964, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.4768984257753, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15953878710658387, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1371.0187333295614, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1412.3183022838575, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1604.8919083067092, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1738.5694712746858, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4077.121388372093, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4121.415443621399, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1156.5234208235295, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7546796675835037, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7222.423465925926, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7211.045473049645, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1574.8577379310343, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1651.4053294871792, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.5854427421172, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 564.4302117456535, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.16615592503499, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.53397351790446, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 875.4406195836331, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1332855.7354429518, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.31341206854762, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.3882993994908, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 644.7824806698474, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 615.2530762206892, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1076.3208596202533, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1138.0113875565612, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2670.1168994680847, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2934.3571274853803, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 784.706930397506, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5451635538973288, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5543.9382866666665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5040.120097474748, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1073.3426514644352, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1094.9967332571428, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 924.2263280344141, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 875.0751980351779, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 377.1663901258094, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.0080155678329, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1275.5064966842565, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1844479.240260454, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 179.16345511058051, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 196.3809559894769, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 942.3322773985119, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 924.5955795184349, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2624.8479134770887, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2760.272673170732, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6071.22633493976, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6850.4269488188975, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1862.8682689463953, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3806869185783754, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11354.19348292683, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11609.367582105264, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2554.568343582888, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2758.8650861460956, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.6123576258627, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 294.8546115715461, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 155.69374693706075, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.2685144177189, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 517.9451515050245, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642334.908002035, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 85.24515983309081, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.99177990332015, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 306.4661414718448, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 294.7690439666952, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3038.4713166144197, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3136.209276729559, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6676.636026490067, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7059.367746478873, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2217.833414096916, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5162773008130084, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10734.349354838709, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10502.13329787234, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3030.2215709969787, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2994.1485207100595, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.788081687724, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 315.7428520763445, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 150.22500548031374, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.43133213079702, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.8865880221862, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 662027.4921815437, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.11526499333745, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.17167752068757, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.52215744987495, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.46707438302974, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "3848811a463a90acdd6154e07ab62ea054967f87", + "message": "Prepare next version", + "timestamp": "2025-03-24T13:52:29Z", + "tree_id": "949246eb3dadc03c270242d73b96fd905ccffdd2", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/3848811a463a90acdd6154e07ab62ea054967f87" + }, + "date": 1742825890579, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3045.948646136542, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2951.9182160495234, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2935.575957423492, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2744.6276742189607, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1024.9652796202636, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1012.0448191171042, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4145.728302196615, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5640745.871779444, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 731.2468082244426, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 729.5042795139777, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.146250577196, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.2423209817369, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.2425274958443, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 353.73134634237994, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 926.8565895902495, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1003.93249156084, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 235.22761890520593, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1436062121718454, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1394.9045994612188, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1374.6444294799662, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1630.3761796264857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1752.64380375, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3994.6665979508193, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4246.176548333334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1161.8154197021763, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7772910446965839, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7353.001449264705, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7224.755590714287, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1577.182676788553, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1632.6681672, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.8904019459522, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 571.1873825276726, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.94211390066158, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.95903457490303, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 862.947185408744, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1291842.474445601, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 137.05063224201345, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.6287392764969, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 619.7035895457079, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 619.4207749782371, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1356.934864771151, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1276.0815586894587, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3380.502083461539, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4300.862065107914, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 888.5067149446495, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5885305481801157, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6612.547378616352, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6921.034128947368, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1182.6894620145633, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1287.0863975845411, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 689.4971017314368, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 715.6018386660654, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.4986886831466, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 305.8620556274832, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1057.3994672137565, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1513164.5346151155, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.89753973433517, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 172.65979902367658, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 601.8740175559572, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 787.2641499119442, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5930.4229, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4443.908124921136, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9952.327457812502, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13066.105496875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2985.9576250574714, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2.060168755558983, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 20896.175483333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 18929.97550638298, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5130.06651622807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4541.3602857758615, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 229.5542478201408, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 231.0539159966494, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 90.7042947819245, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 87.03212415776025, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 296.4407963471532, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 481173.87958532776, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 72.39610990247157, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.15252664007157, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 358.1892524554856, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.15152356952274, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3000.363671641791, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3096.9969470404985, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6562.629346405229, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6859.712653061224, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2157.1323568281937, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5094461758486943, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10482.625729166668, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10344.346105263157, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3132.238795180723, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2979.3600895522386, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.3524907134048, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 286.65829805617693, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.27636259447678, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.37177669859702, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.89062900753305, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 659752.313009216, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.43859393111961, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.2506494389202, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.73009210717174, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.71996177517315, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "f83cf30c128c682459674175734f5c35b6139278", + "message": "Prepare next version", + "timestamp": "2025-03-25T16:46:21Z", + "tree_id": "defb39479e59c4ad7ba37638489212eb49e0087f", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/f83cf30c128c682459674175734f5c35b6139278" + }, + "date": 1742922719938, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3051.8264002207584, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2958.4337456947387, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2864.388395770523, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2749.5146931527725, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1024.5604686372228, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1012.0750113334304, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4208.048303579781, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6907090.505744232, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 727.233579261253, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 724.8880169560897, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.0246382619119, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.5403451286585, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.86524758176836, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.23246163151305, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 946.8972167726324, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 981.1568356316408, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.79416727799844, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14242981757017975, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1430.859565031075, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1377.4298842226692, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1604.002508373591, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1766.425345359019, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3946.5486168627453, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4166.268394214876, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1145.3999261958998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7771389474450479, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7287.534317518247, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6980.277988435375, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1557.8146800627942, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1654.1108828843105, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 622.027963707457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 573.5774556965996, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.39555433268546, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.56057216228584, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 863.7120311904775, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1284787.8908017366, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.1750532224115, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.270142407175, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 636.09984204251, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 610.3956500951815, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1074.3844895334173, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1315.1219175122749, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2724.1475086956525, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3007.645919174042, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 777.2828780722891, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6059845492031117, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5991.007158563536, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5419.674377272727, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1091.0517580233795, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1070.5282996798292, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 909.1531671615337, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 875.1502263224636, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 369.9488206944125, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.06894132120146, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1001.7787431101657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1418293.8336356159, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 121.32677977663559, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 132.40731898874125, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638.0597778676814, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.4393112679759, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3338.401955948553, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3962.1545426008975, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7761.761751937984, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8848.776897752809, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2519.3631259009007, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.9856247647024687, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13915.907296296296, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13782.707345312501, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3885.228174452555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3634.6426459930312, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 276.38174175390714, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 275.41349920082286, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 122.04496773991954, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.36722206999926, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 547.7220266098058, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 735386.5532271639, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.03258217615118, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 101.48199447384694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 406.21046666327595, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 400.7260806356729, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3025.765632530121, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3128.8455864197535, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6621.394276315788, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6897.410827586207, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2194.679195652174, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5365941311747453, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10429.622736842106, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10290.732989690721, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2972.703323442137, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2966.012835820896, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.23710582705064, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.072136877927, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.04286028818325, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.8243678613757, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.81836913338856, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 657168.0487808657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.24767930406256, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.11605156057935, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.29681356702474, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.4615653580962, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "48a3b7044d12a420380558bf04ec85c68217365e", + "message": "Bump kotest from 6.0.0.M2 to 6.0.0.M3 (#282)", + "timestamp": "2025-03-31T16:55:49+02:00", + "tree_id": "ebcde6b8d14a1b2fb23df49d9e05df7d63628407", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/48a3b7044d12a420380558bf04ec85c68217365e" + }, + "date": 1743434523146, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3046.6206067879593, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2921.4442277051226, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2964.7198833931516, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2727.35027568941, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1025.5869155926034, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1012.5612505405501, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4190.715869948584, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6034557.27884132, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 728.1476118174306, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 712.163761329011, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.6671903447522, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.1959320873856, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.9214103779208, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 368.60674049549624, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 975.5580899636454, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1005.2239099149363, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.31482224994323, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17083268696339346, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1380.8465281461667, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1364.8088321989276, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1635.1383159935378, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1727.665861551724, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3920.0473610038607, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4112.327602834008, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1130.9330644318184, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1710367170224356, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7038.16051888112, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7194.63691586207, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1558.0815520995334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1643.6987647151898, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.5038970260109, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 568.3639344722196, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.98155319363408, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.24749541374794, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 863.0310897064946, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1317408.204859505, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.06177722341812, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.59787732654627, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.8198737706922, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 616.4807194350933, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2368.200307594936, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2536.511643401015, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5083.815374137931, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5808.953795287958, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1342.4607122047244, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8303587544017415, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8948.965314035087, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7758.997614529915, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1763.301267692308, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1786.3845687058827, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 556.4850778480096, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 524.1009627118341, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 206.18943171265613, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 202.1801311849478, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 716.8322874501636, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1265911.6178578716, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 116.26997132818963, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 116.41664310403246, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 490.1659067177426, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 526.4308489471508, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4726.616567005076, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4031.0531625698327, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10424.126715957447, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8982.554829896908, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2678.4848129683, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.8719438255602665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14112.378872916666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 15569.901167924527, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3729.73150738255, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3730.7051271739124, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 224.16520418971976, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 232.91092665373753, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.65749448329152, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 66.05419493607212, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 279.837983773557, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380222.7274643253, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 56.666990025136805, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 84.98428939915826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.42339877978753, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.41727658998985, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3056.485501519757, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3156.527987421384, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6754.613333333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7032.647902097902, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2204.2551648351646, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5420175440066073, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10627.253870967743, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10488.14479166667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2989.5319756838903, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3016.0925825825825, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.48466005253795, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.7858947978383, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.1502598189342, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.165486073985, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 462.61516470718516, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 662804.4907919702, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.85654495765311, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.16244410815204, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.42941701024307, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.59907871203, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "591cb3a2634c85549a326856cb9993c9a6e32d86", + "message": "Bump serialization from 1.8.0 to 1.8.1 (#284)", + "timestamp": "2025-04-01T15:23:44+02:00", + "tree_id": "a52ed1b7d15ad2e59022d3cd0cb38aed1c77ef53", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/591cb3a2634c85549a326856cb9993c9a6e32d86" + }, + "date": 1743515334095, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3060.3860545475172, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2982.846233467564, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3008.39382062812, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2781.907977149568, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1074.3065038614864, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1034.2770091776545, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4140.980288509673, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6074068.451183802, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 707.2031225345056, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.421486255946, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.6976214519279, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.590111522555, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.67178182643056, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.10993374456984, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 970.914489934807, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 967.7032748594669, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.50893819822554, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14381001595871531, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1399.5934479380232, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1403.7222596641896, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1592.7496275199999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1724.832145296167, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3925.070081395349, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4134.743045643153, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1153.4326686705203, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7866784287115708, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7174.952853571429, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7109.267564748201, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1547.1277337461302, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1638.0521387722133, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 619.6814588113974, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 586.9158695768742, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.3848333968302, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.76249558015942, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 867.7093965106781, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1289830.5809497938, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.82306095900057, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.64359649304623, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 613.4301842862828, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.8846319611469, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1121.06063290653, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1198.7047889140272, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2755.5177490716183, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3033.7312131578947, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 851.2613844262296, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5458555236246313, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5468.808285955057, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5054.166708866995, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1063.777204772004, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1133.6498796573874, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 916.4619225623077, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 797.6737983475543, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.8235488107942, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 202.15480943053575, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 948.6318953543781, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1720260.9394758767, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 176.8029145377395, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 184.36208957004237, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 907.4253784701216, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 882.0636703526555, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4941.4870254437865, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7442.46312835821, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13961.929064210528, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11317.98479892473, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4697.130833142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3.0534942333503245, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 24553.52757111111, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 21225.531535416663, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7049.224049425288, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5713.713380769232, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 223.7179309234379, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 130.32502409082375, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.80276386101995, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 57.27804899903911, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 277.3363741464982, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327218.45700578677, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 38.96899140672211, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 37.72816051892959, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 225.06760102610542, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.16768590977193, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3048.9764525993887, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3125.28646875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6642.364342105262, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6945.9613793103445, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2197.2977124183008, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5386574871484526, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10628.463191489363, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10398.367604166666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3008.7050151057397, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2992.2651488095244, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.9235251935626, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.51418280309724, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.8130535354523, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.70516795318926, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 457.71477983213924, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 651174.3620013426, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.4076512592678, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.13388695891594, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.6116849755419, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.4585031473724, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5ae9fc4cde5fccf1101d951fa21dd9328c77c965", + "message": "Bump io.github.optimumcode:karacteristics from 0.0.4 to 0.0.5 (#283)\n\nBumps\n[io.github.optimumcode:karacteristics](https://github.com/OptimumCode/karacteristics)\nfrom 0.0.4 to 0.0.5.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/OptimumCode/karacteristics/releases\">io.github.optimumcode:karacteristics's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Release 0.0.5</h2>\n<h2>📦 Uncategorized</h2>\n<ul>\n<li>Bump ncipollo/release-action from 1.15.0 to 1.16.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/28\">#28</a></li>\n</ul>\n</li>\n<li>Bump com.squareup:kotlinpoet from 2.0.0 to 2.1.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/29\">#29</a></li>\n</ul>\n</li>\n<li>Bump com.vanniktech.maven.publish from 0.30.0 to 0.31.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/30\">#30</a></li>\n</ul>\n</li>\n<li>Bump graphql from 8.3.0 to 8.4.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/31\">#31</a></li>\n</ul>\n</li>\n<li>Bump kotlin from 2.1.10 to 2.1.20\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/32\">#32</a></li>\n</ul>\n</li>\n<li>Bump kotest from 6.0.0.M2 to 6.0.0.M3\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/33\">#33</a></li>\n</ul>\n</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/ef6423b6b73e9db936e869344ac37acfcdc8a10f\"><code>ef6423b</code></a>\nBump kotest from 6.0.0.M2 to 6.0.0.M3 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/33\">#33</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/843782005dbd4fe39d571fafa91d1b24be09ebe7\"><code>8437820</code></a>\nBump kotlin from 2.1.10 to 2.1.20 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/32\">#32</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/96c1d7452df74b437037b1b99aa243c952614f85\"><code>96c1d74</code></a>\nBump graphql from 8.3.0 to 8.4.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/31\">#31</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/1cd8476fec97b12aea96401e037c13d3b62dee1e\"><code>1cd8476</code></a>\nBump com.vanniktech.maven.publish from 0.30.0 to 0.31.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/30\">#30</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/58b7fe2578d1344aefcf629839af2d4abe4eeb62\"><code>58b7fe2</code></a>\nBump com.squareup:kotlinpoet from 2.0.0 to 2.1.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/29\">#29</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/bc25f5b83c9d7b5e27555ec563858facb5c12f97\"><code>bc25f5b</code></a>\nBump ncipollo/release-action from 1.15.0 to 1.16.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/28\">#28</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/7e0c61c7fa19916f15e986215397251cc9e17aae\"><code>7e0c61c</code></a>\nPrepare next version</li>\n<li>See full diff in <a\nhref=\"https://github.com/OptimumCode/karacteristics/compare/0.0.4...0.0.5\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=io.github.optimumcode:karacteristics&package-manager=gradle&previous-version=0.0.4&new-version=0.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-04-01T13:41:39Z", + "tree_id": "8f256aaf67fec84b65129213417f63cc63575ae1", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/5ae9fc4cde5fccf1101d951fa21dd9328c77c965" + }, + "date": 1743516434919, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3088.8849600301824, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.6507660784937, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2947.02958725626, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2745.364813858917, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1032.9605963847425, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1025.3984127255637, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4193.636126485273, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6197176.800372762, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 730.6465776720734, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 722.0925680977678, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.3065385438743, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.65184418583283, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.21747072573595, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.01686793520787, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 960.6081433817153, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 982.0654697115111, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.23707839234538, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14472273382181094, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1362.4988799955095, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1431.8044280538415, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1603.5661714285714, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1811.314649293286, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3930.321657471264, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4168.299023553719, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1152.9031203640502, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7758308503822382, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7269.6800457746485, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7271.516218181818, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1584.2887100619196, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1683.327225409836, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 607.0114521048363, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 581.5321918840974, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.1090487614155, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 234.55352512782346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 862.1539305027633, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1288371.7323536142, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.1907661884941, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 134.25523231815887, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.8795179502101, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 598.8466318476292, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1119.4261333333334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1153.1960253537738, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2983.1932740506327, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3360.396409117647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 801.7165989938079, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5481962486438198, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5486.877628260869, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5230.2106696969695, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1062.646446764092, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1070.588517270789, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 917.2898397453846, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 874.470952595949, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 365.68232055305236, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.47418001998614, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1160.717663977956, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1422798.045980215, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 158.20929290640893, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 176.48011782523722, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 789.984419060921, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 923.6925285516688, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3028.1100194174755, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3797.9234993527507, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7827.403614285715, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11339.167762068964, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2930.5365618138426, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.9920554145869478, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 18922.954568888887, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 17750.351230107524, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3947.6131636363634, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4684.189770070423, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.10946681173527, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 292.01747882451525, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 90.83325357775091, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 113.386956287809, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.66105348388874, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 485305.7303693495, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 69.66259530636434, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 57.8858814810647, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.33438807017393, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.37862293401204, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3042.7319814241487, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3133.763684210526, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6628.735099337748, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6928.929862068966, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2181.1580694143167, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.548433665240007, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10532.672631578946, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10339.655416666665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3081.558539682539, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2997.5293292682927, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.05721626062353, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 318.57071946006346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.74173727660647, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.95557213805722, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 457.5510786163629, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646455.2474752192, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.8333488124213, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.73613267620283, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.278349296031, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.02276966933124, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fae825149da5272c5aad102d72610505f5f8431a", + "message": "Bump okio from 3.10.2 to 3.11.0 (#285)", + "timestamp": "2025-04-10T16:58:03+02:00", + "tree_id": "4a13fc0ed724d03eb2ce867dd47276e07f6a1ae5", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/fae825149da5272c5aad102d72610505f5f8431a" + }, + "date": 1744298615977, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3015.7860401232974, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2968.1899649337965, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2950.647637096422, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2789.935668236635, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018.1879414201645, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1022.3480722641831, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4091.950602703305, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6349026.0733955065, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 693.1825106283466, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 728.8318589340539, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.64374640420664, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.67268297711456, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.08402577370146, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.5002076811324, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 937.0777372626378, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 982.7906870055189, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.89587367535472, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14577979163463015, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1442.2694933832581, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1415.4217876464504, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1638.157093964111, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1788.6477447418736, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4013.3213434262943, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4322.034040598291, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1167.954927476415, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8104755149503354, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7511.382263235295, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7601.259202898551, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1585.3296689984104, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1674.5319189895472, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 609.8303775432839, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 567.9557796972549, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.4938545154523, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 229.4907354010414, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 854.9011318544332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1295134.1532689885, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.278947366165, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.518871083691, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.6941760274836, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 568.6018424236294, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1065.1342755627006, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1131.5573667420815, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2664.683511466666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2925.0214809798267, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 774.6277745143746, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5388948862632208, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5491.889629444445, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5026.0936865, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1054.4603375789475, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1083.668816981132, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 932.5042528676698, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 874.1862056346248, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 358.0587413686392, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.86365523917823, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1210.2733701670297, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1761392.5999237257, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 168.5665366959895, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 196.06789011034354, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 958.314877445608, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 936.2572440582468, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4737.852791666666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4273.068206746031, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12026.99308898305, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10530.057335051546, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2970.4790217687073, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2.48299545505883, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 18668.774446153846, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 20764.20589361702, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5543.012982901554, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5081.279584177216, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 197.40224842490295, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 181.6241163985716, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.88938138628983, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.9784970838266, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.524195476838, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 607523.4753360106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 76.80935439568897, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.42485947871296, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.31014642154463, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 363.70624170504027, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3189.5435714285713, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3419.768381877023, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6883.602517482517, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7557.63171641791, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2239.2013169642855, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5590696499349996, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11262.059775280899, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11695.741011235956, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3170.015833333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3253.895537974683, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 318.22784813131244, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 311.9366532420962, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.12830362915054, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.91866846649538, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 434.70441351424716, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632328.1338212483, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 90.77616414904399, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.52362661294192, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.82498251783204, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.6949338678113, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a4c861a99e6f574729a8c731a66e8b250113b10f", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.18.3 to 2.19.0 (#287)", + "timestamp": "2025-04-25T19:39:13Z", + "tree_id": "48e098848c3624f42412639f69703bd6ab68ff85", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a4c861a99e6f574729a8c731a66e8b250113b10f" + }, + "date": 1745611417016, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3100.9110412900286, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2901.502167423155, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2970.2238257772306, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2842.6363787978107, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1071.0991657013683, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 998.152427680985, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4178.516174140433, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7045463.566466233, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 696.6075917776083, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 714.0943828090396, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.03212451535705, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.01941756933803, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.00380382170147, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 353.01966197846525, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 927.5464750875157, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1000.2398114336804, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.06319615095504, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16702273917288596, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1389.2326943956316, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1367.788317173882, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1625.2042689102564, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1734.4321798994974, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3931.0647486055773, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4175.7162147058825, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1149.3892832574031, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7840246863679251, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7358.42120567376, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7041.106128671328, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1578.680482051282, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1664.7076337209303, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.1494106285842, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 570.3761022706469, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.69415169493186, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.3178098591443, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 869.6148027195652, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1300389.7657178584, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 134.24160883606567, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 136.22981687473313, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 636.581072898983, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 601.9645639989654, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1091.01125, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1149.828200229621, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2671.6295215425534, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2917.384324057971, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 780.7767279342722, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5639273431094121, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5684.063314130435, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5099.533773366834, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1063.1371131386861, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1108.2731882669536, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 798.097843601972, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 805.2875927512614, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.25640114977745, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.37116941361967, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1238.240595137723, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1827999.8686879438, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 180.98827827893717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 195.26901493651616, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 901.3770820543762, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 679.0875878066857, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2774.0464873056994, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3220.410406875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6746.035456521739, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7100.903267153284, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2717.1991076131685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4753011105333362, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13877.378525974025, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12017.234779999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2851.404477230769, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3055.8940144886365, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 316.26932821857457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.18700831355284, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.2341306500852, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.19228370682825, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 451.87750836672046, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 573794.0118418492, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 71.73589058941003, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 76.90187364228139, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.17111735084745, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.9476842871818, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3103.8514540059346, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3162.7508766233764, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6819.522402597404, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6991.32219858156, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2179.353355555555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.546334125672113, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11173.954421052631, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10704.148333333334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3172.949712460064, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3089.887337278106, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 313.98979055395574, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.76377499946625, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.4747787280467, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.3537989457184, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 453.4192652589616, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 641830.2242205108, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.68913569647097, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.09728510712155, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.34509694345667, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.1633422048359, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d7714cf828688e8a8033014e2de2d39e123de89d", + "message": "Bump kotlin from 2.1.20 to 2.1.21 (#290)", + "timestamp": "2025-05-13T19:27:05+02:00", + "tree_id": "78eccdda580aee1a369ad2fffdc5f4ce1064c371", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/d7714cf828688e8a8033014e2de2d39e123de89d" + }, + "date": 1747158813322, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3044.0841297217676, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2961.6971426762193, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3021.8369747216007, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2777.7604678792095, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1049.2393744999292, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1013.3748542942831, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4149.164006375336, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5530435.450635172, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.7564746418838, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 710.2556349379058, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.52258461174483, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.1236376610401, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.61297096229134, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.4383869840518, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 921.8354454275207, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 977.0909411260694, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.6977261112849, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1523770531326118, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1391.1801054450505, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1368.420343671145, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1607.9236621487603, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1721.3363539855072, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4015.178135019455, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4180.524649999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1140.5303754305396, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7906285343747194, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7135.223083458647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7035.634008275862, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1554.8979271428575, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1646.7166651085142, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 621.6693150378608, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 572.45136216121, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.79069985701577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.42404151930864, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 863.7350208682753, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1276617.86267037, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.40391496598687, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.78217523069188, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 633.8199885951715, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 608.7021345689394, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1924.8298473394493, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1915.7799105566216, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4426.412134262948, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4776.189209433963, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1180.0748268208092, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.8003633982638583, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9112.908028455284, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8266.942294690265, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1597.6563151565074, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1657.570497949527, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 609.7387534344347, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 503.92964820621194, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.3442037865184, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 222.2139697761683, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 844.1356133061481, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1238420.2429942437, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 118.27420495364181, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 121.32035866404343, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 573.311570937331, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 548.3981848100908, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2586.3148435233156, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2632.7105112299464, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6210.658340588235, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6580.858525806451, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1839.1950747680887, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3955437342059969, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11092.678118947368, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10526.045384374998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2550.4087765789473, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2578.756399234694, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 388.5025667340518, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.8066326095381, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 153.12338330459426, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.5755227839582, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 516.8040601463481, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 697503.6905182449, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 79.0200200487312, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.7546046274505, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.5194328799588, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.02023327373513, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3006.1023123123127, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3044.825061349694, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6531.905419354838, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6745.361476510067, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2123.702919389978, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4968589904207543, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10292.054489795919, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10138.28357142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2892.168448275862, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2961.445697674419, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.0125404496706, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.4068155123915, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.23953403595948, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.13292248164547, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 474.6583086429044, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 684387.6522952446, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.61293128994868, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.0278086355096, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.2443843739658, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.6965637998152, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0daa20c2b1a999968480c2de029514ca00f295ff", + "message": "Bump benchmark from 0.4.13 to 0.4.14 (#291)\n\nBumps `benchmark` from 0.4.13 to 0.4.14.\nUpdates `org.jetbrains.kotlinx:kotlinx-benchmark-runtime` from 0.4.13 to\n0.4.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/releases\">org.jetbrains.kotlinx:kotlinx-benchmark-runtime's\nreleases</a>.</em></p>\n<blockquote>\n<h2>v0.4.14</h2>\n<ul>\n<li>Fixed various issues specific to Kotlin/JS projects <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/292\">#292</a></li>\n<li>Added benchmark name validation for JVM <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/304\">#304</a></li>\n<li>Various build infrastructure updates</li>\n</ul>\n<p><strong>Full Changelog</strong>: <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/compare/v0.4.13...v0.4.14\">https://github.com/Kotlin/kotlinx-benchmark/compare/v0.4.13...v0.4.14</a></p>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/blob/master/CHANGELOG.md\">org.jetbrains.kotlinx:kotlinx-benchmark-runtime's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>0.4.14</h2>\n<ul>\n<li>Fixed various issues specific to Kotlin/JS projects <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/292\">#292</a></li>\n<li>Added benchmark name validation for JVM <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/304\">#304</a></li>\n<li>Various build infrastructure updates</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/1b48530ec3867799ba4e181164b041bb8909a327\"><code>1b48530</code></a>\nRelease v0.4.14</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/d1b82c91ba06e9a65ac7a3a798b91c14872680f0\"><code>d1b82c9</code></a>\nAdd a contribution guideline (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/286\">#286</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/3975c8df593222d397decb4f82e040b6b79f40c9\"><code>3975c8d</code></a>\nCheck if benchmark names are legal Java names on JVM (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/304\">#304</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/f6bffdc7431e10514f5ccb20f1dd180d767af677\"><code>f6bffdc</code></a>\nSupport recent KUP requirements (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/303\">#303</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/4fb9caa40e19bae8a7cb725219f925902f65417f\"><code>4fb9caa</code></a>\nUpdate kotlinx.team.infra plugin (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/300\">#300</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/30391ea398702a3f4edcd766512b31e518c92f0c\"><code>30391ea</code></a>\nFix assorted problems with K/JS projects (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/292\">#292</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/da3e2bbad26f5b531af8c9c39431ca1933ed525b\"><code>da3e2bb</code></a>\nSuppress version warnings on LV override (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/284\">#284</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/64cf96b1ecb334ba307c900b048d2388719b6fe6\"><code>64cf96b</code></a>\nUpdate CHANGELOG.md and guides for 0.4.13</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/3271d049d7b58597c83e04b99d0f5448e46a9dfd\"><code>3271d04</code></a>\nUse nodejs for wasmJs target</li>\n<li>See full diff in <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/compare/v0.4.13...v0.4.14\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `org.jetbrains.kotlinx.benchmark` from 0.4.13 to 0.4.14\n\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-05-17T20:17:20+02:00", + "tree_id": "141e07bcebb32f7d58546b9db893ef96153101e8", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/0daa20c2b1a999968480c2de029514ca00f295ff" + }, + "date": 1747507406899, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3108.1031812166248, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2877.2039882729177, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2956.1848083269165, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2758.498402818378, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1028.649721762676, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1016.5858856140596, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4119.054341449522, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5484763.0075971875, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 714.9395367881855, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 705.8489851870337, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.2099250256256, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.2544509950192, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.04078468258786, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.92756336629316, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 962.968631850111, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 973.8999504793446, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.19969904870305, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17977037088611242, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1361.4124472016308, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1378.3727861235095, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1597.743723028391, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1726.1702128913446, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3999.5720916666664, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4594.186038073394, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1166.2176486643439, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7939941140272067, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7067.489739583334, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7063.7423373134325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1561.4960979623825, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1627.0715652866243, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 623.816143821456, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 585.0891330278278, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.21401966491695, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.82506204436373, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 866.9363750908551, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1273659.8136038873, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.4976490703645, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.129240612666, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 647.9296469711038, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 628.2028694518037, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1118.9883129711752, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1148.4265171098266, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2740.019930081301, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2953.5272648648647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 782.8922261514442, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5420020936550353, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5583.416296666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5045.292153807107, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1058.0821161256545, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1078.7232541036715, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 928.5232004952092, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.0377292519825, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.45427065497313, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.33235626131733, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1266.2222342989003, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1817700.6415453746, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 179.8493325680657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 198.6186646579873, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 948.4770250984342, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 914.7077245471573, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2517.2893226130655, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2816.9701362694295, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7369.568568840581, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9128.368371653543, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2132.0425144208034, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4347585765996391, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12854.018225641026, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12484.223967469883, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2669.3333650289014, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2509.1518343915345, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 398.45310020886626, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 376.3248634597656, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.25235625261098, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 162.26745485436035, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 547.9504696431786, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 750281.2284600906, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.0235921828514, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.23924614930691, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 404.07869042201105, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 397.86534702201413, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2931.6722740524783, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3028.6817365269458, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6382.103860759494, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6711.218133333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2090.2942288557215, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4810088490514788, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10258.489484536081, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10201.369795918368, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2881.119312320917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2869.417457142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.8386698564213, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.5742974783018, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.41675260441252, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.11400576775523, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 479.8262448170364, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 639405.6066339499, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.2791586783248, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.85911239214124, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.0929157944772, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.1635145364627, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6a90c143488c821056c240e6f82da8f00a356b5c", + "message": "Bump de.cketti.unicode:kotlin-codepoints from 0.9.0 to 0.10.0 (#293)", + "timestamp": "2025-05-21T17:16:34+02:00", + "tree_id": "6fde72603c325e9818db794141fd8fadfa9a927e", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/6a90c143488c821056c240e6f82da8f00a356b5c" + }, + "date": 1747842117016, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3134.109023839028, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2903.322868514152, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2967.0314882906705, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2815.97098812217, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1024.197300778715, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1006.9441143962379, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4200.455362249616, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6692132.694627368, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 725.500486064628, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 711.5821574978647, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.0001335319577, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.99703162620483, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.57000735528624, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.0970461141145, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 941.0216922274685, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 986.5274881997518, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.11622319262779, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14462487347397818, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1384.4862687053128, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1374.2324729486902, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1645.5060627677103, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1784.2772222222222, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4002.0931112903227, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4284.924298712446, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1155.2855988425924, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.807437040330019, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7384.832931111111, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7240.142073943663, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1585.2787492012778, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1628.4482907563026, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 613.8515495694733, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 579.9816140319992, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.34888523406772, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 236.69494807379414, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 859.5983346108294, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1239534.7831814857, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 130.4022952697283, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.610357568952, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.3471146907917, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 604.3179939641306, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1810.6233649635037, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2395.9764504702193, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5353.271801010102, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4881.283836263736, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1465.2413436187398, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0071390697640472, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8335.618399115045, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8554.805810091744, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1706.2982156079856, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1780.6865447598252, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 586.6703797315656, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 551.5069921935867, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 233.59046958663217, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 212.23311305141345, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 846.4420914959958, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1229779.1733103886, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 115.73301835992132, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 127.88625603345739, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 594.3910273992457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.5548166899118, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5264.415598095238, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6175.649266115703, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13180.016023456788, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 15367.395845454546, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3090.5236674094713, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2.281025957169708, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13708.941615789474, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14714.566797058822, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3907.528406790124, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3542.4303717948724, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 271.8602412461938, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.90700039899951, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 117.4861061200434, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.49980984458057, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 275.235496080998, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 494972.938449534, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 66.24303844855855, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 59.60542642186833, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 272.9519908315118, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.46016341641683, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2945.0647521865885, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2990.827395209581, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6435.564258064516, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6693.1992, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2091.9360743801653, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.476724967811598, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10221.54494845361, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10002.120721649486, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2871.4382905982907, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2878.9707999999996, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.13053593877356, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.90442853891267, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.16440839224657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.6784237443093, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 468.63302081585545, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 686881.5951361894, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.8206877455415, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.8461618670078, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.8274893382724, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.3432323076797, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "b17bd45ead9bdbf016b0f85dc77f3ccd647ac32d", + "message": "Bump org.jlleitschuh.gradle.ktlint from 12.2.0 to 12.3.0 (#295)", + "timestamp": "2025-05-24T17:50:44+02:00", + "tree_id": "39a5fc68fe0ab3bd8f07abbf8aaf96aecae90ca6", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/b17bd45ead9bdbf016b0f85dc77f3ccd647ac32d" + }, + "date": 1748103379421, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3115.58403554455, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2857.2789576632636, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2975.0168035557062, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2804.319433967642, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1062.1549908455443, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1006.9681603234903, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4151.268412453968, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5917861.487855858, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 728.3541972235615, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 712.4064420143864, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.48524561184166, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.54708838411216, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.981890840815, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 366.9534853223198, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 934.032994469149, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 987.1156929170614, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.82029597282286, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1462362328989748, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1391.0464726148775, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1413.0961993446176, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1640.7036501628668, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1779.9695689165187, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4120.598069709544, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4257.126652340425, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1159.005029883721, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.781428821606233, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7358.076357777779, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7569.166091240875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1597.439602715655, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1696.9446213576157, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 619.2646742080691, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 571.2674692731013, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.4389199313715, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 233.67766966801491, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 827.7043596885418, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1303714.9855137162, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 127.02343722296371, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.16371926023436, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 624.2359733903003, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 596.122507071617, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1079.6682944805193, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1156.6294411363638, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2662.5046212765956, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2938.6362213450293, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 784.9324831652444, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5477751095073288, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5502.0612928961755, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5048.160139795918, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1061.5713985310733, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1096.052418918919, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 930.312816152041, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 884.5366747684706, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.8787007413552, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.57979178723457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1276.7118973469805, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1693893.8418537427, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.7810786258784, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.76980068678603, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 845.8124423087031, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 836.8351594377433, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2496.406665346535, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2654.9261953367877, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6087.016069142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6143.694472670808, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1798.9390169642854, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3321117675295533, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10444.241296938775, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9767.957436633664, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2442.5883043689323, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2473.9853096774195, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 397.6288382269934, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 383.74259203351676, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.60572888627263, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 165.77292687540734, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 557.0095075851266, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 754265.38490582, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.2639414587774, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 102.43223175852798, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 408.2900360398034, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 404.42035148717736, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2956.7235672514626, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3056.6821406727827, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6475.57141025641, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6728.956013513513, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2105.5888655462186, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4795286976519386, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10774.718709677421, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10123.03595959596, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2956.010115606937, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2942.904421364986, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.99492339635526, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.56131253790954, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 153.64944509807566, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.31244125657744, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 474.4594958109421, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 678249.1087363043, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.11632507843248, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.68881862478817, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.8797496912619, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.70467042393295, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a7cec5d85c590447dd2f6c6036c3cc0e8fb870ad", + "message": "Bump com.networknt:json-schema-validator from 1.5.6 to 1.5.7 (#296)", + "timestamp": "2025-05-26T16:52:29+02:00", + "tree_id": "4cda6ca6d3075c55f75d4abbca61cbd8dd938169", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a7cec5d85c590447dd2f6c6036c3cc0e8fb870ad" + }, + "date": 1748272687882, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3041.705738739745, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2941.420300893179, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3014.1133978259068, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2844.756174222567, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1028.511298269024, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 995.6957440448684, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4206.412547817454, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6922393.784014033, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 723.8892772213918, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 720.4780460750202, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.9824942338174, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.92880770367725, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.71407971135307, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.56779874122833, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 933.3282669589735, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 974.6481632981789, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.61816399586752, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14236700163083033, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1386.1217925918818, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1399.5948926595906, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1600.4459281144782, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1768.9300734241908, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4082.0933370370367, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4165.445982786886, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1149.9480664746543, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7922855335010892, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7209.922919444444, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7008.120379710145, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1572.3843623255814, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1620.1943980830672, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.1156584963643, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 566.7280816842352, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.31706832467904, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.93589911397635, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 868.1180187163561, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1264552.8829147469, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.74669410648485, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 135.5229944507877, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.9636689107051, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 581.577393764346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1075.289264412417, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1198.4341588838267, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2742.523156836461, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3286.0391768768773, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 784.0913899999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5425762022362844, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5539.317536813187, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5087.650617821782, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1058.0914950264548, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1073.1678762006402, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 928.7265402162318, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 884.3130797739798, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.3497550531455, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.1918761173042, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1283.6243830621174, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1833209.541641036, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.38237382754582, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 182.82919195305698, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 891.9571573612469, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 876.0876817253742, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2632.5942344262294, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2810.2433790055247, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5982.351807100592, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6550.264529518072, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1870.748999638989, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3795043217968392, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11283.559645054946, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10112.151577227723, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2480.490407635468, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2549.8774533498754, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380.86668482338695, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.7179562248512, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 165.83593958675925, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 159.8013443017153, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 537.4553653335558, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 729126.5422313409, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.15652620527683, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.74021123674387, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 376.5848233638816, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 353.3092390063861, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2963.9876900584795, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3024.6501515151513, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6427.751999999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6753.344391891891, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2171.597198275862, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4706826304950644, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10293.35824742268, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10120.53418367347, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2906.1820579710147, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2905.89226744186, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.01664874373773, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.5639083758945, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.22794919077373, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.0700629426176, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 473.5804499954258, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 668825.2179476051, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.02248978290137, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.05452633149362, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.3076535357054, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.3718030911713, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "21d0b607071562e8d737bd3e635bc763e0add0e3", + "message": "Bump okio from 3.11.0 to 3.12.0 (#297)", + "timestamp": "2025-05-28T14:47:43+02:00", + "tree_id": "647272075fc5e68496a1e3253347c509b950e039", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/21d0b607071562e8d737bd3e635bc763e0add0e3" + }, + "date": 1748438007417, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3068.2244408802503, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2943.1898901408267, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2959.9000878404013, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2735.437426717249, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1076.7261316617466, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1036.0458911399169, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4210.5114786044405, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6512639.929457629, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 725.4083147818781, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 735.194622154568, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.9792412926835, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.89440508498967, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.91813525220766, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 358.7260581690148, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 939.0559692065174, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 974.1930218109425, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 235.47839410987436, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16281336383750397, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1411.42430420981, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1440.3138087966968, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1591.944004730832, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1759.5877137457046, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3849.773496590909, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4109.95396307054, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1137.593261784897, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7901635865843002, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7166.7560816176465, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7139.672369655173, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1545.5439615267173, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1654.5694696284331, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 611.6278991171764, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 569.7423187992874, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 257.20888780503657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.68758689919187, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 868.9704607286374, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1296338.3265514846, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.005583870954, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.82275023598626, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 636.9693412200761, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 608.1844044059357, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1954.2810970948012, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2067.853297630332, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3222.0887668918917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2948.334490643275, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 853.6657879392973, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5640611101869958, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5685.8491969879515, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5070.681861111111, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1076.8027243589745, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1125.09312374269, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 919.8978451289328, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 871.9662094293653, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 368.73336736387193, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.7847792933611, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1243.4267662893076, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1780222.5741599961, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 166.61662389013665, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.97324255363864, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 800.7046771446803, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 829.4049209620702, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6165.301079183673, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4855.460227804879, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11984.924993023256, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 17613.900155696203, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4670.034134615385, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2.3561729557460542, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 24924.398204615383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 19484.90976451613, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5185.923431097561, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4555.13633478261, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 207.01811147940052, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 184.28550696323182, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 110.94392882925858, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 147.09559804653003, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 531.3879164131199, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 744320.4185524989, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.65277652420225, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.46162707527888, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.54615001898145, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 393.90429406792, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3971.042022058824, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4076.841737089202, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9753.69623853211, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9323.746944444445, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2868.293586005831, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.8883637933515616, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13146.703600000003, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12965.879493670885, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3621.8000687285225, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3650.7304761904766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 258.021281567883, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.8161234670992, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 123.00436770065485, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 112.53493447068959, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.6675806171402, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 532588.7986930717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.02370287877527, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 67.63998122478046, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 269.0347791945862, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 275.4285029424831, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d42838617b9a774831bc621ae3c544541fb533cb", + "message": "Bump io.openapiprocessor:json-schema-validator-bom from 2025.2 to 2025.3 (#299)", + "timestamp": "2025-06-09T13:30:54Z", + "tree_id": "d5b1b71f1886c72f8891aa1a91663a73a124edbd", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/d42838617b9a774831bc621ae3c544541fb533cb" + }, + "date": 1749477384204, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3059.9891536955374, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2933.4772773935406, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2966.126413571591, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2772.2808164998814, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1019.7460510485964, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1019.083567382548, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4205.034947820766, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6105143.269504182, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 730.5553240417369, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 713.0456846862676, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.09415987994504, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.0989887639924, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.89604734496504, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.8429181093117, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 954.9061478587267, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 987.1649276091528, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.96314685846068, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1451594717331404, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1374.4980667945433, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1397.5798836357797, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1595.6048733118973, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1729.8735790737567, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4011.5674176245216, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4147.717535655738, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1147.7408918484498, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7752669180174572, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7033.837374999998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7168.85004379562, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1570.2194353582556, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1651.8424372019078, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 631.6307218192433, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 563.7273728748577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 255.79649863931346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.20312060741202, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.5412704590265, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1281062.3429843779, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.8001353736183, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.68540917510214, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.6147422026299, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 594.67258780924, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1102.7775776255708, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1188.017339902081, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2839.574893630573, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3014.904043154762, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 855.0567904687499, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7125008511255189, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8216.699640517241, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8467.601659259259, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1562.6298888888891, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1317.2042702068966, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 571.7371753102427, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 686.4605075264578, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.34114069261557, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.79277547551277, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1177.3533191444085, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1783211.0844118297, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 181.32090001819054, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 196.84520928930544, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 913.4962656138489, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 913.2871830038048, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2636.2486356020945, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2811.101591689008, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6599.627549681531, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7100.912246527778, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2033.8939911111113, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2.0875635461683, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14391.16200869565, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 15024.157051219512, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3433.2328818965516, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3486.2259327586203, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 318.1840133614135, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 283.56815296214694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 124.89054339611182, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 118.79746279947749, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 457.0091548575848, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 654791.4352318088, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 70.73721014205996, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 79.40474469189, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.37164876548235, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.84129513610065, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3039.78131736527, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3151.0043437500003, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6710.483986928104, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6990.136275862069, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2217.6421345707654, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.6319489350031688, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11409.47011235955, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10601.91913043478, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2996.2548348348346, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3020.99650887574, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.41788568945265, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.73826719259876, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.7655228745885, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.4837962928006, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 459.5325922359094, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 671385.9363092679, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.64307983658992, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.68831838719964, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.4521175945148, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.75293661739835, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ed62feeed8fe408e0c59f0692732ad8933e59eb4", + "message": "Bump okio from 3.12.0 to 3.13.0 (#303)", + "timestamp": "2025-06-16T19:34:01Z", + "tree_id": "3990c3e1dae4097f5c30a2ba1e6336cd9d21aaf9", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ed62feeed8fe408e0c59f0692732ad8933e59eb4" + }, + "date": 1750103958091, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3090.7655413334096, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2940.163662421166, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2947.1390140872195, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2824.827083304838, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1046.6463186798435, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1019.3988262026418, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4157.341758100363, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6996913.72614183, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 721.061869706178, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 707.973022101577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 322.30119304708785, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.52409298736586, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.4437222773589, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.6361032634064, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 933.8857255561979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 993.1992912198854, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 236.6082470774119, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15388003938426698, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1443.6838965966485, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1417.6321830957045, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1609.9789949125595, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1715.0394490467938, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3873.73499, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4114.913091393442, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1145.9483473019518, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7788338857174482, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7088.3159078571425, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7034.763997902099, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1565.1147701726843, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1672.6284826599326, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.4037775367234, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 572.480540289466, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 256.05007062560446, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 235.40475758911003, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 873.2672898022962, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1285825.6343121496, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.2470704515799, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.9235426993592, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.5492924736675, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 597.3589681210594, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1351.5890744299672, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1512.556500947226, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4339.3058716279065, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3497.6773226618707, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 864.4295899299475, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.588357592902604, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6031.0822430232565, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6080.406177586207, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1139.8949790921595, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1167.0578042335767, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 741.3947742556518, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 822.79142563071, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.9464744084379, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.0660938082795, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 838.7375802749626, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1350217.7731682777, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 131.5593278995227, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.75675392388447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.3724667872906, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 647.3122958344899, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7541.225563111111, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6791.884743103447, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11173.189510958904, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 16845.461539534885, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4366.067560273973, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3.1023172873735483, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 25279.01317096774, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 26226.061923809524, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7127.065070440252, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7243.397458119657, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 181.74061546038953, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 195.03727717322016, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 64.52439535063677, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 56.24785720793898, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 215.94481753751944, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 316849.6212669887, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 38.901209745173944, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 55.3925136559002, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.9185325782072, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 183.74504814655205, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2988.173215339233, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3042.499030303031, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6543.794415584416, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6780.185135135136, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2137.390917030568, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4909371536000404, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10459.283711340206, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10247.373804347826, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2935.4780538922155, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2924.124852071006, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.553312799707, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.5370739080426, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 151.05676885987583, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.97755254860664, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 418.72976376423856, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 674486.0840876839, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.02280796135486, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.47564012111563, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.77278282978807, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.9413213409447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "39c525c80f6dbc2b6b0eb995229e11c67973c39a", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.19.0 to 2.19.1 (#304)", + "timestamp": "2025-06-16T19:49:41Z", + "tree_id": "fe15b301a48d42166db85762a27f21c5483e039e", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/39c525c80f6dbc2b6b0eb995229e11c67973c39a" + }, + "date": 1750104892182, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2966.8770707202275, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2894.0534654633993, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2910.0672770874044, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2842.8577655224467, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1037.774979576243, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1027.1443278857805, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4208.354892838768, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7017334.704761061, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.3897733635803, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 729.4426582897279, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.1181892845474, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.1001094242248, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.0031741069025, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.1068558673115, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 968.0997295445598, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 983.2272759345557, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.86480664503242, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1645115138093536, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1412.0626817082486, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1381.7479958316947, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1583.4320599056605, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1748.5146830769231, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4000.3251528735636, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4035.8427433198385, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1159.8874593570608, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7873856181225846, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6972.220465925925, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7023.839847619047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1555.0825481832544, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1641.4697313588852, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.8255059717604, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 581.2963337463871, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 256.24854054217815, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.04205081261762, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 853.3402215925489, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1307091.9130280295, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.30734950950563, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.8619603214754, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.2449730647611, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 609.3477359716211, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2711.4289570291776, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2837.552624054054, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6974.6585526315785, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6307.03805, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1475.7411919597987, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0683815906664913, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11360.688781730769, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10740.569325531917, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2165.270761206896, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2132.833679257642, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.9525391607179, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 404.0401284168933, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 211.4286902366489, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 210.78335331700845, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 879.4895328676466, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1374996.1510898261, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 159.90383061965684, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 181.49032260750403, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.8043098363312, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 710.806626653835, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4353.588028417265, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4183.358779508197, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10584.616778861786, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9382.836351724138, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3045.869960869565, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2.3891695263336046, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 17802.152182456142, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 17275.9528, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4325.705981860466, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4184.937821590909, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.70187998537608, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 266.3185399616622, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 166.46707470953157, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 161.2752819858477, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 520.6036117396384, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 725839.7419102272, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 83.82809671471826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.30666689133962, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 379.729721975645, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.54224164725827, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2964.079201183432, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3016.4037160120847, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6445.986623376624, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6799.481275167786, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2106.0372689075625, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4802890566037734, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10218.258775510203, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10027.200699999998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2878.3218965517244, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2899.580893371758, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.5082461275818, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.9065775247, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 156.17326852867006, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 149.51384694151028, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 475.96023988987133, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 678817.5913114165, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.74092048872656, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.53425497754411, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.27516875324903, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.73003013909727, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2981c843ab5ff0e982168ee015ed03136cea3631", + "message": "Bump org.jetbrains.kotlinx.binary-compatibility-validator from 0.17.0 to 0.18.0 (#306)", + "timestamp": "2025-06-27T08:53:29+02:00", + "tree_id": "1a23a02c39d0712499fa97f3e1cb5a580e93df34", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/2981c843ab5ff0e982168ee015ed03136cea3631" + }, + "date": 1751008704267, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3050.09206853334, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2937.436205257255, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.1503271887896, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2763.4675604172917, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1022.834037003872, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1025.2090717070312, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4184.6434758239975, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6372245.7252337, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 731.7857850360188, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.0554528065434, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.73046170847886, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.12356066051103, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.0259151087376, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.8876491743308, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 932.6520297290605, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 987.571648796544, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.02913943813692, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14104442186409072, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1416.7070828130363, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1393.812655288108, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1576.8614651017213, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1710.3724018487396, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3915.0066378378383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4123.110408979592, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1134.707995464853, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7681287525843132, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7063.834716666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6947.244012328767, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1544.2927635384617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1616.336032989691, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 631.737435105453, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 578.5576930584723, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 255.23180431848556, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.59946197393714, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 867.3826753985743, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1312447.8540560312, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.73215207196458, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.84192634290991, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.9618119028868, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 631.0561586022529, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1240.048561253197, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1264.205386299766, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2998.569902393617, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3622.1667411940302, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 871.0543555915723, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6186596534296624, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6328.737126815644, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5574.717427411166, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1187.6740581117024, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1239.155850974026, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 827.6673903759507, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 772.6991770087566, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.1809484978961, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 310.8278327705083, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1174.1300902828839, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1740933.0303411104, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 165.93317160615302, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 181.42674042651726, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 852.224389352816, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 853.2202259198623, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2518.436435264484, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2618.7984000000006, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5772.416290643274, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6074.4954530120485, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1800.5413658759123, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3162071037830558, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10259.404363829786, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9847.418351960787, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2453.73904902439, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2465.1828147420147, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 399.1324054225324, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.61307135585963, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 173.12258825822806, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.34641265836586, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 547.8521604462824, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 747583.2110903118, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.96458471635312, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 102.605963474389, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 410.69862387730166, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 407.5036407210899, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2967.092647058824, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3016.082409638554, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6423.828280254777, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6734.0512, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2139.845369978858, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.679094022881857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10712.425555555556, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10112.377244897962, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2903.1396811594204, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2905.6123342939477, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.94917487380974, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.60791464925745, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 155.8282362253389, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.71250669916577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.5738249250344, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 677142.9780451108, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.10582854120457, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.10979461300914, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.979089983837, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.5888245138068, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "7efcea65098191e566e53251ceec8e54c34a501f", + "message": "Bump io.github.optimumcode:karacteristics from 0.0.5 to 0.0.6 (#311)", + "timestamp": "2025-07-01T21:55:23+02:00", + "tree_id": "47321023a55199dcc105140dbeba1c5425eeee23", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/7efcea65098191e566e53251ceec8e54c34a501f" + }, + "date": 1751401214306, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3037.982492559697, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2972.833511200657, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3006.8383322644186, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2780.991090503342, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1088.4637411039116, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1020.9267750114132, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4126.566665763986, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6680392.710983517, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 731.3627075213083, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 724.8304827128405, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 316.5168094780851, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.3440631742148, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.2701681219502, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 361.4740529902283, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 968.4966707899415, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 995.26839159835, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.8744659283549, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1547470100544912, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1345.3257055577988, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1404.4139947069075, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1575.6129142630746, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1705.8658400332229, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3970.5743767441863, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4110.805530487805, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1139.106964739229, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7810519481285195, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7091.622915277777, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6929.860553424657, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1565.42511950078, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1625.3066496038034, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 628.7324305367291, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 592.7399469344684, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 258.0581786078527, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.0027402125776, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 880.6034380264375, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1298072.2630974527, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.31609040910047, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.241536336422, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 653.3303025698613, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.0309880964923, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1630.1278165009942, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1576.6133845124282, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3831.6107805555557, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5024.306414814814, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 879.9287694533763, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.649124483899328, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6618.3278093023255, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5529.368750555555, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1124.7696328703705, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1236.2531886150234, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 873.6797169721278, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 737.3385352518518, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.6489181477888, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 303.9950629670627, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 813.7913934204811, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1136375.9914242346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 133.75507619625765, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.2367123641128, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 666.2539647667124, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 532.3091927663121, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2532.4057617128465, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2681.3955794666667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5825.695440571429, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6069.999499386502, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1908.0091913957936, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.328103660237395, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10322.986092783505, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10023.779795098038, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2455.3533251833746, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2477.8893476309227, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 401.29950283843755, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 386.09728812521746, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 172.74570733096738, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 159.77378301469943, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 557.7103134237884, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 760380.6792996841, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.16697352603128, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.71012846755235, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 402.11449145051273, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 405.211636723826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.366775147929, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3069.44482428115, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6645.390671140939, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6944.356824324325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2232.5753145336225, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.517892104075316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11143.452417582417, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10771.673736263736, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3039.7396636085623, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3109.2780120481925, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.80769476714454, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.9242566956197, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.3672840065645, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.60779893358352, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 463.33468501053994, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 662875.7752457295, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.21293801776648, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.46510115066584, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.45296905942325, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.68544547274865, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "92bcce407a9e3ed47a119c791876b0a40684cc32", + "message": "Bump okio from 3.13.0 to 3.15.0 (#312)", + "timestamp": "2025-07-02T19:27:34+02:00", + "tree_id": "10d1b3810088992013a62855f4ffda57f595aef0", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/92bcce407a9e3ed47a119c791876b0a40684cc32" + }, + "date": 1751478729276, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3147.0261956966083, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2884.159552148967, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2974.1637477310737, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2840.8054335930437, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1075.4114360184635, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1002.1839968267763, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4185.444873731964, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6989667.045990516, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 717.8330687045268, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 704.7498934717794, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.3794178059982, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.86063712348124, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.2531095561293, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.2282539852225, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 962.7099100662983, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 993.9054311821953, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.5739228376445, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14658169204221871, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1369.0799734254408, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1373.97577666043, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1586.769829113924, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1738.7397137457046, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3930.7849747899163, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4092.1926678861782, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1153.0294198156682, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7904366444947157, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7264.802384827586, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7259.964953793105, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1552.2356104595879, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1574.1818400321542, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.1965847329844, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 584.4316334901628, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.28533281644462, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.67915169947264, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 861.7889837677488, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1297274.7535370942, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.99147267544245, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.990148668931, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 648.4059472885643, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 605.6497399647873, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1358.4837140624998, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1333.7408648284313, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3111.755004664723, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3282.780603056769, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1823.2721627087199, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.6188012942069938, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10480.677513207545, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10793.802597647058, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1681.3737731778426, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2246.5175489051094, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 539.6397715432215, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 495.8562477663207, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 208.2360820410708, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 163.9747835422871, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.2557779365694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 936074.4171640992, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 119.09068220486441, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.4049218071098, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 814.4002866403555, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 552.6488715373706, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3645.8450118081178, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3413.3007118055552, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8438.026904402515, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8287.931589108912, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2690.6074078590786, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.731260632838143, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14026.99016117647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12897.232404597702, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3582.9792868000004, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3427.7440088888893, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 271.76720601551784, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.13910286785506, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 127.2288251975624, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.90967725614682, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 416.5484564182301, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 554984.1295398251, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 79.82339744895708, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 64.26600586409842, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 296.076787760754, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.2927662761591, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2938.53248502994, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3023.798888888889, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6513.308903225807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6831.932432432433, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2121.1210042735047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4768251680842053, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10371.112371134019, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10127.66, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2906.88176300578, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2916.5470028818445, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.92814599494125, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.52356168946545, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.62287310149196, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.93457807136332, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 473.0214550742765, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 678926.4627512885, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.80049933938572, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.41908028114838, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.66800942203724, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.29003117733146, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "34f275efeac54abd2dd04e771a5dab573b09a30a", + "message": "Prepare next version", + "timestamp": "2025-07-05T17:13:37Z", + "tree_id": "7408c33f86227367ac65ec2c3eec2738fb972399", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/34f275efeac54abd2dd04e771a5dab573b09a30a" + }, + "date": 1751737166692, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3071.4641163727856, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2948.241851032785, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2996.1342650777333, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2832.4226323685825, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1061.4935370063024, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1036.2689376208994, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4184.965835992246, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6891675.5743986275, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 721.4041318379687, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 727.2256316555726, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.8976074634957, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.33019823053417, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.27036506349015, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 360.8902110673944, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 958.9859850870205, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 983.8409367368043, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.91293626065084, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14781423692788248, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1373.0040193212792, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1376.19392384531, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1580.1852329581995, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1762.604973153153, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3900.4384876447875, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4052.8196620000003, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1139.9406188552189, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7567931562395614, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7033.223204929578, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6977.776740816325, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1541.350314329738, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1578.2963802861686, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 630.7300457803997, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 562.5596778330753, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 253.91252083341814, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.36103571280879, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 879.3887323779142, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1319099.7333506043, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.25640339088577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.32187163399863, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 652.2908131936788, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 618.6174175178005, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1990.1475225913623, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3585.586772727272, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5606.867571428572, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6163.340153097345, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1662.5636221726193, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6187011828197979, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6117.429471348314, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5551.183226751593, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1145.5231194805194, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1142.3641578609627, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 850.9103970038441, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 813.4080290294967, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.74944563433826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.06105508803694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1204.9104507012416, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1798395.2011542176, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.92083362811186, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.35956917354366, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 694.8688444957996, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 845.3005573214981, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2639.918390501319, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2763.293671038251, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6385.723720245399, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6512.8186512987, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2018.6414913696062, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.384805385677619, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11835.116345054945, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10983.803745000001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2739.50419047619, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3064.002091909385, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 292.91672542211325, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.9379960764843, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.1167886703116, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 117.21230110590018, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.2461592237294, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 507608.7653884179, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 66.89276831176176, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 76.94975041180304, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.02818378934984, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.6506931985263, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2956.4234593023257, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3015.292492492493, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6446.033269230769, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6752.736408450704, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2116.668263598326, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4843660412383761, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10233.85855670103, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10105.526224489795, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2965.7899410029495, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2884.410229885057, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.4553778409777, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.79637031783193, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 155.219105056586, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.17730307990237, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 475.7642377594067, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 680257.5528247149, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.47650745583324, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.94138283137934, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.5018799653084, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.280679959934, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fad4222154ce96131c067a61af805b5f4ffaa472", + "message": "Migrate to vanniktech maven-publish plugin (#315)\n\nResolves #314", + "timestamp": "2025-07-05T18:09:57Z", + "tree_id": "e1dab1f2a44106f39db5a7822438d578bc4c9e2b", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/fad4222154ce96131c067a61af805b5f4ffaa472" + }, + "date": 1751740580423, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3068.4935255685514, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2859.6496863546076, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2959.540120913861, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2774.023283669558, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018.409165352301, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1034.4813684516516, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4158.383829716356, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6765716.295492004, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 717.8627429531655, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 708.6607019051223, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 318.072349326413, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.4329518969674, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.8963458002318, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.30491870281776, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 943.9382891003497, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 984.8608793191603, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.176542698079, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14126116249271584, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1356.3022607517194, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1393.303753224335, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1589.4037974481657, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1703.15162807971, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3852.498938372092, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4088.9040469387755, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1142.611890909091, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.785518770788243, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7204.267681294965, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7428.4397007462685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1553.1978547468354, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1620.5052340869565, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.6801440765123, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 574.0022312703226, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.95296262743395, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.209247180633, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 881.121240284008, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1312003.019759162, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.64442889053606, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.5299171993657, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 639.0329283063694, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 601.7425709051903, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1180.3608387358186, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1330.68789133574, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3019.59146239782, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3271.578870967742, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 861.837648221344, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6155278133039183, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6291.332284662577, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5539.488454861111, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1146.8041156534955, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1150.000330897436, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 863.2531218235241, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 587.3435289521166, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.1202821533235, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 296.33041099709305, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1157.206412391911, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1682341.769694432, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 158.10825888930447, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 176.3291675931691, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.30190324525, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 797.5071907363656, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2638.193218863049, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2657.4531089473685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6041.763730000001, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6129.790882926829, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1864.4342351247603, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.335860901019922, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10490.648991666665, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10274.4225606383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2494.5688039506176, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2500.840408947369, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 392.1165938004723, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 382.8854150355276, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 168.7601624159235, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 157.46835070339966, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 522.0265366867742, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 742529.1769589133, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.87963334153714, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.88198294712136, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.3703005974845, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 366.05409518152067, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2968.4993255131963, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3013.324401197605, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6490.209870967742, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6742.69472972973, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2126.4230720338983, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5208059673277776, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10456.170315789475, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10132.558979591839, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2899.7083768115945, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2879.760260115607, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.48306603558297, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.2233374356583, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 154.6644743177157, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.35873628565668, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 470.7234594400873, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 680943.7781465412, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.36913080175742, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 96.01982786071966, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.9435765125288, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.504115826233, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "70aae86116b2544d46c01de20ea1247c22ea6626", + "message": "Bump org.jlleitschuh.gradle.ktlint from 12.3.0 to 13.0.0 (#316)", + "timestamp": "2025-07-08T16:51:22+02:00", + "tree_id": "6bee0c669c894161ff0682244a20c18a99cef5c1", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/70aae86116b2544d46c01de20ea1247c22ea6626" + }, + "date": 1751987806108, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3023.305466390151, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2959.274259988039, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2941.387953376103, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2812.33547876132, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1004.0520496010225, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1020.5951057019622, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4189.069499341078, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6993794.913872915, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 732.7400158299998, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 717.8502867487375, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.1404877578549, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.8909284622841, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.11689692012294, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 369.50779891711943, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 974.8753847493592, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 982.5816589624095, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.1077545932266, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1461368211514959, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1413.0818340717522, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1390.7304261876022, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1594.6306623824453, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1754.4783242524918, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3894.6361691666666, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4135.798701219513, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1145.2414919409762, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7912299475974146, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7153.057260902255, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7023.901100680271, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1536.2178254263567, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1671.1833083769639, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.892097728867, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 580.7140754340368, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 253.69112404558345, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.12124591075673, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 880.4447097048376, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1289432.9320509501, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.05059024466215, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.7184678597128, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 641.912012680306, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 610.6473981987937, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2626.8754989361705, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1853.788396039604, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3983.7649996721316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7174.221522047244, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1286.353505, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2915247652124147, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8686.297168, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8234.93054065934, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2171.102001669759, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2127.956544264706, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 516.4765250324275, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 486.3992263238808, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 269.86602489894256, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.61119754292463, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 730.6236873482294, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1004019.1946931112, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.10014697729139, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 108.84170056320109, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 391.2152082601636, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 565.8108066124238, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2685.1325734177217, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2971.552535365854, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6706.651651948052, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6692.866896052631, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2029.6050117533716, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4771248151600427, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12986.408047058823, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13447.021912857143, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2987.1138065015484, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3658.316980152672, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.92752891710677, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 267.98297495484024, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 119.6025498956848, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 116.36153912721504, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 425.8780216124545, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 542851.088445665, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 64.30315416020184, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 69.48135235754505, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 253.28314028779127, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 294.620867073216, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2938.154619883041, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3006.0874328358213, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6445.016322580645, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6710.377583892618, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2131.4626226012792, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.518581971007508, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10222.949896907216, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10032.041224489796, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2887.1608645533142, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2900.4754857142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.12608958306754, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.38295286802673, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 153.7160745510691, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.03359912071525, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 476.1904291810555, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 682657.5777356637, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.52981449976058, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.84220379405897, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.75302715738917, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.11264289900856, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "7ebaa485dc7355bf5586d4b1892ca39a71e64630", + "message": "Bump com.networknt:json-schema-validator from 1.5.7 to 1.5.8 (#309)\n\nBumps\n[com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator)\nfrom 1.5.7 to 1.5.8.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/networknt/json-schema-validator/releases\">com.networknt:json-schema-validator's\nreleases</a>.</em></p>\n<blockquote>\n<h2>1.5.8- 2025-06-27</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>upgrade maven-gpg to 3.2.7</li>\n<li>Fix walk with validate when node is null (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1169\">#1169</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>add central-publishing-maven-plugin</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md\">com.networknt:json-schema-validator's\nchangelog</a>.</em></p>\n<blockquote>\n<h1>Change Log</h1>\n<p>All notable changes to this project will be documented in this\nfile.</p>\n<p>This format is based on <a href=\"http://keepachangelog.com/\">Keep a\nChangelog</a>.</p>\n<p>This project does not adhere to <a\nhref=\"https://semver.org/\">Semantic Versioning</a> and minor version\nchanges can have incompatible API changes. These incompatible API\nchanges will largely affect those who have custom validator or walker\nimplementations. Those who just use the library to validate using the\nstandard JSON Schema Draft specifications may not need changes.</p>\n<h2>[Unreleased]</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<h2>1.5.8- 2025-06-27</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>upgrade maven-gpg to 3.2.7</li>\n<li>Fix walk with validate when node is null (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1169\">#1169</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>add central-publishing-maven-plugin</li>\n</ul>\n<h2>1.5.7- 2025-05-23</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>upgrade nexus-staging verison</li>\n<li>Fix OverrideValidatorTest (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1159\">#1159</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>update slf4j to 2.0.17</li>\n<li>update jackson to 2.18.3</li>\n</ul>\n<h2>1.5.6- 2025-02-19</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>Set requires static for optional and excludable dependencies (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1155\">#1155</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>Fix NPE when walking a missing node that will have missing\nproperties (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1152\">#1152</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>Fix relative iris with colons (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1147\">#1147</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>Fix explicit disabling of format assertions (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1145\">#1145</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n</ul>\n<h2>1.5.5 - 2025-01-14</h2>\n<h3>Added</h3>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/d46d11c3c28573e94eb08576672e9323ecd57180\"><code>d46d11c</code></a>\nupgrade to 1.5.8 and update changelog</li>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/a3c0dacf03ffd6390ca1a8003e0d52932836af05\"><code>a3c0dac</code></a>\nupgrade maven-gpg to 3.2.7</li>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/ffe4ca0e5b6c8cedf78b418106e900998dfdbbd3\"><code>ffe4ca0</code></a>\nFix walk with validate when node is null (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1169\">#1169</a>)</li>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/2cd2baa5595e46920d5152c083c82bff0b4ac44a\"><code>2cd2baa</code></a>\nadd central-publishing-maven-plugin</li>\n<li>See full diff in <a\nhref=\"https://github.com/networknt/json-schema-validator/compare/1.5.7...1.5.8\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.networknt:json-schema-validator&package-manager=gradle&previous-version=1.5.7&new-version=1.5.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-07-09T07:40:11+02:00", + "tree_id": "7fdf342329233fedf525f4d8754393a685f93734", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/7ebaa485dc7355bf5586d4b1892ca39a71e64630" + }, + "date": 1752041139512, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3048.7860733233283, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2998.597261875951, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2953.9490792599872, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2762.7376978607126, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1067.7138546556057, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1007.0701219218014, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4086.9345077330718, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5893696.245487303, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 725.6007862385353, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 727.1546501165226, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.1886675597344, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.5411060261608, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.0185266923023, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.11289422813695, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 941.0676006601705, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 984.3640769867354, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.45068766241383, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1522337221728167, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1400.0563732460098, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1395.1506446476947, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1613.1561605220227, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1733.1620908759128, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3906.534679615385, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4092.5168566801613, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1133.4221168786128, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7798968889185235, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7046.430672027973, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7027.662140410959, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1554.5206261467888, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1647.8700508038587, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.6168904834268, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 583.549506179598, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 256.98334606899476, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.70357616525402, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.6653669654106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1293407.7195823037, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.41307150279343, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.90538318583341, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.2270531973476, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 609.1060757619072, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2413.2968935732642, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2217.1981324414714, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5008.767910497238, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6368.26224159292, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1422.37840681431, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2157024837932366, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11177.227410843374, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14314.430384615383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1870.946214035088, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1818.8049757865938, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.7861412251324, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.9420289220269, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 166.11205126623886, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 211.50053918240502, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.8129207664131, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 946757.924341405, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 134.21343957989404, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 124.52768745135413, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 696.6373390760334, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.42255372296677, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2791.533542513369, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2849.580678552279, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7181.789360902256, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8248.004469333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2293.7612332015806, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4387945419691754, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13672.307446590907, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13421.553670491801, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3046.0233447916667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2816.930872887324, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 263.69636851769826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 318.0507004854768, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 125.73911966681688, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.88492896084904, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 460.20390138034253, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 567217.4982199996, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 81.67882971068498, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 59.29348291573581, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 369.5806644430369, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.78523400121287, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3391.658156996587, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3043.011712538226, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6547.658609271524, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6864.697808219178, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2137.5229336188436, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4887773110037605, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10420.100315789476, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10270.355051546392, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2916.2682318840584, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2963.2804692082113, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.57480433209014, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.3148876306366, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 152.78839950645485, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 146.60224696641512, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 470.5750289285148, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 676180.1781215622, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.95229278417017, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.97956389851926, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.2253945810181, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.4195069032358, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ad5ab786b8e4c16e155d2d51db1f3e19b63c4fba", + "message": "Bump org.jetbrains.kotlinx.binary-compatibility-validator from 0.18.0 to 0.18.1 (#317)", + "timestamp": "2025-07-10T22:09:27+02:00", + "tree_id": "637d1be6fafeed2e19b734da44b13fe47d9ba8d1", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ad5ab786b8e4c16e155d2d51db1f3e19b63c4fba" + }, + "date": 1752179711246, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3056.940875732552, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2970.765159287421, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2941.778974702446, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2820.037542502282, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1084.125938230975, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1022.8375864487746, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4242.106425275649, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6957706.539496681, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 709.290910248634, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 714.6293395933966, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 319.12352422624724, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.0666032836722, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.03673403746205, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 360.8972767814713, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 924.2299276320706, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018.8563222406972, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.83711654357847, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14513589872473606, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1395.485309425921, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1385.6250434774133, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1586.8867569823437, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1703.4555421404682, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3875.9464143939394, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4120.286907377049, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1134.3723638009046, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7820754358547439, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7074.2555102040815, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7028.290282222221, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1591.8164866979655, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1644.7019971235193, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.9645308979601, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 581.1399575356261, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 260.38792851376144, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.90005161176185, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 879.5168003238462, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1314297.7853651517, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.72471232861898, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.93010276105989, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 645.6606856005181, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 617.5578761232867, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1511.184790640394, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1412.6762181932245, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3052.9749377976195, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3515.7695999999996, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 931.9695155393052, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.6500337007826176, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6996.562961904763, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 8572.916439062501, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1826.3453202325582, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1586.825125413534, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 738.2954017998029, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 698.4821589536148, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.1580641200111, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 288.93503988221875, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1137.2403084441735, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1669571.7215867473, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 119.9334017945503, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 139.35911182310497, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 890.6903166601708, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 830.8259848511367, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4690.299029957807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4377.506061061948, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12854.059575641024, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11430.316467999999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2871.3727470422536, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.9085903696381972, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 18756.19985138889, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 18746.833226865674, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3853.5520722656247, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3940.923572373541, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 230.89506831020762, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.36907072351818, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 108.87216585768635, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.2180725296823, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.29395478646256, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448277.4255795084, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 56.83411053903408, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 60.439359377967875, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 234.69090025694135, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 257.13469824213746, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2926.6723529411765, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3015.2521515151516, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6394.380448717949, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6724.079597315436, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2132.444129979035, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.4809600718543319, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10296.248367346938, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10484.445000000002, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2911.119277456647, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2883.0319142857143, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.7908142011093, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.38802008229214, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 155.8317118764867, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.57289864721446, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 475.18763826778115, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 682867.3356876184, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.79194227020858, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.64497421810327, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.8954714141073, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.919555500274, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e1943ef2367c3790086bdec3b3c3d38984d3cd4", + "message": "Bump com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin from 0.33.0 to 0.34.0 (#318)", + "timestamp": "2025-07-14T17:23:24+02:00", + "tree_id": "c11287c854b53531fcfab4889066e09d4bb93f98", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/3e1943ef2367c3790086bdec3b3c3d38984d3cd4" + }, + "date": 1752508147930, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3047.3111648929503, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2975.5928719084295, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3039.79129357827, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2769.046619412291, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1031.9186458822219, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1019.4598941675238, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4212.436060100503, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6161566.867832936, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 711.5147079688934, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 709.5032969054934, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.5385596200607, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.4778361159208, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.96480002607626, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.1110511984288, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 927.0741418120977, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 991.3730154294793, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.14753303743615, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.14923334231507676, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1381.5852432810648, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1395.5698533095233, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1587.5511975767367, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1686.7299868907564, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3958.0549192913386, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4085.2501102040815, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1152.7103104215455, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7808466198294449, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7075.850410416667, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7093.1451716216225, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1581.1290779503106, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1631.439217989418, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.5695780092756, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 567.1827509149573, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 255.9478094878886, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.18721913048552, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 885.8452952778391, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1293372.1386943131, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.01445492499118, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 143.0659920859942, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 649.8503667478456, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 593.7354826876139, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2154.702308301158, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2126.0501926097, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6891.0846584415585, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7424.710383419688, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1803.2119639492753, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.2048852007606823, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10639.81768076923, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10717.460238095238, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2590.4246461389966, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2513.605136637931, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.287571993462, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 410.2959105939979, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 171.8491055867882, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 161.8415856455052, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 613.8097303569588, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1029584.438409598, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 87.96123389446943, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 104.17910955939381, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 492.93058778448346, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 515.9092754770475, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4929.240913452915, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5446.625307142857, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11880.674296551724, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12085.881076415095, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3747.7992413127417, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4.573211701637383, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 22528.714233333332, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 21364.84758333333, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4979.714540785499, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4542.052367826088, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 174.00492460580585, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 219.75445684253904, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 77.18775971961497, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 74.96279609286148, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 263.7942365914801, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 400537.21173025, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 56.83457122053333, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 45.15189752266704, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 179.2460790652701, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 222.26288297808983, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2940.364888888889, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3282.6097385620915, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7026.3104964539, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7489.386148148148, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2273.349840546697, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.572384909440288, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11600.818214285713, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11520.224942528735, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3127.45793939394, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3128.75399380805, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 316.8557656773847, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 305.9105757617055, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 144.45522973444338, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 134.05266862067225, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.6979068210964, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638734.4398305479, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.33026933615015, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 87.8197736966321, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.1608413402778, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 320.5024878724717, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ac2b3a33961b4f146a9df1421bde6df4def7bfa4", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.19.1 to 2.19.2 (#320)", + "timestamp": "2025-07-26T06:49:03Z", + "tree_id": "5f77818aa9d347696b350a0f9bf992e020c55d5b", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ac2b3a33961b4f146a9df1421bde6df4def7bfa4" + }, + "date": 1753514072501, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3113.340201546008, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2906.9428437297124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2995.2519091489676, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2800.1740974858035, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1049.1672500039344, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 994.1490450927334, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4175.826928410424, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6874531.789105509, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 742.2938359228906, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 723.271894100861, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.7026935456017, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.7836884527616, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.5324230645193, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.0551620647809, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 958.4345356108033, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 960.6565799978259, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.32139314486872, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15416059653268274, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1398.9545986865016, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1390.0570791410712, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1589.8620679810729, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1684.0928672297298, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3807.100219047619, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4067.6006861788615, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1130.8456520809898, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7932635797899594, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6931.401870547945, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6840.023036619718, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1529.96293129771, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1615.7445109756095, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 627.0170916534507, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 582.8007133215439, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.82226164439038, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.0887691298959, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.7017090301354, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1294921.7421078896, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 140.69953018541545, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.33202025847243, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 635.0955863957304, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.239882824826, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2017.6174315789472, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3308.787690566038, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6202.801268599034, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6049.228275722543, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2703.9617957386363, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1335785635176643, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9461.023267256638, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9690.357571153847, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2374.707085786802, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2256.8470566735114, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 446.27898162359634, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 599.8756737780147, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 230.59097229115133, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 227.43837064702674, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1008.5987781930055, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1243111.4343312993, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.79078849531342, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.49010275933304, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 715.4649967254387, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 805.2301777484215, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2557.2824183417083, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2645.74057513089, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5869.925247126436, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6173.179154374999, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1823.8590709323585, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.337025784342789, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10616.116881914892, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9986.63418252427, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2511.174326884422, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2483.528743031785, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 396.5262978325159, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.9882191914555, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 171.6196503581106, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 162.61615232214058, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 547.4340474736606, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 752552.2941440772, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.64121841919565, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.46352790154823, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 395.6978815927642, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 401.42198273390756, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3311.732156862745, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3281.145903225807, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6978.307569444444, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7262.101428571429, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2494.542567901234, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5740289165930037, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11890.471604938271, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11759.884352941175, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3214.977379310345, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3125.7092452830193, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 314.10346602539005, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 305.99930816723247, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 136.22496597632906, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 138.8952809319068, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 429.8053032839019, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 640814.2098649982, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.82276086436035, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.88918968035702, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.4334431991535, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 314.8652948692687, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e7e90211657624b09706e29cec953adb44c4fec8", + "message": "Bump de.cketti.unicode:kotlin-codepoints from 0.10.0 to 0.11.0 (#321)", + "timestamp": "2025-07-26T07:06:58Z", + "tree_id": "225fc197f6f42979365a8806f9d885ebda91d721", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/e7e90211657624b09706e29cec953adb44c4fec8" + }, + "date": 1753515146684, + "tool": "jmh", + "benches": [ + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3034.213342485124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2876.8234787713145, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2935.2701953592605, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2756.6285671609785, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1091.0885861263448, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1059.0840103163375, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4210.6142963807, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6921298.268816188, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 731.7487836957446, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.9016634100018, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 321.9212924232014, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.88781920155265, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.69218080557994, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.889207971644, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 954.4271917335745, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 970.454447196621, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.45555008577762, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15837750496617464, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1411.1983195957653, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1399.6069187716996, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1599.743076377953, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1748.933953533569, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3880.8431549999996, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4080.6891762096775, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1139.3162399545972, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.7889399113556241, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7070.555445890411, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 7021.576702777778, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1530.271533489828, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1653.283722857143, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.6232905478577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 568.516590111512, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 257.32973125543793, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.8377192333795, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 873.5793468358482, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1299673.0071449608, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.11154903923662, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 141.03543779250214, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 644.5334514299391, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "linuxX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 614.39346024333, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1353.788926463964, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1315.7005138248846, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3032.3524191275164, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3212.757983557047, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 845.6308881668283, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.5829441014821775, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5916.451372784811, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5318.1390131578955, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1176.0789660056657, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1663.4964071668533, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 550.884281718531, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.0630974295038, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.22577104726852, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 261.91926271842414, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 988.2418007260563, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1510008.9075186613, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 123.99754908019577, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 145.9574164412299, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 670.301938697695, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosArm64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 605.8247464354891, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2537.916424875622, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2628.0222931398416, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5906.53335625, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6184.540165789474, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1850.8630129496403, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.3266187032362173, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10538.777254081633, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9933.608609183673, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2494.280358181818, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2485.9571170370373, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 395.70809745923253, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 376.83241310250935, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 170.82669390759628, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 161.85143500747947, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 547.0882063468965, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 750228.3981940853, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.28168709805539, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.68740335224666, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 404.1700089032978, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "macosX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.20314214840994, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2989.581153846154, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3079.7491411042947, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6602.116710526316, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6964.70352112676, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2199.551413043478, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.5237029644877074, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10686.083789473685, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10748.79813186813, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2999.856156156156, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonAvgTimeBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2999.65853372434, + "unit": "us/op", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 329.59697692858623, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 318.47156371359733, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 148.81429672800627, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 142.92999694668777, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.81863043311114, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 558127.4312177418, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 79.4033999777863, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validateVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.30331358069769, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.3864839535628, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + }, + { + "name": "mingwX64.CommonThroughputBench.validate ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.38508810053105, + "unit": "ops/sec", + "extra": "iterations: 10\nforks: undefined\nthreads: undefined" + } + ] + } + ], + "Compare KMP JSON schema validator": [ + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "027c7090217515d8d1845e71f5f1c4a932f0a36a", + "message": "Bump kotest from 6.0.0.M1 to 6.0.0.M2 (#249)\n\nBumps `kotest` from 6.0.0.M1 to 6.0.0.M2.\nUpdates `io.kotest:kotest-assertions-core` from 6.0.0.M1 to 6.0.0.M2\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a\nhref=\"https://github.com/kotest/kotest/commits\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `io.kotest:kotest-framework-engine` from 6.0.0.M1 to 6.0.0.M2\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a\nhref=\"https://github.com/kotest/kotest/commits\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `io.kotest:kotest-runner-junit5` from 6.0.0.M1 to 6.0.0.M2\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a\nhref=\"https://github.com/kotest/kotest/commits\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `io.kotest.multiplatform` from 6.0.0.M1 to 6.0.0.M2\n\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\n---------\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>\nCo-authored-by: Oleg Smirnov <oleg31101996@gmail.com>", + "timestamp": "2025-02-08T15:29:31Z", + "tree_id": "08544e657b223820a9e64f6fad1e29162aaa901a", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/027c7090217515d8d1845e71f5f1c4a932f0a36a" + }, + "date": 1739030094502, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2204.9698915389317, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1990.642739546219, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2297.298847186491, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2265.0868274876857, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 874.8722285239367, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 823.779530636838, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2226.74100236122, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2137.2933801083095, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3011.649182947892, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5765990.463830005, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 606.8385960667154, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 639.2720994162087, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3277.5642399797352, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1744.6106323606236, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3333.426445513295, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 888294.5234933898, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3350.283183173324, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1564.307268477858, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.22610314653829, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.4177497354288, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.83838720698884, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 491.10934637325465, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 440.12006808046374, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 441.002370534812, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1134.7811537839927, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1146.3009313532107, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 433.5294347053338, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 470.82869475701875, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.22912195148547, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.19079295902708748, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1580.063380245897, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1662.3012885736302, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 303.02478194002236, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 569.9561491486968, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.0830981060086, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1024573388091963, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.5837472103807, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.6556684141999, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13432.51145949692, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12174.674277217193, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a03e11595d77f198dce563038371a5d29ca019f7", + "message": "Increase deprecation level to warning (#252)\n\nResolves #228", + "timestamp": "2025-02-08T20:00:26+04:00", + "tree_id": "38bf501a0027d2bffc05154482936de5169f96c9", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a03e11595d77f198dce563038371a5d29ca019f7" + }, + "date": 1739031992730, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2128.3230975446377, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1943.322185876445, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2335.3658221669834, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2165.516868900834, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 890.144657436188, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.3731866949568, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2299.694481963378, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2155.728281863505, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3031.7532321183344, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5696628.507934319, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 575.2931243117577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 609.750975123167, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3297.2583861027606, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1676.4531452695894, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3294.210395915685, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 917625.3895879618, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3344.176877132811, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1546.4196986035333, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 74.30916714820344, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.9557588489645, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 446.5836925425424, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 518.8148382484445, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 433.1052506115819, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 453.5797573208923, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1132.3138291664523, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1134.8253887897536, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 427.1228392272457, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 455.9395199903961, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.0715461077874, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.18167065097742777, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1634.5346992297275, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1555.5383757822044, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.9273243430103, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 586.8569919037639, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 301.6344391128502, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1043657963468392, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 300.5870234475273, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 618.6020410653998, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13185.757875651858, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11800.563351473844, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "54cfb380e3a55bbb8541f9684799370b24d851fd", + "message": "Remove dependency to coroutine core lib (#254)\n\nResolves #239", + "timestamp": "2025-02-08T16:24:07Z", + "tree_id": "8a3be4c5bbe4f240adbfb88e107034f2be93cced", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/54cfb380e3a55bbb8541f9684799370b24d851fd" + }, + "date": 1739033387393, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2191.439262115651, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2051.1120709598463, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2217.026982923298, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2085.709440802105, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 875.3673225947354, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 813.2789263251623, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2288.937471262311, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2241.2797848651608, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3042.479213496622, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4964020.161127383, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 582.6881347615192, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 592.3658222203171, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3349.9757912507966, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1726.6820405519054, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3316.07839959801, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 909482.8621617578, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3354.871731003768, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1584.3547634592242, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.2335772665617, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 79.73926301100961, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.67651405977165, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 488.54378175317515, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 442.98889372931063, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 456.248029554578, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1125.1055335277033, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1153.3147895430843, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 437.1283471975892, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 454.006781992695, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.0765375399495, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.21993868423149032, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1618.2691425360003, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1648.0431410124584, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.13972306983425, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 584.5625021257466, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 305.79837423533945, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.087538928548948, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.5428338998166, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638.9051472598775, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13380.203595365103, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12454.021982247292, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "2a57a29e4f38115da704e683592acf6969e133a8", + "message": "Prepare next version", + "timestamp": "2025-02-09T18:22:10Z", + "tree_id": "427b6c53baeac82cd3c798376bb6257155ddee26", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/2a57a29e4f38115da704e683592acf6969e133a8" + }, + "date": 1739126838494, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2188.3133196135204, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1990.1991168308737, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2274.6869954436957, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2220.267562793507, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 915.1512725050018, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 873.9148799473242, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2288.708616588133, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2226.716536949891, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3084.699765307939, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4899225.98038532, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 637.3818659657866, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 639.9739368857465, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3231.113324240865, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1621.347169997469, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3446.7056473148828, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 834121.6817845928, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3309.115789432234, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1541.070106074718, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.58036097878663, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.22244348426487, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 452.10216626959743, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 493.99646565720576, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 437.2647585393937, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.0494787948728, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1129.7974542469344, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1173.2491852071232, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 437.7994329757965, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 443.57146394269284, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.44564801036773, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.18136058447288614, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1605.5421399638603, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1630.8198210713385, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 311.38876808680277, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 586.5209725125416, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.18077353379357, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1974091119462367, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.5681986241579, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 630.4443387617698, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13210.563086641647, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12259.00201153376, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "01dfc47ff90be248ed45d55970b4c7b2c79107e4", + "message": "Bump kotlin from 2.1.0 to 2.1.10 (#243)\n\nBumps `kotlin` from 2.1.0 to 2.1.10.\nUpdates `org.jetbrains.kotlin.multiplatform` from 2.1.0 to 2.1.10\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/releases\">org.jetbrains.kotlin.multiplatform's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Kotlin 2.1.10</h2>\n<h2>Changelog</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70146\"><code>KT-70146</code></a>\n[KLIB Resolve] Don't fail on nonexistent transitive dependency</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<h3>Tools. Daemon</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73311\"><code>KT-73311</code></a>\n"Unable to release compile session, maybe daemon is already\ndown" flakiness</li>\n</ul>\n<h3>Tools. Gradle</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73728\"><code>KT-73728</code></a>\n'generatePomFileForMavenPublication' creates pom with dependencies with\n'unspecified' version</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/blob/v2.1.10/ChangeLog.md\">org.jetbrains.kotlin.multiplatform's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>2.1.10-RC2</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h2>2.1.10-RC</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/6dff5659f42b0b90863d10ee503efd5a8ebb1034\"><code>6dff565</code></a>\nAdd ChangeLog for 2.1.10-RC2</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5e6f6a655b9efe4aa35387b60143a6c4611e8c2c\"><code>5e6f6a6</code></a>\n[tests] Turned on passing tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/b968b02674e99f3fb423843b27d382f110b25468\"><code>b968b02</code></a>\n[K/N] Skip missing dependencies during cache building</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/8b57d4490f9708a6458c5822a72567778ab1d59c\"><code>8b57d44</code></a>\n[CMP] no metadata annotations on synthetic classes</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/f82abd90b3b1de74a89a10034c2ea843308c8fa2\"><code>f82abd9</code></a>\n[AA] Lazily compute the effective visibility in FIR stub-based\ndeserializer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/618eaff0cdd5dfe40cb37c8fd2c679951d0ff51e\"><code>618eaff</code></a>\n[FIR] Don't render lazy attributes with <code>null</code> value in FIR\nrenderer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5f5af3826c2aca1c43e1644830085db3e1cc6a7d\"><code>5f5af38</code></a>\n[FIR] Remove incorrect fast-path from <a\nhref=\"https://github.com/PublishedAPI\"><code>@​PublishedAPI</code></a>\ncomputation for binary de...</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/435080bbd908b4604c4d6e74696506adeba5f453\"><code>435080b</code></a>\n[FIR] Consider effective visibility of parent class during\ndeserialization</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/05e92d4ee57784037b6eb759705b2ab58653cc7f\"><code>05e92d4</code></a>\n[Test] Reproduce KT-74040 in AA tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/c49acfbcb1262d58ef541340e8f29043665d2e62\"><code>c49acfb</code></a>\n[Test] Render <code>isPublicApi</code> attribute in AA tests</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `org.jetbrains.kotlin.plugin.serialization` from 2.1.0 to 2.1.10\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/releases\">org.jetbrains.kotlin.plugin.serialization's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Kotlin 2.1.10</h2>\n<h2>Changelog</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70146\"><code>KT-70146</code></a>\n[KLIB Resolve] Don't fail on nonexistent transitive dependency</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<h3>Tools. Daemon</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73311\"><code>KT-73311</code></a>\n"Unable to release compile session, maybe daemon is already\ndown" flakiness</li>\n</ul>\n<h3>Tools. Gradle</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73728\"><code>KT-73728</code></a>\n'generatePomFileForMavenPublication' creates pom with dependencies with\n'unspecified' version</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/blob/v2.1.10/ChangeLog.md\">org.jetbrains.kotlin.plugin.serialization's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>2.1.10-RC2</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h2>2.1.10-RC</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/6dff5659f42b0b90863d10ee503efd5a8ebb1034\"><code>6dff565</code></a>\nAdd ChangeLog for 2.1.10-RC2</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5e6f6a655b9efe4aa35387b60143a6c4611e8c2c\"><code>5e6f6a6</code></a>\n[tests] Turned on passing tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/b968b02674e99f3fb423843b27d382f110b25468\"><code>b968b02</code></a>\n[K/N] Skip missing dependencies during cache building</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/8b57d4490f9708a6458c5822a72567778ab1d59c\"><code>8b57d44</code></a>\n[CMP] no metadata annotations on synthetic classes</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/f82abd90b3b1de74a89a10034c2ea843308c8fa2\"><code>f82abd9</code></a>\n[AA] Lazily compute the effective visibility in FIR stub-based\ndeserializer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/618eaff0cdd5dfe40cb37c8fd2c679951d0ff51e\"><code>618eaff</code></a>\n[FIR] Don't render lazy attributes with <code>null</code> value in FIR\nrenderer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5f5af3826c2aca1c43e1644830085db3e1cc6a7d\"><code>5f5af38</code></a>\n[FIR] Remove incorrect fast-path from <a\nhref=\"https://github.com/PublishedAPI\"><code>@​PublishedAPI</code></a>\ncomputation for binary de...</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/435080bbd908b4604c4d6e74696506adeba5f453\"><code>435080b</code></a>\n[FIR] Consider effective visibility of parent class during\ndeserialization</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/05e92d4ee57784037b6eb759705b2ab58653cc7f\"><code>05e92d4</code></a>\n[Test] Reproduce KT-74040 in AA tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/c49acfbcb1262d58ef541340e8f29043665d2e62\"><code>c49acfb</code></a>\n[Test] Render <code>isPublicApi</code> attribute in AA tests</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `org.jetbrains.kotlin.plugin.allopen` from 2.1.0 to 2.1.10\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/releases\">org.jetbrains.kotlin.plugin.allopen's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Kotlin 2.1.10</h2>\n<h2>Changelog</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70146\"><code>KT-70146</code></a>\n[KLIB Resolve] Don't fail on nonexistent transitive dependency</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<h3>Tools. Daemon</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73311\"><code>KT-73311</code></a>\n"Unable to release compile session, maybe daemon is already\ndown" flakiness</li>\n</ul>\n<h3>Tools. Gradle</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73728\"><code>KT-73728</code></a>\n'generatePomFileForMavenPublication' creates pom with dependencies with\n'unspecified' version</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/JetBrains/kotlin/blob/v2.1.10/ChangeLog.md\">org.jetbrains.kotlin.plugin.allopen's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>2.1.10-RC2</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73858\"><code>KT-73858</code></a>\nCompose / iOS: NullPointerException on building</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-74040\"><code>KT-74040</code></a>\nCompilation of inner class usage does not check the visibility of parent\nclass during compilation in different rounds</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://issuetracker.google.com/issues/381407900\"><code>b/381407900</code></a>\nAvoid adding Compose annotations on synthetic classes</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h2>2.1.10-RC</h2>\n<h3>Compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73454\"><code>KT-73454</code></a>\nK2: Fix type parameters mapping for typealiases with inner RHS</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73043\"><code>KT-73043</code></a>\nK2 Compiler does not allow references to inner constructors with\ntypealiases</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73339\"><code>KT-73339</code></a>\nK2: "VerifyError: Bad type on operand stack" because of\nmissing implicit cast on generic field receiver with star\nprojection</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72585\"><code>KT-72585</code></a>\nK2: Compilation failure when upgrading to Kotlin 2.0.20+: Cannot replace\ntop-level type with star projection: S</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73399\"><code>KT-73399</code></a>\ncompile-time JVM codegen failure on a KProperty argument of a\nKSuspendFunction parameter</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-72725\"><code>KT-72725</code></a>\nKMP: Unsupported actualization of inherited java field in expect\nclass</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73153\"><code>KT-73153</code></a>\nK2: Standalone diagnostics on type arguments are not reported</li>\n</ul>\n<h3>Compose compiler</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/CMP-5680\"><code>CMP-5680</code></a>\nCompose compiler: unexpected stability warnings for classes compiled\nwith 2.0.10</li>\n</ul>\n<h3>IR. Inlining</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73981\"><code>KT-73981</code></a>\nCherry-pick the fix for KT-73482 to 2.1.10</li>\n</ul>\n<h3>JavaScript</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-58797\"><code>KT-58797</code></a>\nOptimize the code generated for objects on JS and Wasm backends</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-70778\"><code>KT-70778</code></a>\nKotlin Js companion is undefined in production build</li>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73130\"><code>KT-73130</code></a>\nKJS: Missed <code>break</code> for do/while in generated JS code</li>\n</ul>\n<h3>Klibs</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73951\"><code>KT-73951</code></a>\nWorkaround for "Partial linkage engine may not patch some\ndiscrepancies in IR when compiling Kotlin/Native static caches" in\n2.1.10</li>\n</ul>\n<h3>Native</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73559\"><code>KT-73559</code></a>\nK/Native: AndroidNativeArm64 linking fails starting from Kotlin\n2.1.0</li>\n</ul>\n<h3>Tools. CLI</h3>\n<ul>\n<li><a\nhref=\"https://youtrack.jetbrains.com/issue/KT-73967\"><code>KT-73967</code></a>\nJDK 25: "IllegalArgumentException: 25-ea" with EA builds</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/6dff5659f42b0b90863d10ee503efd5a8ebb1034\"><code>6dff565</code></a>\nAdd ChangeLog for 2.1.10-RC2</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5e6f6a655b9efe4aa35387b60143a6c4611e8c2c\"><code>5e6f6a6</code></a>\n[tests] Turned on passing tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/b968b02674e99f3fb423843b27d382f110b25468\"><code>b968b02</code></a>\n[K/N] Skip missing dependencies during cache building</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/8b57d4490f9708a6458c5822a72567778ab1d59c\"><code>8b57d44</code></a>\n[CMP] no metadata annotations on synthetic classes</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/f82abd90b3b1de74a89a10034c2ea843308c8fa2\"><code>f82abd9</code></a>\n[AA] Lazily compute the effective visibility in FIR stub-based\ndeserializer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/618eaff0cdd5dfe40cb37c8fd2c679951d0ff51e\"><code>618eaff</code></a>\n[FIR] Don't render lazy attributes with <code>null</code> value in FIR\nrenderer</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/5f5af3826c2aca1c43e1644830085db3e1cc6a7d\"><code>5f5af38</code></a>\n[FIR] Remove incorrect fast-path from <a\nhref=\"https://github.com/PublishedAPI\"><code>@​PublishedAPI</code></a>\ncomputation for binary de...</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/435080bbd908b4604c4d6e74696506adeba5f453\"><code>435080b</code></a>\n[FIR] Consider effective visibility of parent class during\ndeserialization</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/05e92d4ee57784037b6eb759705b2ab58653cc7f\"><code>05e92d4</code></a>\n[Test] Reproduce KT-74040 in AA tests</li>\n<li><a\nhref=\"https://github.com/JetBrains/kotlin/commit/c49acfbcb1262d58ef541340e8f29043665d2e62\"><code>c49acfb</code></a>\n[Test] Render <code>isPublicApi</code> attribute in AA tests</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/JetBrains/kotlin/compare/v2.1.0...v2.1.10\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-02-10T13:41:52Z", + "tree_id": "58a4aca057de96f8fd80425e7f22d82521e0d781", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/01dfc47ff90be248ed45d55970b4c7b2c79107e4" + }, + "date": 1739196539519, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2168.990722211768, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2043.7748299495731, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2264.0634338484915, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2229.8421884404593, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 883.4282244146119, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 807.5708623844512, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2219.329132360047, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2215.5794062490577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3099.397662080885, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5642983.897344913, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 598.7548428115115, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.0734890627305, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3205.239703279868, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1678.4315883289266, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3354.262870038674, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 920726.6161817478, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3284.7431894104893, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1520.2601443186352, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.69249428511597, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 81.60310943495477, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.88553269190834, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 504.68019348660437, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 433.230656239078, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 454.4642839011719, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1124.098095038722, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1169.1622858208282, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 434.1780861137614, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 442.52090247329386, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.8445969541656, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1787516797899165, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1557.7396407791798, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1632.3499841345629, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 301.32463138782884, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 569.9579309394437, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 295.3145547454778, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1905188354990175, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.9323045353392, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 648.2683553006943, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13102.612745543123, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12268.40175596478, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "74086e8c84ea4624b1a67e6bce35d03ab21264bc", + "message": "Bump io.github.optimumcode:karacteristics from 0.0.3 to 0.0.4 (#255)\n\nBumps\n[io.github.optimumcode:karacteristics](https://github.com/OptimumCode/karacteristics)\nfrom 0.0.3 to 0.0.4.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/OptimumCode/karacteristics/releases\">io.github.optimumcode:karacteristics's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Release 0.0.4</h2>\n<h2>📦 Uncategorized</h2>\n<ul>\n<li>Bump graphql from 8.1.0 to 8.2.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/14\">#14</a></li>\n</ul>\n</li>\n<li>Bump com.squareup:kotlinpoet from 1.18.1 to 2.0.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/15\">#15</a></li>\n</ul>\n</li>\n<li>Bump graphql from 8.2.0 to 8.2.1\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/16\">#16</a></li>\n</ul>\n</li>\n<li>Bump org.gradle.toolchains.foojay-resolver-convention from 0.8.0 to\n0.9.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/20\">#20</a></li>\n</ul>\n</li>\n<li>Bump org.jetbrains.kotlinx.binary-compatibility-validator from\n0.16.3 to 0.17.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/21\">#21</a></li>\n</ul>\n</li>\n<li>Bump ncipollo/release-action from 1.14.0 to 1.15.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/23\">#23</a></li>\n</ul>\n</li>\n<li>Bump graphql from 8.2.1 to 8.3.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/24\">#24</a></li>\n</ul>\n</li>\n<li>Bump codecov/codecov-action from 4 to 5\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/17\">#17</a></li>\n</ul>\n</li>\n<li>Bump kotlin from 2.0.21 to 2.1.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/18\">#18</a></li>\n</ul>\n</li>\n<li>Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to\n1.8.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/22\">#22</a></li>\n</ul>\n</li>\n<li>Bump com.github.ajalt.clikt:clikt from 5.0.1 to 5.0.2\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/19\">#19</a></li>\n</ul>\n</li>\n<li>Bump kotest from 6.0.0.M1 to 6.0.0.M2\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/26\">#26</a></li>\n</ul>\n</li>\n<li>Bump kotlin from 2.1.0 to 2.1.10\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/25\">#25</a></li>\n</ul>\n</li>\n<li>Bump com.github.ajalt.clikt:clikt from 5.0.2 to 5.0.3\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/27\">#27</a></li>\n</ul>\n</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/46ee986c2462f72af6ab985c3fe95ee9e1d0e718\"><code>46ee986</code></a>\nBump com.github.ajalt.clikt:clikt from 5.0.2 to 5.0.3 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/27\">#27</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/2e77bdc632b111d9a7be7323cc8fa0c7cccdd968\"><code>2e77bdc</code></a>\nBump kotlin from 2.1.0 to 2.1.10 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/25\">#25</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/d14e99d40f98440e4deacf30ac1a0aecda534061\"><code>d14e99d</code></a>\nBump kotest from 6.0.0.M1 to 6.0.0.M2 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/26\">#26</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/b182b4468a01985f6b5a526cbec6bc0c1e4b1993\"><code>b182b44</code></a>\nBump com.github.ajalt.clikt:clikt from 5.0.1 to 5.0.2 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/19\">#19</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/5bc119b56704d6a7c269309a850c1c310ec23ba1\"><code>5bc119b</code></a>\nBump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.3 to\n1.8.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/22\">#22</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/0ddfaee5075c372286352b261f9cff4d6ad9d3eb\"><code>0ddfaee</code></a>\nBump kotlin from 2.0.21 to 2.1.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/18\">#18</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/a5a184b9e402827f0d98bc3373b5743a8029adfb\"><code>a5a184b</code></a>\nBump codecov/codecov-action from 4 to 5 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/17\">#17</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/3e16b01d91292dacd7fa5aadb05bb6edf1904b56\"><code>3e16b01</code></a>\nBump graphql from 8.2.1 to 8.3.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/24\">#24</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/228216667ae00538497cfa02c9b2e4f55eac9780\"><code>2282166</code></a>\nUpdate pr-compliance-check.yml</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/26da953040b57a1ba7344dd7d596b1a763e60785\"><code>26da953</code></a>\nBump ncipollo/release-action from 1.14.0 to 1.15.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/23\">#23</a>)</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/OptimumCode/karacteristics/compare/0.0.3...0.0.4\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=io.github.optimumcode:karacteristics&package-manager=gradle&previous-version=0.0.3&new-version=0.0.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-02-10T17:32:15+03:00", + "tree_id": "7e8839342aa273dc6304678f588f81f7504ed9a8", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/74086e8c84ea4624b1a67e6bce35d03ab21264bc" + }, + "date": 1739199553162, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2227.351807665793, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1994.481142552901, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2283.5433463696504, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2178.316227273961, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 885.9720105460962, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 816.4000509544052, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2273.7018481325513, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2260.7835490963575, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3015.3888170076134, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5698390.389414347, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 608.5749309629731, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 623.9044596490097, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3345.6331747397694, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1719.482700591359, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3349.405380276613, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 931902.0820888386, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3347.186554740194, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1536.8878071199624, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 74.79184970677889, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.97114623458998, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.3400203188279, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 479.8214462246486, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.32939093788093, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 457.74631161303597, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1158.2782880186999, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1201.6449264099651, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 440.63392062879063, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 459.48345483421383, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.00661172138064, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.18035507996339115, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1558.560197177127, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1594.022279451755, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 306.27110753547794, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 584.1294752734645, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 289.27375411142145, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0978560030045559, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 292.19687724945425, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 673.3211913360888, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13523.299884864866, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11668.141613735239, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2fe1c0bd8b9433968ab91268e3cd872fe01eaff4", + "message": "Bump com.networknt:json-schema-validator from 1.5.5 to 1.5.6 (#258)", + "timestamp": "2025-02-20T12:43:11Z", + "tree_id": "8c440aad917caad342dfc9d4f84e47d8e69722e4", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/2fe1c0bd8b9433968ab91268e3cd872fe01eaff4" + }, + "date": 1740056952501, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2193.8305711515427, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2034.9668846462114, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2266.7220119618364, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2240.2322924173864, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 899.9205520475995, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 808.9898690819125, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2322.482610925865, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2206.9929933534863, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3027.5437957096124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5498369.371944456, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 621.1850658525045, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 641.4031490209311, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3266.7329791293, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1706.6666932731987, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3377.2604309671005, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 931165.7994790452, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3358.3507206362374, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1624.64306205419, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 75.80588367088879, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 81.03746032739816, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 453.3390866304306, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 507.9290471192982, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 422.50420753047473, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 436.0652476305989, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1128.7711900079762, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1200.338540506315, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 439.6752546331005, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.8432219861178, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.3234932826264, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.18019486099744392, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1615.7964795995656, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1650.6151647500915, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 296.9461628929671, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 579.6866611904645, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 313.26524885169977, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1172898792740253, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 293.03132202147845, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 625.8415307994273, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13887.473367261293, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12128.958419869023, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a9702a2eebd52443a4170e3163187216d3797bbb", + "message": "Bump io.gitlab.arturbosch.detekt from 1.23.7 to 1.23.8 (#259)", + "timestamp": "2025-02-21T13:54:17+01:00", + "tree_id": "7bfe81c08909ea4352144fd19fc3a0c76783b882", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a9702a2eebd52443a4170e3163187216d3797bbb" + }, + "date": 1740144049231, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2220.364075199924, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2083.0209526190524, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2282.2246132509035, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2192.0432931308164, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 845.2276216154493, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.2021048199385, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2297.095698888768, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2252.8855075540037, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3077.3068058631006, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5150300.364047687, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 623.5266261025744, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 607.9012149239708, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3384.474718101291, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1600.7716385424026, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3231.9610546927606, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 828988.3836478245, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3273.4109660211607, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1557.2659818053899, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.1283475767198, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 84.88363461184191, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.64864577368337, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 506.99109861419583, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 419.77563763244115, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 455.9309108315665, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1146.0463199613487, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1226.4734268901652, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.2180157119181, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.4538875339566, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 323.6478713872427, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1694503567364259, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1552.3089309348418, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1551.265015069297, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 317.1924814913262, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 573.6566412599135, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 299.6881751324595, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1955717647455697, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.46909626188466, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 637.6180844548287, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13230.00115606881, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12426.46220422114, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6ff166c42e4ab0e4b4e26a5a9b54a1095ca0e276", + "message": "Bump org.jlleitschuh.gradle.ktlint from 12.1.2 to 12.2.0 (#262)", + "timestamp": "2025-02-28T13:06:01Z", + "tree_id": "c45b25b4706ae8b807eeb7334931a76df37188e5", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/6ff166c42e4ab0e4b4e26a5a9b54a1095ca0e276" + }, + "date": 1740749473051, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2236.409519140804, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1995.300149990117, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2227.9880433754083, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2188.912332590647, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 865.4217270481255, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 849.8275787971801, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2283.301495438802, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2243.73009650394, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3008.4226328036593, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4930264.627735321, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.0278539329545, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 599.3726714025099, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3275.3334145321596, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1774.13642278903, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3290.667842958255, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 919596.7154987592, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3328.9818915355027, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1591.3790749022303, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 75.69224785355634, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 83.7430767129522, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 455.7854045754285, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 508.6706685018131, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.6781326024326, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.0749111160906, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1122.8292937443262, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1236.2804879583014, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.9303657323991, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.0255396068069, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.37863881045075, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1855540108597561, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1599.5887807856498, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1666.8115858435006, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 300.6550457082841, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 595.6323766859484, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 295.4202234839979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0889361514599984, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 304.059367165166, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.2658868038432, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13246.010918595213, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11918.515313571428, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "20ad1678c3b588bf2ee004b8c4a2e1838b6fb2b5", + "message": "Add module to wrap kotlin objects for validation (#197)\n\nResolves #194", + "timestamp": "2025-03-01T15:52:53Z", + "tree_id": "9b98713b494e52f78c93a9f49fb4160ff69128cd", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/20ad1678c3b588bf2ee004b8c4a2e1838b6fb2b5" + }, + "date": 1740845954198, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2215.6879253567845, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2004.6010288915393, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2268.955409168453, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2215.8183118164734, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 912.8041918974368, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 869.8089895910658, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2258.707275069394, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2174.015368212999, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3061.0065308212347, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5780685.617629394, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.9441182616449, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 611.6060185337482, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3281.7363854639357, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1703.8229421910648, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3379.3498133561384, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 921503.3053440932, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3326.0181086543503, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1565.2117600007718, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 75.79301946644901, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.06103765547576, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.4841136605095, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 497.06119266790245, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.3346755111396, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 456.01052950070806, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1103.012497799894, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1188.4496868511935, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 440.8342128122452, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 463.0683757067678, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.8429534757979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17541175720212904, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1560.852330829354, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1636.69701965071, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 302.85575267841295, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 572.3202783040341, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 286.7694967083566, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0873718877110012, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 303.14464662388525, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 638.3707684194749, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13659.344972306553, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12003.50389333789, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "distinct": true, + "id": "7178ca36119844701b56f5fd03de67e27124d868", + "message": "Increment minor version", + "timestamp": "2025-03-01T17:19:17+01:00", + "tree_id": "eb3d4ac4969fc7cc455618a0e12ddd31482af1da", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/7178ca36119844701b56f5fd03de67e27124d868" + }, + "date": 1740847602308, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2221.342908328803, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2009.5950444744133, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2261.1534104141515, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2086.586828673958, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 854.6271149009674, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 858.4190862957228, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2224.9464676185803, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2205.4475945205245, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3053.5613086236417, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3835992.111662794, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 620.4107334520745, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 650.5977262009494, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3321.5737226814913, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1747.6071958140922, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3327.981672223769, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 915000.5949507182, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3412.333466573046, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1588.6865562514463, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.83124255448533, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 81.09853261236614, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.0501268742599, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 493.00496757548274, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 429.38327643690934, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 462.88884520060935, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1111.626928296496, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1210.3163844373828, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 431.7893512245149, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.0637997110979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 326.92136915838216, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17550695941425282, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1637.3041725174035, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1662.1797896821306, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 305.05696365944294, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 585.5972570489982, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 297.98330791264567, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.206875273225697, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 299.26965479137056, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.6940473996515, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13482.30077264865, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12032.135602997707, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "8570240b8bc0c4ff2a4b6c0000a7167c144e458a", + "message": "chore: hide deprecated API (#263)\n\nResolves #253", + "timestamp": "2025-03-02T09:05:54Z", + "tree_id": "a9bc8155051499f1402113407dccfb79f8d4541c", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/8570240b8bc0c4ff2a4b6c0000a7167c144e458a" + }, + "date": 1740907902908, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2148.1505783765524, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2054.605153101821, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2249.3586140494126, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2149.0406310062544, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 909.311620867863, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 870.1453842456646, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2276.9221123696207, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2183.906275968872, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3037.4125941874495, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5515318.908759304, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.1894331928341, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 606.120421593909, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3263.4210222888114, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1752.579350118768, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3362.110524994594, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 922456.2712184794, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3403.9640247684447, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1550.1685751213395, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 76.14314454183878, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 83.73393263192025, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.4614433563226, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 500.0402182400218, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 438.8071569918558, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 455.13267300050376, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1197.1373351787279, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1217.645981625178, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.211885240525, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 435.37615316180984, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.360985506417, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.20000808317028956, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1558.3538712405027, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1680.0154117744794, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 299.99812466953347, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 592.2373600693286, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 299.03936985711346, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.114490972052738, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 295.75928340433427, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.8934485764631, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13313.822435439735, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12046.83161468592, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "distinct": true, + "id": "34ba3baba51fe5f3e776f54fc7e60a1064374b82", + "message": "Increase Xmx for build", + "timestamp": "2025-03-02T10:17:59+01:00", + "tree_id": "6e4bf343ff9053a2e318014cc5a815d321a45fea", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/34ba3baba51fe5f3e776f54fc7e60a1064374b82" + }, + "date": 1740908675529, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2217.514797573423, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2077.2607941048873, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2260.1011789301747, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2128.4252948400763, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 867.1337791495577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 816.5950907131412, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2274.688036024884, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2217.9550844986816, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3067.1770041915383, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4969620.932073211, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 653.3182778628258, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 593.601139745728, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3276.991103349427, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1683.886622916149, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3227.587763978142, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 904976.8241903859, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3207.0483376503507, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1535.2610224587856, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.41853769872982, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.05920576593671, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 466.08351796126624, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 492.3268117208454, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.1158800888992, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 452.9193172276414, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1116.3753618467892, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1195.5509310349912, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 426.3352654862124, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 453.9694295435523, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.20019161523845, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.21172197087875455, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1584.0399807040644, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1620.0788367257944, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.5500608741621, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 611.0091016912493, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 292.8339292517262, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.086034919871528, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 293.35801475308045, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 633.1544988808672, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 14025.214294673871, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12215.882762213807, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1082f5520c05f0c906512848c7a1a58881af2dac", + "message": "chore: move common logic into conventional plugin (#267)\n\nResolves #266", + "timestamp": "2025-03-02T18:14:24Z", + "tree_id": "a7546c382772f22da2bdcbbf39c4bcc67a342935", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/1082f5520c05f0c906512848c7a1a58881af2dac" + }, + "date": 1740940874578, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2235.0689100746304, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1963.0297413309556, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2308.0558275422527, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2132.1609293962647, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 900.1736965928634, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 775.5841615375431, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2267.328801797687, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2312.8704189664786, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2971.1621561770803, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4555626.931576787, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.2971744983553, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.5280468249791, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3244.0689445045655, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1739.8294120502146, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3318.2000312093414, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 843399.4657611061, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3261.4480710700177, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1575.8836099520588, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 74.45740673896782, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 83.14887793168938, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.75058208493084, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 493.3253528033555, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 429.57616000887583, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 448.08433593709407, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1122.7772067572762, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1225.6359619261502, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.81184121775294, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 443.70124507082147, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 327.36285777689903, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.19132952076523427, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1591.7244959896711, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1574.4964509492006, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 309.02775191561307, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 586.6124331487081, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.01317824056434, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1313675207447393, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 299.8834454204239, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.8107262432778, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13702.556313606072, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12245.371974289754, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fc0996cf296572eb2a65b6458db046732557ea92", + "message": "enhancement: add BOM module (#268)\n\nResolves #265", + "timestamp": "2025-03-02T18:34:44Z", + "tree_id": "b3c267a94dde63dff60f40e7ebf3d1f82d6168cf", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/fc0996cf296572eb2a65b6458db046732557ea92" + }, + "date": 1740942084057, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2235.593429481192, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1950.0554488559756, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2292.37743137135, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2184.886704345971, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 889.5108794912406, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 844.9676907371786, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2235.984220522415, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2162.37103448862, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3099.0672383618466, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5336113.4789227005, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 629.381716215117, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 622.052927699326, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3311.389682427286, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1703.898247879617, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3397.2656097253794, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 909878.2699080303, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3286.2871339375984, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1536.458055736069, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 74.11840712145494, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.73580502049985, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 451.63568807275885, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 500.40537393305993, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 435.4034599377048, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.8368974578634, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1099.7577044564352, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1324.6339328918564, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 439.89557926837614, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.90957129729276, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.78344798920523, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17243916039295829, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1585.6268986793325, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1626.978247781988, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 293.36294092928597, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 596.2158647426743, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 293.28007453710813, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0983270996464582, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 303.8484779164902, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 646.8559433716641, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13048.223410198134, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12229.746802791653, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ef3f281ccdebf3d205073317f63a89dc39bccd59", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.18.2 to 2.18.3 (#269)", + "timestamp": "2025-03-03T13:24:54Z", + "tree_id": "246b798f5de96f9a3bad647c0d7f7b1414c86ab3", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ef3f281ccdebf3d205073317f63a89dc39bccd59" + }, + "date": 1741009872581, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2238.809962705837, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1975.4543037164963, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2269.329057800831, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2161.292721813599, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 888.4018125021928, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 836.3065242535598, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2300.7380458308608, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2180.357857844835, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3016.013483519734, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4764483.316512891, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 626.025800944689, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 598.6506189146254, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3175.1226129416345, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1687.9233141165034, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3115.6719313093804, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 917854.3474457588, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3364.8116465797584, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1570.4715666732484, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 72.67797518637697, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.00972296156377, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 450.1014445125526, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 492.6503827578079, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 447.2031050656192, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 441.6881407911389, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1119.1941849308755, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1191.0627603773114, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 442.0987512509331, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 445.8250620315872, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.37180675412407, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1762314711763979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1634.792256658998, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1653.482988298175, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.00972118103914, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 594.0390310369296, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 298.46918579310733, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0873241958511728, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 295.54207198946324, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 636.9183221812348, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13366.407158017546, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12579.341837096812, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "07e1a1b848761d845219ad20ac7fd1c92080f6fd", + "message": "Update gradle to 8.13 (#270)", + "timestamp": "2025-03-03T17:44:25Z", + "tree_id": "c8aede31c7a36c193da1e096b0b6a5825c09d79b", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/07e1a1b848761d845219ad20ac7fd1c92080f6fd" + }, + "date": 1741025545233, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2170.5125341739517, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2014.863357138048, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2215.962053981501, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2246.927675488914, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 860.2538481750304, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 827.908092395847, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2206.2923030790125, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2258.520573900912, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3073.9617824912293, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5461266.010951118, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 642.7055762954406, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.3729838985274, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3204.5783544041246, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1706.170855281569, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3383.0782495034664, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 909559.823295912, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3318.6043025105173, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1551.261790099503, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 74.29603442046948, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 82.30090395974136, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 449.86948866263344, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 510.4788825551789, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 428.37037675099765, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 443.64829398675255, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1113.9508153412532, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1179.1190407320005, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 436.28680991814764, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 470.2531215628943, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.0075016187547, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.19900149649422044, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1737.5955539400177, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1552.0355962025421, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 297.5830636965435, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 602.3121097857572, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 292.0537830417085, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0963153647841106, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 308.200003904549, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 632.3728362534187, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13463.333172432434, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12185.226861492947, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "bec8547260d1a256bdc1415dcca931f98872d875", + "message": "enhancement: integrate sigstore signature (#272)\n\nResolves #271", + "timestamp": "2025-03-04T09:44:57Z", + "tree_id": "e6ace4a1dbf09c69e5e8f19e2574fdf8f9135da2", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/bec8547260d1a256bdc1415dcca931f98872d875" + }, + "date": 1741083107485, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2210.076962572901, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2008.723639330461, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2279.736102905434, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2257.848473587591, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 872.7471626048613, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 801.5885286994819, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2311.668802506647, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2219.7479741942716, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3013.7979547669174, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4789624.835256081, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 631.4582640510071, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 612.824268555325, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3251.440136180804, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1705.0945184860127, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3305.376671697467, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 836349.763357811, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3331.634507616137, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1577.6438063784794, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 73.17797953061321, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 80.33881325710176, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 451.112816485263, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 508.1864636307864, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 452.3176807231929, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 465.15024068026713, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1108.7123546546518, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1214.3378226581244, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 429.26582280551395, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 458.0484995840451, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.9904990832145, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.2145430508298875, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1597.2680989599717, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1591.0191361777056, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 299.1620198562543, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 574.1613274345184, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 293.820908525153, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.1133130817085939, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 312.1268169691367, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 634.7212608714074, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 13837.874506636877, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 12696.096214532214, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9d86f5761c5d807daad8979db4ab0282503ffce8", + "message": "Use java 21 to build the library. Set compile target to 11 (#275)", + "timestamp": "2025-03-04T16:51:17+03:00", + "tree_id": "89c348a66dcf9154a6a7e230801b29d210485354", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/9d86f5761c5d807daad8979db4ab0282503ffce8" + }, + "date": 1741097829447, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2821.6673773571633, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2659.991486492358, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3073.646348832871, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2851.3616437763117, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1060.301186626109, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 988.040698728321, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2950.353283417909, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2708.5201674332534, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4050.813127360338, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5467418.324824539, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 689.5037981088927, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 698.6957755116681, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4235.373810283689, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2065.885911195539, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4285.81873249566, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1000190.3176417869, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4120.4594026614695, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1851.424361692978, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.64563338773438, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.48731333007522, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 368.1202575213634, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.7650378898738, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.79651953322383, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.55735598397143, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 937.6013524680635, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 989.555801664924, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.0566602900161, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.44413000930683, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.50126944398593, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16963047280686622, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1438.1296555734868, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1432.720732902179, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.7848096215176, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 468.0748500846397, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.13623780640268, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0537259646664696, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.62847898323656, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 540.1658492507074, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10891.845129951349, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10401.739926600085, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3127d32754b585c471b02a498bb1fa06a2d162ab", + "message": "Bump io.openapiprocessor:json-schema-validator-bom from 2025.1 to 2025.2 (#276)", + "timestamp": "2025-03-10T15:19:40+01:00", + "tree_id": "569d24d94d8f635e26ce45febbbf32662e35866c", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/3127d32754b585c471b02a498bb1fa06a2d162ab" + }, + "date": 1741617920350, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2838.6064455695846, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2565.8692272159465, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2919.5353190334577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2829.656360865137, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1033.64767827025, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 976.5911899940013, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2927.3638915048045, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2992.750325369343, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4094.368734987246, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5829612.2540942365, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 694.6617999322575, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 701.995432308526, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3986.833326763358, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2042.9215392845558, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4158.691941439374, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 960794.4808931077, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3904.166275828285, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1910.92487454787, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.92092292435953, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.04681499088414, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.809656797336, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 384.72891798754165, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.37981170757945, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 359.5900375014264, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 935.7724836398932, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 992.9839235160019, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.9484215610445, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 364.80739771506376, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.36081019071804, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17255929682419258, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1434.4145530638787, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1385.1529097358616, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 251.39292419831705, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 488.12302939495794, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.81787531069602, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0859254965523746, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.290871468787, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 534.2869309137784, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11271.234086636023, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10220.011881208422, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "1865404839b0964412960414cf3ae363e7fa682d", + "message": "Bump kotlin from 2.1.10 to 2.1.20 (#277)", + "timestamp": "2025-03-20T13:10:26Z", + "tree_id": "90188883124a43223d45e20bae72d434adcec212", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/1865404839b0964412960414cf3ae363e7fa682d" + }, + "date": 1742477820392, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2875.0096405402264, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2708.3494439469823, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2949.086564469885, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2853.1930559026305, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1060.2507418161752, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 993.9799291169011, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3026.264166001987, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3014.1300372371124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3923.1004139460906, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6016617.1789597925, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 700.104729426698, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 717.3644460294639, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4172.331855133737, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2076.3238969208132, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3990.6423156114897, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 982105.0639624422, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3830.004095671252, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1863.5551914202922, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.22289035314421, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.90300479688764, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.1103962003664, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 382.0935307021029, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.0159339647595, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 358.82119294787407, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 946.9472430302224, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1003.1716350232158, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.7022679600453, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.9889109152219, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.93834999769047, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1999994381338246, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1447.6240862208483, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1417.79150256901, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 251.58949362659055, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 481.88266759195506, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.2473189174213, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0674129657213294, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.91391802275893, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 532.1603475382809, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11066.044152668419, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10484.268612300144, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "f9d460cc6d7f0b48424662e3112008f047a629f4", + "message": "Bump com.doist.x:normalize from 1.1.1 to 1.2.0 (#278)\n\nBumps [com.doist.x:normalize](https://github.com/Doist/doistx-normalize)\nfrom 1.1.1 to 1.2.0.\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/Doist/doistx-normalize/blob/main/CHANGELOG.md\">com.doist.x:normalize's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>[1.2.0] - 2025-03-20</h2>\n<h3>Added</h3>\n<ul>\n<li>Support for Wasm - thanks <a\nhref=\"https://github.com/zsmb13\"><code>@​zsmb13</code></a>!</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/42c8e212df490bfb1684745aa4bc81259ae8b72a\"><code>42c8e21</code></a>\nRelease v1.2.0</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/54696e06d43b70a3b14796e3f09c2343d08c422d\"><code>54696e0</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/91\">#91</a>\nfrom zsmb13/wasm</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/ce4b3908f897748dafb765bcebcb2f847c07326d\"><code>ce4b390</code></a>\nRemove manual hierarchy configuration that's already covered by the\ndefault t...</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/5e035fd37ea026ca8f6a11c3c44d08c29927cf58\"><code>5e035fd</code></a>\nAdd wasm support</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/ff1c298c8efe4b33e895aa177a7a21616c06e8e1\"><code>ff1c298</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/90\">#90</a>\nfrom Doist/renovate/gradle-8.x</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/b39cef566c58f466a9c9eebc2a46d04633b2bcbf\"><code>b39cef5</code></a>\nchore(deps): update dependency gradle to v8.13</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/ba547a2fae6f4e9284e9971642508f9b42a392ae\"><code>ba547a2</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/89\">#89</a>\nfrom Doist/renovate/org.jetbrains.kotlin</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/2d1a03f9746d95322df9ea77833eac84c483b494\"><code>2d1a03f</code></a>\nchore(deps): update dependency org.jetbrains.kotlin:kotlin-gradle-plugin\nto v...</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/161ca885666fc1eb8b019f3db35ce29bdfd737a0\"><code>161ca88</code></a>\nMerge pull request <a\nhref=\"https://redirect.github.com/Doist/doistx-normalize/issues/86\">#86</a>\nfrom Doist/renovate/gradle-8.x</li>\n<li><a\nhref=\"https://github.com/Doist/doistx-normalize/commit/8e0f7b9aa76d0edaaef76b81d88b6b77a2e3afeb\"><code>8e0f7b9</code></a>\nchore(deps): update dependency gradle to v8.12.1</li>\n<li>Additional commits viewable in <a\nhref=\"https://github.com/Doist/doistx-normalize/compare/v1.1.1...v1.2.0\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.doist.x:normalize&package-manager=gradle&previous-version=1.1.1&new-version=1.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-03-23T20:11:43+04:00", + "tree_id": "6a7748ee28fc5be4b85d4a9bb59d93b765c828f7", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/f9d460cc6d7f0b48424662e3112008f047a629f4" + }, + "date": 1742747847911, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2796.8631684133707, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2679.3275156484224, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2911.475067744418, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2775.8440724366033, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1046.7572277347504, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 985.8964921161962, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3020.509878709537, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2917.7763985514816, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4003.9902778660153, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5757606.467057492, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 702.611644000087, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 684.669904076227, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3889.3594106658725, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2051.1088066522007, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3950.5207678268353, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 958590.7107388244, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4028.3817548529587, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1864.3018935634932, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.91168822656383, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.67828764372142, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.9526496102963, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 381.35564178764355, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.43117093371364, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.540693267666, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1064.5002242995429, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 986.4360451551336, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.9415760492026, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.3513465354094, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.50180511619087, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1671632701524989, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1473.2024208922708, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1428.2169636527487, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.9599102361213, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 482.8928657388932, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.5470162731991, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0160664574733833, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.55789862999785, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 543.618164880934, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11357.376208560518, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10392.269492847005, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "9acfbbd40cf5e9ba6aad996d5fcccac8d01980f1", + "message": "Move normalization logic back to common sources (#279)\n\nAfter #278, the normalization library supports `wasmJs` target\nout-of-the-box and we can move the normalization logic back to common\nsources", + "timestamp": "2025-03-23T16:38:47Z", + "tree_id": "ae42300c1b8ebfd1f57b5c4d2d6db18d99ef97b5", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/9acfbbd40cf5e9ba6aad996d5fcccac8d01980f1" + }, + "date": 1742749469655, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2877.2634278364794, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2568.3115115287164, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2971.406234178167, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2918.3312829011747, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1060.6859440301782, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1005.0941030647842, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3042.529071910274, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2862.6521898560977, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3848.803673490128, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5524717.613736858, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 643.7354183588286, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 708.9810938561848, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4063.5499123038317, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2113.9229198751636, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4050.298677866319, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 959982.3597406603, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4069.479425220702, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1911.386323930139, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.06589397993025, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.49668349742296, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.81536968504446, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 376.41905904742435, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.8692089224644, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 358.46947574116655, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 965.0962007415161, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 988.1284441132718, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.9303665161018, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 360.9400619541521, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 235.99902407683194, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1686417650063029, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1432.2339679379606, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1409.7535793572101, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.13939576220838, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 489.7430657727044, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.38363062129324, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0314694712296166, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.98182465751907, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 536.5170893257291, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10898.490198080264, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10267.985706113752, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "3848811a463a90acdd6154e07ab62ea054967f87", + "message": "Prepare next version", + "timestamp": "2025-03-24T13:52:29Z", + "tree_id": "949246eb3dadc03c270242d73b96fd905ccffdd2", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/3848811a463a90acdd6154e07ab62ea054967f87" + }, + "date": 1742825905763, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2853.13205320088, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2665.733692370542, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2907.842771347302, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2755.7019068585246, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1023.2214968990007, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 934.7138052154635, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2909.635687736919, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2899.429616309476, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4113.597140855463, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5877122.5094403345, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 711.1738901907123, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 720.7564852071426, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3967.244043348609, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2072.0600594911257, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3970.738239230968, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 962093.9170869952, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3941.0973410605025, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1941.2582103535854, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.7202889663327, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.07778895321628, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 361.73704079151537, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 388.13339157901873, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.7192565958418, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.18296976573413, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 956.5550154197772, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 994.0181722300464, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.33658008298505, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.18637444291033, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.76501041156016, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.18361367145291074, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1407.5636471819328, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1427.6691582784406, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.9393302186956, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 475.2400720222501, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.69708909152405, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0457582442233935, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 253.88350786853408, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 534.0273493300251, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11444.066608553101, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10058.266603239124, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "f83cf30c128c682459674175734f5c35b6139278", + "message": "Prepare next version", + "timestamp": "2025-03-25T16:46:21Z", + "tree_id": "defb39479e59c4ad7ba37638489212eb49e0087f", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/f83cf30c128c682459674175734f5c35b6139278" + }, + "date": 1742922733885, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2865.180224651635, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2674.1663212572207, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2933.563322665517, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2776.417253943451, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1041.6632719728009, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1003.5789916803473, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3065.7665231862675, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2740.684887755216, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4082.560217143673, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5734509.227322692, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 718.2823478253962, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 724.336129099896, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3977.063180881077, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2072.469515958245, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4014.730703831124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 949883.1128866993, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4041.7660692342215, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1840.9734833013856, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.20096951209162, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.01893733068293, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.1884000506533, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 389.5169951888846, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.55191426647275, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.6884623187176, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 976.357621758723, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1020.9976381297505, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.56030792687636, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 355.8391697539468, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.80023409827095, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17610682524466853, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1413.626250993628, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1436.445048068881, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.8084501312776, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 480.03810917183034, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.7049711871824, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0476400424807024, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.79392159890216, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 534.3009539352681, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10983.860494087436, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10425.287687618127, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "48a3b7044d12a420380558bf04ec85c68217365e", + "message": "Bump kotest from 6.0.0.M2 to 6.0.0.M3 (#282)", + "timestamp": "2025-03-31T16:55:49+02:00", + "tree_id": "ebcde6b8d14a1b2fb23df49d9e05df7d63628407", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/48a3b7044d12a420380558bf04ec85c68217365e" + }, + "date": 1743434535163, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2863.9456516873483, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2572.905884724928, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2982.1740005605457, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2756.8910678482357, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1041.271299026715, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 971.4688568553074, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3061.563704335278, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2841.6499788911624, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4017.647077714414, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5658442.863262663, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 695.8774893373745, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 706.4483207121175, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3971.5421842138653, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2080.5995034165926, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3956.2006670408687, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 941659.3591588425, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4054.5871039707745, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1890.8072187419796, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.32996182647827, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.29249827949812, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.34550402806894, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 366.91780250477825, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.1616210158742, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 361.0568556092902, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 967.6255603130105, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1025.2955407960153, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.21303119652873, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.80326371605156, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.18222845619886, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17433405076421465, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1433.8336459911118, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1388.1616639974677, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.48363723292178, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 478.52717383338603, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 233.35952649525498, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.035263791132113, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.2086610948042, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 521.8258294598002, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11370.959318190624, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9831.576348086806, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "591cb3a2634c85549a326856cb9993c9a6e32d86", + "message": "Bump serialization from 1.8.0 to 1.8.1 (#284)", + "timestamp": "2025-04-01T15:23:44+02:00", + "tree_id": "a52ed1b7d15ad2e59022d3cd0cb38aed1c77ef53", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/591cb3a2634c85549a326856cb9993c9a6e32d86" + }, + "date": 1743515350883, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2849.622204240602, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2573.3743279615746, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3059.6011579974215, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2794.576850735053, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1055.7534356492313, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 979.6298865409929, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3076.3040580912907, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2776.47969564691, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4144.613377178115, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5702007.998744831, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 702.2275221370373, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 714.3721161236674, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3950.7613862804365, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2009.1157185596026, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4209.5902533369535, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 950722.9694909016, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3958.654446365653, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1871.3354454853968, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.23550208875157, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.97621509085016, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 353.1904613075401, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 377.84600877239626, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.36225412477853, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.1034930088977, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 974.4031358299542, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1029.4896384100518, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.9242545580346, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.82083353788744, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.08102894685013, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16973213296488293, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1436.4334498939406, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1411.2116074464188, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.37807612107986, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 478.0998409514432, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.71997311443073, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0420729555377661, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 255.89518331333005, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 528.3655925693481, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11254.122269438203, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9943.64410089536, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "5ae9fc4cde5fccf1101d951fa21dd9328c77c965", + "message": "Bump io.github.optimumcode:karacteristics from 0.0.4 to 0.0.5 (#283)\n\nBumps\n[io.github.optimumcode:karacteristics](https://github.com/OptimumCode/karacteristics)\nfrom 0.0.4 to 0.0.5.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/OptimumCode/karacteristics/releases\">io.github.optimumcode:karacteristics's\nreleases</a>.</em></p>\n<blockquote>\n<h2>Release 0.0.5</h2>\n<h2>📦 Uncategorized</h2>\n<ul>\n<li>Bump ncipollo/release-action from 1.15.0 to 1.16.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/28\">#28</a></li>\n</ul>\n</li>\n<li>Bump com.squareup:kotlinpoet from 2.0.0 to 2.1.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/29\">#29</a></li>\n</ul>\n</li>\n<li>Bump com.vanniktech.maven.publish from 0.30.0 to 0.31.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/30\">#30</a></li>\n</ul>\n</li>\n<li>Bump graphql from 8.3.0 to 8.4.0\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/31\">#31</a></li>\n</ul>\n</li>\n<li>Bump kotlin from 2.1.10 to 2.1.20\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/32\">#32</a></li>\n</ul>\n</li>\n<li>Bump kotest from 6.0.0.M2 to 6.0.0.M3\n<ul>\n<li>PR: <a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/33\">#33</a></li>\n</ul>\n</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/ef6423b6b73e9db936e869344ac37acfcdc8a10f\"><code>ef6423b</code></a>\nBump kotest from 6.0.0.M2 to 6.0.0.M3 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/33\">#33</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/843782005dbd4fe39d571fafa91d1b24be09ebe7\"><code>8437820</code></a>\nBump kotlin from 2.1.10 to 2.1.20 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/32\">#32</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/96c1d7452df74b437037b1b99aa243c952614f85\"><code>96c1d74</code></a>\nBump graphql from 8.3.0 to 8.4.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/31\">#31</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/1cd8476fec97b12aea96401e037c13d3b62dee1e\"><code>1cd8476</code></a>\nBump com.vanniktech.maven.publish from 0.30.0 to 0.31.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/30\">#30</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/58b7fe2578d1344aefcf629839af2d4abe4eeb62\"><code>58b7fe2</code></a>\nBump com.squareup:kotlinpoet from 2.0.0 to 2.1.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/29\">#29</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/bc25f5b83c9d7b5e27555ec563858facb5c12f97\"><code>bc25f5b</code></a>\nBump ncipollo/release-action from 1.15.0 to 1.16.0 (<a\nhref=\"https://redirect.github.com/OptimumCode/karacteristics/issues/28\">#28</a>)</li>\n<li><a\nhref=\"https://github.com/OptimumCode/karacteristics/commit/7e0c61c7fa19916f15e986215397251cc9e17aae\"><code>7e0c61c</code></a>\nPrepare next version</li>\n<li>See full diff in <a\nhref=\"https://github.com/OptimumCode/karacteristics/compare/0.0.4...0.0.5\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=io.github.optimumcode:karacteristics&package-manager=gradle&previous-version=0.0.4&new-version=0.0.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-04-01T13:41:39Z", + "tree_id": "8f256aaf67fec84b65129213417f63cc63575ae1", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/5ae9fc4cde5fccf1101d951fa21dd9328c77c965" + }, + "date": 1743516456038, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2807.483336199707, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2632.281288368561, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3042.050480607299, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2789.0078490090827, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1066.840316091048, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 993.3738043222536, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2937.661753784588, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2796.583001954944, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3962.244580382406, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5244793.812427064, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 698.7792245193752, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 690.9487423731754, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4082.0254658251265, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2027.8046462340249, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3954.522699940302, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 950259.8746366969, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3944.6066800953, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1842.3467546939632, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.43235202574576, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.12781585665822, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.52158326515007, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.1676999600547, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.8724500282659, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 356.51758651287844, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 948.0363981034661, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1004.953157429798, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.95028923487354, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.608565035634, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.55307815894426, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.180377204631795, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1416.2896368575596, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1402.190629083272, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.34340047032651, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 494.2536464838453, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 251.3792123952406, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0573775643206549, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 251.72052456322643, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 520.6048678707871, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11206.70974423221, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10063.963141951197, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fae825149da5272c5aad102d72610505f5f8431a", + "message": "Bump okio from 3.10.2 to 3.11.0 (#285)", + "timestamp": "2025-04-10T16:58:03+02:00", + "tree_id": "4a13fc0ed724d03eb2ce867dd47276e07f6a1ae5", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/fae825149da5272c5aad102d72610505f5f8431a" + }, + "date": 1744298632262, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2803.9703714061, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2569.75218155066, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3049.839005451936, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2839.2279268369807, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1061.4103335617278, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1013.0290798191954, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2932.495656292288, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2816.721864211093, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4111.162665779169, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5965095.746443704, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 703.2527997897929, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 688.7509399795958, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3997.954252672725, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2071.2577801805187, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3995.927940530145, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 941897.5658702696, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3961.24873371082, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1873.002940226056, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.57841034458274, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 95.09411360125993, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.83829322992807, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 382.9488921033038, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.8437408321396, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.4740335433844, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1058.2511163401016, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1020.0416848556117, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.29059687894903, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.6721177372661, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 242.56202523861043, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17755220188714543, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1423.263407111004, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1392.3948535173781, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 251.0171576661765, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 488.0637033543823, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.07506459231678, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0220654182580677, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 255.2410131028124, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 523.7320899325894, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11327.101381847691, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9793.465440885924, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a4c861a99e6f574729a8c731a66e8b250113b10f", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.18.3 to 2.19.0 (#287)", + "timestamp": "2025-04-25T19:39:13Z", + "tree_id": "48e098848c3624f42412639f69703bd6ab68ff85", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a4c861a99e6f574729a8c731a66e8b250113b10f" + }, + "date": 1745611428509, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2865.750543793927, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2581.5259863669003, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2950.1234374675632, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2861.671177364714, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1023.2091169102099, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1010.7423204090895, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2939.1236527261062, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2703.662734713464, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3877.937364523978, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5628479.865079108, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 693.7232632709245, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 686.7037580611789, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4211.539166762073, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2047.5111941606253, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4276.561276505646, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1039068.3841890611, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4274.380932259302, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1918.3788847336655, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.55509481449249, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 103.58789908897745, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.47026659319033, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 375.0419586179928, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 353.10167062836103, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.30908829431, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 952.6942062906958, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 984.433450160227, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.7605324431225, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.87862408801544, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.94269176550756, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16868516742439404, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1427.7119328029498, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1423.6263277359594, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.83647465491308, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 489.17046012786875, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.39286445121851, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9427919010259638, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.26803619413923, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 517.6684181094774, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10952.11169312121, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9880.387952358764, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d7714cf828688e8a8033014e2de2d39e123de89d", + "message": "Bump kotlin from 2.1.20 to 2.1.21 (#290)", + "timestamp": "2025-05-13T19:27:05+02:00", + "tree_id": "78eccdda580aee1a369ad2fffdc5f4ce1064c371", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/d7714cf828688e8a8033014e2de2d39e123de89d" + }, + "date": 1747158825720, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2952.588352301692, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2604.332102570522, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3010.246538143319, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2836.6990866175825, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1087.5040230419404, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1013.981139058742, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3035.154869485411, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2785.5227742396496, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4086.6450026194734, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6513296.81684755, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 695.5256712139609, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 719.3674631065751, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4160.133370325099, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2072.6887030063403, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4203.465473461963, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1058846.11801158, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4164.707993145171, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1927.6287735925957, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.88733724697637, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.7613330886435, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.81458706568856, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 384.9797873862061, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.563355017891, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 369.894687071616, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 961.2948917558342, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1056.8980527111, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.3056987247326, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.6225481653093, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.5092669014213, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16387850247769653, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1399.3166977820702, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1399.2510779966983, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.170148779579, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 475.7667007088215, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 236.53232566152005, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9734256165829601, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.21864102170736, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 574.3242167187449, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10954.973715408505, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10551.929605756579, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "0daa20c2b1a999968480c2de029514ca00f295ff", + "message": "Bump benchmark from 0.4.13 to 0.4.14 (#291)\n\nBumps `benchmark` from 0.4.13 to 0.4.14.\nUpdates `org.jetbrains.kotlinx:kotlinx-benchmark-runtime` from 0.4.13 to\n0.4.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/releases\">org.jetbrains.kotlinx:kotlinx-benchmark-runtime's\nreleases</a>.</em></p>\n<blockquote>\n<h2>v0.4.14</h2>\n<ul>\n<li>Fixed various issues specific to Kotlin/JS projects <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/292\">#292</a></li>\n<li>Added benchmark name validation for JVM <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/304\">#304</a></li>\n<li>Various build infrastructure updates</li>\n</ul>\n<p><strong>Full Changelog</strong>: <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/compare/v0.4.13...v0.4.14\">https://github.com/Kotlin/kotlinx-benchmark/compare/v0.4.13...v0.4.14</a></p>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/blob/master/CHANGELOG.md\">org.jetbrains.kotlinx:kotlinx-benchmark-runtime's\nchangelog</a>.</em></p>\n<blockquote>\n<h2>0.4.14</h2>\n<ul>\n<li>Fixed various issues specific to Kotlin/JS projects <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/292\">#292</a></li>\n<li>Added benchmark name validation for JVM <a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/pull/304\">#304</a></li>\n<li>Various build infrastructure updates</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/1b48530ec3867799ba4e181164b041bb8909a327\"><code>1b48530</code></a>\nRelease v0.4.14</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/d1b82c91ba06e9a65ac7a3a798b91c14872680f0\"><code>d1b82c9</code></a>\nAdd a contribution guideline (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/286\">#286</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/3975c8df593222d397decb4f82e040b6b79f40c9\"><code>3975c8d</code></a>\nCheck if benchmark names are legal Java names on JVM (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/304\">#304</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/f6bffdc7431e10514f5ccb20f1dd180d767af677\"><code>f6bffdc</code></a>\nSupport recent KUP requirements (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/303\">#303</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/4fb9caa40e19bae8a7cb725219f925902f65417f\"><code>4fb9caa</code></a>\nUpdate kotlinx.team.infra plugin (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/300\">#300</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/30391ea398702a3f4edcd766512b31e518c92f0c\"><code>30391ea</code></a>\nFix assorted problems with K/JS projects (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/292\">#292</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/da3e2bbad26f5b531af8c9c39431ca1933ed525b\"><code>da3e2bb</code></a>\nSuppress version warnings on LV override (<a\nhref=\"https://redirect.github.com/Kotlin/kotlinx-benchmark/issues/284\">#284</a>)</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/64cf96b1ecb334ba307c900b048d2388719b6fe6\"><code>64cf96b</code></a>\nUpdate CHANGELOG.md and guides for 0.4.13</li>\n<li><a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/commit/3271d049d7b58597c83e04b99d0f5448e46a9dfd\"><code>3271d04</code></a>\nUse nodejs for wasmJs target</li>\n<li>See full diff in <a\nhref=\"https://github.com/Kotlin/kotlinx-benchmark/compare/v0.4.13...v0.4.14\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `org.jetbrains.kotlinx.benchmark` from 0.4.13 to 0.4.14\n\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-05-17T20:17:20+02:00", + "tree_id": "141e07bcebb32f7d58546b9db893ef96153101e8", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/0daa20c2b1a999968480c2de029514ca00f295ff" + }, + "date": 1747507420169, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2847.2086345371144, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2594.326546968613, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2989.884608189505, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2923.7830704461076, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 949.9583412458535, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1009.7216900423267, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2966.6083150914124, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2821.7938762539193, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3984.6525145528926, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6250262.133013339, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 707.4073543033768, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 698.2963626709682, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4096.547248088837, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2065.1065156329973, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4165.391045915584, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1033200.3081039516, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4186.106349030128, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1913.9794792521438, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.73066972549636, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.08099736830624, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.3747827462646, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 384.27771686193046, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.56083528314645, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.61844924041134, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 927.4817696832081, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 990.452088229179, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.68206761024976, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 350.06317626223256, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.23593685919323, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16747713177200438, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1432.5060134405794, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1406.5540166922337, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.10072439122823, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 476.27549949646044, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 230.3098060407695, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9343604628008724, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.7128416035211, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 518.0969717600173, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11204.112292659176, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10040.974985356437, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "6a90c143488c821056c240e6f82da8f00a356b5c", + "message": "Bump de.cketti.unicode:kotlin-codepoints from 0.9.0 to 0.10.0 (#293)", + "timestamp": "2025-05-21T17:16:34+02:00", + "tree_id": "6fde72603c325e9818db794141fd8fadfa9a927e", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/6a90c143488c821056c240e6f82da8f00a356b5c" + }, + "date": 1747842130542, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2844.914725119, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2710.2568925168825, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2975.123039654949, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2841.4522029539667, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1043.4630965912281, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 999.848961196741, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2966.3219433395548, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2888.2455009014766, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4116.930403487238, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5439985.371848041, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 705.9203609961576, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 687.1256030759571, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4252.403993390529, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2079.413394962739, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4219.549906979991, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1075368.2575272308, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4119.447595833522, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1915.288904626687, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.81160604549493, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.44124237644256, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 353.1084240419465, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 378.38639316423036, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.21433673313913, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.8143149962179, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 951.2897679193318, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 992.8865275142604, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.5834091504834, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.5573023269072, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.61650513619838, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1584217373051967, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1444.0860615637898, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1436.9642532054568, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.53885277281648, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 482.66126742654296, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 238.66065351733204, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9555270516438122, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.4799394101321, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 524.7479437329404, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11263.483743641667, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10241.123308198648, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "b17bd45ead9bdbf016b0f85dc77f3ccd647ac32d", + "message": "Bump org.jlleitschuh.gradle.ktlint from 12.2.0 to 12.3.0 (#295)", + "timestamp": "2025-05-24T17:50:44+02:00", + "tree_id": "39a5fc68fe0ab3bd8f07abbf8aaf96aecae90ca6", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/b17bd45ead9bdbf016b0f85dc77f3ccd647ac32d" + }, + "date": 1748103391027, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2866.726203156667, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2498.867027329161, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3045.081720942918, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2731.659407553527, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1051.5215945019727, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 982.9996431307509, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2940.4711758805834, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2784.845681402142, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3966.150648030897, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6013757.833406492, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 696.3288292326089, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 708.3492330353462, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4058.2402470471234, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1971.037869361608, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4147.533383331875, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1054022.3289455853, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4058.741746133141, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1875.88261854355, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.62674121538467, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.29452437798298, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.6322498861347, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 378.37520505279446, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.0242810856252, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 372.2335744146669, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 992.629382482339, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 980.2584498144154, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.35718300648995, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 363.75830467530113, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.4416762605361, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16773888069602605, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1412.5500080190113, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1390.3736321514311, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.9655010857342, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 494.37588609985823, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.38915556386354, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9637421944366871, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.2071642370338, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 544.7271628551152, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11011.233111454852, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10326.763952998104, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "a7cec5d85c590447dd2f6c6036c3cc0e8fb870ad", + "message": "Bump com.networknt:json-schema-validator from 1.5.6 to 1.5.7 (#296)", + "timestamp": "2025-05-26T16:52:29+02:00", + "tree_id": "4cda6ca6d3075c55f75d4abbca61cbd8dd938169", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/a7cec5d85c590447dd2f6c6036c3cc0e8fb870ad" + }, + "date": 1748272701462, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2865.7601009697282, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2563.7239823579866, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3037.6189394873854, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2819.2548440779237, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1051.391086009085, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1010.2690689628838, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3000.971198954994, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2661.3945194958046, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4134.820782564691, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5389534.288336733, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 696.7904457003214, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 714.8089788915025, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4218.539627593479, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2070.4559201975217, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4165.148929902308, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1041402.2024653004, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4152.646585164718, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1850.1988832190036, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.99050958754856, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.49689041313216, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.3721966611271, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 374.04502893237685, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.42547533886545, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 361.33939480739184, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 975.7639959076623, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018.3825508331405, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.79560377097215, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.74641509682596, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.1690483715535, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17130116288665043, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1485.1092839801238, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1416.6702053086883, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.81149069506304, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 485.8508613926996, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 235.0189296261798, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9829284884876861, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 234.73841094320042, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 516.4583810321549, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10744.159154758636, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10316.279705689609, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "21d0b607071562e8d737bd3e635bc763e0add0e3", + "message": "Bump okio from 3.11.0 to 3.12.0 (#297)", + "timestamp": "2025-05-28T14:47:43+02:00", + "tree_id": "647272075fc5e68496a1e3253347c509b950e039", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/21d0b607071562e8d737bd3e635bc763e0add0e3" + }, + "date": 1748438018618, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2877.308797606039, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2676.2814455912394, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2979.1050819273346, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2888.4211582772887, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1068.8748690283487, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 985.9264126456443, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2975.040739358386, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2863.760486015101, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4060.777843009604, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5913088.884605111, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 703.5904356584732, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 706.4732425667071, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4200.974521090974, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2081.1407283080102, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4208.692590149671, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1069414.3688659836, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4226.382187125568, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1901.0023845295898, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 86.71279609281085, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 100.09409289851298, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.1946540346666, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 377.43180866606355, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 330.80541919987024, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.0453448721128, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 955.3652884909077, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1006.7340871491558, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 324.02529299865415, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.92089562846934, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.55194687462648, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1648801993652452, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1454.077787248752, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1421.714725005898, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.2135470917181, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 471.75435719763334, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.6385483254024, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9401130295360852, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.8747343922907, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 528.8487886471478, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11014.28479470696, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9999.36326770898, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "d42838617b9a774831bc621ae3c544541fb533cb", + "message": "Bump io.openapiprocessor:json-schema-validator-bom from 2025.2 to 2025.3 (#299)", + "timestamp": "2025-06-09T13:30:54Z", + "tree_id": "d5b1b71f1886c72f8891aa1a91663a73a124edbd", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/d42838617b9a774831bc621ae3c544541fb533cb" + }, + "date": 1749477398454, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2804.243460550129, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2634.058482541216, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3022.15586960384, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2796.7502124490065, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 972.1750210125083, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 977.4063126958281, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2985.510711325641, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2978.81870901198, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4058.7105706614775, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6437196.233058679, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 713.6583345655453, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 712.7833031207019, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4050.5781173402574, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2101.9596311805394, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4174.252776693039, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1044277.4980467649, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4090.418078474902, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1894.3307286439572, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.84432397522889, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.7049178729692, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.7923281320705, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 383.83426786222697, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.929036398583, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.3270687850296, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1063.7225307426731, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1027.362762043957, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.2599065370065, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.2686826643363, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.40322046072635, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16848854859905846, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1441.0885301603118, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1427.8509267063043, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.08979397486445, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 478.36752109466926, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 228.90176904564072, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.971162122489285, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.96627391647627, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 536.1067193665976, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11441.715738819226, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9586.649568067765, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ed62feeed8fe408e0c59f0692732ad8933e59eb4", + "message": "Bump okio from 3.12.0 to 3.13.0 (#303)", + "timestamp": "2025-06-16T19:34:01Z", + "tree_id": "3990c3e1dae4097f5c30a2ba1e6336cd9d21aaf9", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ed62feeed8fe408e0c59f0692732ad8933e59eb4" + }, + "date": 1750103969682, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2838.903568689111, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2592.823351973452, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3001.9368579631728, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2820.9762735826043, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1048.145195793061, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1002.5258082993621, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3009.1726269532273, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2872.839945122836, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4079.9241177402364, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6044216.620732878, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 699.502295459816, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 705.6647421004343, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4218.5912567498, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2051.6521759168145, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4154.084336631313, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1051819.1111376898, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4100.650704683169, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1906.8501756111011, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.2424182944417, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.51348280976313, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.5632038601013, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 371.78010242636503, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.00778397735326, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.3541926513048, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 945.3667175923786, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 992.9325312866307, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.545498534944, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.91580791529856, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.4682644599061, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17557776166850458, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1403.66409768723, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1421.9938193575097, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.2947467058064, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 477.22973304375864, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.26885026546773, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9386123032258917, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.43640755834144, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 527.7499166144514, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10965.081233519366, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10119.765483737372, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "39c525c80f6dbc2b6b0eb995229e11c67973c39a", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.19.0 to 2.19.1 (#304)", + "timestamp": "2025-06-16T19:49:41Z", + "tree_id": "fe15b301a48d42166db85762a27f21c5483e039e", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/39c525c80f6dbc2b6b0eb995229e11c67973c39a" + }, + "date": 1750104908388, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2887.017611946342, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2605.776012237587, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2916.156404195556, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2857.93273113345, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1056.0789320197878, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1012.0119746662874, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3070.4370715799187, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2767.102064590479, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4138.372578013512, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5999109.508639945, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 700.7381573626761, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 614.5697282559706, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4148.8329541752155, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2092.2769542874003, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4020.957181398536, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1061895.5976681174, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4199.640829042049, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1887.6750089953007, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.30330943365063, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.14256484126108, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.1639665112619, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 386.5678061961945, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.4527327145064, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.2172566549112, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 921.1734906497052, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018.3311567860558, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 325.6509203466393, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 365.68187737525045, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.85867171917295, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.15984025177141112, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1415.6742111357476, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1415.879404475922, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.96993011854653, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 474.8707659307112, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.28821498465686, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.960556957651489, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 236.49669396981108, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 534.9368499873244, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10651.81499979128, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9746.15918115857, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "2981c843ab5ff0e982168ee015ed03136cea3631", + "message": "Bump org.jetbrains.kotlinx.binary-compatibility-validator from 0.17.0 to 0.18.0 (#306)", + "timestamp": "2025-06-27T08:53:29+02:00", + "tree_id": "1a23a02c39d0712499fa97f3e1cb5a580e93df34", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/2981c843ab5ff0e982168ee015ed03136cea3631" + }, + "date": 1751008718760, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2919.4025322558355, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2561.7324684651876, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2945.849224581372, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2814.6884891156938, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1064.855502836333, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 983.3465449880489, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3005.0022633926783, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2802.0769784001827, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4063.5753002272577, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5447912.180798477, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 715.5752507858431, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 709.3719192741705, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4114.364855879091, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2041.9027016419193, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4048.0421878412853, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1023245.4361235397, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3965.949239693332, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1880.9186734874613, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.89556843849206, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.23225929125992, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.8275911805305, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 389.0268531144769, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.521503552582, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.7148452179726, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 957.7764397169474, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 998.039718930255, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.114968782757, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.9506397720513, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.28313414723416, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1777026755282563, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1403.0251961199613, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1450.2566921723514, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.55921619866155, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 488.65733140884674, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 245.5043180241149, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9524422358915997, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.7193910884681, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 558.4654910316918, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10730.446104232195, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10070.8540300044, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "7efcea65098191e566e53251ceec8e54c34a501f", + "message": "Bump io.github.optimumcode:karacteristics from 0.0.5 to 0.0.6 (#311)", + "timestamp": "2025-07-01T21:55:23+02:00", + "tree_id": "47321023a55199dcc105140dbeba1c5425eeee23", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/7efcea65098191e566e53251ceec8e54c34a501f" + }, + "date": 1751401230509, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2879.6184302051406, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2667.4815300087294, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2988.328067063254, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2837.3749707345037, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1042.745519135946, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 973.5451720476225, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2983.6003791575863, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2829.157060785049, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4027.615921042703, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5693753.658654738, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 704.3592231931736, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 701.7421525206773, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4107.35729972943, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2089.604109118203, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3989.44178048324, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1027185.9702075291, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4136.826074523218, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1876.625136076161, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.5542909031886, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 103.9604161143005, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 349.69621691612684, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 375.180786051291, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.1267919068838, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.4086512953859, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 954.0352479446544, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 999.2415692852859, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.6145849210236, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.0857371323593, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.39251903844598, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17411260527969452, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1392.859127771845, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1508.7243297775979, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.77535222101628, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 483.1380599105053, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.96356631155558, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9720319773926824, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.98701777777183, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 527.9669649306104, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11244.834834182271, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10148.454808337869, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "92bcce407a9e3ed47a119c791876b0a40684cc32", + "message": "Bump okio from 3.13.0 to 3.15.0 (#312)", + "timestamp": "2025-07-02T19:27:34+02:00", + "tree_id": "10d1b3810088992013a62855f4ffda57f595aef0", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/92bcce407a9e3ed47a119c791876b0a40684cc32" + }, + "date": 1751478739222, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2898.4424761197033, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2701.583457628024, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2959.380452092102, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2727.9536428131237, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1045.2849856164657, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 935.1590481186588, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3000.1300614928214, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2862.890967292439, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4076.2758931562917, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6186041.703228338, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 717.90978323845, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 709.3423256294134, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4181.05234197574, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2080.6187019614117, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4068.4928146760335, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1029547.0321913694, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4017.6372034775363, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1893.05058709941, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 91.37868088429437, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.39867867290974, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.4367464680249, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 377.30384655923854, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.5754662501363, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.30234728538863, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 955.4510001701847, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1010.6924632273524, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.28359945042365, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 343.9646251462015, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.86310388009255, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16612224189944094, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1421.3682990604052, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1420.1120665327649, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 253.29632168837603, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 493.8521450850982, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.02136483569387, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9453180154083032, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.12465574723706, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 519.9869707652877, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11333.767822931562, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9902.75569968938, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "committer": { + "email": "41898282+github-actions[bot]@users.noreply.github.com", + "name": "github-actions", + "username": "github-actions[bot]" + }, + "distinct": true, + "id": "34f275efeac54abd2dd04e771a5dab573b09a30a", + "message": "Prepare next version", + "timestamp": "2025-07-05T17:13:37Z", + "tree_id": "7408c33f86227367ac65ec2c3eec2738fb972399", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/34f275efeac54abd2dd04e771a5dab573b09a30a" + }, + "date": 1751737178745, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2840.89864835818, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2645.1085620596873, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2839.4832299479936, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2909.046932717335, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1053.0284848266833, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 965.9898239997037, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2984.45712683086, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2862.5390110292724, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4055.520478911344, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5494427.257218989, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 715.7382233111922, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 705.1119208506149, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4184.45556485592, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2106.5866372365585, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3897.40890405464, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1023157.5884380464, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4079.1881414466543, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1887.50376158568, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.08680485198883, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 94.41289523443173, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.77425585350863, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 400.1631411988889, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.4116265881098, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 358.38103879547094, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 947.0867999663021, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 988.3650071626038, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.90149516292166, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 346.12729482079965, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 249.79249701363506, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1651426815428365, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1423.516665871069, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1419.2740170239779, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 251.91622439876073, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 494.2933330704632, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.66368546840567, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9827214957287917, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.57002327376117, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 528.3529597482848, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11147.738084493283, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10391.570110556271, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "oleg31101996@gmail.com", + "name": "Oleg Smirnov", + "username": "OptimumCode" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "fad4222154ce96131c067a61af805b5f4ffaa472", + "message": "Migrate to vanniktech maven-publish plugin (#315)\n\nResolves #314", + "timestamp": "2025-07-05T18:09:57Z", + "tree_id": "e1dab1f2a44106f39db5a7822438d578bc4c9e2b", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/fad4222154ce96131c067a61af805b5f4ffaa472" + }, + "date": 1751740592746, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2759.2708636643792, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2587.601820785162, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2963.663512137625, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2704.7538374974274, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1057.4365132548267, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1003.2443621877852, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2918.6454062430776, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2876.4100785097366, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4161.358314154054, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5572286.865323708, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 709.9038412750061, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 705.7433634442915, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3916.73871473937, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2052.0825422056596, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4246.058797520343, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1024546.3813532509, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3915.5477003802725, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1918.9928583645135, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.93219273873623, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.66250029179244, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 342.898724701421, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 388.0435924156696, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 336.0450956253045, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.70068512953173, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 935.5087099768298, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1009.6265739063016, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 337.0625758316738, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.01912537986556, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 260.0491121742349, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17100978623408578, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1410.9947915575426, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1418.9159471030775, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.49294488794825, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 486.3014182658928, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.722537947057, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9840819085039734, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.5283658703319, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 539.12660975734, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11248.888957528088, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10306.13880220409, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "70aae86116b2544d46c01de20ea1247c22ea6626", + "message": "Bump org.jlleitschuh.gradle.ktlint from 12.3.0 to 13.0.0 (#316)", + "timestamp": "2025-07-08T16:51:22+02:00", + "tree_id": "6bee0c669c894161ff0682244a20c18a99cef5c1", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/70aae86116b2544d46c01de20ea1247c22ea6626" + }, + "date": 1751987819177, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2827.9236648173373, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2628.555121184796, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3106.6841124706234, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2856.98854459857, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1072.801447092426, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1007.7776512447602, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3104.8350203688587, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2737.1991433142107, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4041.208000527558, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5584752.3461875, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 703.2298113933371, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 719.6957843713278, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4022.2374262592484, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2130.326137077959, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4182.6373524362625, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1052601.1870203866, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4187.977261322226, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1831.5928945753435, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.127082018008, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.32999031525024, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.3055538835338, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 386.1221722698336, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 331.68819654625696, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 357.77156095871834, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 945.2175295354658, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1021.7281797402615, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 338.40449829802486, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 367.13012194491415, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 246.81808455667078, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.16050017585630486, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1389.0267327706379, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1419.1787361526087, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 236.69544651722498, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 480.42115648030983, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 257.0817504165965, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0309094197130801, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.39128637430522, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 534.2468297568714, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11406.538506899484, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9875.348489647058, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "7ebaa485dc7355bf5586d4b1892ca39a71e64630", + "message": "Bump com.networknt:json-schema-validator from 1.5.7 to 1.5.8 (#309)\n\nBumps\n[com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator)\nfrom 1.5.7 to 1.5.8.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/networknt/json-schema-validator/releases\">com.networknt:json-schema-validator's\nreleases</a>.</em></p>\n<blockquote>\n<h2>1.5.8- 2025-06-27</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>upgrade maven-gpg to 3.2.7</li>\n<li>Fix walk with validate when node is null (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1169\">#1169</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>add central-publishing-maven-plugin</li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/networknt/json-schema-validator/blob/master/CHANGELOG.md\">com.networknt:json-schema-validator's\nchangelog</a>.</em></p>\n<blockquote>\n<h1>Change Log</h1>\n<p>All notable changes to this project will be documented in this\nfile.</p>\n<p>This format is based on <a href=\"http://keepachangelog.com/\">Keep a\nChangelog</a>.</p>\n<p>This project does not adhere to <a\nhref=\"https://semver.org/\">Semantic Versioning</a> and minor version\nchanges can have incompatible API changes. These incompatible API\nchanges will largely affect those who have custom validator or walker\nimplementations. Those who just use the library to validate using the\nstandard JSON Schema Draft specifications may not need changes.</p>\n<h2>[Unreleased]</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<h2>1.5.8- 2025-06-27</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>upgrade maven-gpg to 3.2.7</li>\n<li>Fix walk with validate when node is null (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1169\">#1169</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>add central-publishing-maven-plugin</li>\n</ul>\n<h2>1.5.7- 2025-05-23</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>upgrade nexus-staging verison</li>\n<li>Fix OverrideValidatorTest (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1159\">#1159</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>update slf4j to 2.0.17</li>\n<li>update jackson to 2.18.3</li>\n</ul>\n<h2>1.5.6- 2025-02-19</h2>\n<h3>Added</h3>\n<h3>Changed</h3>\n<ul>\n<li>Set requires static for optional and excludable dependencies (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1155\">#1155</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>Fix NPE when walking a missing node that will have missing\nproperties (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1152\">#1152</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>Fix relative iris with colons (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1147\">#1147</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n<li>Fix explicit disabling of format assertions (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1145\">#1145</a>)\nThanks <a\nhref=\"https://github.com/justin-tay\"><code>@​justin-tay</code></a></li>\n</ul>\n<h2>1.5.5 - 2025-01-14</h2>\n<h3>Added</h3>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/d46d11c3c28573e94eb08576672e9323ecd57180\"><code>d46d11c</code></a>\nupgrade to 1.5.8 and update changelog</li>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/a3c0dacf03ffd6390ca1a8003e0d52932836af05\"><code>a3c0dac</code></a>\nupgrade maven-gpg to 3.2.7</li>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/ffe4ca0e5b6c8cedf78b418106e900998dfdbbd3\"><code>ffe4ca0</code></a>\nFix walk with validate when node is null (<a\nhref=\"https://redirect.github.com/networknt/json-schema-validator/issues/1169\">#1169</a>)</li>\n<li><a\nhref=\"https://github.com/networknt/json-schema-validator/commit/2cd2baa5595e46920d5152c083c82bff0b4ac44a\"><code>2cd2baa</code></a>\nadd central-publishing-maven-plugin</li>\n<li>See full diff in <a\nhref=\"https://github.com/networknt/json-schema-validator/compare/1.5.7...1.5.8\">compare\nview</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.networknt:json-schema-validator&package-manager=gradle&previous-version=1.5.7&new-version=1.5.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after\nyour CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge\nand block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating\nit. You can achieve the same result by closing it manually\n- `@dependabot show <dependency name> ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>", + "timestamp": "2025-07-09T07:40:11+02:00", + "tree_id": "7fdf342329233fedf525f4d8754393a685f93734", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/7ebaa485dc7355bf5586d4b1892ca39a71e64630" + }, + "date": 1752041149512, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2881.3247585144213, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2551.9971112842495, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2966.8080999337926, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2859.471516945823, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 950.3717039215868, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1003.6385258905387, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2998.2830070285936, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2631.03936139886, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4065.0912805442085, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 6063424.502407036, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 712.3223779593724, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 674.5288295082928, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4258.335995858083, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2089.4734639559188, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3901.4844886383153, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1005691.4074660998, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3991.1400231532098, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1924.1961341673698, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 88.9406165337829, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.46232498972071, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 344.6431501958761, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 379.2843750529072, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.3758629361515, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.4852668546526, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 962.6238298315004, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 985.9168389822901, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 328.27591434258466, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 339.107976212075, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 250.65859136964036, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17165842363123268, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1415.3436022174265, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1415.8468755097106, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 244.58432935103207, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 487.2321067892373, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.02711239122732, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9488325927061583, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 247.71739698235942, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 526.1905853558449, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11214.253782122347, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9829.366851055785, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ad5ab786b8e4c16e155d2d51db1f3e19b63c4fba", + "message": "Bump org.jetbrains.kotlinx.binary-compatibility-validator from 0.18.0 to 0.18.1 (#317)", + "timestamp": "2025-07-10T22:09:27+02:00", + "tree_id": "637d1be6fafeed2e19b734da44b13fe47d9ba8d1", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ad5ab786b8e4c16e155d2d51db1f3e19b63c4fba" + }, + "date": 1752179726509, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2886.1468512058204, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2655.455589583219, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3020.6095819208194, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2842.7658190980355, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1030.5966663860816, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1027.7193003045718, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3041.0362907206936, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2931.5338498897017, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4077.0158171054463, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5620068.334829068, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 697.8384700838403, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 710.1720671074604, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4156.833699441467, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2044.176889065034, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4053.4400264898686, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1044316.8283238036, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4153.219267324923, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1846.2718841624178, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 93.51929097601081, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 99.98723075158556, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.57712011277687, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 373.8081938213767, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 345.37612980343175, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 352.2821852944494, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 947.4404423433743, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1007.6909103456667, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.1700973056626, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 340.9787188908483, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.7487002062347, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1634612204274583, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1411.4437407672447, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1440.918536170174, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 241.53362968964217, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 503.35822840771925, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 248.31413972421078, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1.0041299076082373, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 253.6724874922348, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 526.7712078267103, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11198.456330012483, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10095.60809342743, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "3e1943ef2367c3790086bdec3b3c3d38984d3cd4", + "message": "Bump com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin from 0.33.0 to 0.34.0 (#318)", + "timestamp": "2025-07-14T17:23:24+02:00", + "tree_id": "c11287c854b53531fcfab4889066e09d4bb93f98", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/3e1943ef2367c3790086bdec3b3c3d38984d3cd4" + }, + "date": 1752508161555, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2888.2088404894102, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2589.412347293509, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2976.3171295559064, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2895.941987590416, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1068.3327532229775, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1014.4664067541047, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3009.5732370656915, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2895.4071521459773, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4077.369439137756, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5980034.200321932, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 711.3111052921477, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 707.8436245473331, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4004.26894233824, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2021.5371054933669, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4047.468742461516, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1018952.0018745798, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4074.6910745628265, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1904.9374604229063, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 92.62030109121552, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 102.33489219561763, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.1488323210104, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 381.6406431119209, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.6059194515067, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 360.1155240199407, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1049.9487638153735, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 999.391984459053, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 341.38295640119225, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 354.2669509664862, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.41736529966903, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.17049557804228282, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1415.5514682590697, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1387.9977438765561, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.20863335772566, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 532.4307489212295, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 252.01431067400284, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9434681082685108, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 254.2060771490451, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 529.7362011908001, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10936.830436299571, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 9661.133511950282, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "ac2b3a33961b4f146a9df1421bde6df4def7bfa4", + "message": "Bump com.fasterxml.jackson:jackson-bom from 2.19.1 to 2.19.2 (#320)", + "timestamp": "2025-07-26T06:49:03Z", + "tree_id": "5f77818aa9d347696b350a0f9bf992e020c55d5b", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/ac2b3a33961b4f146a9df1421bde6df4def7bfa4" + }, + "date": 1753514084406, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2856.95703393438, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2672.0746832915524, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2932.0263084054154, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2923.023994168473, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1035.8968569329186, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1010.144121744938, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 3044.0983548406793, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2969.047826026684, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4206.499850440775, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5706705.492803813, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 704.7784328443735, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 704.049765374373, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4132.914996875821, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2146.8889709693976, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4278.894802625835, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1072726.9121157664, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4183.047028918963, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1907.8094578089779, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 89.73499295415733, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 97.94104211834873, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.31733935151817, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 380.61750048805277, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 334.875970616077, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 348.09425632365304, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 928.4221407247317, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 964.1930008349876, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 335.047297588291, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 362.52834896941374, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.60455214321473, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1574557843614995, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1413.267066663311, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1400.3944681560615, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 240.5163986972954, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 464.84510504315676, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 231.51426679882374, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9642973792495686, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 243.64552084239375, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 519.9630938532043, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10631.069683101903, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10548.293189078946, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + }, + { + "commit": { + "author": { + "email": "49699333+dependabot[bot]@users.noreply.github.com", + "name": "dependabot[bot]", + "username": "dependabot[bot]" + }, + "committer": { + "email": "noreply@github.com", + "name": "GitHub", + "username": "web-flow" + }, + "distinct": true, + "id": "e7e90211657624b09706e29cec953adb44c4fec8", + "message": "Bump de.cketti.unicode:kotlin-codepoints from 0.10.0 to 0.11.0 (#321)", + "timestamp": "2025-07-26T07:06:58Z", + "tree_id": "225fc197f6f42979365a8806f9d885ebda91d721", + "url": "https://github.com/OptimumCode/json-schema-validator/commit/e7e90211657624b09706e29cec953adb44c4fec8" + }, + "date": 1753515157510, + "tool": "jmh", + "benches": [ + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2882.3301575945634, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2595.152123360912, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2923.1083097903684, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2925.766615799501, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1064.3371119597555, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1022.9531144585071, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2997.321727862137, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2833.961236970905, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4055.0112357732637, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 5434830.041242239, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 720.1731851129805, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 659.8576138738181, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4167.351341821872, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 2101.8757732190434, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4254.628838026152, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1028535.0057444845, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 4148.057441420426, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1928.3414220751342, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 87.44062092584142, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonThroughputBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 98.91267457676172, + "unit": "ops/s", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 351.24159508326693, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpBasic ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 385.4946524393799, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 332.5000472632455, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpCollectErrors ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 377.12177683943594, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 935.964769941779, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 998.9701961782694, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 333.080389212714, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpEmptyCollector ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 347.2713156849108, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 239.75507148237457, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.1704002671925072, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1471.813367395947, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateKmpVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 1424.2729861100147, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 236.60771211585265, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntDetailed ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 471.01894111853005, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 232.4029746492857, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntFlag ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 0.9405256566792218, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 237.35910826802032, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateNetworkntVerbose ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 526.6067078320606, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 11351.954790062433, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + }, + { + "name": "jvm.ComparisonAvgTimeBenchmark.validateOpenApi ( {\"objectPath\":\"openapi-invalid.json\",\"schemaPath\":\"openapi_schema.json\"} )", + "value": 10475.266117116229, + "unit": "us/op", + "extra": "iterations: 10\nforks: 1\nthreads: 1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/dev/bench/index.html b/dev/bench/index.html new file mode 100644 index 00000000..fe54862e --- /dev/null +++ b/dev/bench/index.html @@ -0,0 +1,276 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes" /> + <style> + html { + font-family: BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif; + -webkit-font-smoothing: antialiased; + background-color: #fff; + font-size: 16px; + } + body { + color: #4a4a4a; + margin: 8px; + font-size: 1em; + font-weight: 400; + } + header { + margin-bottom: 8px; + display: flex; + flex-direction: column; + } + main { + width: 100%; + display: flex; + flex-direction: column; + } + a { + color: #3273dc; + cursor: pointer; + text-decoration: none; + } + a:hover { + color: #000; + } + button { + color: #fff; + background-color: #3298dc; + border-color: transparent; + cursor: pointer; + text-align: center; + } + button:hover { + background-color: #2793da; + flex: none; + } + .spacer { + flex: auto; + } + .small { + font-size: 0.75rem; + } + footer { + margin-top: 16px; + display: flex; + align-items: center; + } + .header-label { + margin-right: 4px; + } + .benchmark-set { + margin: 8px 0; + width: 100%; + display: flex; + flex-direction: column; + } + .benchmark-title { + font-size: 3rem; + font-weight: 600; + word-break: break-word; + text-align: center; + } + .benchmark-graphs { + display: flex; + flex-direction: row; + justify-content: space-around; + align-items: center; + flex-wrap: wrap; + width: 100%; + } + .benchmark-chart { + max-width: 1000px; + } + </style> + <title>Benchmarks + + + + +
+ + + + + + + diff --git a/docs/codespaces_for_jetbrains.md b/docs/codespaces_for_jetbrains.md deleted file mode 100644 index 35ddf3ef..00000000 --- a/docs/codespaces_for_jetbrains.md +++ /dev/null @@ -1,25 +0,0 @@ -# Connect to Codespaces using JetBrains IDE - -## Pre-requirements - -1. You need to have [gh CLI](https://cli.github.com/) installed. -2. JetBrains IDE that can connect to remote host via SSH - -## Steps - -1. Create Codespace in GitHub. You can do it either via the UI or using gh CLI. -2. Create local SSH server that is connected to the Codespace you need. - ```bash - gh cs ssh --server-port - ``` - For example, - ```bash - gh cs ssh --server-port 30042 - ``` - You will see something like this: - ```text - $ gh cs ssh --server-port 30042 - ? Choose codespace: OptimumCode/json-schema-validator (main): redesigned zebra - Connection Details: ssh vscode@localhost [-p 30042 -o NoHostAuthenticationForLocalhost=yes -o PasswordAuthentication=no] - ``` -3. Connect to Codespace using the displayed connection details. \ No newline at end of file diff --git a/docs/custom_assertions.md b/docs/custom_assertions.md deleted file mode 100644 index 183babf4..00000000 --- a/docs/custom_assertions.md +++ /dev/null @@ -1,161 +0,0 @@ -# Create and use custom assertions - -The library provides functionality to create custom assertions that can be used in JSON schemes then. -Here you can see how you can add, register and use the custom assertion. - -## Creating custom assertion - -There are two interfaces you need to use here: -1. [ExternalAssertionFactory](../src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionFactory.kt) - - this interface creates an assertions from a JsonElement. -2. [ExternalAssertion](../src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertion.kt) - - this interface is the actual implementation of the assertion that validates the corresponding element. - -### ExternalAssertionFactory interface - -The `ExternalAssertionFactory` interface is quite simple. -You need to implement `keywordName` property that returns a keyword associated with the assertion. - -Another method is `create` that instantiates an `ExternalAssertion` implementation based on the `JsonElement` passed as a parameter. -There is also another parameter [ExternalLoadingContext](../src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalLoadingContext.kt). -This object provides you information about current location in schema which should be used later -when create a [ValidationError](../src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationError.kt). - -Almost always the `ExternalAssertionFactory` does not have any state. -Because of that it is better to create it as a Kotlin `object` instead of regular `class`. - -### ExternalAssertion interface - -The `ExternalAssertion` interface has only one method `validate`. -This method performs required actions and decides whether the passed `JsonElement` passes the assertion. -There are two more parameters in this method: -* [ExternalAssertionContext](../src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionContext.kt); -* [ErrorCollector](../src/commonMain/kotlin/io/github/optimumcode/json/schema/ErrorCollector.kt). - -`ExternalAssertionContext` contains information associated with currently validating `JsonElement`. -It has a JSON path that point to the location of the current `JsonElement` -and [ExternalAnnotationCollector](../src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAnnotationCollector.kt). -The later one provides the way to add annotations to the `JsonElement` and communicate between different assertion using those. - -## Registering custom assertions - -You can register custom assertions using `withExtensions` methods on `JsonSchemaLoader` instance. - -**NOTE: the order of registration is important in case the assertions uses annotations.** -**The assertions will be executed in the same order as their factories were registered.** - -## Example - -Let's try to implement a small assertion `dateFormat` that accepts a value `iso` and checks that the `JsonElement` matches ISO date format. - -**NOTE: the example implementation does not check the date part values** - -First we need to create an `ExternalAssertionFactory`: - -```kotlin -import io.github.optimumcode.json.schema.extension.* -import kotlinx.serialization.json.* - -object DateFormatAssertionFactory : ExternalAssertionFactory { - private const val PROPERTY: String = "dateFormat" - override val keywordName: String - get() = PROPERTY // 1 - the keyword that is used for our assertion - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion { - require(element is JsonPrimitive && element.isString) { // 2 - validate the element - "$PROPERTY must be a string" - } - val formatType: String = element.content - require(formatType.equals("iso", ignoreCase = true)) { // 3 - we only support one format for now - "$PROPERTY has unsupported value '$formatType'" - } - return DateFormatAssertion( - context.schemaPath, // 4 - we pass the schema path to the assertion to use it later in case of validation error - ) - } -} -``` - -Now we can create the `ExternalAssertion` itself: - -```kotlin -import io.github.optimumcode.json.schema.extension.* -import io.github.optimumcode.json.schema.* -import io.github.optimumcode.json.pointer.* -import kotlinx.serialization.json.* - -class DateFormatAssertion( - private val schemaPath: JsonPointer, -) : ExternalAssertion { - override fun validate( - element: JsonElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean { - if (element !is JsonPrimitive || !element.isString) { - return true // 1 - the assertion must ignore types that it does not expect. In our case the element must be a string - } - val matches = FORMAT_REGEX.matches(element.content) // 2 - checking the format - if (!matches) { - errorCollector.onError( // 3 - creating error if value does not match the expected format - ValidationError( - schemaPath = schemaPath, // 4 - set path to our keyword in schema - objectPath = context.objectPath, // 5 - set path to the element in the object we validate - message = "invalid date format", // 6 - specify the error message - ), - ) - } - return matches // 7 - return the validation result - } - - private companion object { - private val FORMAT_REGEX = Regex("\\d{4}-\\d{2}-\\d{2}") - } -} -``` - -Good. Once the assertion factory and assertion itself are implemented we can now register them and use. -Here is a code snippet that creates JSON schema using our custom assertion: - -```kotlin -import io.github.optimumcode.json.schema.* - -fun main() { - val schema = JsonSchemaLoader.create() - .withExtensions(DateFormatAssertionFactory) - .fromDefinition( - """ - { - "properties": { - "date": { - "type": "string", - "dateFormat": "iso" - } - } - } - """.trimMargin() - ) - - val validElement = toJsonElement( - """ - { - "date": "2024-02-10" - } - """.trimMargin() - ) - - val invalidElement = toJsonElement( - """ - { - "date": "2024/02/10" - } - """.trimMargin() - ) - - schema.validate(validElement, ErrorCollector.EMPTY) // returns true - schema.validate(invalidElement, ErrorCollector.EMPTY) // returns false -} -``` \ No newline at end of file diff --git a/gradle.properties b/gradle.properties deleted file mode 100644 index 361244cf..00000000 --- a/gradle.properties +++ /dev/null @@ -1,12 +0,0 @@ -kotlin.code.style=official -kotlin.js.compiler=ir -org.gradle.jvmargs=-Xmx2048M -org.gradle.java.installations.auto-download=false -org.gradle.daemon=false - -version=0.5.3-SNAPSHOT -group=io.github.optimumcode - -# Due to large amount of test cases the output for JS WEB exceeds 1MB limit for TeamCity reader -# The whole output is printed as a single line and cannot be split by the parser -#kotlin.ignore.tcsm.overflow=true \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml deleted file mode 100644 index 0126520b..00000000 --- a/gradle/libs.versions.toml +++ /dev/null @@ -1,49 +0,0 @@ -[versions] -kotlin = "2.1.21" -kotest = "6.0.0.M3" -detekt = "1.23.8" -ktlint = "1.1.0" -okio = "3.15.0" -serialization = "1.8.1" -benchmark = "0.4.14" -openapi = "2025.3" -jackson = "2.19.2" - -[plugins] -kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } -kotlin-benchmark = { id = "org.jetbrains.kotlinx.benchmark", version.ref = "benchmark" } -kotlin-allopen = { id = "org.jetbrains.kotlin.plugin.allopen", version.ref = "kotlin" } -kotest-multiplatform = { id = "io.kotest.multiplatform", version.ref = "kotest" } -kover = { id = "org.jetbrains.kotlinx.kover", version = "0.9.1" } -detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } -ktlint = { id = "org.jlleitschuh.gradle.ktlint", version = "13.0.0" } -kotlin-binaryCompatibility = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version = "0.18.1" } - -[libraries] -kotlin-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "serialization" } -kotlin-serialization-json-okio = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json-okio", version.ref = "serialization" } -kotlin-benchmark = { group = "org.jetbrains.kotlinx", name = "kotlinx-benchmark-runtime", version.ref = "benchmark" } -kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" } -kotest-framework-engine = { module = "io.kotest:kotest-framework-engine", version.ref = "kotest" } -kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref = "kotest" } -uri = { group = "com.eygraber", name = "uri-kmp", version = "0.0.19" } -okio-common = { group = "com.squareup.okio", name = "okio", version.ref = "okio" } -okio-nodefilesystem = { group = "com.squareup.okio", name = "okio-nodefilesystem", version.ref = "okio" } -openapi-bom = { group = "io.openapiprocessor", name = "json-schema-validator-bom", version.ref = "openapi" } -openapi-validator = { module = "io.openapiprocessor:json-schema-validator" } -openapi-interfaces = { module = "io.openapiprocessor:io-interfaces" } -openapi-jackson = { module = "io.openapiprocessor:io-jackson" } -jackson-bom = { group = "com.fasterxml.jackson", name = "jackson-bom", version.ref = "jackson" } -jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind" } -jackson-yaml = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml" } -networknt-validator = { group = "com.networknt", name = "json-schema-validator", version = "1.5.8" } -kotlin-codepoints = { group = "de.cketti.unicode", name = "kotlin-codepoints", version = "0.11.0" } -normalize = { group = "com.doist.x", name = "normalize", version = "1.2.0" } -karacteristics = { group = "io.github.optimumcode", name = "karacteristics", version = "0.0.6" } -kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } -sigstore-gradle-plugin = { module = "dev.sigstore:sigstore-gradle-sign-plugin", version = "1.3.0"} -maven-publish-gradle-plugin = { module = "com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin", version = "0.34.0"} - -[bundles] -openapi = ["openapi-validator", "openapi-interfaces", "openapi-jackson"] -jackson = ["jackson-databind", "jackson-yaml"] \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 1b33c55b..00000000 Binary files a/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index d4081da4..00000000 --- a/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,7 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip -networkTimeout=10000 -validateDistributionUrl=true -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew deleted file mode 100755 index 23d15a93..00000000 --- a/gradlew +++ /dev/null @@ -1,251 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -# This is normally unused -# shellcheck disable=SC2034 -APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH="\\\"\\\"" - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat deleted file mode 100644 index 5eed7ee8..00000000 --- a/gradlew.bat +++ /dev/null @@ -1,94 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH= - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/json-schema-validator-bom/build.gradle.kts b/json-schema-validator-bom/build.gradle.kts deleted file mode 100644 index 8691d8ef..00000000 --- a/json-schema-validator-bom/build.gradle.kts +++ /dev/null @@ -1,23 +0,0 @@ -plugins { - `java-platform` - convention.publication -} - -configurations.api.configure { - dependencyConstraints.addAllLater( - bomService.coordinates - .map { coordinates -> - coordinates - .distinct() - .map(project.dependencies.constraints::create) - }, - ) -} - -publishing { - publications { - create("jsonSchemaValidatorBom") { - from(components["javaPlatform"]) - } - } -} \ No newline at end of file diff --git a/json-schema-validator-objects/README.md b/json-schema-validator-objects/README.md deleted file mode 100644 index d201fa2e..00000000 --- a/json-schema-validator-objects/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# JSON schema object wrapper - -This module allows wrapping Kotlin objects (e.g. Map, List, primitives) to `AbstractElement` that can be validated by JSON schema. - -## Usage - -```kotlin -val schema = JsonSchema.fromDefinition(/*schema*/) - -val obj = mapOf( - "a" to 42, - "b" to listOf("test"), - "c" to mapOf( - "inner" to 42, - ), -) - -val result = schema.validate(wrapAsElement(obj), OutputCollector.flag()) -``` \ No newline at end of file diff --git a/json-schema-validator-objects/api/json-schema-validator-objects.api b/json-schema-validator-objects/api/json-schema-validator-objects.api deleted file mode 100644 index a10efe24..00000000 --- a/json-schema-validator-objects/api/json-schema-validator-objects.api +++ /dev/null @@ -1,30 +0,0 @@ -public final class io/github/optimumcode/json/schema/wrappers/objects/ObjectWrappers { - public static final fun wrapAsElement (Ljava/lang/Object;)Lio/github/optimumcode/json/schema/model/AbstractElement; - public static final fun wrapAsElement (Ljava/lang/Object;Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration;)Lio/github/optimumcode/json/schema/model/AbstractElement; - public static synthetic fun wrapAsElement$default (Ljava/lang/Object;Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/model/AbstractElement; -} - -public final class io/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration { - public static final field Companion Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration$Companion; - public static final fun create ()Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration; - public static final fun create (Lkotlin/jvm/functions/Function1;)Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration; - public final fun getAllowSets ()Z - public final fun getByteArrayAsBase64String ()Z - public final fun getCharAsCodepoint ()Z -} - -public final class io/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration$Companion { - public final fun create ()Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration; - public final fun create (Lkotlin/jvm/functions/Function1;)Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration; - public static synthetic fun create$default (Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration$Companion;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration; -} - -public final class io/github/optimumcode/json/schema/wrappers/objects/WrappingConfigurationBuilder { - public final fun getAllowSets ()Z - public final fun getByteArrayAsBase64String ()Z - public final fun getCharAsCodepoint ()Z - public final fun setAllowSets (Z)V - public final fun setByteArrayAsBase64String (Z)V - public final fun setCharAsCodepoint (Z)V -} - diff --git a/json-schema-validator-objects/build.gradle.kts b/json-schema-validator-objects/build.gradle.kts deleted file mode 100644 index 9e2dd5b5..00000000 --- a/json-schema-validator-objects/build.gradle.kts +++ /dev/null @@ -1,80 +0,0 @@ -@file:OptIn(ExperimentalWasmDsl::class) - -import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi -import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl -import org.jlleitschuh.gradle.ktlint.reporter.ReporterType - -plugins { - convention.kotlin - convention.`multiplatform-lib` - convention.`multiplatform-tests` - alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.kotest.multiplatform) - alias(libs.plugins.kover) - alias(libs.plugins.detekt) - alias(libs.plugins.ktlint) - convention.publication -} - -kotlin { - @OptIn(ExperimentalKotlinGradlePluginApi::class) - compilerOptions { - freeCompilerArgs.add("-opt-in=io.github.optimumcode.json.schema.ExperimentalApi") - } - - sourceSets { - commonMain { - dependencies { - api(projects.jsonSchemaValidator) - } - } - - val noJsMain by creating { - dependsOn(commonMain.get()) - } - - jvmMain { - dependsOn(noJsMain) - } - - wasmJsMain { - dependsOn(noJsMain) - } - - nativeMain { - dependsOn(noJsMain) - } - - commonTest { - dependencies { - implementation(libs.kotest.assertions.core) - implementation(libs.kotest.framework.engine) - implementation(kotlin("test-common")) - implementation(kotlin("test-annotations-common")) - } - } - jvmTest { - dependencies { - implementation(libs.kotest.runner.junit5) - } - } - } -} - -ktlint { - version.set(libs.versions.ktlint) - reporters { - reporter(ReporterType.HTML) - } -} - -val detektAllTask by tasks.register("detektAll") - -tasks.named("check").configure { - dependsOn(detektAllTask) -} - -tasks.withType { - detektAllTask.dependsOn(this) -} \ No newline at end of file diff --git a/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.kt b/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.kt deleted file mode 100644 index 9e49fc0b..00000000 --- a/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.kt +++ /dev/null @@ -1,220 +0,0 @@ -@file:JvmName("ObjectWrappers") -@file:Suppress("detekt:MatchingDeclarationName") - -package io.github.optimumcode.json.schema.wrappers.objects - -import io.github.optimumcode.json.schema.ExperimentalApi -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.ObjectElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.github.optimumcode.json.schema.wrappers.objects.internal.encodeBase64 -import kotlin.jvm.JvmInline -import kotlin.jvm.JvmName -import kotlin.jvm.JvmOverloads - -/** - * Returns an [AbstractElement] produced by converting the [obj] value. - * The [configuration] allows conversion customization. - * - * # The supported types - * - * ## Simple values: - * * [String] - * * [Byte] - * * [Short] - * * [Int] - * * [Long] - * * [Float] - * * [Double] - * * [Boolean] - * * [Char] - * * `null` - * - * ## Structures: - * * [Map] -> keys MUST have a [String] type, values MUST be one of the supported types - * * [List] -> elements MUST be one of the supported types - * * [Array] -> elements MUST be one of the supported types - * * [CharArray], [ByteArray], [ShortArray], [IntArray], [LongArray], [FloatArray], [DoubleArray] - * - * If [WrappingConfiguration.allowSets] is enabled [Set] is also converted to [ArrayElement]. - * Please be aware that in order to have consistent verification results - * the [Set] must be one of the ORDERED types, e.g. [LinkedHashSet]. - * - * If [WrappingConfiguration.byteArrayAsBase64String] is enabled (enabled by default) - * a [ByteArray] will be encoded using Base64 and wrapped as a [PrimitiveElement]. - */ -@JvmOverloads -@ExperimentalApi -public fun wrapAsElement( - obj: Any?, - configuration: WrappingConfiguration = WrappingConfiguration.create(), -): AbstractElement { - if (obj == null) { - return NullWrapper - } - return when { - obj is Map<*, *> -> checkKeysAndWrap(obj, configuration) - obj is List<*> -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is Array<*> -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is LongArray -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is IntArray -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is ShortArray -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is DoubleArray -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is FloatArray -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is CharArray -> ListWrapper(obj.map { wrapAsElement(it, configuration) }) - obj is ByteArray -> - if (configuration.byteArrayAsBase64String) { - PrimitiveWrapper(obj.encodeBase64()) - } else { - ListWrapper(obj.map { wrapAsElement(it, configuration) }) - } - obj is Set<*> && configuration.allowSets -> - ListWrapper(obj.map { wrapAsElement(it, configuration) }) - - isPrimitive(obj) -> PrimitiveWrapper(convertToSupportedType(obj, configuration)) - else -> error("unsupported type to wrap: ${obj::class}") - } -} - -private fun isPrimitive(obj: Any): Boolean = obj is String || obj is Number || obj is Boolean || obj is Char - -/** - * Returns `true` if the [value] is an integer ([Byte], [Short], [Int], [Long]). - * Otherwise, returns `false`. - * - * Required because JS platform matches all types except Long with `number` type. - * Refer to the [KT-18177](https://youtrack.jetbrains.com/issue/KT-18177/) for additional details - */ -internal expect fun isInteger(value: Number): Boolean - -private fun convertToSupportedType( - obj: Any, - configuration: WrappingConfiguration, -): Any = - when { - obj !is Number -> - if (obj is Char) { - if (configuration.charAsCodepoint) obj.code.toLong() else obj.toString() - } else { - obj - } - obj is Long -> obj - isInteger(obj) -> obj.toLong() - obj is Double -> obj - // due to KT-18177 this won't be invoked for Float on JS platform - obj is Float -> obj.toDoubleSafe() - else -> error("unsupported number type: ${obj::class}") - } - -private fun Float.toDoubleSafe(): Double { - val double = toDouble() - // in some cases the conversion from float to double - // can introduce a difference between numbers. (e.g. 42.2f -> 42.2) - // In this case, the only way (at the moment) is to try parsing - // the double from float converted to string - val floatAsString = toString() - if (double.toString() == floatAsString) { - return double - } - return floatAsString.toDouble() -} - -private fun checkKeysAndWrap( - map: Map<*, *>, - configuration: WrappingConfiguration, -): ObjectWrapper { - if (map.isEmpty()) { - return ObjectWrapper(emptyMap()) - } - - require(map.keys.all { it is String }) { - val notStrings = - map.keys.asSequence().filterNot { it is String }.mapTo(hashSetOf()) { key -> - key?.let { it::class.simpleName } ?: "null" - }.joinToString() - "map keys must be strings, found: $notStrings" - } - - @Suppress("UNCHECKED_CAST") - val elementsMap = - map.mapValues { (_, value) -> - wrapAsElement(value, configuration) - } as Map - return ObjectWrapper(elementsMap) -} - -@JvmInline -private value class ObjectWrapper( - private val map: Map, -) : ObjectElement { - override val keys: Set - get() = map.keys - - override fun get(key: String): AbstractElement? = map[key] - - override fun contains(key: String): Boolean = map.containsKey(key) - - override val size: Int - get() = map.size - - override fun iterator(): Iterator> = - map.asSequence().map { (key, value) -> key to value }.iterator() - - override fun toString(): String = map.toString() -} - -@JvmInline -private value class ListWrapper( - private val list: List, -) : ArrayElement { - override fun iterator(): Iterator = list.iterator() - - override fun get(index: Int): AbstractElement = list[index] - - override val size: Int - get() = list.size - - override fun toString(): String = list.toString() -} - -@JvmInline -private value class PrimitiveWrapper( - private val value: Any, -) : PrimitiveElement { - override val isNull: Boolean - get() = false - override val isString: Boolean - get() = value is String - override val isBoolean: Boolean - get() = value is Boolean - override val isNumber: Boolean - get() = value is Number - override val longOrNull: Long? - get() = value as? Long - override val doubleOrNull: Double? - get() = value as? Double - override val content: String - get() = value.toString() - - override fun toString(): String = value.toString() -} - -private data object NullWrapper : PrimitiveElement { - override val isNull: Boolean - get() = true - override val isString: Boolean - get() = false - override val isBoolean: Boolean - get() = false - override val isNumber: Boolean - get() = false - override val longOrNull: Long? - get() = null - override val doubleOrNull: Double? - get() = null - override val content: String - get() = "null" - - override fun toString(): String = "null" -} \ No newline at end of file diff --git a/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration.kt b/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration.kt deleted file mode 100644 index 54c0ca4f..00000000 --- a/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/WrappingConfiguration.kt +++ /dev/null @@ -1,59 +0,0 @@ -package io.github.optimumcode.json.schema.wrappers.objects - -import io.github.optimumcode.json.schema.ExperimentalApi -import kotlin.jvm.JvmOverloads -import kotlin.jvm.JvmStatic - -@ExperimentalApi -public class WrappingConfiguration internal constructor( - /** - * If set to `false` an exception is thrown when wrapping a [Set]. - * If set to `true`, [Set] is wrapped the same way as [List] - */ - public val allowSets: Boolean, - /** - * If set to `false` the [Char] is converted to [String]. - * If set to `true` the [Char] is converted to a codepoint (and then to [Long]) - */ - public val charAsCodepoint: Boolean, - /** - * If set to `true` the [ByteArray] is encoded using Base64 encoding - * and wrapped as a [PrimitiveElement][io.github.optimumcode.json.schema.model.PrimitiveElement]. - * Otherwise, the [ByteArray] is wrapped as an [ArrayElement][io.github.optimumcode.json.schema.model.ArrayElement]. - */ - public val byteArrayAsBase64String: Boolean, -) { - public companion object { - @ExperimentalApi - @JvmStatic - @JvmOverloads - public fun create(configuration: WrappingConfigurationBuilder.() -> Unit = {}): WrappingConfiguration = - WrappingConfigurationBuilder().apply(configuration).build() - } -} - -@ExperimentalApi -public class WrappingConfigurationBuilder internal constructor() { - /** - * @see WrappingConfiguration.allowSets - */ - public var allowSets: Boolean = false - - /** - * @see WrappingConfiguration.charAsCodepoint - */ - public var charAsCodepoint: Boolean = false - - /** - * @see WrappingConfiguration.byteArrayAsBase64String - */ - public var byteArrayAsBase64String: Boolean = true - - internal fun build(): WrappingConfiguration { - return WrappingConfiguration( - allowSets = allowSets, - charAsCodepoint = charAsCodepoint, - byteArrayAsBase64String = byteArrayAsBase64String, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/internal/Base64.kt b/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/internal/Base64.kt deleted file mode 100644 index b85b97d9..00000000 --- a/json-schema-validator-objects/src/commonMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/internal/Base64.kt +++ /dev/null @@ -1,7 +0,0 @@ -package io.github.optimumcode.json.schema.wrappers.objects.internal - -import kotlin.io.encoding.Base64 -import kotlin.io.encoding.ExperimentalEncodingApi - -@OptIn(ExperimentalEncodingApi::class) -internal fun ByteArray.encodeBase64(): String = Base64.Default.encode(this) \ No newline at end of file diff --git a/json-schema-validator-objects/src/commonTest/kotlin/io/github/optimumcode/json/schema/wrappers/objects/ValidationTest.kt b/json-schema-validator-objects/src/commonTest/kotlin/io/github/optimumcode/json/schema/wrappers/objects/ValidationTest.kt deleted file mode 100644 index efc680b0..00000000 --- a/json-schema-validator-objects/src/commonTest/kotlin/io/github/optimumcode/json/schema/wrappers/objects/ValidationTest.kt +++ /dev/null @@ -1,116 +0,0 @@ -package io.github.optimumcode.json.schema.wrappers.objects - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.SchemaType -import io.github.optimumcode.json.schema.ValidationOutput -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe - -class ValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "properties": { - "simple": { - "type": "integer" - }, - "collection": { - "type": "array", - "items": { - "type": "string" - } - }, - "sub-map": { - "properties": { - "inner": { - "type": "string" - } - } - } - }, - "additionalProperties": false, - "required": ["simple"] - } - """.trimIndent(), - defaultType = SchemaType.DRAFT_2020_12, - ) - - test("valid object") { - val result = - schema.validate( - wrapAsElement( - mapOf( - "simple" to 1, - "collection" to - listOf( - "test1", - "test2", - ), - "sub-map" to - mapOf( - "inner" to "inner1", - ), - ), - ), - OutputCollector.basic(), - ) - - result.asClue { - it.valid shouldBe true - } - } - - test("invalid object") { - val result = - schema.validate( - wrapAsElement( - mapOf( - "simple" to 1.5, - "collection" to - listOf( - "test1", - 1, - ), - "sub-map" to - mapOf( - "inner" to 42, - ), - ), - ), - OutputCollector.basic(), - ) - - result.asClue { - it.valid shouldBe false - it.errors shouldHaveSize 3 - it.errors.shouldContainExactlyInAnyOrder( - ValidationOutput.OutputUnit( - valid = false, - keywordLocation = JsonPointer("/properties/simple/type"), - instanceLocation = JsonPointer("/simple"), - error = "element is not a integer", - ), - ValidationOutput.OutputUnit( - valid = false, - keywordLocation = JsonPointer("/properties/collection/items/type"), - instanceLocation = JsonPointer("/collection/1"), - error = "element is not a string", - ), - ValidationOutput.OutputUnit( - valid = false, - keywordLocation = JsonPointer("/properties/sub-map/properties/inner/type"), - instanceLocation = JsonPointer("/sub-map/inner"), - error = "element is not a string", - ), - ) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator-objects/src/commonTest/kotlin/io/github/optimumcode/json/schema/wrappers/objects/WrappersTest.kt b/json-schema-validator-objects/src/commonTest/kotlin/io/github/optimumcode/json/schema/wrappers/objects/WrappersTest.kt deleted file mode 100644 index 3ecf3f12..00000000 --- a/json-schema-validator-objects/src/commonTest/kotlin/io/github/optimumcode/json/schema/wrappers/objects/WrappersTest.kt +++ /dev/null @@ -1,335 +0,0 @@ -package io.github.optimumcode.json.schema.wrappers.objects - -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.ObjectElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.kotest.assertions.asClue -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.throwables.shouldNotThrowAny -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.Platform -import io.kotest.core.platform -import io.kotest.core.spec.style.FunSpec -import io.kotest.core.test.Enabled -import io.kotest.core.test.EnabledOrReasonIf -import io.kotest.matchers.booleans.shouldBeFalse -import io.kotest.matchers.booleans.shouldBeTrue -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.nulls.shouldBeNull -import io.kotest.matchers.nulls.shouldNotBeNull -import io.kotest.matchers.shouldBe -import io.kotest.matchers.string.shouldStartWith -import io.kotest.matchers.types.shouldBeInstanceOf - -class WrappersTest : FunSpec() { - init { - fun Any?.str(): String = - when (this) { - is Array<*> -> this.contentToString() - is ByteArray -> this.contentToString() - is ShortArray -> this.contentToString() - is IntArray -> this.contentToString() - is LongArray -> this.contentToString() - is FloatArray -> this.contentToString() - is DoubleArray -> this.contentToString() - is CharArray -> this.contentToString() - else -> toString() - } - - fun Any?.type(): String = this?.let { "(${it::class.simpleName}) " } ?: "" - - mapOf( - emptyMap() to ObjectElement::class, - listOf() to ArrayElement::class, - emptyArray() to ArrayElement::class, - // by default ByteArray is encoded as base64 string - byteArrayOf() to PrimitiveElement::class, - shortArrayOf() to ArrayElement::class, - intArrayOf() to ArrayElement::class, - longArrayOf() to ArrayElement::class, - floatArrayOf() to ArrayElement::class, - doubleArrayOf() to ArrayElement::class, - charArrayOf() to ArrayElement::class, - "test" to PrimitiveElement::class, - 't' to PrimitiveElement::class, - 42 to PrimitiveElement::class, - 42L to PrimitiveElement::class, - 42.2 to PrimitiveElement::class, - 42.2f to PrimitiveElement::class, - true to PrimitiveElement::class, - null to PrimitiveElement::class, - ).forEach { (obj, wrapperClass) -> - test("element ${obj.str()} ${obj.type()}is wrapped into ${wrapperClass.simpleName}") { - wrapperClass.isInstance(wrapAsElement(obj)).shouldBeTrue() - } - } - - test("primitive wrapper for null") { - wrapAsElement(null).shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeFalse() } - "isNumber".asClue { el.isNumber.shouldBeFalse() } - "isBoolean".asClue { el.isBoolean.shouldBeFalse() } - "isNull".asClue { el.isNull.shouldBeTrue() } - "content".asClue { el.content shouldBe "null" } - "longOrNull".asClue { el.longOrNull.shouldBeNull() } - "doubleOrNull".asClue { el.doubleOrNull.shouldBeNull() } - } - } - } - - test("primitive wrapper for boolean") { - wrapAsElement(true).shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeFalse() } - "isNumber".asClue { el.isNumber.shouldBeFalse() } - "isBoolean".asClue { el.isBoolean.shouldBeTrue() } - "isNull".asClue { el.isNull.shouldBeFalse() } - "content".asClue { el.content shouldBe "true" } - "longOrNull".asClue { el.longOrNull.shouldBeNull() } - "doubleOrNull".asClue { el.doubleOrNull.shouldBeNull() } - } - } - } - - test("primitive wrapper for integer number") { - wrapAsElement(42).shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeFalse() } - "isNumber".asClue { el.isNumber.shouldBeTrue() } - "isBoolean".asClue { el.isBoolean.shouldBeFalse() } - "isNull".asClue { el.isNull.shouldBeFalse() } - "content".asClue { el.content shouldBe "42" } - "longOrNull".asClue { el.longOrNull shouldBe 42L } - "doubleOrNull".asClue { el.doubleOrNull.shouldBeNull() } - } - } - } - - test("primitive wrapper for floating number") { - wrapAsElement(42.5).shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeFalse() } - "isNumber".asClue { el.isNumber.shouldBeTrue() } - "isBoolean".asClue { el.isBoolean.shouldBeFalse() } - "isNull".asClue { el.isNull.shouldBeFalse() } - "content".asClue { el.content shouldBe "42.5" } - "longOrNull".asClue { el.longOrNull.shouldBeNull() } - "doubleOrNull".asClue { el.doubleOrNull shouldBe 42.5 } - } - } - } - - test("primitive wrapper for string") { - wrapAsElement("42").shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeTrue() } - "isNumber".asClue { el.isNumber.shouldBeFalse() } - "isBoolean".asClue { el.isBoolean.shouldBeFalse() } - "isNull".asClue { el.isNull.shouldBeFalse() } - "content".asClue { el.content shouldBe "42" } - "longOrNull".asClue { el.longOrNull.shouldBeNull() } - "doubleOrNull".asClue { el.doubleOrNull.shouldBeNull() } - } - } - } - - test("primitive wrapper for char") { - wrapAsElement('4').shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeTrue() } - "isNumber".asClue { el.isNumber.shouldBeFalse() } - "isBoolean".asClue { el.isBoolean.shouldBeFalse() } - "isNull".asClue { el.isNull.shouldBeFalse() } - "content".asClue { el.content shouldBe "4" } - "longOrNull".asClue { el.longOrNull.shouldBeNull() } - "doubleOrNull".asClue { el.doubleOrNull.shouldBeNull() } - } - } - } - - test("primitive wrapper for char as codepoint") { - wrapAsElement('4', WrappingConfiguration.create { charAsCodepoint = true }) - .shouldBeInstanceOf { el -> - assertSoftly { - "isString".asClue { el.isString.shouldBeFalse() } - "isNumber".asClue { el.isNumber.shouldBeTrue() } - "isBoolean".asClue { el.isBoolean.shouldBeFalse() } - "isNull".asClue { el.isNull.shouldBeFalse() } - "content".asClue { el.content shouldBe "52" } - "longOrNull".asClue { el.longOrNull shouldBe 52L } - "doubleOrNull".asClue { el.doubleOrNull.shouldBeNull() } - } - } - } - - test("object wrapper") { - wrapAsElement( - buildMap { - put("a", "hello") - put("b", listOf()) - put("c", mapOf()) - put("d", null) - }, - ).shouldBeInstanceOf { - assertSoftly { - it.size shouldBe 4 - it.keys shouldContainExactly setOf("a", "b", "c", "d") - it["a"].shouldBeInstanceOf() - it["b"].shouldBeInstanceOf() - it["c"].shouldBeInstanceOf() - it["d"].shouldBeInstanceOf { - it.isNull.shouldBeTrue() - } - it["e"].shouldBeNull() - ("a" in it).shouldBeTrue() - ("e" in it).shouldBeFalse() - } - } - } - - test("array wrapper") { - wrapAsElement( - buildList { - add("hello") - add(mapOf()) - add(listOf()) - add(null) - }, - ).shouldBeInstanceOf { - assertSoftly { - it.size shouldBe 4 - it[0].shouldBeInstanceOf() - it[1].shouldBeInstanceOf() - it[2].shouldBeInstanceOf() - it[3].shouldBeInstanceOf { - it.isNull.shouldBeTrue() - } - } - } - } - - test("set is not allowed by default") { - shouldThrow { - wrapAsElement(setOf("a")) - }.message.shouldStartWith("unsupported type to wrap:") - } - - test("set is allowed if configuration is provided") { - val element = - shouldNotThrowAny { - wrapAsElement( - setOf("a"), - WrappingConfiguration.create { - allowSets = true - }, - ) - } - element.shouldBeInstanceOf { - it.size shouldBe 1 - it[0].shouldBeInstanceOf() - } - } - - mapOf(42 to "Int", null to "null").forEach { (key, type) -> - test("map with key '${key.str()}' ${key.type()} is not allowed") { - shouldThrow { - wrapAsElement( - mapOf(key to "test"), - ) - }.message.shouldBe("map keys must be strings, found: $type") - } - } - - mapOf( - 42.toByte() to 42L, - 42.toShort() to 42L, - 42 to 42L, - 42L to 42L, - ).forEach { (originalNumber, convertedNumber) -> - val name = - "integer number $originalNumber ${originalNumber.type()}" + - "converted to $convertedNumber ${convertedNumber.type()}" - test(name) { - wrapAsElement(originalNumber).shouldBeInstanceOf { - it.longOrNull.shouldNotBeNull() - .shouldBe(convertedNumber) - it.doubleOrNull.shouldBeNull() - } - } - } - - class DoubleConversionTestCase( - val initial: Any, - val expected: Double, - ) - - mapOf( - DoubleConversionTestCase( - 42.2f, - 42.2, - ) to { - if (platform == Platform.WasmJs) { - Enabled.disabled("problems with precision on wasm platform") - } else { - Enabled.enabled - } - }, - DoubleConversionTestCase(42.5f, 42.5) to { Enabled.enabled }, - DoubleConversionTestCase(42.5, 42.5) to { Enabled.enabled }, - ).forEach { (tc, condition) -> - val originalNumber = tc.initial - val convertedNumber = tc.expected - val name = - "floating number $originalNumber ${originalNumber.type()}" + - "converted to $convertedNumber ${convertedNumber.type()}" - test(name).config(enabledOrReasonIf = condition) { - wrapAsElement(originalNumber).shouldBeInstanceOf { - it.doubleOrNull.shouldNotBeNull() - .shouldBe(convertedNumber) - it.longOrNull.shouldBeNull() - } - } - } - - test("other number implementations are not allowed") - .config( - enabledOrReasonIf = { - when (platform) { - Platform.JS -> Enabled.disabled("you cannot create a class that is a Number on JS") - else -> Enabled.enabled - } - }, - ) { - shouldThrow { - wrapAsElement(MyNumber()) - }.message.shouldStartWith("unsupported number type:") - } - - test("byte array can be wrapped as an array element") { - wrapAsElement( - byteArrayOf(42), - WrappingConfiguration.create { - byteArrayAsBase64String = false - }, - ).shouldBeInstanceOf { - it.size shouldBe 1 - it.single().shouldBeInstanceOf() - } - } - } -} - -private class MyNumber : Number() { - override fun toByte(): Byte = TODO("Not yet implemented") - - override fun toDouble(): Double = TODO("Not yet implemented") - - override fun toFloat(): Float = TODO("Not yet implemented") - - override fun toInt(): Int = TODO("Not yet implemented") - - override fun toLong(): Long = TODO("Not yet implemented") - - override fun toShort(): Short = TODO("Not yet implemented") -} \ No newline at end of file diff --git a/json-schema-validator-objects/src/jsMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.js.kt b/json-schema-validator-objects/src/jsMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.js.kt deleted file mode 100644 index badaf6ad..00000000 --- a/json-schema-validator-objects/src/jsMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.js.kt +++ /dev/null @@ -1,3 +0,0 @@ -package io.github.optimumcode.json.schema.wrappers.objects - -internal actual fun isInteger(value: Number): Boolean = js("return Number.isInteger(value)") \ No newline at end of file diff --git a/json-schema-validator-objects/src/noJsMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.noJs.kt b/json-schema-validator-objects/src/noJsMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.noJs.kt deleted file mode 100644 index f3704d17..00000000 --- a/json-schema-validator-objects/src/noJsMain/kotlin/io/github/optimumcode/json/schema/wrappers/objects/Wrappers.noJs.kt +++ /dev/null @@ -1,3 +0,0 @@ -package io.github.optimumcode.json.schema.wrappers.objects - -internal actual fun isInteger(value: Number): Boolean = value is Byte || value is Short || value is Int || value is Long \ No newline at end of file diff --git a/json-schema-validator/api/json-schema-validator.api b/json-schema-validator/api/json-schema-validator.api deleted file mode 100644 index 0498a197..00000000 --- a/json-schema-validator/api/json-schema-validator.api +++ /dev/null @@ -1,388 +0,0 @@ -public abstract class io/github/optimumcode/json/pointer/JsonPointer { - public static final field Companion Lio/github/optimumcode/json/pointer/JsonPointer$Companion; - public static final field ROOT Lio/github/optimumcode/json/pointer/JsonPointer; - public synthetic fun (Lio/github/optimumcode/json/pointer/JsonPointer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lio/github/optimumcode/json/pointer/JsonPointer;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun atIndex (I)Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun atProperty (Ljava/lang/String;)Lio/github/optimumcode/json/pointer/JsonPointer; - public static final fun compile (Ljava/lang/String;)Lio/github/optimumcode/json/pointer/JsonPointer; - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/github/optimumcode/json/pointer/JsonPointer$Companion { - public final fun compile (Ljava/lang/String;)Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public final class io/github/optimumcode/json/pointer/JsonPointerExtensions { - public static final fun at (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/pointer/JsonPointer;)Lkotlinx/serialization/json/JsonElement; - public static final fun contains (Lio/github/optimumcode/json/pointer/JsonPointer;Ljava/lang/String;)Z - public static final fun div (Lio/github/optimumcode/json/pointer/JsonPointer;Ljava/lang/String;)Lio/github/optimumcode/json/pointer/JsonPointer; - public static final fun get (Lio/github/optimumcode/json/pointer/JsonPointer;I)Lio/github/optimumcode/json/pointer/JsonPointer; - public static final fun plus (Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;)Lio/github/optimumcode/json/pointer/JsonPointer; - public static final fun relative (Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;)Lio/github/optimumcode/json/pointer/JsonPointer; - public static final fun startsWith (Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;)Z -} - -public final class io/github/optimumcode/json/pointer/JsonPointerKt { - public static final fun JsonPointer (Ljava/lang/String;)Lio/github/optimumcode/json/pointer/JsonPointer; -} - -public final class io/github/optimumcode/json/schema/AbsoluteLocation { - public static final field Companion Lio/github/optimumcode/json/schema/AbsoluteLocation$Companion; - public fun (Lcom/eygraber/uri/Uri;Lio/github/optimumcode/json/pointer/JsonPointer;)V - public final fun component1 ()Lcom/eygraber/uri/Uri; - public final fun component2 ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun copy (Lcom/eygraber/uri/Uri;Lio/github/optimumcode/json/pointer/JsonPointer;)Lio/github/optimumcode/json/schema/AbsoluteLocation; - public static synthetic fun copy$default (Lio/github/optimumcode/json/schema/AbsoluteLocation;Lcom/eygraber/uri/Uri;Lio/github/optimumcode/json/pointer/JsonPointer;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/AbsoluteLocation; - public fun equals (Ljava/lang/Object;)Z - public final fun getPath ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun getUri ()Lcom/eygraber/uri/Uri; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public final class io/github/optimumcode/json/schema/AbsoluteLocation$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public abstract class io/github/optimumcode/json/schema/AnnotationKey { - public static final field Companion Lio/github/optimumcode/json/schema/AnnotationKey$Companion; - public synthetic fun (Ljava/lang/String;Lkotlin/reflect/KClass;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public fun equals (Ljava/lang/Object;)Z - public fun hashCode ()I - public static final fun simple (Ljava/lang/String;Lkotlin/reflect/KClass;)Lio/github/optimumcode/json/schema/AnnotationKey; - public fun toString ()Ljava/lang/String; -} - -public final class io/github/optimumcode/json/schema/AnnotationKey$Companion { - public final fun simple (Ljava/lang/String;Lkotlin/reflect/KClass;)Lio/github/optimumcode/json/schema/AnnotationKey; -} - -public final class io/github/optimumcode/json/schema/Annotations { - public static final field FORMAT_ANNOTATION Lio/github/optimumcode/json/schema/AnnotationKey; -} - -public abstract interface class io/github/optimumcode/json/schema/ErrorCollector { - public static final field Companion Lio/github/optimumcode/json/schema/ErrorCollector$Companion; - public static final field EMPTY Lio/github/optimumcode/json/schema/ErrorCollector; - public abstract fun onError (Lio/github/optimumcode/json/schema/ValidationError;)V -} - -public final class io/github/optimumcode/json/schema/ErrorCollector$Companion { -} - -public abstract interface annotation class io/github/optimumcode/json/schema/ExperimentalApi : java/lang/annotation/Annotation { -} - -public final class io/github/optimumcode/json/schema/FormatBehavior : java/lang/Enum { - public static final field ANNOTATION_AND_ASSERTION Lio/github/optimumcode/json/schema/FormatBehavior; - public static final field ANNOTATION_ONLY Lio/github/optimumcode/json/schema/FormatBehavior; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lio/github/optimumcode/json/schema/FormatBehavior; - public static fun values ()[Lio/github/optimumcode/json/schema/FormatBehavior; -} - -public abstract class io/github/optimumcode/json/schema/FormatValidationResult { - public synthetic fun (ZLkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun isValid ()Z -} - -public abstract interface class io/github/optimumcode/json/schema/FormatValidator { - public static final field Companion Lio/github/optimumcode/json/schema/FormatValidator$Companion; - public static fun Invalid ()Lio/github/optimumcode/json/schema/FormatValidationResult; - public static fun Valid ()Lio/github/optimumcode/json/schema/FormatValidationResult; - public abstract fun validate (Lio/github/optimumcode/json/schema/model/AbstractElement;)Lio/github/optimumcode/json/schema/FormatValidationResult; -} - -public final class io/github/optimumcode/json/schema/FormatValidator$Companion { - public final fun Invalid ()Lio/github/optimumcode/json/schema/FormatValidationResult; - public final fun Valid ()Lio/github/optimumcode/json/schema/FormatValidationResult; -} - -public final class io/github/optimumcode/json/schema/JsonSchema { - public static final field Companion Lio/github/optimumcode/json/schema/JsonSchema$Companion; - public static final fun fromDefinition (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchema; - public static final fun fromDefinition (Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema; - public static final fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchema; - public static final fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema; - public final fun validate (Lio/github/optimumcode/json/schema/model/AbstractElement;Lio/github/optimumcode/json/schema/ErrorCollector;)Z - public final fun validate (Lio/github/optimumcode/json/schema/model/AbstractElement;Lio/github/optimumcode/json/schema/OutputCollector$Provider;)Ljava/lang/Object; - public final fun validate (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/ErrorCollector;)Z - public final fun validate (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/OutputCollector$Provider;)Ljava/lang/Object; -} - -public final class io/github/optimumcode/json/schema/JsonSchema$Companion { - public final fun fromDefinition (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchema; - public final fun fromDefinition (Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema; - public static synthetic fun fromDefinition$default (Lio/github/optimumcode/json/schema/JsonSchema$Companion;Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/JsonSchema; - public final fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchema; - public final fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema; - public static synthetic fun fromJsonElement$default (Lio/github/optimumcode/json/schema/JsonSchema$Companion;Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/JsonSchema; -} - -public abstract interface class io/github/optimumcode/json/schema/JsonSchemaLoader { - public static final field Companion Lio/github/optimumcode/json/schema/JsonSchemaLoader$Companion; - public static fun create ()Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun fromDefinition (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchema; - public abstract fun fromDefinition (Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema; - public abstract fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchema; - public abstract fun fromJsonElement (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchema; - public abstract fun register (Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun register (Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun register (Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun register (Lkotlinx/serialization/json/JsonElement;Lcom/eygraber/uri/Uri;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun register (Lkotlinx/serialization/json/JsonElement;Lcom/eygraber/uri/Uri;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun register (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract synthetic fun register (Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract synthetic fun register (Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun registerWellKnown (Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun withCustomFormat (Ljava/lang/String;Lio/github/optimumcode/json/schema/FormatValidator;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun withCustomFormats (Ljava/util/Map;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun withExtensions (Lio/github/optimumcode/json/schema/extension/ExternalAssertionFactory;[Lio/github/optimumcode/json/schema/extension/ExternalAssertionFactory;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun withExtensions (Ljava/lang/Iterable;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public abstract fun withSchemaOption (Lio/github/optimumcode/json/schema/SchemaOption;Ljava/lang/Object;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; -} - -public final class io/github/optimumcode/json/schema/JsonSchemaLoader$Companion { - public final fun create ()Lio/github/optimumcode/json/schema/JsonSchemaLoader; -} - -public final class io/github/optimumcode/json/schema/JsonSchemaLoader$DefaultImpls { - public static fun fromDefinition (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchema; - public static fun fromJsonElement (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchema; - public static fun register (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public static fun register (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Lkotlinx/serialization/json/JsonElement;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public static fun register (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Lkotlinx/serialization/json/JsonElement;Lcom/eygraber/uri/Uri;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public static synthetic fun register (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public static synthetic fun register (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Lkotlinx/serialization/json/JsonElement;Ljava/lang/String;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; - public static fun registerWellKnown (Lio/github/optimumcode/json/schema/JsonSchemaLoader;Lio/github/optimumcode/json/schema/SchemaType;)Lio/github/optimumcode/json/schema/JsonSchemaLoader; -} - -public final class io/github/optimumcode/json/schema/JsonSchemaStream { - public static final fun fromStream (Lio/github/optimumcode/json/schema/JsonSchema$Companion;Ljava/io/InputStream;)Lio/github/optimumcode/json/schema/JsonSchema; -} - -public abstract class io/github/optimumcode/json/schema/OutputCollector { - public static final field Companion Lio/github/optimumcode/json/schema/OutputCollector$Companion; - public synthetic fun (Lio/github/optimumcode/json/schema/OutputCollector;Lkotlin/jvm/functions/Function2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Lio/github/optimumcode/json/schema/OutputCollector;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public static final fun basic ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; - public static final fun detailed ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; - public static final fun flag ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; - protected final fun transformError (Lio/github/optimumcode/json/schema/ValidationError;)Lio/github/optimumcode/json/schema/ValidationError; - public static final fun verbose ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; -} - -public final class io/github/optimumcode/json/schema/OutputCollector$Companion { - public final fun basic ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; - public final fun detailed ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; - public final fun flag ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; - public final fun verbose ()Lio/github/optimumcode/json/schema/OutputCollector$Provider; -} - -public final class io/github/optimumcode/json/schema/OutputCollector$Provider { -} - -public final class io/github/optimumcode/json/schema/SchemaOption { - public static final field Companion Lio/github/optimumcode/json/schema/SchemaOption$Companion; - public static final field FORMAT_BEHAVIOR_OPTION Lio/github/optimumcode/json/schema/SchemaOption; -} - -public final class io/github/optimumcode/json/schema/SchemaOption$Companion { -} - -public final class io/github/optimumcode/json/schema/SchemaType : java/lang/Enum { - public static final field Companion Lio/github/optimumcode/json/schema/SchemaType$Companion; - public static final field DRAFT_2019_09 Lio/github/optimumcode/json/schema/SchemaType; - public static final field DRAFT_2020_12 Lio/github/optimumcode/json/schema/SchemaType; - public static final field DRAFT_4 Lio/github/optimumcode/json/schema/SchemaType; - public static final field DRAFT_6 Lio/github/optimumcode/json/schema/SchemaType; - public static final field DRAFT_7 Lio/github/optimumcode/json/schema/SchemaType; - public static final fun find (Ljava/lang/String;)Lio/github/optimumcode/json/schema/SchemaType; - public static fun getEntries ()Lkotlin/enums/EnumEntries; - public static fun valueOf (Ljava/lang/String;)Lio/github/optimumcode/json/schema/SchemaType; - public static fun values ()[Lio/github/optimumcode/json/schema/SchemaType; -} - -public final class io/github/optimumcode/json/schema/SchemaType$Companion { - public final fun find (Ljava/lang/String;)Lio/github/optimumcode/json/schema/SchemaType; -} - -public final class io/github/optimumcode/json/schema/ValidationError { - public fun (Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Ljava/lang/String;Ljava/util/Map;Lio/github/optimumcode/json/schema/AbsoluteLocation;)V - public synthetic fun (Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Ljava/lang/String;Ljava/util/Map;Lio/github/optimumcode/json/schema/AbsoluteLocation;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun component2 ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Ljava/util/Map; - public final fun component5 ()Lio/github/optimumcode/json/schema/AbsoluteLocation; - public final fun copy (Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Ljava/lang/String;Ljava/util/Map;Lio/github/optimumcode/json/schema/AbsoluteLocation;)Lio/github/optimumcode/json/schema/ValidationError; - public static synthetic fun copy$default (Lio/github/optimumcode/json/schema/ValidationError;Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Ljava/lang/String;Ljava/util/Map;Lio/github/optimumcode/json/schema/AbsoluteLocation;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/ValidationError; - public fun equals (Ljava/lang/Object;)Z - public final fun getAbsoluteLocation ()Lio/github/optimumcode/json/schema/AbsoluteLocation; - public final fun getDetails ()Ljava/util/Map; - public final fun getMessage ()Ljava/lang/String; - public final fun getObjectPath ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun getSchemaPath ()Lio/github/optimumcode/json/pointer/JsonPointer; - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public abstract class io/github/optimumcode/json/schema/ValidationOutput { - public abstract fun getValid ()Z -} - -public final class io/github/optimumcode/json/schema/ValidationOutput$Basic : io/github/optimumcode/json/schema/ValidationOutput { - public static final field Companion Lio/github/optimumcode/json/schema/ValidationOutput$Basic$Companion; - public fun (ZLjava/util/Set;)V - public synthetic fun (ZLjava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun component2 ()Ljava/util/Set; - public final fun copy (ZLjava/util/Set;)Lio/github/optimumcode/json/schema/ValidationOutput$Basic; - public static synthetic fun copy$default (Lio/github/optimumcode/json/schema/ValidationOutput$Basic;ZLjava/util/Set;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/ValidationOutput$Basic; - public fun equals (Ljava/lang/Object;)Z - public final fun getErrors ()Ljava/util/Set; - public fun getValid ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public synthetic class io/github/optimumcode/json/schema/ValidationOutput$Basic$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lio/github/optimumcode/json/schema/ValidationOutput$Basic$$serializer; - public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/github/optimumcode/json/schema/ValidationOutput$Basic; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/github/optimumcode/json/schema/ValidationOutput$Basic;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V -} - -public final class io/github/optimumcode/json/schema/ValidationOutput$Basic$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public final class io/github/optimumcode/json/schema/ValidationOutput$Flag : io/github/optimumcode/json/schema/ValidationOutput { - public static final field Companion Lio/github/optimumcode/json/schema/ValidationOutput$Flag$Companion; - public static final field INVALID Lio/github/optimumcode/json/schema/ValidationOutput$Flag; - public static final field VALID Lio/github/optimumcode/json/schema/ValidationOutput$Flag; - public fun (Z)V - public final fun component1 ()Z - public final fun copy (Z)Lio/github/optimumcode/json/schema/ValidationOutput$Flag; - public static synthetic fun copy$default (Lio/github/optimumcode/json/schema/ValidationOutput$Flag;ZILjava/lang/Object;)Lio/github/optimumcode/json/schema/ValidationOutput$Flag; - public fun equals (Ljava/lang/Object;)Z - public fun getValid ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public synthetic class io/github/optimumcode/json/schema/ValidationOutput$Flag$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lio/github/optimumcode/json/schema/ValidationOutput$Flag$$serializer; - public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/github/optimumcode/json/schema/ValidationOutput$Flag; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/github/optimumcode/json/schema/ValidationOutput$Flag;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V -} - -public final class io/github/optimumcode/json/schema/ValidationOutput$Flag$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public final class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit : io/github/optimumcode/json/schema/ValidationOutput { - public static final field Companion Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit$Companion; - public fun (ZLio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/schema/AbsoluteLocation;Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;)V - public synthetic fun (ZLio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/schema/AbsoluteLocation;Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Z - public final fun component2 ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun component3 ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun component4 ()Lio/github/optimumcode/json/schema/AbsoluteLocation; - public final fun component5 ()Ljava/lang/String; - public final fun component6 ()Ljava/util/Set; - public final fun component7 ()Ljava/util/Set; - public final fun copy (ZLio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/schema/AbsoluteLocation;Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;)Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit; - public static synthetic fun copy$default (Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit;ZLio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/pointer/JsonPointer;Lio/github/optimumcode/json/schema/AbsoluteLocation;Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;ILjava/lang/Object;)Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit; - public fun equals (Ljava/lang/Object;)Z - public final fun getAbsoluteKeywordLocation ()Lio/github/optimumcode/json/schema/AbsoluteLocation; - public final fun getAnnotations ()Ljava/util/Set; - public final fun getError ()Ljava/lang/String; - public final fun getErrors ()Ljava/util/Set; - public final fun getInstanceLocation ()Lio/github/optimumcode/json/pointer/JsonPointer; - public final fun getKeywordLocation ()Lio/github/optimumcode/json/pointer/JsonPointer; - public fun getValid ()Z - public fun hashCode ()I - public fun toString ()Ljava/lang/String; -} - -public synthetic class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit$$serializer; - public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit; - public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lio/github/optimumcode/json/schema/ValidationOutput$OutputUnit;)V - public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V -} - -public final class io/github/optimumcode/json/schema/ValidationOutput$OutputUnit$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public abstract interface class io/github/optimumcode/json/schema/extension/ExternalAnnotationCollector { - public abstract fun annotate (Lio/github/optimumcode/json/schema/AnnotationKey;Ljava/lang/Object;)V - public abstract fun annotated (Lio/github/optimumcode/json/schema/AnnotationKey;)Ljava/lang/Object; -} - -public abstract interface class io/github/optimumcode/json/schema/extension/ExternalAssertion { - public abstract fun validate (Lio/github/optimumcode/json/schema/model/AbstractElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z - public abstract synthetic fun validate (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z -} - -public final class io/github/optimumcode/json/schema/extension/ExternalAssertion$DefaultImpls { - public static fun validate (Lio/github/optimumcode/json/schema/extension/ExternalAssertion;Lio/github/optimumcode/json/schema/model/AbstractElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z - public static synthetic fun validate (Lio/github/optimumcode/json/schema/extension/ExternalAssertion;Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/extension/ExternalAssertionContext;Lio/github/optimumcode/json/schema/ErrorCollector;)Z -} - -public abstract interface class io/github/optimumcode/json/schema/extension/ExternalAssertionContext { - public abstract fun getAnnotationCollector ()Lio/github/optimumcode/json/schema/extension/ExternalAnnotationCollector; - public abstract fun getObjectPath ()Lio/github/optimumcode/json/pointer/JsonPointer; -} - -public abstract interface class io/github/optimumcode/json/schema/extension/ExternalAssertionFactory { - public abstract fun create (Lkotlinx/serialization/json/JsonElement;Lio/github/optimumcode/json/schema/extension/ExternalLoadingContext;)Lio/github/optimumcode/json/schema/extension/ExternalAssertion; - public abstract fun getKeywordName ()Ljava/lang/String; -} - -public abstract interface class io/github/optimumcode/json/schema/extension/ExternalLoadingContext { - public abstract fun getSchemaPath ()Lio/github/optimumcode/json/pointer/JsonPointer; -} - -public abstract interface class io/github/optimumcode/json/schema/model/AbstractElement { - public abstract fun toString ()Ljava/lang/String; -} - -public abstract interface class io/github/optimumcode/json/schema/model/ArrayElement : io/github/optimumcode/json/schema/model/AbstractElement, kotlin/sequences/Sequence { - public abstract fun get (I)Lio/github/optimumcode/json/schema/model/AbstractElement; - public abstract fun getSize ()I -} - -public abstract interface class io/github/optimumcode/json/schema/model/ObjectElement : io/github/optimumcode/json/schema/model/AbstractElement, kotlin/sequences/Sequence { - public abstract fun contains (Ljava/lang/String;)Z - public abstract fun get (Ljava/lang/String;)Lio/github/optimumcode/json/schema/model/AbstractElement; - public abstract fun getKeys ()Ljava/util/Set; - public abstract fun getSize ()I -} - -public abstract interface class io/github/optimumcode/json/schema/model/PrimitiveElement : io/github/optimumcode/json/schema/model/AbstractElement { - public abstract fun getContent ()Ljava/lang/String; - public abstract fun getDoubleOrNull ()Ljava/lang/Double; - public abstract fun getLongOrNull ()Ljava/lang/Long; - public abstract fun isBoolean ()Z - public abstract fun isNull ()Z - public abstract fun isNumber ()Z - public abstract fun isString ()Z -} - diff --git a/json-schema-validator/build.gradle.kts b/json-schema-validator/build.gradle.kts deleted file mode 100644 index 2bb68881..00000000 --- a/json-schema-validator/build.gradle.kts +++ /dev/null @@ -1,73 +0,0 @@ -@file:OptIn(ExperimentalWasmDsl::class) - -import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi -import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl -import org.jlleitschuh.gradle.ktlint.reporter.ReporterType - -plugins { - convention.kotlin - convention.`multiplatform-lib` - convention.`multiplatform-tests` - alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.kotest.multiplatform) - alias(libs.plugins.kover) - alias(libs.plugins.detekt) - alias(libs.plugins.ktlint) - convention.publication -} - -kotlin { - @OptIn(ExperimentalKotlinGradlePluginApi::class) - compilerOptions { - freeCompilerArgs.add("-opt-in=io.github.optimumcode.json.schema.ExperimentalApi") - } - - sourceSets { - commonMain { - dependencies { - api(libs.kotlin.serialization.json) - api(libs.uri) - // When using approach like above you won't be able to add because block - implementation(libs.kotlin.codepoints.get().toString()) { - because("simplifies work with unicode codepoints") - } - implementation(libs.normalize.get().toString()) { - because("provides normalization required by IDN-hostname format") - } - implementation(libs.karacteristics) - } - } - - commonTest { - dependencies { - implementation(libs.kotest.assertions.core) - implementation(libs.kotest.framework.engine) - implementation(kotlin("test-common")) - implementation(kotlin("test-annotations-common")) - } - } - jvmTest { - dependencies { - implementation(libs.kotest.runner.junit5) - } - } - } -} - -ktlint { - version.set(libs.versions.ktlint) - reporters { - reporter(ReporterType.HTML) - } -} - -val detektAllTask by tasks.register("detektAll") - -tasks.named("check").configure { - dependsOn(detektAllTask) -} - -tasks.withType { - detektAllTask.dependsOn(this) -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/JsonPointer.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/JsonPointer.kt deleted file mode 100644 index a9bc25e0..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/JsonPointer.kt +++ /dev/null @@ -1,383 +0,0 @@ -package io.github.optimumcode.json.pointer - -import kotlinx.serialization.Serializable -import kotlin.jvm.JvmField -import kotlin.jvm.JvmStatic - -/** - * Function to create [JsonPointer]. - * It is a more convenient way to create a JSON pointer rather than using [JsonPointer.compile] function - */ -public fun JsonPointer(path: String): JsonPointer = JsonPointer.compile(path) - -/** - * Implementation of a JSON pointer described in the specification - * [RFC6901](https://datatracker.ietf.org/doc/html/rfc6901). - */ -@Serializable(JsonPointerSerializer::class) -public sealed class JsonPointer( - internal open val next: JsonPointer? = null, -) { - private var asString: String? = null - private var hash: Int = 0 - - /** - * Creates a new [JsonPointer] that points to an [index] in the array. - * - * Example: - * ```kotlin - * val pointer = JsonPointer("/test").atIndex(0) // "/test/0" - * ``` - */ - public fun atIndex(index: Int): JsonPointer { - require(index >= 0) { "negative index: $index" } - return insertLast( - SegmentPointer( - propertyName = index.toString(), - depth = 1, - index = index, - ), - ) - } - - /** - * Creates a new [JsonPointer] that points to a [property] passed as a parameter. - * - * Example: - * ```kotlin - * val pointer = JsonPointer.ROOT.atProperty("prop1").atProperty("prop2") // "/prop1/prop2" - * ``` - */ - public fun atProperty(property: String): JsonPointer = - insertLast( - SegmentPointer(depth = 1, propertyName = property), - ) - - override fun toString(): String { - val str = asString - if (str != null) { - return str - } - if (this !is SegmentPointer) { - return "" - } - return buildString { - var node: JsonPointer = this@JsonPointer - while (node is SegmentPointer) { - append(SEPARATOR) - append(escapeJsonPointer(node.propertyName)) - node = node.next - } - }.also { - asString = it - } - } - - internal fun insertLast(last: SegmentPointer): JsonPointer { - if (this !is SegmentPointer) { - return last - } - if (depth < MAX_POINTER_DEPTH_FOR_RECURSIVE_INSERT) { - return insertLastDeepCopy(this, last) - } - // avoid recursion when pointer depth is greater than a specified limit - // this should help with avoiding stack-overflow error - // when this method called for a pointer that has too many segments - // - // Using queue is less efficient than recursion (around 10%) but saves us from crash - val queue = ArrayDeque(depth) - var cur: JsonPointer = this - while (cur is SegmentPointer) { - queue.add(cur) - cur = cur.next - } - val additionalDepth = last.depth - var result = last - while (queue.isNotEmpty()) { - val segment = queue.removeLast() - result = - SegmentPointer( - propertyName = segment.propertyName, - depth = segment.depth + additionalDepth, - index = segment.index, - next = result, - ) - } - return result - } - - // there might be an issue with stack in case this function is called deep on the stack - private fun insertLastDeepCopy( - pointer: SegmentPointer, - last: SegmentPointer, - ): JsonPointer = - with(pointer) { - val additionalDepth = last.depth - if (next is SegmentPointer) { - SegmentPointer( - propertyName = propertyName, - depth = depth + additionalDepth, - index = index, - next = insertLastDeepCopy(next, last), - ) - } else { - SegmentPointer( - propertyName = propertyName, - depth = depth + additionalDepth, - index = index, - next = last, - ) - } - } - - private fun escapeJsonPointer(propertyName: String): String { - if (propertyName.contains(SEPARATOR) || propertyName.contains(QUOTATION)) { - return buildString(capacity = propertyName.length + 1) { - for (ch in propertyName) { - when (ch) { - SEPARATOR -> append(QUOTATION).append(SEPARATOR_ESCAPE) - QUOTATION -> append(QUOTATION).append(QUOTATION_ESCAPE) - else -> append(ch) - } - } - } - } - return propertyName - } - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || this::class != other::class) return false - - other as JsonPointer - - var node = this - var otherNode = other - while (node is SegmentPointer && otherNode is SegmentPointer) { - if (node.propertyName != otherNode.propertyName) { - return false - } - node = node.next - otherNode = otherNode.next - } - return node is EmptyPointer && otherNode is EmptyPointer - } - - override fun hashCode(): Int { - if (hash != 0) { - return hash - } - var result = 31 - var node = this - while (node is SegmentPointer) { - result = 31 * result + node.propertyName.hashCode() - node = node.next - } - if (result == 0) { - // just in case if for some reason the resulting hash is zero - // this way we won't recalculate it again - result = 31 - } - hash = result - return result - } - - public companion object { - private const val MAX_POINTER_DEPTH_FOR_RECURSIVE_INSERT = 20 - internal const val SEPARATOR: Char = '/' - internal const val QUOTATION: Char = '~' - internal const val QUOTATION_ESCAPE: Char = '0' - internal const val SEPARATOR_ESCAPE: Char = '1' - - /** - * An empty [JsonPointer]. The empty JSON pointer corresponds to the current JSON element.s - */ - @JvmField - public val ROOT: JsonPointer = EmptyPointer - - private const val DEFAULT_BUFFER_CAPACITY = 32 - - /** - * Returns instance of the [JsonPointer] class. - * If the [expr] is an empty string the [JsonPointer.ROOT] will be returned. - * - * If the [expr] is not an empty string it must start from the `/` character. - * - * @throws IllegalArgumentException the [expr] does not start from `/` - */ - @JvmStatic - public fun compile(expr: String): JsonPointer { - return if (expr.isEmpty()) { - EmptyPointer - } else { - require(expr.startsWith(SEPARATOR)) { - "JSON pointer must start from $SEPARATOR: '$expr'" - } - parseExpression(expr) - } - } - - private class PointerParent( - val parent: PointerParent?, - val segment: String, - ) - - private fun buildPath( - lastSegment: SegmentPointer, - parent: PointerParent?, - ): JsonPointer { - var depth = lastSegment.depth - var curr = lastSegment - var parentValue = parent - while (parentValue != null) { - curr = - parentValue.run { - SegmentPointer( - segment, - ++depth, - curr, - ) - } - parentValue = parentValue.parent - } - return curr - } - - @JvmStatic - private fun parseExpression(expr: String): JsonPointer { - var parent: PointerParent? = null - - var offset = 1 // skip contextual slash - val end = expr.length - var start = 0 - while (offset < end) { - val currentChar = expr[offset] - if (currentChar == SEPARATOR) { - parent = PointerParent(parent, expr.substring(start + 1, offset)) - start = offset - offset++ - continue - } - offset++ - if (currentChar == QUOTATION && offset < end) { - val builder = StringBuilder(DEFAULT_BUFFER_CAPACITY) - offset = builder.appendEscapedSegment(expr, start + 1, offset) - val segment = builder.toString() - if (offset < 0) { - return buildPath(SegmentPointer(segment), parent) - } - parent = PointerParent(parent, segment) - start = offset - offset++ - continue - } - } - return buildPath(SegmentPointer(expr.substring(start + 1)), parent) - } - } -} - -private fun StringBuilder.appendEscapedSegment( - expr: String, - start: Int, - offset: Int, -): Int { - var pos: Int = offset - val end = expr.length - val needCopy = pos - 1 - start > 0 - if (needCopy) { - append(expr, start, pos - 1) - } - appendEscaped(expr[pos]) - pos++ - while (pos < end) { - val currentChar = expr[pos] - if (currentChar == JsonPointer.SEPARATOR) { - return pos - } - pos++ - if (currentChar == '~' && pos < end) { - appendEscaped(expr[pos]) - pos++ - continue - } - append(currentChar) - } - return -1 -} - -private fun StringBuilder.appendEscaped(ch: Char) { - val result = - when (ch) { - JsonPointer.QUOTATION_ESCAPE -> JsonPointer.QUOTATION - JsonPointer.SEPARATOR_ESCAPE -> JsonPointer.SEPARATOR - else -> { - append(JsonPointer.QUOTATION) - ch - } - } - - append(result) -} - -internal object EmptyPointer : JsonPointer() - -internal class SegmentPointer( - val propertyName: String, - val depth: Int = 1, - override val next: JsonPointer = EmptyPointer, - val index: Int = parseIndex(propertyName), -) : JsonPointer(next) { - companion object { - private const val NO_INDEX: Int = -1 - private const val LONG_LENGTH_THRESHOLD = 10 - - @JvmStatic - private fun parseIndex(segment: String): Int { - if (segment.isEmpty()) { - return NO_INDEX - } - val len = segment.length - // super long indexes are no good - // let's assume we don't have any array over 2 billion entries - if (len > LONG_LENGTH_THRESHOLD) { - return NO_INDEX - } - return parseIndexValue(segment) - } - - private fun parseIndexValue(segment: String): Int { - val len = segment.length - val ch = segment[0] - if (ch <= '0') { - return if (len == 1 && ch == '0') { - 0 - } else { - NO_INDEX - } - } - // not a number - if (ch > '9') { - return NO_INDEX - } - - for (char in segment) { - if (char !in '0'..'9') { - return NO_INDEX - } - } - - return if (len == LONG_LENGTH_THRESHOLD) { - // check the index fits integer - val index = segment.toLong() - if (index > Int.MAX_VALUE) { - NO_INDEX - } else { - index.toInt() - } - } else { - segment.toInt() - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/JsonPointerSerializer.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/JsonPointerSerializer.kt deleted file mode 100644 index c730d4ab..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/JsonPointerSerializer.kt +++ /dev/null @@ -1,25 +0,0 @@ -package io.github.optimumcode.json.pointer - -import kotlinx.serialization.KSerializer -import kotlinx.serialization.descriptors.PrimitiveKind -import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder - -internal object JsonPointerSerializer : KSerializer { - override val descriptor: SerialDescriptor = - PrimitiveSerialDescriptor( - "io.github.optimumcode.json.pointer.JsonPointer", - PrimitiveKind.STRING, - ) - - override fun deserialize(decoder: Decoder): JsonPointer = JsonPointer(decoder.decodeString()) - - override fun serialize( - encoder: Encoder, - value: JsonPointer, - ) { - encoder.encodeString(value.toString()) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/extensions.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/extensions.kt deleted file mode 100644 index b960d7b7..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/extensions.kt +++ /dev/null @@ -1,184 +0,0 @@ -@file:Suppress("ktlint:standard:filename") -@file:JvmName("JsonPointerExtensions") - -package io.github.optimumcode.json.pointer - -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonPrimitive -import kotlin.jvm.JvmName - -/** - * Creates a new [JsonPointer] that points to an [index] in the array. - * - * Example: - * ```kotlin - * val pointer = JsonPointer("/test") - * val index = pointer[0] // "/test/0" - * ``` - */ -public operator fun JsonPointer.get(index: Int): JsonPointer = atIndex(index) - -/** - * Creates a new [JsonPointer] that points to a [property] passed as a parameter. - * - * Example: - * - * ```kotlin - * val pointer = JsonPointer.ROOT / "prop1" / "prop2" // "/prop1/prop2" - * ``` - */ -public operator fun JsonPointer.div(property: String): JsonPointer = atProperty(property) - -/** - * Appends [otherPointer] to the current [JsonPointer]. - * If current or [otherPointer] JSON pointer is an empty JSON pointer. The first not-empty pointer will be returned. - * (or an empty pointer if both pointers are empty). - * - * If both are not-empty pointers the resulting JSON pointer will start from the current one - * and [otherPointer] appended at the end. - * - * Example: - * ```kotlin - * val pointer = JsonPointer.ROOT + JsonPointer.ROOT // "" - * - * val pointer = JsonPointer.ROOT + JsonPointer("/test") // "/test" - * - * val pointer = JsonPointer("/prop") + JsonPointer("/test") // "/prop/test" - * ``` - */ -public operator fun JsonPointer.plus(otherPointer: JsonPointer): JsonPointer { - if (this is EmptyPointer) { - return otherPointer - } - if (otherPointer is EmptyPointer) { - return this - } - return this.insertLast(otherPointer as SegmentPointer) -} - -/** - * Returns a [JsonPointer] that is a relative pointer from current pointer to [other] pointer. - * If current pointer is an empty pointer the [other] pointer will be returned. - * - * If the [other] pointer is not starts from the current pointer the [other] pointer will be returned. - * - * Example: - * ```kotlin - * val pointer = JsonPointer("/test").relative(JsonPointer("/test/0/data") // "/0/data" - * ``` - * - * @throws IllegalArgumentException when [other] is an empty pointer - */ -public fun JsonPointer.relative(other: JsonPointer): JsonPointer { - if (this !is SegmentPointer) { - return other - } - require(other is SegmentPointer) { "empty pointer is not relative to any" } - var currentValue: JsonPointer = this - var otherValue: JsonPointer = other - while (currentValue is SegmentPointer && otherValue is SegmentPointer) { - if (currentValue.propertyName != otherValue.propertyName) { - return other - } - currentValue = currentValue.next - otherValue = otherValue.next - } - return if (currentValue is EmptyPointer) { - otherValue - } else { - other - } -} - -/** - * Checks whether the current [JsonPointer] starts with [other]. - * Returns `true` if it is so, otherwise returns `false`. - * - * **Every [JsonPointer] starts with [JsonPointer.ROOT].** - * - * **[JsonPointer.ROOT] starts only with [JsonPointer.ROOT].** - * - * Example: - * ```kotlin - * JsonPointer.ROOT.startsWith(JsonPointer("/path")) // false - * JsonPointer.ROOT.startsWith(JsonPointer.ROOT) // true - * JsonPointer("/path").startsWith(JsonPointer.ROOT) // true - * JsonPointer("/path/to/node").startsWith(JsonPointer("/path")) // true - * ``` - */ -public fun JsonPointer.startsWith(other: JsonPointer): Boolean { - var primary: JsonPointer? = this - var secondary: JsonPointer? = other - while (primary != null && secondary != null) { - if (secondary is EmptyPointer) { - // secondary has finished. Means primary starts with secondary - return true - } - if (primary is EmptyPointer) { - // primary has finished but secondary is not - // means primary does not start with secondary - return false - } - primary as SegmentPointer - secondary as SegmentPointer - if (primary.propertyName != secondary.propertyName) { - return false - } - primary = primary.next - secondary = secondary.next - } - return secondary == null -} - -/** - * Checks whether the [JsonPointer] contains specified [pathSegment] - * - * **[JsonPointer.ROOT] does not contain any path segments** - * - * Example: - * - * ```kotlin - * JsonPointer.ROOT.contains("path") // false - * JsonPointer("/test/path/to/node").contains("path") // true - * JsonPointer("/test/path/to/node").contains("anotherPath") // false - * ``` - */ -public operator fun JsonPointer.contains(pathSegment: String): Boolean { - var segment: JsonPointer? = this - while (segment != null) { - if (segment is SegmentPointer && segment.propertyName == pathSegment) { - return true - } - segment = segment.next - } - return false -} - -/** - * Extracts [JsonElement] from the current JSON element that corresponds to the specified [JsonPointer]. - * - * If [pointer] path does not exist in the current [JsonElement] the `null` will be returned. - */ -public tailrec fun JsonElement.at(pointer: JsonPointer): JsonElement? { - return when (pointer) { - is EmptyPointer -> this - is SegmentPointer -> { - val next = atPointer(pointer) - next?.at(pointer.next) - } - } -} - -private fun JsonElement.atPointer(pointer: SegmentPointer): JsonElement? { - return when (this) { - is JsonObject -> get(pointer.propertyName) - is JsonArray -> { - require(pointer.index >= 0) { "negative index in path $pointer" } - get(pointer.index) - } - - is JsonPrimitive -> null - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/internal/extensions.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/internal/extensions.kt deleted file mode 100644 index 2ab031c3..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/pointer/internal/extensions.kt +++ /dev/null @@ -1,46 +0,0 @@ -@file:Suppress("ktlint:standard:filename") - -package io.github.optimumcode.json.pointer.internal - -import io.github.optimumcode.json.pointer.EmptyPointer -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.SegmentPointer - -internal val JsonPointer.length: Int - get() { - if (this is EmptyPointer) { - return 0 - } - var length = 0 - var segment: JsonPointer? = this - while (segment != null) { - if (segment is SegmentPointer) { - length += 1 - } - segment = segment.next - } - return length - } - -internal fun JsonPointer.dropLast(): JsonPointer? { - if (this is EmptyPointer) { - return null - } - val fullPath = toString() - val lastPathPart = fullPath.lastIndexOf('/') - if (lastPathPart == 0) { - return EmptyPointer - } - return JsonPointer.compile(fullPath.substring(0, lastPathPart)) -} - -internal fun JsonPointer.lastSegment(): String? { - var cur: JsonPointer? = this - while (cur != EmptyPointer) { - if (cur is SegmentPointer && cur.next is EmptyPointer) { - return cur.propertyName - } - cur = cur?.next - } - return null -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/AbsoluteLocation.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/AbsoluteLocation.kt deleted file mode 100644 index 95f65503..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/AbsoluteLocation.kt +++ /dev/null @@ -1,56 +0,0 @@ -package io.github.optimumcode.json.schema - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import kotlinx.serialization.KSerializer -import kotlinx.serialization.Serializable -import kotlinx.serialization.descriptors.PrimitiveKind -import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder - -/** - * Class represents absolute location in JSON schema. - * Serialized to a [String] like `https://schema.org#/path/in/schema` - */ -@Serializable(AbsoluteLocationSerializer::class) -public data class AbsoluteLocation( - val uri: Uri, - val path: JsonPointer, -) - -internal object AbsoluteLocationSerializer : KSerializer { - override val descriptor: SerialDescriptor = - PrimitiveSerialDescriptor( - "com.optimumcode.json.schema.AbsoluteLocation", - PrimitiveKind.STRING, - ) - - override fun deserialize(decoder: Decoder): AbsoluteLocation { - val uri = Uri.parse(decoder.decodeString()) - val fragment = uri.fragment - return AbsoluteLocation( - // if builder is not invoked empty fragment won't be removed - uri = uri.buildUpon().encodedFragment(null).build(), - path = if (fragment.isNullOrEmpty()) JsonPointer.ROOT else JsonPointer(fragment), - ) - } - - override fun serialize( - encoder: Encoder, - value: AbsoluteLocation, - ) { - val result = - value.uri.buildUpon() - .encodedFragment(value.path.toString()) - .build().toString() - encoder.encodeString( - if (value.path == JsonPointer.ROOT) { - "$result#" - } else { - result - }, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/AnnotationKey.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/AnnotationKey.kt deleted file mode 100644 index f6363346..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/AnnotationKey.kt +++ /dev/null @@ -1,76 +0,0 @@ -package io.github.optimumcode.json.schema - -import kotlin.jvm.JvmStatic -import kotlin.reflect.KClass - -/** - * Class represents a key with certain type that can be used - * to annotate a [JSON element][kotlinx.serialization.json.JsonElement]. - * Only **one instance** of a key should be created and used to annotate or retrieve annotations. - * - * ```kotlin - *object Factory : AbstractAssertionFactory(/* .. */) { - * val ANNOTATION: AnnotationKey = AnnotationKey.simple(/*...*/) - *} - * ``` - */ -public sealed class AnnotationKey( - private val name: String, - internal val type: KClass, -) { - override fun equals(other: Any?): Boolean = this === other - - override fun hashCode(): Int { - var result = name.hashCode() - result = 31 * result + type.hashCode() - return result - } - - override fun toString(): String = "${this::class.simpleName}($name(${type.simpleName}))" - - internal class SimpleAnnotationKey private constructor( - name: String, - type: KClass, - ) : AnnotationKey(name, type) { - internal companion object { - @JvmStatic - fun create( - name: String, - type: KClass, - ): AnnotationKey = SimpleAnnotationKey(name, type) - } - } - - internal class AggregatableAnnotationKey private constructor( - name: String, - type: KClass, - internal val aggregator: Aggregator, - ) : AnnotationKey(name, type) { - internal companion object { - @JvmStatic - fun create( - name: String, - type: KClass, - aggregator: (T, T) -> T, - ): AnnotationKey = AggregatableAnnotationKey(name, type, aggregator) - } - } - - public companion object { - @JvmStatic - public inline fun simple(name: String): AnnotationKey = simple(name, T::class) - - @JvmStatic - public fun simple( - name: String, - type: KClass, - ): AnnotationKey = SimpleAnnotationKey.create(name, type) - } -} - -internal fun interface Aggregator { - fun aggregate( - a: T, - b: T, - ): T? -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/Annotations.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/Annotations.kt deleted file mode 100644 index 0828f11b..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/Annotations.kt +++ /dev/null @@ -1,13 +0,0 @@ -@file:JvmName("Annotations") - -package io.github.optimumcode.json.schema - -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory -import kotlin.jvm.JvmField -import kotlin.jvm.JvmName - -/** - * Key for getting annotation from `format` assertion - */ -@JvmField -public val FORMAT_ANNOTATION: AnnotationKey = FormatAssertionFactory.ANNOTATION \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ErrorCollector.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ErrorCollector.kt deleted file mode 100644 index 08c0da41..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ErrorCollector.kt +++ /dev/null @@ -1,22 +0,0 @@ -package io.github.optimumcode.json.schema - -import kotlin.jvm.JvmField - -/** - * Listener for validations error - */ -public fun interface ErrorCollector { - /** - * Method is invoked on error during validation - * @param error validation error - */ - public fun onError(error: ValidationError) - - public companion object { - /** - * Empty [ErrorCollector] can be used if you need only a simple `true`/`false` as a result of the validation - */ - @JvmField - public val EMPTY: ErrorCollector = ErrorCollector { } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ExperimentalApi.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ExperimentalApi.kt deleted file mode 100644 index d4e2992d..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ExperimentalApi.kt +++ /dev/null @@ -1,11 +0,0 @@ -package io.github.optimumcode.json.schema - -/** - * Marks declarations that are experimental or published as a 'preview' version. - * The API for those declarations can be changed in future releases - * based on library needs or user's feedback. - * Once the API is final the backward compatibility will be maintained within patch and minor updates. - */ -@Target(AnnotationTarget.CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FUNCTION, AnnotationTarget.TYPEALIAS) -@RequiresOptIn(level = RequiresOptIn.Level.WARNING) -public annotation class ExperimentalApi \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/FormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/FormatValidator.kt deleted file mode 100644 index d74cbfbb..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/FormatValidator.kt +++ /dev/null @@ -1,55 +0,0 @@ -package io.github.optimumcode.json.schema - -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlin.jvm.JvmStatic - -/** - * The [FormatValidator] is used to check whether the [AbstractElement] matches the expected format. - * If the [AbstractElement] is not of the required type - * (e.g. validator expects string but the [AbstractElement] is an object) - * the validator **MUST** return [FormatValidator.Valid] result. - * - * If you create an implementation of [FormatValidator] that will be shared with others - * please make sure that it will be state-less since it might be invoked from different threads. - */ -@ExperimentalApi -public interface FormatValidator { - /** - * Validates [element] against the expected format - * - * @param element JSON element to validate against the expected format - * @return the result of the validation - */ - public fun validate(element: AbstractElement): FormatValidationResult - - public companion object { - @Suppress("ktlint:standard:function-naming", "FunctionName") - @JvmStatic - public fun Valid(): FormatValidationResult = FormatValidationResult.Valid - - @Suppress("ktlint:standard:function-naming", "FunctionName") - @JvmStatic - public fun Invalid(): FormatValidationResult = FormatValidationResult.Invalid - } -} - -@ExperimentalApi -public sealed class FormatValidationResult private constructor(private val valid: Boolean) { - public fun isValid(): Boolean = valid - - internal data object Valid : FormatValidationResult(true) - - internal data object Invalid : FormatValidationResult(false) -} - -public enum class FormatBehavior { - /** - * Only annotation. If the value does not match format the validation will pass - */ - ANNOTATION_ONLY, - - /** - * Annotation and assertion. If the value does not match format the validation will fail - */ - ANNOTATION_AND_ASSERTION, -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchema.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchema.kt deleted file mode 100644 index 2adfda4e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchema.kt +++ /dev/null @@ -1,112 +0,0 @@ -package io.github.optimumcode.json.schema - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector.DelegateOutputCollector -import io.github.optimumcode.json.schema.internal.DefaultAssertionContext -import io.github.optimumcode.json.schema.internal.DefaultReferenceResolverProvider -import io.github.optimumcode.json.schema.internal.IsolatedLoader -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.wrapper.wrap -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement -import kotlin.jvm.JvmOverloads -import kotlin.jvm.JvmStatic - -/** - * JSON schema implementation. It allows you to validate the [JsonElement] against this schema - * and collect errors using [ErrorCollector] - */ -public class JsonSchema internal constructor( - private val assertion: JsonSchemaAssertion, - private val referenceResolverProvider: DefaultReferenceResolverProvider, -) { - /** - * Validates [value] against this [JsonSchema]. - * If the [value] is valid against the schema the function returns `true`. - * Otherwise, it returns `false`. - * - * All reported errors will be reported to [ErrorCollector.onError] - */ - public fun validate( - value: JsonElement, - errorCollector: ErrorCollector, - ): Boolean = validate(value.wrap(), errorCollector) - - /** - * Validates [value] against this [JsonSchema]. - * The provided [outputCollectorProvider] will be used to create [OutputCollector] - * which collects the validation result. - * - * @return validation result depending on [outputCollectorProvider] - */ - public fun validate( - value: JsonElement, - outputCollectorProvider: OutputCollector.Provider, - ): T = validate(value.wrap(), outputCollectorProvider) - - /** - * Validates [value] against this [JsonSchema]. - * If the [value] is valid against the schema the function returns `true`. - * Otherwise, it returns `false`. - * - * All reported errors will be reported to [ErrorCollector.onError] - */ - @ExperimentalApi - public fun validate( - value: AbstractElement, - errorCollector: ErrorCollector, - ): Boolean { - val context = DefaultAssertionContext(JsonPointer.ROOT, referenceResolverProvider.createResolver()) - return DelegateOutputCollector(errorCollector).use { - assertion.validate(value, context, this) - } - } - - /** - * Validates [value] against this [JsonSchema]. - * The provided [outputCollectorProvider] will be used to create [OutputCollector] - * which collects the validation result. - * - * @return validation result depending on [outputCollectorProvider] - */ - @ExperimentalApi - public fun validate( - value: AbstractElement, - outputCollectorProvider: OutputCollector.Provider, - ): T { - val context = DefaultAssertionContext(JsonPointer.ROOT, referenceResolverProvider.createResolver()) - val collector = outputCollectorProvider.get() - collector.use { - assertion.validate(value, context, this) - } - return collector.output - } - - public companion object { - /** - * Loads JSON schema from the [schema] definition - * @param defaultType expected schema draft to use when loading schema. - * If `null` draft will be defined by schema definition - * or the latest supported draft will be used - */ - @JvmStatic - @JvmOverloads - public fun fromDefinition( - schema: String, - defaultType: SchemaType? = null, - ): JsonSchema = IsolatedLoader.fromDefinition(schema, defaultType) - - /** - * Loads JSON schema from the [schemaElement] JSON element - * @param defaultType expected schema draft to use when loading schema. - * If `null` draft will be defined by schema definition - * or the latest supported draft will be used - */ - @JvmStatic - @JvmOverloads - public fun fromJsonElement( - schemaElement: JsonElement, - defaultType: SchemaType? = null, - ): JsonSchema = IsolatedLoader.fromJsonElement(schemaElement, defaultType) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaLoader.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaLoader.kt deleted file mode 100644 index 7a6e51d4..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaLoader.kt +++ /dev/null @@ -1,133 +0,0 @@ -package io.github.optimumcode.json.schema - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.schema.SchemaType.DRAFT_2019_09 -import io.github.optimumcode.json.schema.SchemaType.DRAFT_2020_12 -import io.github.optimumcode.json.schema.SchemaType.DRAFT_4 -import io.github.optimumcode.json.schema.SchemaType.DRAFT_6 -import io.github.optimumcode.json.schema.SchemaType.DRAFT_7 -import io.github.optimumcode.json.schema.extension.ExternalAssertionFactory -import io.github.optimumcode.json.schema.internal.SchemaLoader -import io.github.optimumcode.json.schema.internal.wellknown.Draft201909 -import io.github.optimumcode.json.schema.internal.wellknown.Draft202012 -import io.github.optimumcode.json.schema.internal.wellknown.Draft4 -import io.github.optimumcode.json.schema.internal.wellknown.Draft6 -import io.github.optimumcode.json.schema.internal.wellknown.Draft7 -import kotlinx.serialization.json.JsonElement -import kotlin.jvm.JvmStatic - -/** - * By default, implementations of [JsonSchemaLoader] are NOT thread-safe - */ -@Suppress("detekt:TooManyFunctions") -public interface JsonSchemaLoader { - public fun registerWellKnown(draft: SchemaType): JsonSchemaLoader = - apply { - when (draft) { - DRAFT_4 -> Draft4.entries.forEach { register(it.content) } - DRAFT_6 -> Draft6.entries.forEach { register(it.content) } - DRAFT_7 -> Draft7.entries.forEach { register(it.content) } - DRAFT_2019_09 -> Draft201909.entries.forEach { register(it.content) } - DRAFT_2020_12 -> Draft202012.entries.forEach { register(it.content) } - } - } - - public fun register(schema: JsonElement): JsonSchemaLoader = register(schema, null) - - public fun register( - schema: JsonElement, - draft: SchemaType?, - ): JsonSchemaLoader - - public fun register(schema: String): JsonSchemaLoader = register(schema, null) - - public fun register( - schema: String, - draft: SchemaType?, - ): JsonSchemaLoader - - @Deprecated( - message = "This method will be removed in a future release. Please use the alternative that accepts Uri type", - level = DeprecationLevel.HIDDEN, - replaceWith = - ReplaceWith( - imports = ["com.eygraber.uri.Uri"], - expression = "register(schema, Uri.parse(remoteUri))", - ), - ) - public fun register( - schema: JsonElement, - remoteUri: String, - ): JsonSchemaLoader = register(schema, Uri.parse(remoteUri), null) - - public fun register( - schema: JsonElement, - remoteUri: Uri, - ): JsonSchemaLoader = register(schema, remoteUri, null) - - @Deprecated( - message = "This method will be removed in a future release. Please use the alternative that accepts Uri type", - level = DeprecationLevel.HIDDEN, - replaceWith = - ReplaceWith( - imports = ["com.eygraber.uri.Uri"], - expression = "register(schema, Uri.parse(remoteUri), draft)", - ), - ) - public fun register( - schema: JsonElement, - remoteUri: String, - draft: SchemaType?, - ): JsonSchemaLoader = register(schema, Uri.parse(remoteUri), draft) - - public fun register( - schema: JsonElement, - remoteUri: Uri, - draft: SchemaType?, - ): JsonSchemaLoader - - public fun withExtensions( - externalFactory: ExternalAssertionFactory, - vararg otherExternalFactories: ExternalAssertionFactory, - ): JsonSchemaLoader - - public fun withExtensions(externalFactories: Iterable): JsonSchemaLoader - - @ExperimentalApi - public fun withCustomFormat( - format: String, - formatValidator: FormatValidator, - ): JsonSchemaLoader - - @ExperimentalApi - public fun withCustomFormats(formats: Map): JsonSchemaLoader - - public fun withSchemaOption( - option: SchemaOption, - value: T, - ): JsonSchemaLoader - - public fun fromDefinition(schema: String): JsonSchema = fromDefinition(schema, null) - - public fun fromDefinition( - schema: String, - draft: SchemaType?, - ): JsonSchema - - public fun fromJsonElement(schemaElement: JsonElement): JsonSchema = fromJsonElement(schemaElement, null) - - public fun fromJsonElement( - schemaElement: JsonElement, - draft: SchemaType?, - ): JsonSchema - - public companion object { - /** - * Creates an instance of [JsonSchemaLoader]. - * - * @return implementation of [JsonSchemaLoader]. The implementation is **NOT thread-safe**. - */ - @JvmStatic - public fun create(): JsonSchemaLoader = SchemaLoader() - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/OutputCollector.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/OutputCollector.kt deleted file mode 100644 index 5acd758c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/OutputCollector.kt +++ /dev/null @@ -1,538 +0,0 @@ -package io.github.optimumcode.json.schema - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.plus -import io.github.optimumcode.json.pointer.relative -import io.github.optimumcode.json.schema.ValidationOutput.OutputUnit -import kotlin.jvm.JvmStatic - -internal typealias OutputErrorTransformer = OutputCollector.(ValidationError) -> ValidationError - -private val NO_TRANSFORMATION: OutputErrorTransformer<*> = { it } - -/** - * Provides collectors' implementations for outputs - * defined in [draft 2020-12](https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-01#section-12.4) - * - * **The implementations of [OutputCollector] are NOT thread-safe**. - */ -public sealed class OutputCollector( - parent: OutputCollector? = null, - transformer: OutputErrorTransformer = NO_TRANSFORMATION, -) { - public companion object { - @JvmStatic - public fun flag(): Provider = Provider(::Flag) - - @JvmStatic - public fun basic(): Provider = Provider(::Basic) - - @JvmStatic - public fun detailed(): Provider = Provider(::Detailed) - - @JvmStatic - public fun verbose(): Provider = Provider(::Verbose) - } - - public class Provider internal constructor( - private val supplier: () -> OutputCollector, - ) { - internal fun get(): OutputCollector = supplier() - } - - internal abstract val output: T - private val transformerFunc: OutputErrorTransformer = - parent?.let { p -> - when { - transformer === NO_TRANSFORMATION && p.transformerFunc === NO_TRANSFORMATION - -> NO_TRANSFORMATION - transformer === NO_TRANSFORMATION - -> p.transformerFunc - p.transformerFunc === NO_TRANSFORMATION - -> transformer - else -> { - { err -> - p.transformError(transformer(err)) - } - } - } - } ?: transformer - - /** - * Sets current instance location to specified [path]. - * Returns an [OutputCollector] with updated location information. - */ - internal abstract fun updateLocation(path: JsonPointer): OutputCollector - - /** - * Sets current keyword location to specified [path]. - * Updates absolute keyword location information to [absoluteLocation]. - * If [canCollapse] is `false` that will indicate the output node cannot be collapsed - * (format might ignore this if it does not support collapsing). - */ - internal abstract fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation? = null, - canCollapse: Boolean = true, - ): OutputCollector - - /** - * Add a transformation that should be applied to a reported [ValidationError]. - * The specified [transformer] will be combined with earlier specified transformations (if any were provided). - * The transformation are applied in LIFO order. - */ - internal abstract fun withErrorTransformer(transformer: OutputErrorTransformer): OutputCollector - - /** - * Creates a child [OutputCollector] that has exactly same instance, keyword and absolute locations' information. - */ - internal abstract fun childCollector(): OutputCollector - - /** - * Commits the collected errors. Used to allow late error commit to support applicators like `oneOf`, `anyOf` etc. - */ - internal open fun reportErrors() = Unit - - internal abstract fun onError(error: ValidationError) - - internal open val isFailFast: Boolean - get() = false - - /** - * A utility method that allows to call [reportErrors] method after the [block] has been executed - */ - internal inline fun use(block: OutputCollector.() -> OUT): OUT = - try { - block(this) - } finally { - reportErrors() - } - - protected fun transformError(error: ValidationError): ValidationError = - if (transformerFunc === NO_TRANSFORMATION) { - error - } else { - transformerFunc(error) - } - - /** - * Placeholder collector when no errors should be reported - */ - internal data object Empty : OutputCollector() { - override val output: Nothing - get() = throw UnsupportedOperationException("no output in empty collector") - - override val isFailFast: Boolean - get() = true - - override fun updateLocation(path: JsonPointer): OutputCollector = this - - override fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation?, - canCollapse: Boolean, - ): OutputCollector = this - - override fun withErrorTransformer(transformer: OutputErrorTransformer): OutputCollector = this - - override fun childCollector(): OutputCollector = this - - override fun onError(error: ValidationError) = Unit - } - - /** - * Collector to pass all the collected errors to the provided [ErrorCollector] - */ - internal class DelegateOutputCollector( - private val errorCollector: ErrorCollector, - private val parent: DelegateOutputCollector? = null, - transformer: OutputErrorTransformer = NO_TRANSFORMATION, - ) : OutputCollector(parent, transformer) { - private lateinit var reportedErrors: MutableList - - private fun addError(error: ValidationError) { - if (!::reportedErrors.isInitialized) { - reportedErrors = ArrayList(1) - } - reportedErrors.add(error) - } - - private fun addErrors(errors: MutableList) { - if (::reportedErrors.isInitialized) { - reportedErrors.addAll(errors) - } else { - reportedErrors = errors - } - } - - override fun onError(error: ValidationError) { - addError(transformError(error)) - } - - override val output: Nothing - get() = throw UnsupportedOperationException("no output in delegate collector") - - override fun updateLocation(path: JsonPointer): OutputCollector = - DelegateOutputCollector(errorCollector, this) - - override fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation?, - canCollapse: Boolean, - ): OutputCollector = DelegateOutputCollector(errorCollector, this) - - override fun withErrorTransformer(transformer: OutputErrorTransformer): OutputCollector = - DelegateOutputCollector(errorCollector, parent, transformer) - - override fun reportErrors() { - if (!::reportedErrors.isInitialized) { - return - } - parent?.also { it.addErrors(reportedErrors) } - ?: reportedErrors.forEach(errorCollector::onError) - } - - override fun childCollector(): OutputCollector = DelegateOutputCollector(errorCollector, this) - } - - private class Flag( - private val parent: Flag? = null, - transformer: OutputErrorTransformer = NO_TRANSFORMATION, - ) : OutputCollector(parent, transformer) { - private var valid: Boolean = true - private var hasErrors: Boolean = false - override val isFailFast: Boolean - get() = true - override val output: ValidationOutput.Flag - get() = - if (valid) { - ValidationOutput.Flag.VALID - } else { - ValidationOutput.Flag.INVALID - } - - override fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation?, - canCollapse: Boolean, - ): Flag = childCollector() - - override fun updateLocation(path: JsonPointer): Flag = childCollector() - - override fun withErrorTransformer(transformer: OutputErrorTransformer): Flag = - Flag(parent, transformer) - - override fun reportErrors() { - valid = valid && !hasErrors - parent?.also { - it.valid = it.valid && valid - } - } - - override fun onError(error: ValidationError) { - if (hasErrors) { - return - } - hasErrors = true - } - - override fun childCollector(): Flag = - // once `valid` flag is set to false we can avoid creating child collectors - // because the validation result won't be changed - if (valid) Flag(this) else this - } - - private class Basic( - private val parent: Basic? = null, - transformer: OutputErrorTransformer = NO_TRANSFORMATION, - ) : OutputCollector(parent, transformer) { - private lateinit var errors: MutableSet - - private fun addError(error: OutputUnit) { - if (!::errors.isInitialized) { - errors = linkedSetOf() - } - errors.add(error) - } - - private fun addErrors(errors: MutableSet) { - if (::errors.isInitialized) { - this.errors.addAll(errors) - } else { - this.errors = errors - } - } - - override fun onError(error: ValidationError) { - val err = transformError(error) - addError( - OutputUnit( - valid = false, - keywordLocation = err.schemaPath, - instanceLocation = err.objectPath, - absoluteKeywordLocation = err.absoluteLocation, - error = err.message, - ), - ) - } - - override val output: ValidationOutput.Basic - get() { - val errors = if (::errors.isInitialized) errors else emptySet() - return ValidationOutput.Basic( - valid = errors.isEmpty(), - errors = errors, - ) - } - - override fun updateLocation(path: JsonPointer): OutputCollector = childCollector() - - override fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation?, - canCollapse: Boolean, - ): OutputCollector = childCollector() - - override fun withErrorTransformer( - transformer: OutputErrorTransformer, - ): OutputCollector = Basic(parent, transformer) - - override fun childCollector(): OutputCollector = Basic(this) - - override fun reportErrors() { - if (!::errors.isInitialized) { - return - } - parent?.addErrors(errors) - } - } - - @Suppress("detekt:LongParameterList") - private class Detailed( - private val location: JsonPointer = JsonPointer.ROOT, - private val keywordLocation: JsonPointer = JsonPointer.ROOT, - private val parent: Detailed? = null, - private val absoluteLocation: AbsoluteLocation? = null, - private val collapse: Boolean = true, - private val child: Boolean = false, - transformer: OutputErrorTransformer = NO_TRANSFORMATION, - ) : OutputCollector(parent, transformer) { - private lateinit var results: MutableSet - - private fun addResult(result: OutputUnit) { - if (result.valid) { - // do not add valid - return - } - if (!::results.isInitialized) { - results = linkedSetOf() - } - results.add(result) - } - - private fun addResults(results: MutableSet) { - if (results.all { it.valid }) { - return - } - if (::results.isInitialized) { - this.results.addAll(results) - } else { - this.results = results - } - } - - override val output: OutputUnit - get() { - if (!::results.isInitialized) { - // variable is uninitialized only if all results are valid - return OutputUnit( - valid = true, - keywordLocation = keywordLocation, - instanceLocation = location, - absoluteKeywordLocation = absoluteLocation, - errors = emptySet(), - ) - } - val failed = results - return if (failed.size == 1 && collapse) { - failed.single() - } else { - OutputUnit( - valid = false, - keywordLocation = keywordLocation, - absoluteKeywordLocation = absoluteLocation, - instanceLocation = location, - errors = failed, - ) - } - } - - override fun updateLocation(path: JsonPointer): Detailed = - Detailed( - location = path, - keywordLocation = keywordLocation, - absoluteLocation = absoluteLocation, - parent = this, - ) - - override fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation?, - canCollapse: Boolean, - ): Detailed { - val newKeywordLocation = - if (this.absoluteLocation == null) { - path - } else { - this.keywordLocation + this.absoluteLocation.path.relative(path) - } - if (keywordLocation == newKeywordLocation) { - return this - } - return Detailed( - location = location, - keywordLocation = newKeywordLocation, - absoluteLocation = absoluteLocation ?: this.absoluteLocation?.copy(path = path), - parent = this, - collapse = absoluteLocation == null && canCollapse, - ) - } - - override fun childCollector(): OutputCollector = - Detailed(location, keywordLocation, this, absoluteLocation, child = true) - - override fun withErrorTransformer(transformer: OutputErrorTransformer): OutputCollector = - Detailed(location, keywordLocation, parent, absoluteLocation, collapse, transformer = transformer) - - override fun reportErrors() { - if (parent == null) { - return - } - if (child) { - if (::results.isInitialized) { - parent.addResults(results) - } - } else { - parent.addResult(output) - } - } - - override fun onError(error: ValidationError) { - val err = transformError(error) - addResult( - OutputUnit( - valid = false, - instanceLocation = err.objectPath, - keywordLocation = err.schemaPath, - absoluteKeywordLocation = err.absoluteLocation, - error = err.message, - ), - ) - } - } - - private class Verbose( - private val location: JsonPointer = JsonPointer.ROOT, - private val keywordLocation: JsonPointer = JsonPointer.ROOT, - private val parent: Verbose? = null, - private val absoluteLocation: AbsoluteLocation? = null, - private val child: Boolean = false, - transformer: OutputErrorTransformer = NO_TRANSFORMATION, - ) : OutputCollector(parent, transformer) { - private val errors: MutableList = ArrayList(1) - - private fun addResult(result: OutputUnit) { - // init hashCode to reduce overhead in future - result.hashCode() - errors.add(result) - } - - private fun addResults(results: MutableList) { - errors.addAll(results) - } - - override val output: OutputUnit - get() { - if (errors.size == 1) { - // when this is a leaf we should return the reported error - // instead of creating a new node - val childError = errors.single() - if ( - childError.errors.isEmpty() && - childError.let { - it.keywordLocation == keywordLocation && it.instanceLocation == it.instanceLocation - } - ) { - return childError - } - } - return OutputUnit( - valid = errors.none { !it.valid }, - keywordLocation = keywordLocation, - absoluteKeywordLocation = absoluteLocation, - instanceLocation = location, - errors = errors.toSet(), - ) - } - - override fun updateLocation(path: JsonPointer): Verbose = - Verbose( - location = path, - keywordLocation = keywordLocation, - absoluteLocation = absoluteLocation, - parent = this, - ) - - override fun updateKeywordLocation( - path: JsonPointer, - absoluteLocation: AbsoluteLocation?, - canCollapse: Boolean, - ): Verbose { - val newKeywordLocation = - if (this.absoluteLocation == null) { - path - } else { - this.keywordLocation + this.absoluteLocation.path.relative(path) - } - if (keywordLocation == newKeywordLocation) { - return this - } - return Verbose( - location = location, - keywordLocation = newKeywordLocation, - absoluteLocation = absoluteLocation ?: this.absoluteLocation?.copy(path = path), - parent = this, - ) - } - - override fun childCollector(): OutputCollector = - Verbose(location, keywordLocation, this, absoluteLocation, child = true) - - override fun withErrorTransformer(transformer: OutputErrorTransformer): OutputCollector = - Verbose(location, keywordLocation, parent, absoluteLocation, transformer = transformer) - - override fun reportErrors() { - if (parent == null) { - return - } - if (child) { - parent.addResults(errors) - } else { - parent.addResult(output) - } - } - - override fun onError(error: ValidationError) { - val err = transformError(error) - addResult( - OutputUnit( - valid = false, - instanceLocation = err.objectPath, - keywordLocation = err.schemaPath, - absoluteKeywordLocation = err.absoluteLocation, - error = err.message, - ), - ) - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/SchemaOption.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/SchemaOption.kt deleted file mode 100644 index b90de0d7..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/SchemaOption.kt +++ /dev/null @@ -1,11 +0,0 @@ -package io.github.optimumcode.json.schema - -import kotlin.jvm.JvmField -import kotlin.reflect.KClass - -public class SchemaOption private constructor(internal val type: KClass) { - public companion object { - @JvmField - public val FORMAT_BEHAVIOR_OPTION: SchemaOption = SchemaOption(FormatBehavior::class) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/SchemaType.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/SchemaType.kt deleted file mode 100644 index c3bfa75b..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/SchemaType.kt +++ /dev/null @@ -1,49 +0,0 @@ -package io.github.optimumcode.json.schema - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.config.Draft201909SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.config.Draft202012SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.config.Draft4SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.config.Draft6SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.config.Draft7SchemaLoaderConfig -import kotlin.jvm.JvmStatic - -public enum class SchemaType( - internal val schemaId: Uri, - internal val config: SchemaLoaderConfig, -) { - DRAFT_4(Uri.parse("http://json-schema.org/draft-04/schema"), Draft4SchemaLoaderConfig), - DRAFT_6(Uri.parse("http://json-schema.org/draft-06/schema"), Draft6SchemaLoaderConfig), - DRAFT_7(Uri.parse("http://json-schema.org/draft-07/schema"), Draft7SchemaLoaderConfig), - DRAFT_2019_09(Uri.parse("https://json-schema.org/draft/2019-09/schema"), Draft201909SchemaLoaderConfig), - DRAFT_2020_12(Uri.parse("https://json-schema.org/draft/2020-12/schema"), Draft202012SchemaLoaderConfig), - ; - - public companion object { - @JvmStatic - public fun find(schemaId: String): SchemaType? { - val uri = Uri.parse(schemaId) - return findSchemaType(uri) - } - } -} - -private const val HTTP_SCHEMA: String = "http" -private const val HTTPS_SCHEMA: String = "https" - -internal fun findSchemaType(uri: Uri): SchemaType? { - if (uri.scheme.let { it != HTTP_SCHEMA && it != HTTPS_SCHEMA }) { - // the schema in URI is unknown - // so, it definitely is not a supported schema ID - return null - } - return SchemaType.entries.find { - it.schemaId.run { - host == uri.host && - port == uri.port && - path == uri.path && - fragment == uri.fragment?.takeUnless(String::isEmpty) - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationError.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationError.kt deleted file mode 100644 index 3fc776e9..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationError.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema - -import io.github.optimumcode.json.pointer.JsonPointer - -/** - * [ValidationError] contains information about the assertion that failed during the validation - */ -public data class ValidationError( - /** - * Path to the assertion definition in schema - */ - val schemaPath: JsonPointer, - /** - * Path in the object that failed validation against the schema in [schemaPath] - */ - val objectPath: JsonPointer, - /** - * Validation error message - */ - val message: String, - /** - * Additional details about error - */ - val details: Map = emptyMap(), - /** - * The absolute path to triggered assertion if the $ref was used - */ - val absoluteLocation: AbsoluteLocation? = null, -) \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationOutput.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationOutput.kt deleted file mode 100644 index f618f117..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/ValidationOutput.kt +++ /dev/null @@ -1,77 +0,0 @@ -package io.github.optimumcode.json.schema - -import io.github.optimumcode.json.pointer.JsonPointer -import kotlinx.serialization.Serializable -import kotlinx.serialization.Transient -import kotlin.jvm.JvmField - -public sealed class ValidationOutput { - public abstract val valid: Boolean - - @Serializable - public data class Flag(override val valid: Boolean) : ValidationOutput() { - public companion object { - @JvmField - public val VALID: Flag = Flag(true) - - @JvmField - public val INVALID: Flag = Flag(false) - } - } - - @Serializable - public data class Basic( - override val valid: Boolean, - public val errors: Set = emptySet(), - ) : ValidationOutput() - - @Serializable - public data class OutputUnit( - override val valid: Boolean, - public val keywordLocation: JsonPointer, - public val instanceLocation: JsonPointer, - public val absoluteKeywordLocation: AbsoluteLocation? = null, - public val error: String? = null, - public val errors: Set = emptySet(), - public val annotations: Set = emptySet(), - ) : ValidationOutput() { - // hashcode is stored to avoid recursive recalculation for each error in `errors` property - @Transient - private var hash = 0 - - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || this::class != other::class) return false - - other as OutputUnit - - if (valid != other.valid) return false - if (keywordLocation != other.keywordLocation) return false - if (instanceLocation != other.instanceLocation) return false - if (absoluteKeywordLocation != other.absoluteKeywordLocation) return false - if (error != other.error) return false - if (errors != other.errors) return false - if (annotations != other.annotations) return false - - return true - } - - override fun hashCode(): Int { - if (hash != 0) { - return hash - } - var result = valid.hashCode() - result = 31 * result + keywordLocation.hashCode() - result = 31 * result + instanceLocation.hashCode() - result = 31 * result + (absoluteKeywordLocation?.hashCode() ?: 0) - result = 31 * result + (error?.hashCode() ?: 0) - result = 31 * result + errors.hashCode() - result = 31 * result + annotations.hashCode() - if (result == 0) { - result = 31 - } - hash = result - return result - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAnnotationCollector.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAnnotationCollector.kt deleted file mode 100644 index 20de816f..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAnnotationCollector.kt +++ /dev/null @@ -1,20 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.ExperimentalApi - -@ExperimentalApi -public interface ExternalAnnotationCollector { - /** - * Adds annotation with provided [key] - */ - public fun annotate( - key: AnnotationKey, - value: T, - ) - - /** - * Checks if there is an annotation with provided [key] and returns it if exists - */ - public fun annotated(key: AnnotationKey): T? -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertion.kt deleted file mode 100644 index 781905b3..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertion.kt +++ /dev/null @@ -1,49 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.ExperimentalApi -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -/** - * This interface allows you to implement your own schema assertion. - * This interface **does not** allow implementing custom applicators. - * Only simple assertions (like: _format_, _type_) can be implemented. - * - * If you create an implementation of [ExternalAssertion] that will be shared with others - * please make sure that it will be state-less since it might be invoked from different threads. - */ -@Suppress("detekt:ForbiddenComment") -@ExperimentalApi -public interface ExternalAssertion { - /** - * Validates passes [element]. - * If [element] does not pass the assertion returns `false` - * and calls [ErrorCollector.onError] on passed [errorCollector]. - * Otherwise, returns `true` - * - * You should follow the rules from JSON specification. - * E.g. element passes assertion if it has a different type from that the assertion expects. - * This would mean for 'format' assertion if the [element] is not a primitive the assertion must pass - * - * @param element JSON element to validate - * @param context [ExternalAssertionContext] associated with the [element] - * @param errorCollector handler for [io.github.optimumcode.json.schema.ValidationError] produced by assertion - * @return `true` if element is valid against assertion. Otherwise, returns `false` - */ - public fun validate( - element: AbstractElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean = throw NotImplementedError("please override the method in your implementation") - - @Deprecated( - message = "override validate(AbstractElement, ExternalAssertionContext, ErrorCollector) instead", - level = DeprecationLevel.HIDDEN, - ) - public fun validate( - element: JsonElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean = throw UnsupportedOperationException("please use validate method with AbstractElement parameter") -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionContext.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionContext.kt deleted file mode 100644 index b66e005d..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionContext.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.ExperimentalApi - -@ExperimentalApi -public interface ExternalAssertionContext { - /** - * A JSON pointer to the currently validating element in the object that is being validated - */ - public val objectPath: JsonPointer - - /** - * The [ExternalAnnotationCollector] associated with currently validating element - */ - public val annotationCollector: ExternalAnnotationCollector -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionFactory.kt deleted file mode 100644 index bbea7f63..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalAssertionFactory.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.schema.ExperimentalApi -import kotlinx.serialization.json.JsonElement - -@ExperimentalApi -public interface ExternalAssertionFactory { - /** - * A keyword that is associated with the [ExternalAssertion] created by this factory. - * This keyword **must not** overlap with any existing keywords for existing drafts. - * If keyword overlaps with any keyword for any existing draft and [IllegalStateException] will be thrown - * when this factory is registered in [io.github.optimumcode.json.schema.JsonSchemaLoader]. - */ - public val keywordName: String - - /** - * Creates corresponding [ExternalAssertion] form the passed [element]. - * The [element] matches the element specified in the schema under the [keywordName] provided by the factory - * - * @param context the [ExternalLoadingContext] associated with the [element]. - * - * @return [ExternalAssertion] that correspond to the passed [element] - * @throws IllegalArgumentException if [element] does not match the requirements for this [ExternalAssertion] - */ - public fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalLoadingContext.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalLoadingContext.kt deleted file mode 100644 index 5ce18897..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/extension/ExternalLoadingContext.kt +++ /dev/null @@ -1,12 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.ExperimentalApi - -@ExperimentalApi -public interface ExternalLoadingContext { - /** - * A JSON pointer to the current position in schema associated with currently processing element - */ - public val schemaPath: JsonPointer -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AnnotationCollector.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AnnotationCollector.kt deleted file mode 100644 index c2a51767..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AnnotationCollector.kt +++ /dev/null @@ -1,137 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import io.github.optimumcode.json.schema.Aggregator -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.AnnotationKey.AggregatableAnnotationKey -import io.github.optimumcode.json.schema.AnnotationKey.SimpleAnnotationKey -import io.github.optimumcode.json.schema.extension.ExternalAnnotationCollector -import kotlin.jvm.JvmStatic -import kotlin.reflect.KClass -import kotlin.reflect.cast - -internal interface AnnotationCollector : ExternalAnnotationCollector { - fun aggregatedAnnotation(key: AnnotationKey): T? -} - -internal object AnnotationKeyFactory { - @JvmStatic - inline fun create(name: String): AnnotationKey = create(name, T::class) - - @JvmStatic - inline fun createAggregatable( - name: String, - noinline aggregator: (T, T) -> T, - ): AnnotationKey = createAggregatable(name, T::class, aggregator) - - @JvmStatic - fun create( - name: String, - type: KClass, - ): AnnotationKey = SimpleAnnotationKey.create(name, type) - - @JvmStatic - fun createAggregatable( - name: String, - type: KClass, - aggregator: (T, T) -> T, - ): AnnotationKey = AggregatableAnnotationKey.create(name, type, aggregator) -} - -internal class DefaultAnnotationCollector : AnnotationCollector { - private lateinit var _annotations: MutableMap, Any> - private lateinit var _aggregatedAnnotations: MutableMap, Any> - - override fun annotate( - key: AnnotationKey, - value: T, - ) { - annotations()[key] = value - } - - override fun annotated(key: AnnotationKey): T? { - if (!::_annotations.isInitialized) { - return null - } - return _annotations[key]?.let { key.type.cast(it) } - } - - override fun aggregatedAnnotation(key: AnnotationKey): T? { - if (!::_aggregatedAnnotations.isInitialized && !::_annotations.isInitialized) { - return null - } - val currentLevelAnnotation: T? = annotated(key) - if (!::_aggregatedAnnotations.isInitialized) { - return currentLevelAnnotation - } - return _aggregatedAnnotations[key]?.let { - val aggregatedAnnotation: T = key.type.cast(it) - if (currentLevelAnnotation == null) { - aggregatedAnnotation - } else { - when (key) { - is AggregatableAnnotationKey -> key.aggregator.aggregate(currentLevelAnnotation, aggregatedAnnotation) - is SimpleAnnotationKey -> null - } - } - } ?: currentLevelAnnotation - } - - fun applyAnnotations() { - if (::_annotations.isInitialized && _annotations.isNotEmpty()) { - aggregateAnnotations(_annotations) { aggregatedAnnotations() } - _annotations.clear() - } - } - - fun resetAnnotations() { - if (::_annotations.isInitialized && _annotations.isNotEmpty()) { - _annotations.clear() - } - } - - fun propagateToParent(parent: DefaultAnnotationCollector) { - if (!::_aggregatedAnnotations.isInitialized) { - return - } - aggregateAnnotations(_aggregatedAnnotations) { parent.aggregatedAnnotations() } - } - - private inline fun aggregateAnnotations( - source: MutableMap, Any>, - destination: () -> MutableMap, Any>, - ) { - source.forEach { (key, value) -> - if (key !is AggregatableAnnotationKey) { - return@forEach - } - val aggregatedAnnotations = destination() - val oldValue: Any? = aggregatedAnnotations[key] - if (oldValue != null) { - // Probably there is a mistake in the architecture - // Need to think on how to change that to avoid unchecked cast - @Suppress("UNCHECKED_CAST") - val aggregator: Aggregator = key.aggregator as Aggregator - val aggregated = aggregator.aggregate(key.type.cast(oldValue), key.type.cast(value)) - if (aggregated != null) { - aggregatedAnnotations[key] = aggregated - } - } else { - aggregatedAnnotations[key] = value - } - } - } - - private fun annotations(): MutableMap, Any> { - if (!::_annotations.isInitialized) { - _annotations = hashMapOf() - } - return _annotations - } - - private fun aggregatedAnnotations(): MutableMap, Any> { - if (!::_aggregatedAnnotations.isInitialized) { - _aggregatedAnnotations = hashMapOf() - } - return _aggregatedAnnotations - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AssertionContext.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AssertionContext.kt deleted file mode 100644 index 6a8cfc14..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AssertionContext.kt +++ /dev/null @@ -1,121 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.div -import io.github.optimumcode.json.pointer.get -import io.github.optimumcode.json.schema.extension.ExternalAssertionContext - -internal interface AssertionContext : ExternalAssertionContext { - override val annotationCollector: AnnotationCollector - val referenceResolver: ReferenceResolver - - fun at(index: Int): AssertionContext - - fun at(property: String): AssertionContext - - /** - * Discards collected annotations - */ - fun resetAnnotations() - - /** - * Applies collected annotations - */ - fun applyAnnotations() - - /** - * Propagates aggregated annotations to parent context if it has one. - * Otherwise, does nothing - */ - fun propagateToParent() - - /** - * Creates a child context with a new annotation scope. - * Current context will get the collected annotations only - * if [propagateToParent] method is called on the child context - */ - fun childContext(): AssertionContext - - /** - * Sets the recursive root to the [schema] if no recursive root was set before - */ - fun setRecursiveRootIfAbsent(schema: JsonSchemaAssertion) - - /** - * Resets recursive root - */ - fun resetRecursiveRoot() - - /** - * Returns recursive root for current state of the validation - */ - fun getRecursiveRoot(): JsonSchemaAssertion? - - fun pushSchemaPath( - path: JsonPointer, - scopeId: Uri, - ) - - fun popSchemaPath() -} - -internal data class DefaultAssertionContext( - override val objectPath: JsonPointer, - override val referenceResolver: DefaultReferenceResolver, - private val parent: DefaultAssertionContext? = null, - private var recursiveRoot: JsonSchemaAssertion? = null, -) : AssertionContext { - override val annotationCollector: DefaultAnnotationCollector = DefaultAnnotationCollector() - - override fun at(index: Int): AssertionContext = copy(objectPath = objectPath[index]) - - override fun at(property: String): AssertionContext { - return copy(objectPath = objectPath / property) - } - - override fun resetAnnotations() { - annotationCollector.resetAnnotations() - } - - override fun applyAnnotations() { - annotationCollector.applyAnnotations() - } - - override fun propagateToParent() { - if (parent == null) { - return - } - annotationCollector.propagateToParent(parent.annotationCollector) - } - - override fun childContext(): AssertionContext { - return copy(parent = this) - } - - override fun setRecursiveRootIfAbsent(schema: JsonSchemaAssertion) { - if (this.recursiveRoot != null) { - return - } - this.recursiveRoot = schema - } - - override fun resetRecursiveRoot() { - this.recursiveRoot = null - } - - override fun getRecursiveRoot(): JsonSchemaAssertion? { - return recursiveRoot - } - - override fun pushSchemaPath( - path: JsonPointer, - scopeId: Uri, - ) { - referenceResolver.pushSchemaPath(path, scopeId) - } - - override fun popSchemaPath() { - referenceResolver.popSchemaPath() - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AssertionFactory.kt deleted file mode 100644 index f7214f03..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/AssertionFactory.kt +++ /dev/null @@ -1,30 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import kotlinx.serialization.json.JsonElement - -internal interface AssertionFactory { - /** - * Property that should contain element to create an [JsonSchemaAssertion] - */ - val property: String - - /** - * Checks whether the factory can create an assertion from the [element]. - * - * @return `true` if factory can create an assertion from [element]. - * Otherwise, returns `false` - */ - fun isApplicable(element: JsonElement): Boolean - - /** - * Creates corresponding [JsonSchemaAssertion] form the passed [element]. - * If [isApplicable] method returned `false` this method will throw [IllegalArgumentException] - * - * @return [JsonSchemaAssertion] that correspond to the passed [element] - * @throws IllegalArgumentException if [isApplicable] method call returns `false` for the [element] - */ - fun create( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/BooleanSchemaAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/BooleanSchemaAssertion.kt deleted file mode 100644 index 23af77cd..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/BooleanSchemaAssertion.kt +++ /dev/null @@ -1,37 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.model.AbstractElement - -internal class FalseSchemaAssertion( - private val path: JsonPointer, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - errorCollector.updateKeywordLocation(path).use { - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "all values fail against the false schema", - ), - ) - } - return false - } -} - -internal object TrueSchemaAssertion : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return true - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/JsonSchemaAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/JsonSchemaAssertion.kt deleted file mode 100644 index 5847a4d8..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/JsonSchemaAssertion.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.model.AbstractElement - -internal interface JsonSchemaAssertion { - /** - * Validates passes [element]. - * If [element] does not pass the assertion returns `false` - * and calls [OutputCollector.onError] on passed [errorCollector]. - * Otherwise, returns `true`. - * Each [JsonSchemaAssertion] implementation MUST call [OutputCollector.updateKeywordLocation] to provide information - * about assertion location. - * If [JsonSchemaAssertion] implementation updates [AssertionContext.objectPath] it also must call - * [OutputCollector.updateLocation] to update current instance location. - * - * @param element JSON element to validate - * @param context context associated with the [element] - * @param errorCollector handler for [io.github.optimumcode.json.schema.ValidationError] produced by assertion - * @return `true` if element is valid against assertion. Otherwise, returns `false` - */ - fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/JsonSchemaRoot.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/JsonSchemaRoot.kt deleted file mode 100644 index 9aad8185..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/JsonSchemaRoot.kt +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.model.AbstractElement - -internal class JsonSchemaRoot( - private val scopeId: Uri, - private val schemaPath: JsonPointer, - private val assertions: Collection, - private val canBeReferencedRecursively: Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - if (canBeReferencedRecursively) { - context.setRecursiveRootIfAbsent(this) - } else { - context.resetRecursiveRoot() - } - var result = true - context.pushSchemaPath(schemaPath, scopeId) - errorCollector.updateKeywordLocation(schemaPath).use { - val failFast = isFailFast - assertions.forEach { - val valid = it.validate(element, context, this) - result = result and valid - if (!result && failFast) { - return@use - } - } - } - context.popSchemaPath() - // According to spec the annotations should not be applied if element does not match the schema - if (result) { - context.applyAnnotations() - } else { - context.resetAnnotations() - } - return result - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/KeyWord.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/KeyWord.kt deleted file mode 100644 index c44eaf44..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/KeyWord.kt +++ /dev/null @@ -1,32 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -/** - * Schema keywords that can be used during schema parsing. - * Depending on the schema version the corresponding JSON property will be extracted from Schema definition. - */ -internal enum class KeyWord { - /** - * Keyword that indicates the schema ID - */ - ID, - - /** - * Keyword that is used to define location-independent identifier - */ - ANCHOR, - - /** - * Keyword that is used to define dynamic anchor to be referenced by dynamic refs - */ - DYNAMIC_ANCHOR, - - /** - * Keyword for definitions in current JSON schema - */ - DEFINITIONS, - - /** - * Keyword for old definitions property if current draft still supports that - */ - COMPATIBILITY_DEFINITIONS, -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/LoadingContext.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/LoadingContext.kt deleted file mode 100644 index df9d571e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/LoadingContext.kt +++ /dev/null @@ -1,25 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.extension.ExternalLoadingContext -import kotlinx.serialization.json.JsonElement - -internal interface LoadingContext : ExternalLoadingContext { - val customFormatValidators: Map - - fun at(property: String): LoadingContext - - fun at(index: Int): LoadingContext - - /** - * Returns [JsonSchemaAssertion] generated from [element] JSON schema. - * @throws IllegalArgumentException [element] is not a valid schema - */ - fun schemaFrom(element: JsonElement): JsonSchemaAssertion - - /** - * Returns `true` if JSON schema can be created from passed [element]. - * Otherwise, returns `false` - */ - fun isJsonSchema(element: JsonElement): Boolean -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RecursiveRefSchemaAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RecursiveRefSchemaAssertion.kt deleted file mode 100644 index ecb17e18..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RecursiveRefSchemaAssertion.kt +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.plus -import io.github.optimumcode.json.pointer.relative -import io.github.optimumcode.json.schema.AbsoluteLocation -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.model.AbstractElement - -internal class RecursiveRefSchemaAssertion( - private val basePath: JsonPointer, - private val refId: RefId, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return context.getRecursiveRoot()?.validate(element, context, errorCollector) ?: run { - val (refIdPath, refAssertion, absoluteLocation) = context.referenceResolver.dynamicRef(refId) - errorCollector.updateKeywordLocation( - basePath, - AbsoluteLocation(absoluteLocation, refIdPath), - ).withErrorTransformer { - val relativePath = refIdPath.relative(it.schemaPath) - it.copy( - schemaPath = basePath + relativePath, - absoluteLocation = - it.absoluteLocation ?: AbsoluteLocation(absoluteLocation, it.schemaPath), - ) - }.use { - refAssertion.validate( - element, - context, - this, - ) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RefId.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RefId.kt deleted file mode 100644 index 66f0f99e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RefId.kt +++ /dev/null @@ -1,10 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri -import kotlin.jvm.JvmInline - -@JvmInline -internal value class RefId(val uri: Uri) { - val fragment: String - get() = uri.fragment ?: "" -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RefSchemaAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RefSchemaAssertion.kt deleted file mode 100644 index 179a5b9c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/RefSchemaAssertion.kt +++ /dev/null @@ -1,47 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.plus -import io.github.optimumcode.json.pointer.relative -import io.github.optimumcode.json.schema.AbsoluteLocation -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.model.AbstractElement - -internal class RefSchemaAssertion( - private val basePath: JsonPointer, - private val refId: RefId, -) : JsonSchemaAssertion { - private lateinit var refIdPath: JsonPointer - private lateinit var refAssertion: JsonSchemaAssertion - private lateinit var refAbsolutePath: Uri - - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - if (!::refAssertion.isInitialized) { - val resolved = context.referenceResolver.ref(refId) - refIdPath = resolved.schemaPath - refAssertion = resolved.assertion - refAbsolutePath = resolved.scopeId - } - return errorCollector.updateKeywordLocation( - basePath, - AbsoluteLocation(refAbsolutePath, refIdPath), - ).withErrorTransformer { - it.copy( - schemaPath = basePath + refIdPath.relative(it.schemaPath), - absoluteLocation = - it.absoluteLocation ?: AbsoluteLocation(refAbsolutePath, it.schemaPath), - ) - }.use { - refAssertion.validate( - element, - context, - this, - ) - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/ReferenceResolver.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/ReferenceResolver.kt deleted file mode 100644 index 808b5ea5..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/ReferenceResolver.kt +++ /dev/null @@ -1,80 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.internal.length - -internal interface ReferenceResolver { - fun ref(refId: RefId): ReferenceHolder - - fun dynamicRef(refId: RefId): ReferenceHolder -} - -internal class ReferenceHolder( - val schemaPath: JsonPointer, - val assertion: JsonSchemaAssertion, - val scopeId: Uri, -) { - operator fun component1(): JsonPointer = schemaPath - - operator fun component2(): JsonSchemaAssertion = assertion - - operator fun component3(): Uri = scopeId -} - -internal class DefaultReferenceResolverProvider( - private val references: Map, -) { - fun createResolver(): DefaultReferenceResolver = DefaultReferenceResolver(references) -} - -internal class DefaultReferenceResolver( - private val references: Map, - private val schemaPathsStack: ArrayDeque> = ArrayDeque(), -) : ReferenceResolver { - override fun ref(refId: RefId): ReferenceHolder { - val resolvedRef = requireNotNull(references[refId]) { "$refId is not found" } - return resolvedRef.toRefHolder() - } - - override fun dynamicRef(refId: RefId): ReferenceHolder { - val originalRef = requireNotNull(references[refId]) { "$refId is not found" } - if (!originalRef.dynamic) { - return originalRef.toRefHolder() - } - - val fragment = refId.fragment - val possibleDynamicRefs: MutableList = - references.asSequence() - .filter { (id, link) -> - link.dynamic && id.fragment == fragment && id != refId - }.map { it.value }.toMutableList() - possibleDynamicRefs.sortBy { it.schemaPath.length } - - val resolvedDynamicRef = - schemaPathsStack.firstNotNullOfOrNull { (_, scopeId) -> - possibleDynamicRefs.firstOrNull { it.scopeId == scopeId } - } - // If no outer anchor found use the original ref - ?: originalRef - return resolvedDynamicRef.toRefHolder() - } - - fun pushSchemaPath( - path: JsonPointer, - scopeId: Uri, - ) { - schemaPathsStack.addLast(path to scopeId) - } - - fun popSchemaPath() { - schemaPathsStack.removeLast() - } - - private fun AssertionWithPath.toRefHolder(): ReferenceHolder = - ReferenceHolder( - schemaPath = schemaPath, - assertion = assertion, - scopeId = scopeId, - ) -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/ReferenceValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/ReferenceValidator.kt deleted file mode 100644 index e7c1e200..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/ReferenceValidator.kt +++ /dev/null @@ -1,153 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.internal.dropLast -import io.github.optimumcode.json.pointer.internal.lastSegment -import io.github.optimumcode.json.pointer.startsWith - -internal object ReferenceValidator { - data class ReferenceLocation( - val schemaPath: JsonPointer, - val refId: RefId, - ) - - class PointerWithBaseId( - val baseId: Uri, - val pointer: JsonPointer, - ) - - fun validateReferences( - referencesWithPath: Map, - usedRef: Set, - ) { - val missingRefs: Map> = - usedRef.asSequence() - .filter { it.refId !in referencesWithPath } - .groupBy { it.refId } - require(missingRefs.isEmpty()) { - "cannot resolve references: ${ - missingRefs.entries.joinToString(prefix = "{", postfix = "}") { (ref, locations) -> - "\"${ref.uri}\": ${locations.map { "\"${it.schemaPath}\"" }}" - } - }" - } - checkCircledReferences(usedRef, referencesWithPath) - } - - private val alwaysRunInPlaceApplicators = hashSetOf("allOf", "anyOf", "oneOf") - private val definitionProperties = hashSetOf("definitions", "\$defs") - - private fun checkCircledReferences( - usedRefs: Set, - referencesWithPath: Map, - ) { - val locationToRef: Map = - usedRefs.associate { (schemaPath, refId) -> - schemaPath to refId - } - - val circledReferences = linkedSetOf() - - val refsByBaseId: Map> = - referencesWithPath - .entries - .groupingBy { it.value.baseId } - .fold(hashSetOf()) { acc, el -> acc.apply { add(el.value.pointer) } } - - for ((location, refId) in locationToRef) { - val schemaLocation: PointerWithBaseId = referencesWithPath.getValue(refId) - - val (otherLocation, otherRef) = - locationToRef.entries.find { (refKey) -> - refKey.startsWith(schemaLocation.pointer) - } ?: continue - val otherRefSchemaLocation: PointerWithBaseId = referencesWithPath.getValue(otherRef) - if (!location.startsWith(otherRefSchemaLocation.pointer) || - schemaLocation.baseId != otherRefSchemaLocation.baseId - ) { - continue - } - val refsForBaseId = refsByBaseId[schemaLocation.baseId] ?: emptySet() - if (checkRunAlways( - location, - refsForBaseId, - ) && checkRunAlways(otherLocation, refsForBaseId) && location != otherLocation - ) { - circledReferences += - CircledReference( - firstLocation = location, - firstRef = schemaLocation.pointer, - secondLocation = otherLocation, - secondRef = otherRefSchemaLocation.pointer, - ) - } - } - require(circledReferences.isEmpty()) { - "circled references: ${ - circledReferences.joinToString { - "${it.firstLocation} ref to ${it.firstRef} and ${it.secondLocation} ref to ${it.secondRef}" - } - }" - } - } - - private fun checkRunAlways( - path: JsonPointer, - schemaLocations: Set, - ): Boolean { - var curPath: JsonPointer? = path - while (curPath != null) { - val parentPath = curPath.dropLast() - // The idea here is the following: - // 'parentPath in schemaLocations' returns true only if the last segment is a schema keyword. - // If this is the case we should check if this keyword is not applied in-place. - // We also check that this keyword is not a definition as this would be incorrect. - // If this all is 'true' this is not a circled reference - if ( - parentPath in schemaLocations && - curPath.lastSegment()?.let { - it !in alwaysRunInPlaceApplicators && it !in definitionProperties - } == true - ) { - return false - } - curPath = parentPath - } - return true - } - - private class CircledReference( - val firstLocation: JsonPointer, - val firstRef: JsonPointer, - val secondLocation: JsonPointer, - val secondRef: JsonPointer, - ) { - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (other == null || this::class != other::class) return false - - other as CircledReference - - return ( - firstLocation == other.firstLocation && - firstRef == other.firstRef && - secondLocation == other.secondLocation && - secondRef == other.secondRef - ) || - ( - firstLocation == other.secondLocation && - firstRef == other.secondRef && - secondLocation == other.firstLocation && - secondRef == other.firstRef - ) - } - - override fun hashCode(): Int { - return firstLocation.hashCode() + - firstRef.hashCode() + - secondLocation.hashCode() + - secondRef.hashCode() - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoader.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoader.kt deleted file mode 100644 index 13638f19..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoader.kt +++ /dev/null @@ -1,736 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Builder -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.pointer.div -import io.github.optimumcode.json.pointer.get -import io.github.optimumcode.json.pointer.relative -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.SchemaType -import io.github.optimumcode.json.schema.extension.ExternalAssertionFactory -import io.github.optimumcode.json.schema.findSchemaType -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder.Recursive -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder.Simple -import io.github.optimumcode.json.schema.internal.ReferenceValidator.PointerWithBaseId -import io.github.optimumcode.json.schema.internal.ReferenceValidator.ReferenceLocation -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Options -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Vocabulary -import io.github.optimumcode.json.schema.internal.factories.ExternalAssertionFactoryAdapter -import io.github.optimumcode.json.schema.internal.util.getString -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.boolean -import kotlinx.serialization.json.booleanOrNull - -private const val SCHEMA_PROPERTY: String = "\$schema" - -internal class SchemaLoader : JsonSchemaLoader { - private val references: MutableMap = linkedMapOf() - private val usedRefs: MutableSet = linkedSetOf() - private val extensionFactories: MutableMap = linkedMapOf() - private val customMetaSchemas: MutableMap> = linkedMapOf() - private val customFormats: MutableMap = linkedMapOf() - private val schemaOptions: MutableMap, Any> = linkedMapOf() - - override fun register( - schema: JsonElement, - draft: SchemaType?, - ): JsonSchemaLoader = - apply { - loadSchemaData(schema, createParameters(draft)) - } - - override fun register( - schema: String, - draft: SchemaType?, - ): JsonSchemaLoader = - run { - val schemaElement: JsonElement = Json.parseToJsonElement(schema) - register(schemaElement, draft) - } - - override fun register( - schema: JsonElement, - remoteUri: Uri, - draft: SchemaType?, - ): JsonSchemaLoader = - apply { - loadSchemaData( - schema, - createParameters(draft), - remoteUri, - ) - } - - override fun withExtensions( - externalFactory: ExternalAssertionFactory, - vararg otherExternalFactories: ExternalAssertionFactory, - ): JsonSchemaLoader = - apply { - addExtensionFactory(externalFactory) - for (extFactory in otherExternalFactories) { - addExtensionFactory(extFactory) - } - } - - override fun withExtensions(externalFactories: Iterable): JsonSchemaLoader = - apply { - for (extFactory in externalFactories) { - addExtensionFactory(extFactory) - } - } - - override fun withCustomFormat( - format: String, - formatValidator: FormatValidator, - ): JsonSchemaLoader = - apply { - val key = format.lowercase() - require(customFormats.put(key, formatValidator) == null) { - "format '$key' already registered" - } - } - - override fun withCustomFormats(formats: Map): JsonSchemaLoader = - apply { - for ((format, validator) in formats) { - withCustomFormat(format, validator) - } - } - - override fun withSchemaOption( - option: SchemaOption, - value: T, - ): JsonSchemaLoader = - apply { - schemaOptions[option] = value - } - - override fun fromDefinition( - schema: String, - draft: SchemaType?, - ): JsonSchema { - val schemaElement: JsonElement = Json.parseToJsonElement(schema) - return fromJsonElement(schemaElement, draft) - } - - override fun fromJsonElement( - schemaElement: JsonElement, - draft: SchemaType?, - ): JsonSchema { - val assertion: JsonSchemaAssertion = - loadSchemaData( - schemaElement, - createParameters(draft), - ) - validateReferences(references, usedRefs) - return createSchema( - LoadResult( - assertion, - references.toMutableMap(), - usedRefs.mapTo(hashSetOf()) { it.refId }, - ), - ) - } - - private fun createParameters(draft: SchemaType?): LoadingParameters = - LoadingParameters( - defaultType = draft, - references = references, - usedRefs = usedRefs, - extensionFactories = extensionFactories.values, - customFormats = customFormats, - schemaOptions = schemaOptions, - registerMetaSchema = { uri, type, vocab -> - val prev = customMetaSchemas.put(uri, type to vocab) - require(prev == null) { "duplicated meta-schema with uri '$uri'" } - }, - resolveCustomVocabulary = { customMetaSchemas[it]?.second }, - resolveCustomMetaSchemaType = { customMetaSchemas[it]?.first }, - ) - - private fun addExtensionFactory(extensionFactory: ExternalAssertionFactory) { - val matchedDrafts = mutableMapOf>() - for (schemaType in SchemaType.entries) { - val match = - schemaType.config.allFactories.find { it.property.equals(extensionFactory.keywordName, ignoreCase = true) } - if (match == null) { - continue - } - matchedDrafts - .getOrPut( - match.property, - ::ArrayList, - ).add(schemaType) - } - if (matchedDrafts.isNotEmpty()) { - error( - "external factory with keyword '${extensionFactory.keywordName}' " + - "overlaps with ${matchedDrafts.entries.joinToString { (property, drafts) -> - "'$property' keyword in $drafts draft(s)" - }}", - ) - } - val duplicate = extensionFactories.keys.find { it.equals(extensionFactory.keywordName, ignoreCase = true) } - check(duplicate == null) { "duplicated extension factory with keyword '$duplicate'" } - extensionFactories[extensionFactory.keywordName] = ExternalAssertionFactoryAdapter(extensionFactory) - } -} - -internal object IsolatedLoader { - fun fromDefinition( - schema: String, - draft: SchemaType?, - ): JsonSchema { - val schemaElement: JsonElement = Json.parseToJsonElement(schema) - return fromJsonElement(schemaElement, draft) - } - - fun fromJsonElement( - schemaElement: JsonElement, - draft: SchemaType?, - ): JsonSchema { - val references: MutableMap = linkedMapOf() - val usedRefs: MutableSet = hashSetOf() - val assertion: JsonSchemaAssertion = loadSchemaData(schemaElement, LoadingParameters(draft, references, usedRefs)) - validateReferences(references, usedRefs) - return createSchema(LoadResult(assertion, references, usedRefs.mapTo(hashSetOf()) { it.refId })) - } -} - -@Suppress("detekt:LongParameterList") -private class LoadingParameters( - val defaultType: SchemaType?, - val references: MutableMap, - val usedRefs: MutableSet, - val extensionFactories: Collection = emptySet(), - val customFormats: Map = emptyMap(), - val schemaOptions: Map, Any> = emptyMap(), - val resolveCustomMetaSchemaType: (Uri) -> SchemaType? = { null }, - val resolveCustomVocabulary: (Uri) -> Vocabulary? = { null }, - val registerMetaSchema: (Uri, SchemaType, Vocabulary) -> Unit = { _, _, _ -> }, -) - -private fun loadSchemaData( - schemaDefinition: JsonElement, - parameters: LoadingParameters, - externalUri: Uri? = null, -): JsonSchemaAssertion { - val schema: Uri? = extractSchema(schemaDefinition)?.let(Uri::parse) - val schemaType: SchemaType = resolveSchemaType(schema, parameters.defaultType, parameters.resolveCustomMetaSchemaType) - val baseId: Uri = extractID(schemaDefinition, schemaType.config) ?: externalUri ?: Uri.EMPTY - val schemaVocabulary: Vocabulary? = - schemaType.config.createVocabulary(schemaDefinition)?.also { - parameters.registerMetaSchema(baseId, schemaType, it) - } - val vocabulary: Vocabulary = - schemaVocabulary - ?: schema?.let(parameters.resolveCustomVocabulary) - ?: schemaType.config.defaultVocabulary - val assertionFactories = - schemaType.config.factories(schemaDefinition, vocabulary, Options(parameters.schemaOptions)).let { - if (parameters.extensionFactories.isEmpty()) { - it - } else { - it + parameters.extensionFactories - } - } - val isolatedReferences: MutableMap = linkedMapOf() - val context = - defaultLoadingContext( - baseId, - schemaType.config, - assertionFactories, - references = isolatedReferences, - customFormats = parameters.customFormats, - ).let { - if (externalUri != null && baseId != externalUri) { - // The external URI is added as the first one - // as it should not be used to calculate ids - // inside the schema - it.copy(additionalIDs = setOf(IdWithLocation(externalUri, JsonPointer.ROOT)) + it.additionalIDs) - } else { - it - } - } - val schemaAssertion = loadSchema(schemaDefinition, context) - parameters.references.putAll(isolatedReferences) - parameters.usedRefs.addAll(context.usedRef) - return schemaAssertion -} - -private fun validateReferences( - references: Map, - usedRefs: Set, -) { - ReferenceValidator.validateReferences( - references.mapValues { it.value.run { PointerWithBaseId(this.scopeId, schemaPath) } }, - usedRefs, - ) -} - -private fun createSchema(result: LoadResult): JsonSchema { - val dynamicRefs = - result.references - .asSequence() - .filter { it.value.dynamic } - .map { it.key } - .toSet() - // pre-filter references to get rid of unused references - val usedReferencesWithPath: Map = - result.references - .asSequence() - .filter { it.key in result.usedRefs || it.key in dynamicRefs } - .associate { it.key to it.value } - return JsonSchema(result.assertion, DefaultReferenceResolverProvider(usedReferencesWithPath)) -} - -private class LoadResult( - val assertion: JsonSchemaAssertion, - val references: Map, - val usedRefs: Set, -) - -private fun resolveSchemaType( - schema: Uri?, - defaultType: SchemaType?, - resolveCustomMetaSchemaType: (Uri) -> SchemaType?, -): SchemaType { - val schemaType: SchemaType? = - schema?.let { - findSchemaType(it) - ?: resolveCustomMetaSchemaType(it) - ?: throw IllegalArgumentException("unsupported schema type $it") - } - return schemaType ?: defaultType ?: SchemaType.entries.last() -} - -private fun extractSchema(schemaDefinition: JsonElement): String? = - if (schemaDefinition is JsonObject) { - schemaDefinition[SCHEMA_PROPERTY]?.let { - require(it is JsonPrimitive && it.isString) { "$SCHEMA_PROPERTY must be a string" } - it.content - } - } else { - null - } - -private fun loadDefinitions( - schemaDefinition: JsonElement, - context: DefaultLoadingContext, -) { - if (schemaDefinition !is JsonObject) { - return - } - val (definitionsProperty, definitionsElement: JsonElement?) = - context.config.keywordResolver.run { - resolve(KeyWord.DEFINITIONS) - ?.let { - it to schemaDefinition[it] - }?.takeIf { it.second != null } - ?: resolve(KeyWord.COMPATIBILITY_DEFINITIONS) - ?.let { - it to schemaDefinition[it] - }?.takeIf { it.second != null } - } ?: return - if (definitionsElement == null) { - return - } - require(definitionsElement is JsonObject) { "$definitionsProperty must be an object" } - val definitionsContext = context.at(definitionsProperty) - for ((name, element) in definitionsElement) { - loadSchema(element, definitionsContext.at(name)) - } -} - -private fun extractID( - schemaDefinition: JsonElement, - config: SchemaLoaderConfig, -): Uri? = - when (schemaDefinition) { - is JsonObject -> { - val idProperty = config.keywordResolver.resolve(KeyWord.ID) - idProperty - ?.let(schemaDefinition::getString) - ?.let { - requireNotNull(Uri.parseOrNull(it)) { "invalid $idProperty: $it" } - } - } - - else -> null - } - -private fun loadSchema( - schemaDefinition: JsonElement, - context: DefaultLoadingContext, -): JsonSchemaAssertion { - require(context.isJsonSchema(schemaDefinition)) { - "schema must be either a valid JSON object or boolean" - } - val additionalId: Uri? = extractID(schemaDefinition, context.config) - val contextWithAdditionalID = additionalId?.let(context::addId) ?: context - val referenceFactory = context.config.referenceFactory - return when (schemaDefinition) { - is JsonPrimitive -> - if (schemaDefinition.boolean) { - TrueSchemaAssertion - } else { - FalseSchemaAssertion(path = context.schemaPath) - } - - is JsonObject -> { - // If a new ID scope is introduced we must check whether we still should try to recursively resolve refs - if (additionalId != null) { - contextWithAdditionalID.updateRecursiveResolution(schemaDefinition) - } - val refLoadingContext = if (referenceFactory.resolveRefPriorId) contextWithAdditionalID else context - val extractedRef: RefHolder? = referenceFactory.extractRef(schemaDefinition, refLoadingContext) - val refAssertion: JsonSchemaAssertion? = - if (extractedRef != null) { - loadRefAssertion(extractedRef, refLoadingContext) - } else { - null - } - if (refAssertion != null && !referenceFactory.allowOverriding) { - JsonSchemaRoot( - contextWithAdditionalID.additionalIDs.last().id, - contextWithAdditionalID.schemaPath, - listOf(refAssertion), - contextWithAdditionalID.recursiveResolution, - ) - } else { - loadJsonSchemaRoot(contextWithAdditionalID, schemaDefinition, refAssertion) - } - } - // should never happen - else -> throw IllegalArgumentException("schema must be either a valid JSON object or boolean") - }.apply { - loadDefinitions(schemaDefinition, contextWithAdditionalID) - context.register(additionalId, this) - registerWithAnchor( - context.config.keywordResolver.resolve(KeyWord.ANCHOR), - schemaDefinition, - contextWithAdditionalID, - ) - registerWithAnchor( - context.config.keywordResolver.resolve(KeyWord.DYNAMIC_ANCHOR), - schemaDefinition, - contextWithAdditionalID, - dynamic = true, - ) - } -} - -private fun JsonSchemaAssertion.registerWithAnchor( - anchorProperty: String?, - schemaDefinition: JsonElement, - contextWithAdditionalID: DefaultLoadingContext, - dynamic: Boolean = false, -) { - if (anchorProperty != null && schemaDefinition is JsonObject) { - schemaDefinition.getString(anchorProperty)?.also { - contextWithAdditionalID.registerByAnchor(it, this, dynamic) - } - } -} - -private fun loadJsonSchemaRoot( - context: DefaultLoadingContext, - schemaDefinition: JsonElement, - refAssertion: JsonSchemaAssertion?, -): JsonSchemaRoot { - val assertions = - context.assertionFactories - .filter { it.isApplicable(schemaDefinition) } - .map { - it.create( - schemaDefinition, - // we register id to be used for future schema registration - context, - ) - } - val result = - buildList(assertions.size + (refAssertion?.let { 1 } ?: 0)) { - refAssertion?.also(this::add) - addAll(assertions) - } - return JsonSchemaRoot( - context.additionalIDs.last().id, - context.schemaPath, - result, - context.recursiveResolution, - ) -} - -private fun loadRefAssertion( - refHolder: RefHolder, - context: DefaultLoadingContext, -): JsonSchemaAssertion = - when (refHolder) { - is Simple -> RefSchemaAssertion(context.schemaPath / refHolder.property, refHolder.refId) - is Recursive -> - RecursiveRefSchemaAssertion( - context.schemaPath / refHolder.property, - refHolder.refId, - ) - } - -/** - * Used to identify the [location] where this [id] was defined - */ -internal data class IdWithLocation( - val id: Uri, - val location: JsonPointer, -) - -/** - * Used to map JSON schema [assertion] with its [schemaPath] - */ -internal data class AssertionWithPath( - val assertion: JsonSchemaAssertion, - val schemaPath: JsonPointer, - val dynamic: Boolean, - val scopeId: Uri, -) - -private data class DefaultLoadingContext( - override val baseId: Uri, - var recursiveResolution: Boolean = false, - override val schemaPath: JsonPointer = JsonPointer.ROOT, - val additionalIDs: Set = linkedSetOf(IdWithLocation(baseId, schemaPath)), - val references: MutableMap = linkedMapOf(), - val usedRef: MutableSet = linkedSetOf(), - val config: SchemaLoaderConfig, - val assertionFactories: List, - override val customFormatValidators: Map, -) : LoadingContext, - SchemaLoaderContext { - override fun at(property: String): DefaultLoadingContext = copy(schemaPath = schemaPath / property) - - override fun at(index: Int): DefaultLoadingContext = copy(schemaPath = schemaPath[index]) - - override fun schemaFrom(element: JsonElement): JsonSchemaAssertion = loadSchema(element, this) - - override fun isJsonSchema(element: JsonElement): Boolean = - ( - element is JsonObject || - (element is JsonPrimitive && element.booleanOrNull != null) - ) - - fun register( - id: Uri?, - assertion: JsonSchemaAssertion, - dynamic: Boolean = false, - ) { - if (id != null) { - registerById(id, assertion, dynamic) - } - for ((baseId, location) in additionalIDs) { - val relativePointer = location.relative(schemaPath) - val referenceId: RefId = - baseId - .buildUpon() - .encodedFragment(relativePointer.toString()) - .buildRefId() - if (referenceId.uri == id) { - // this happens when the root schema has ID, - // and we register it using Empty pointer - continue - } - register(referenceId, assertion, dynamic = false) - } - } - - /** - * [anchor] is a plain text that will be transformed into a URI fragment - * It must match [ANCHOR_REGEX] otherwise [IllegalArgumentException] will be thrown - */ - fun registerByAnchor( - anchor: String, - assertion: JsonSchemaAssertion, - dynamic: Boolean, - ) { - require(ANCHOR_REGEX.matches(anchor)) { "$anchor must match the format ${ANCHOR_REGEX.pattern}" } - val refId = - additionalIDs - .last() - .id - .buildUpon() - .fragment(anchor) - .buildRefId() - register(refId, assertion, dynamic) - } - - fun addId(additionalId: Uri): DefaultLoadingContext = - when { - additionalId.isAbsolute -> copy(additionalIDs = additionalIDs + IdWithLocation(additionalId, schemaPath)) - additionalId.isRelative && !additionalId.path.isNullOrBlank() -> - copy( - additionalIDs = - additionalIDs.run { - this + - IdWithLocation( - additionalIDs.resolvePath(additionalId.path), - schemaPath, - ) - }, - ) - - else -> this - } - - override fun ref(refId: String): RefId { - // library parsed fragment as empty if # is in the URI - // But when we build URI for definition we use [Uri.Builder] - // That builder does not set the fragment if it is empty - // Because of that inconsistency we use builder here as well - val refUri = Uri.parse(refId).buildUpon().build() - return when { - refUri.isAbsolute -> refUri.buildRefId() - // the ref is absolute and should be resolved from current base URI host:port part - refId.startsWith('/') -> - additionalIDs - .last() - .id - .buildUpon() - .encodedPath(refUri.path) - .buildRefId() - // in this case the ref must be resolved from the current base ID - !refUri.path.isNullOrBlank() -> - additionalIDs - .resolvePath(refUri.path) - .run { - if (refUri.fragment.isNullOrBlank()) { - this - } else { - buildUpon().encodedFragment(refUri.fragment).build() - } - }.buildRefId() - - refUri.fragment != null -> - additionalIDs - .last() - .id - .buildUpon() - .encodedFragment(refUri.fragment) - .buildRefId() - else -> throw IllegalArgumentException("invalid reference '$refId'") - }.also { usedRef += ReferenceLocation(schemaPath, it) } - } - - fun updateRecursiveResolution(schemaDefinition: JsonObject) { - recursiveResolution = config.referenceFactory.recursiveResolutionEnabled(schemaDefinition) - } - - private fun registerById( - id: Uri, - assertion: JsonSchemaAssertion, - dynamic: Boolean, - ) { - when { - id.isAbsolute -> register(id.buildRefId(), assertion, dynamic) // register JSON schema by absolute URI - id.encodedPath.let { it != null && it.startsWith('/') } -> - register( - additionalIDs.resolvePath(id.encodedPath).buildRefId(), - assertion, - dynamic, - ) - id.isRelative -> - when { - // For root schema we should not apply any transformations to ID - schemaPath === JsonPointer.ROOT && !id.path.isNullOrBlank() -> - // Empty URI is used to normalize the path - // Instead of 'path/segment' it will result '/path/segment - register(Uri.EMPTY.appendPathToParent(id.path!!).buildRefId(), assertion, dynamic) - !id.path.isNullOrBlank() -> - register( - // register JSON schema by related path - additionalIDs.resolvePath(id.path).buildRefId(), - assertion, - dynamic, - ) - - !id.fragment.isNullOrBlank() -> - register( - // register JSON schema by fragment - additionalIDs - .last() - .id - .buildUpon() - .encodedFragment(id.fragment) - .buildRefId(), - assertion, - dynamic, - ) - } - } - } - - private fun register( - referenceId: RefId, - assertion: JsonSchemaAssertion, - dynamic: Boolean, - ) { - references.put(referenceId, AssertionWithPath(assertion, schemaPath, dynamic, additionalIDs.last().id))?.apply { - throw IllegalStateException("duplicated definition $referenceId") - } - } -} - -private fun Set.resolvePath(path: String?): Uri = - last().id.appendPathToParent( - requireNotNull(path) { - "path is null" - }, - ) - -private fun Uri.appendPathToParent(path: String): Uri { - if (path.startsWith('/')) { - return buildUpon() - .encodedPath(path) - .build() - } - val hasLastEmptySegment = toString().endsWith('/') - return if (hasLastEmptySegment) { - buildUpon() // don't need to drop anything. just add the path because / in the end means empty segment - } else { - buildUpon() - .path(null) // reset path in builder - .apply { - if (pathSegments.isEmpty()) return@apply - pathSegments - .asSequence() - .take(pathSegments.size - 1) // drop last path segment - .forEach(this::appendPath) - } - }.appendEncodedPath(path) - .build() -} - -private val ANCHOR_REGEX: Regex = "^[A-Za-z][A-Za-z0-9-_:.]*$".toRegex() - -private fun Uri.buildRefId(): RefId = RefId(this) - -private fun Builder.buildRefId(): RefId = build().buildRefId() - -private fun defaultLoadingContext( - baseId: Uri, - config: SchemaLoaderConfig, - assertionFactories: List, - references: MutableMap, - customFormats: Map, -): DefaultLoadingContext = - DefaultLoadingContext( - baseId, - references = references, - config = config, - assertionFactories = assertionFactories, - customFormatValidators = customFormats, - ) \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoaderConfig.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoaderConfig.kt deleted file mode 100644 index 65c4c414..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoaderConfig.kt +++ /dev/null @@ -1,88 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import io.github.optimumcode.json.schema.SchemaOption -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlin.reflect.cast - -internal interface SchemaLoaderConfig { - val allFactories: List - - val defaultVocabulary: Vocabulary - - fun createVocabulary(schemaDefinition: JsonElement): Vocabulary? - - fun factories( - schemaDefinition: JsonElement, - vocabulary: Vocabulary, - options: Options, - ): List - - val keywordResolver: KeyWordResolver - val referenceFactory: ReferenceFactory - - class Vocabulary( - private val vocabularies: Map = emptyMap(), - ) { - fun enabled(vocabulary: String): Boolean = vocabularies[vocabulary] ?: false - } - - class Options( - private val options: Map, Any>, - ) { - operator fun get(option: SchemaOption): T? = options[option]?.let(option.type::cast) - } -} - -/** - * Factory to create assertion from reference - */ -internal interface ReferenceFactory { - /** - * Tries to extract a reference from [schemaDefinition]. - * - * @return [RefHolder] if [schemaDefinition] has reference. Otherwise, returns `null` - */ - fun extractRef( - schemaDefinition: JsonObject, - context: SchemaLoaderContext, - ): RefHolder? - - /** - * Defines whether the other schema properties should be loaded when reference is present - */ - val allowOverriding: Boolean - - /** - * Defines whether the $id should be processed before resolving any references. - * Depending on that the canonical URI might change. - * Please, see - * https://json-schema.org/draft-07/json-schema-core#rfc.section.8 - * https://json-schema.org/draft/2019-09/json-schema-core#rfc.section.8.2 - */ - val resolveRefPriorId: Boolean - - fun recursiveResolutionEnabled(schemaDefinition: JsonObject): Boolean - - sealed class RefHolder { - data class Simple( - val property: String, - val refId: RefId, - ) : RefHolder() - - data class Recursive( - val property: String, - val refId: RefId, - ) : RefHolder() - } -} - -/** - * Resolver for schema draft key words - */ -internal interface KeyWordResolver { - /** - * Returns the property name that is associated with [keyword] for current schema draft - */ - fun resolve(keyword: KeyWord): String? -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoaderContext.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoaderContext.kt deleted file mode 100644 index 9d54e77b..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/SchemaLoaderContext.kt +++ /dev/null @@ -1,9 +0,0 @@ -package io.github.optimumcode.json.schema.internal - -import com.eygraber.uri.Uri - -internal interface SchemaLoaderContext { - val baseId: Uri - - fun ref(refId: String): RefId -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft201909SchemaLoaderConfig.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft201909SchemaLoaderConfig.kt deleted file mode 100644 index 2f574c7b..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft201909SchemaLoaderConfig.kt +++ /dev/null @@ -1,232 +0,0 @@ -package io.github.optimumcode.json.schema.internal.config - -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.KeyWord -import io.github.optimumcode.json.schema.internal.KeyWord.ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.COMPATIBILITY_DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DYNAMIC_ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.ID -import io.github.optimumcode.json.schema.internal.KeyWordResolver -import io.github.optimumcode.json.schema.internal.ReferenceFactory -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Options -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Vocabulary -import io.github.optimumcode.json.schema.internal.SchemaLoaderContext -import io.github.optimumcode.json.schema.internal.config.Draft201909KeyWordResolver.REC_ANCHOR_PROPERTY -import io.github.optimumcode.json.schema.internal.config.Draft201909KeyWordResolver.REC_REF_PROPERTY -import io.github.optimumcode.json.schema.internal.config.Draft201909KeyWordResolver.REF_PROPERTY -import io.github.optimumcode.json.schema.internal.factories.array.AdditionalItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ContainsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MaxContainsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MaxItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MinContainsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MinItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.UnevaluatedItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.UniqueItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AllOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AnyOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.ElseAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.IfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.NotAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.OneOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.ThenAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.ConstAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.EnumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.TypeAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MultipleOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.AdditionalPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependentRequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependentSchemasAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MaxPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MinPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PatternPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertyNamesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.RequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.UnevaluatedPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MaxLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MinLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.PatternAssertionFactory -import io.github.optimumcode.json.schema.internal.util.getStringRequired -import io.github.optimumcode.json.schema.internal.wellknown.Draft201909 -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.boolean -import kotlinx.serialization.json.jsonPrimitive - -private const val APPLICATOR_VOCABULARY_URI = "https://json-schema.org/draft/2019-09/vocab/applicator" -private const val VALIDATION_VOCABULARY_URI = "https://json-schema.org/draft/2019-09/vocab/validation" -private const val FORMAT_VOCABULARY_URI = "https://json-schema.org/draft/2019-09/vocab/format" -private const val VOCABULARY_PROPERTY = "\$vocabulary" - -internal object Draft201909SchemaLoaderConfig : SchemaLoaderConfig { - private val applicatorFactories: List = - listOf( - ItemsAssertionFactory, - AdditionalItemsAssertionFactory, - ContainsAssertionFactory, - PropertiesAssertionFactory, - PatternPropertiesAssertionFactory, - AdditionalPropertiesAssertionFactory, - PropertyNamesAssertionFactory, - DependentSchemasAssertionFactory, - IfAssertionFactory, - ThenAssertionFactory, - ElseAssertionFactory, - AllOfAssertionFactory, - AnyOfAssertionFactory, - OneOfAssertionFactory, - NotAssertionFactory, - // MUST be applied last - UnevaluatedItemsAssertionFactory, - UnevaluatedPropertiesAssertionFactory, - ) - - private val validationFactories: List = - listOf( - MultipleOfAssertionFactory, - MaximumAssertionFactory, - ExclusiveMaximumAssertionFactory, - MinimumAssertionFactory, - ExclusiveMinimumAssertionFactory, - MaxLengthAssertionFactory, - MinLengthAssertionFactory, - PatternAssertionFactory, - MaxItemsAssertionFactory, - MinItemsAssertionFactory, - MinContainsAssertionFactory, - MaxContainsAssertionFactory, - UniqueItemsAssertionFactory, - MaxPropertiesAssertionFactory, - MinPropertiesAssertionFactory, - RequiredAssertionFactory, - DependentRequiredAssertionFactory, - ConstAssertionFactory, - EnumAssertionFactory, - TypeAssertionFactory, - ) - - override val defaultVocabulary: Vocabulary = - requireNotNull(createVocabulary(Json.parseToJsonElement(Draft201909.DRAFT201909_SCHEMA.content))) { - "draft schema must have a vocabulary" - } - - override val allFactories: List = - applicatorFactories + validationFactories - - override fun createVocabulary(schemaDefinition: JsonElement): Vocabulary? { - if (schemaDefinition !is JsonObject || VOCABULARY_PROPERTY !in schemaDefinition) { - return null - } - val vocabulary = schemaDefinition.getValue(VOCABULARY_PROPERTY) - require(vocabulary is JsonObject) { "$VOCABULARY_PROPERTY must be a JSON object" } - if (vocabulary.isEmpty()) { - return null - } - return Vocabulary( - vocabularies = - vocabulary.mapValues { (_, state) -> state.jsonPrimitive.boolean }, - ) - } - - override fun factories( - schemaDefinition: JsonElement, - vocabulary: Vocabulary, - options: Options, - ): List { - if (schemaDefinition !is JsonObject) { - // no point to return any factories here - return emptyList() - } - - val applicators = vocabulary.enabled(APPLICATOR_VOCABULARY_URI) - val validations = vocabulary.enabled(VALIDATION_VOCABULARY_URI) - val formatAssertion = - options[SchemaOption.FORMAT_BEHAVIOR_OPTION]?.let { it == ANNOTATION_AND_ASSERTION } - ?: vocabulary.enabled(FORMAT_VOCABULARY_URI) - val formatFactory = - if (formatAssertion) { - FormatAssertionFactory.AnnotationAndAssertion - } else { - FormatAssertionFactory.AnnotationOnly - } - return when { - applicators && validations -> allFactories() - applicators -> applicatorFactories - validations -> validationFactories - else -> emptyList() // no vocabulary enabled - }.let { factories -> - if (factories.isEmpty()) { - listOf(formatFactory) - } else { - factories + formatFactory - } - } - } - - override val keywordResolver: KeyWordResolver - get() = Draft201909KeyWordResolver - override val referenceFactory: ReferenceFactory - get() = Draft201909ReferenceFactory - - private fun allFactories(): List = applicatorFactories + validationFactories -} - -private object Draft201909KeyWordResolver : KeyWordResolver { - private const val ANCHOR_PROPERTY = "\$anchor" - private const val ID_PROPERTY = "\$id" - private const val DEF_PROPERTY = "\$defs" - private const val OLD_DEF_PROPERTY = "definitions" - const val REF_PROPERTY: String = "\$ref" - const val REC_REF_PROPERTY: String = "\$recursiveRef" - const val REC_ANCHOR_PROPERTY: String = "\$recursiveAnchor" - - override fun resolve(keyword: KeyWord): String? { - return when (keyword) { - ID -> ID_PROPERTY - ANCHOR -> ANCHOR_PROPERTY - DEFINITIONS -> DEF_PROPERTY - COMPATIBILITY_DEFINITIONS -> OLD_DEF_PROPERTY - DYNAMIC_ANCHOR -> null - } - } -} - -private object Draft201909ReferenceFactory : ReferenceFactory { - override fun extractRef( - schemaDefinition: JsonObject, - context: SchemaLoaderContext, - ): RefHolder? { - return when { - REF_PROPERTY in schemaDefinition -> - RefHolder.Simple(REF_PROPERTY, schemaDefinition.getStringRequired(REF_PROPERTY).let(context::ref)) - - REC_REF_PROPERTY in schemaDefinition -> { - val recRef = schemaDefinition.getStringRequired(REC_REF_PROPERTY) - require(recRef == "#") { "only ref to root is supported by $REC_REF_PROPERTY" } - RefHolder.Recursive(REC_REF_PROPERTY, context.ref(recRef)) - } - - else -> null - } - } - - override val allowOverriding: Boolean - get() = true - override val resolveRefPriorId: Boolean - get() = true - - override fun recursiveResolutionEnabled(schemaDefinition: JsonObject): Boolean = - schemaDefinition[REC_ANCHOR_PROPERTY]?.jsonPrimitive?.boolean ?: false -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft202012SchemaLoaderConfig.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft202012SchemaLoaderConfig.kt deleted file mode 100644 index 7ef4692e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft202012SchemaLoaderConfig.kt +++ /dev/null @@ -1,257 +0,0 @@ -package io.github.optimumcode.json.schema.internal.config - -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_ONLY -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.KeyWord -import io.github.optimumcode.json.schema.internal.KeyWord.ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.COMPATIBILITY_DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DYNAMIC_ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.ID -import io.github.optimumcode.json.schema.internal.KeyWordResolver -import io.github.optimumcode.json.schema.internal.ReferenceFactory -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Options -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Vocabulary -import io.github.optimumcode.json.schema.internal.SchemaLoaderContext -import io.github.optimumcode.json.schema.internal.config.Draft202012KeyWordResolver.DYNAMIC_REF_PROPERTY -import io.github.optimumcode.json.schema.internal.config.Draft202012KeyWordResolver.REF_PROPERTY -import io.github.optimumcode.json.schema.internal.factories.array.ContainsAssertionFactoryDraft202012 -import io.github.optimumcode.json.schema.internal.factories.array.ItemsAssertionFactoryDraft202012 -import io.github.optimumcode.json.schema.internal.factories.array.MaxContainsAssertionFactoryDraft202012 -import io.github.optimumcode.json.schema.internal.factories.array.MaxItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MinContainsAssertionFactoryDraft202012 -import io.github.optimumcode.json.schema.internal.factories.array.MinItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.PrefixItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.UnevaluatedItemsAssertionFactoryDraft202012 -import io.github.optimumcode.json.schema.internal.factories.array.UniqueItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AllOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AnyOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.ElseAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.IfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.NotAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.OneOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.ThenAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.ConstAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.EnumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory.AnnotationAndAssertion -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory.AnnotationOnly -import io.github.optimumcode.json.schema.internal.factories.general.TypeAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MultipleOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.AdditionalPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependentRequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependentSchemasAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MaxPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MinPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PatternPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertyNamesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.RequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.UnevaluatedPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MaxLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MinLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.PatternAssertionFactory -import io.github.optimumcode.json.schema.internal.util.getStringRequired -import io.github.optimumcode.json.schema.internal.wellknown.Draft202012 -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.boolean -import kotlinx.serialization.json.jsonPrimitive - -private const val APPLICATOR_VOCABULARY_URI = "https://json-schema.org/draft/2020-12/vocab/applicator" -private const val VALIDATION_VOCABULARY_URI = "https://json-schema.org/draft/2020-12/vocab/validation" -private const val UNEVALUATED_VOCABULARY_URI = "https://json-schema.org/draft/2020-12/vocab/unevaluated" -private const val FORMAT_ANNOTATION_VOCABULARY_URI = "https://json-schema.org/draft/2020-12/vocab/format-annotation" -private const val FORMAT_ASSERTION_VOCABULARY_URI = "https://json-schema.org/draft/2020-12/vocab/format-assertion" -private const val VOCABULARY_PROPERTY = "\$vocabulary" - -internal object Draft202012SchemaLoaderConfig : SchemaLoaderConfig { - private val applicatorFactories: List = - listOf( - PrefixItemsAssertionFactory, - ItemsAssertionFactoryDraft202012, - ContainsAssertionFactoryDraft202012, - PropertiesAssertionFactory, - PatternPropertiesAssertionFactory, - AdditionalPropertiesAssertionFactory, - PropertyNamesAssertionFactory, - DependentSchemasAssertionFactory, - IfAssertionFactory, - ThenAssertionFactory, - ElseAssertionFactory, - AllOfAssertionFactory, - AnyOfAssertionFactory, - OneOfAssertionFactory, - NotAssertionFactory, - ) - - // MUST be applied last - private val unevaluatedFactories: List = - listOf( - UnevaluatedItemsAssertionFactoryDraft202012, - UnevaluatedPropertiesAssertionFactory, - ) - - private val validationFactories: List = - listOf( - MultipleOfAssertionFactory, - MaximumAssertionFactory, - ExclusiveMaximumAssertionFactory, - MinimumAssertionFactory, - ExclusiveMinimumAssertionFactory, - MaxLengthAssertionFactory, - MinLengthAssertionFactory, - PatternAssertionFactory, - MaxItemsAssertionFactory, - MinItemsAssertionFactory, - MinContainsAssertionFactoryDraft202012, - MaxContainsAssertionFactoryDraft202012, - UniqueItemsAssertionFactory, - MaxPropertiesAssertionFactory, - MinPropertiesAssertionFactory, - RequiredAssertionFactory, - DependentRequiredAssertionFactory, - ConstAssertionFactory, - EnumAssertionFactory, - TypeAssertionFactory, - ) - - override val defaultVocabulary: Vocabulary = - requireNotNull(createVocabulary(Json.parseToJsonElement(Draft202012.DRAFT202012_SCHEMA.content))) { - "draft schema must have a vocabulary" - } - - override val allFactories: List = - applicatorFactories + validationFactories - - override fun factories( - schemaDefinition: JsonElement, - vocabulary: Vocabulary, - options: Options, - ): List { - if (schemaDefinition !is JsonObject) { - // no point to return any factories here - return emptyList() - } - - val applicators = vocabulary.enabled(APPLICATOR_VOCABULARY_URI) - val validations = vocabulary.enabled(VALIDATION_VOCABULARY_URI) - val unevaluated = vocabulary.enabled(UNEVALUATED_VOCABULARY_URI) - val formatBehavior = options[SchemaOption.FORMAT_BEHAVIOR_OPTION] - val formatAssertions = - formatBehavior?.let { it == ANNOTATION_AND_ASSERTION } - ?: vocabulary.enabled(FORMAT_ASSERTION_VOCABULARY_URI) - val formatAnnotations = - formatBehavior?.let { it == ANNOTATION_ONLY } - ?: vocabulary.enabled(FORMAT_ANNOTATION_VOCABULARY_URI) - val allEnabled = applicators && validations && unevaluated - return when { - allEnabled -> allFactories() - applicators && validations -> applicatorFactories + validationFactories - applicators -> applicatorFactories - validations -> validationFactories - else -> emptyList() // no vocabulary enabled - }.appendUnevaluatedFactory(allEnabled, unevaluated) - .appendFormatFactory(formatAnnotations, formatAssertions) - } - - override val keywordResolver: KeyWordResolver - get() = Draft202012KeyWordResolver - - override val referenceFactory: ReferenceFactory - get() = Draft202012ReferenceFactory - - override fun createVocabulary(schemaDefinition: JsonElement): Vocabulary? { - if (schemaDefinition !is JsonObject || VOCABULARY_PROPERTY !in schemaDefinition) { - return null - } - val vocabulary = schemaDefinition.getValue(VOCABULARY_PROPERTY) - require(vocabulary is JsonObject) { "$VOCABULARY_PROPERTY must be a JSON object" } - if (vocabulary.isEmpty()) { - return null - } - return Vocabulary( - vocabularies = - vocabulary.mapValues { (_, state) -> state.jsonPrimitive.boolean }, - ) - } - - private fun List.appendFormatFactory( - formatAnnotations: Boolean, - formatAssertions: Boolean, - ) = if (formatAnnotations || formatAssertions) { - this + - if (formatAssertions) { - AnnotationAndAssertion - } else { - AnnotationOnly - } - } else { - this - } - - private fun List.appendUnevaluatedFactory( - allEnabled: Boolean, - unevaluated: Boolean, - ) = if (isNotEmpty() && !allEnabled && unevaluated) { - this + unevaluatedFactories - } else { - this - } - - private fun allFactories(): List = applicatorFactories + validationFactories + unevaluatedFactories -} - -private object Draft202012KeyWordResolver : KeyWordResolver { - private const val ANCHOR_PROPERTY = "\$anchor" - private const val ID_PROPERTY = "\$id" - private const val DEF_PROPERTY = "\$defs" - private const val OLD_DEF_PROPERTY = "definitions" - const val REF_PROPERTY: String = "\$ref" - const val DYNAMIC_REF_PROPERTY: String = "\$dynamicRef" - const val DYNAMIC_ANCHOR_PROPERTY: String = "\$dynamicAnchor" - - override fun resolve(keyword: KeyWord): String { - return when (keyword) { - ID -> ID_PROPERTY - ANCHOR -> ANCHOR_PROPERTY - DEFINITIONS -> DEF_PROPERTY - COMPATIBILITY_DEFINITIONS -> OLD_DEF_PROPERTY - DYNAMIC_ANCHOR -> DYNAMIC_ANCHOR_PROPERTY - } - } -} - -private object Draft202012ReferenceFactory : ReferenceFactory { - override fun extractRef( - schemaDefinition: JsonObject, - context: SchemaLoaderContext, - ): RefHolder? { - return when { - REF_PROPERTY in schemaDefinition -> - RefHolder.Simple(REF_PROPERTY, schemaDefinition.getStringRequired(REF_PROPERTY).let(context::ref)) - - DYNAMIC_REF_PROPERTY in schemaDefinition -> { - val recRef = schemaDefinition.getStringRequired(DYNAMIC_REF_PROPERTY) - RefHolder.Recursive(DYNAMIC_REF_PROPERTY, context.ref(recRef)) - } - - else -> null - } - } - - override val allowOverriding: Boolean - get() = true - override val resolveRefPriorId: Boolean - get() = true - - override fun recursiveResolutionEnabled(schemaDefinition: JsonObject): Boolean = false -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft4SchemaLoaderConfig.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft4SchemaLoaderConfig.kt deleted file mode 100644 index ade3232a..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft4SchemaLoaderConfig.kt +++ /dev/null @@ -1,137 +0,0 @@ -package io.github.optimumcode.json.schema.internal.config - -import io.github.optimumcode.json.schema.FormatBehavior -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.KeyWord -import io.github.optimumcode.json.schema.internal.KeyWord.ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.COMPATIBILITY_DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DYNAMIC_ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.ID -import io.github.optimumcode.json.schema.internal.KeyWordResolver -import io.github.optimumcode.json.schema.internal.ReferenceFactory -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.SchemaLoaderContext -import io.github.optimumcode.json.schema.internal.config.Draft4KeyWordResolver.REF_PROPERTY -import io.github.optimumcode.json.schema.internal.factories.array.AdditionalItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ContainsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MaxItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MinItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.UniqueItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AllOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AnyOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.NotAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.OneOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.ConstAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.EnumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.TypeAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.Draft4MaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.Draft4MinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MultipleOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.AdditionalPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependenciesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MaxPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MinPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PatternPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertyNamesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.RequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MaxLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MinLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.PatternAssertionFactory -import io.github.optimumcode.json.schema.internal.util.getStringRequired -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object Draft4SchemaLoaderConfig : SchemaLoaderConfig { - private val factories: List = - listOf( - TypeAssertionFactory, - EnumAssertionFactory, - ConstAssertionFactory, - MultipleOfAssertionFactory, - Draft4MaximumAssertionFactory, - Draft4MinimumAssertionFactory, - MinimumAssertionFactory, - MaxLengthAssertionFactory, - MinLengthAssertionFactory, - PatternAssertionFactory, - ItemsAssertionFactory, - AdditionalItemsAssertionFactory, - MaxItemsAssertionFactory, - MinItemsAssertionFactory, - UniqueItemsAssertionFactory, - ContainsAssertionFactory, - MaxPropertiesAssertionFactory, - MinPropertiesAssertionFactory, - RequiredAssertionFactory, - PropertiesAssertionFactory, - PatternPropertiesAssertionFactory, - AdditionalPropertiesAssertionFactory, - PropertyNamesAssertionFactory, - DependenciesAssertionFactory, - AllOfAssertionFactory, - AnyOfAssertionFactory, - OneOfAssertionFactory, - NotAssertionFactory, - ) - - override val defaultVocabulary: SchemaLoaderConfig.Vocabulary = SchemaLoaderConfig.Vocabulary() - override val allFactories: List - get() = factories - - override fun createVocabulary(schemaDefinition: JsonElement): SchemaLoaderConfig.Vocabulary? = null - - override fun factories( - schemaDefinition: JsonElement, - vocabulary: SchemaLoaderConfig.Vocabulary, - options: SchemaLoaderConfig.Options, - ): List = - factories + - when (options[SchemaOption.FORMAT_BEHAVIOR_OPTION]) { - null, FormatBehavior.ANNOTATION_AND_ASSERTION -> FormatAssertionFactory.AnnotationAndAssertion - FormatBehavior.ANNOTATION_ONLY -> FormatAssertionFactory.AnnotationOnly - } - - override val keywordResolver: KeyWordResolver - get() = Draft4KeyWordResolver - override val referenceFactory: ReferenceFactory - get() = Draft4ReferenceFactory -} - -private object Draft4KeyWordResolver : KeyWordResolver { - private const val DEFINITIONS_PROPERTY: String = "definitions" - private const val ID_PROPERTY: String = "id" - const val REF_PROPERTY: String = "\$ref" - - override fun resolve(keyword: KeyWord): String? = - when (keyword) { - ID -> ID_PROPERTY - DEFINITIONS -> DEFINITIONS_PROPERTY - ANCHOR, COMPATIBILITY_DEFINITIONS, DYNAMIC_ANCHOR -> null - } -} - -private object Draft4ReferenceFactory : ReferenceFactory { - override fun extractRef( - schemaDefinition: JsonObject, - context: SchemaLoaderContext, - ): RefHolder? = - if (REF_PROPERTY in schemaDefinition) { - RefHolder.Simple(REF_PROPERTY, schemaDefinition.getStringRequired(REF_PROPERTY).let(context::ref)) - } else { - null - } - - override val allowOverriding: Boolean - get() = false - override val resolveRefPriorId: Boolean - get() = false - - override fun recursiveResolutionEnabled(schemaDefinition: JsonObject): Boolean = true -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft6SchemaLoaderConfig.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft6SchemaLoaderConfig.kt deleted file mode 100644 index 3a761e7e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft6SchemaLoaderConfig.kt +++ /dev/null @@ -1,139 +0,0 @@ -package io.github.optimumcode.json.schema.internal.config - -import io.github.optimumcode.json.schema.FormatBehavior -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.KeyWord -import io.github.optimumcode.json.schema.internal.KeyWord.ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.COMPATIBILITY_DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DYNAMIC_ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.ID -import io.github.optimumcode.json.schema.internal.KeyWordResolver -import io.github.optimumcode.json.schema.internal.ReferenceFactory -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.SchemaLoaderContext -import io.github.optimumcode.json.schema.internal.config.Draft6KeyWordResolver.REF_PROPERTY -import io.github.optimumcode.json.schema.internal.factories.array.AdditionalItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ContainsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MaxItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MinItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.UniqueItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AllOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AnyOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.NotAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.OneOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.ConstAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.EnumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.TypeAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MultipleOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.AdditionalPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependenciesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MaxPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MinPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PatternPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertyNamesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.RequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MaxLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MinLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.PatternAssertionFactory -import io.github.optimumcode.json.schema.internal.util.getStringRequired -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object Draft6SchemaLoaderConfig : SchemaLoaderConfig { - private val factories: List = - listOf( - TypeAssertionFactory, - EnumAssertionFactory, - ConstAssertionFactory, - MultipleOfAssertionFactory, - MaximumAssertionFactory, - ExclusiveMaximumAssertionFactory, - MinimumAssertionFactory, - ExclusiveMinimumAssertionFactory, - MaxLengthAssertionFactory, - MinLengthAssertionFactory, - PatternAssertionFactory, - ItemsAssertionFactory, - AdditionalItemsAssertionFactory, - MaxItemsAssertionFactory, - MinItemsAssertionFactory, - UniqueItemsAssertionFactory, - ContainsAssertionFactory, - MaxPropertiesAssertionFactory, - MinPropertiesAssertionFactory, - RequiredAssertionFactory, - PropertiesAssertionFactory, - PatternPropertiesAssertionFactory, - AdditionalPropertiesAssertionFactory, - PropertyNamesAssertionFactory, - DependenciesAssertionFactory, - AllOfAssertionFactory, - AnyOfAssertionFactory, - OneOfAssertionFactory, - NotAssertionFactory, - ) - - override val defaultVocabulary: SchemaLoaderConfig.Vocabulary = SchemaLoaderConfig.Vocabulary() - override val allFactories: List - get() = factories - - override fun createVocabulary(schemaDefinition: JsonElement): SchemaLoaderConfig.Vocabulary? = null - - override fun factories( - schemaDefinition: JsonElement, - vocabulary: SchemaLoaderConfig.Vocabulary, - options: SchemaLoaderConfig.Options, - ): List = - factories + - when (options[SchemaOption.FORMAT_BEHAVIOR_OPTION]) { - null, FormatBehavior.ANNOTATION_AND_ASSERTION -> FormatAssertionFactory.AnnotationAndAssertion - FormatBehavior.ANNOTATION_ONLY -> FormatAssertionFactory.AnnotationOnly - } - - override val keywordResolver: KeyWordResolver - get() = Draft6KeyWordResolver - override val referenceFactory: ReferenceFactory - get() = Draft6ReferenceFactory -} - -private object Draft6KeyWordResolver : KeyWordResolver { - private const val DEFINITIONS_PROPERTY: String = "definitions" - private const val ID_PROPERTY: String = "\$id" - const val REF_PROPERTY: String = "\$ref" - - override fun resolve(keyword: KeyWord): String? = - when (keyword) { - ID -> ID_PROPERTY - DEFINITIONS -> DEFINITIONS_PROPERTY - ANCHOR, COMPATIBILITY_DEFINITIONS, DYNAMIC_ANCHOR -> null - } -} - -private object Draft6ReferenceFactory : ReferenceFactory { - override fun extractRef( - schemaDefinition: JsonObject, - context: SchemaLoaderContext, - ): RefHolder? = - if (REF_PROPERTY in schemaDefinition) { - RefHolder.Simple(REF_PROPERTY, schemaDefinition.getStringRequired(REF_PROPERTY).let(context::ref)) - } else { - null - } - - override val allowOverriding: Boolean - get() = false - override val resolveRefPriorId: Boolean - get() = false - - override fun recursiveResolutionEnabled(schemaDefinition: JsonObject): Boolean = true -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft7SchemaLoaderConfig.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft7SchemaLoaderConfig.kt deleted file mode 100644 index aa2f895c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/config/Draft7SchemaLoaderConfig.kt +++ /dev/null @@ -1,149 +0,0 @@ -package io.github.optimumcode.json.schema.internal.config - -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_ONLY -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.KeyWord -import io.github.optimumcode.json.schema.internal.KeyWord.ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.COMPATIBILITY_DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DEFINITIONS -import io.github.optimumcode.json.schema.internal.KeyWord.DYNAMIC_ANCHOR -import io.github.optimumcode.json.schema.internal.KeyWord.ID -import io.github.optimumcode.json.schema.internal.KeyWordResolver -import io.github.optimumcode.json.schema.internal.ReferenceFactory -import io.github.optimumcode.json.schema.internal.ReferenceFactory.RefHolder -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Options -import io.github.optimumcode.json.schema.internal.SchemaLoaderConfig.Vocabulary -import io.github.optimumcode.json.schema.internal.SchemaLoaderContext -import io.github.optimumcode.json.schema.internal.config.Draft7KeyWordResolver.REF_PROPERTY -import io.github.optimumcode.json.schema.internal.factories.array.AdditionalItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ContainsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.ItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MaxItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.MinItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.array.UniqueItemsAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AllOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.AnyOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.ElseAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.IfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.NotAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.OneOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.condition.ThenAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.ConstAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.EnumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.FormatAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.general.TypeAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.ExclusiveMinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MaximumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MinimumAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.MultipleOfAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.AdditionalPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.DependenciesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MaxPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.MinPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PatternPropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertiesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.PropertyNamesAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.`object`.RequiredAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MaxLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.MinLengthAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.string.PatternAssertionFactory -import io.github.optimumcode.json.schema.internal.util.getStringRequired -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object Draft7SchemaLoaderConfig : SchemaLoaderConfig { - private val factories: List = - listOf( - TypeAssertionFactory, - EnumAssertionFactory, - ConstAssertionFactory, - MultipleOfAssertionFactory, - MaximumAssertionFactory, - ExclusiveMaximumAssertionFactory, - MinimumAssertionFactory, - ExclusiveMinimumAssertionFactory, - MaxLengthAssertionFactory, - MinLengthAssertionFactory, - PatternAssertionFactory, - ItemsAssertionFactory, - AdditionalItemsAssertionFactory, - MaxItemsAssertionFactory, - MinItemsAssertionFactory, - UniqueItemsAssertionFactory, - ContainsAssertionFactory, - MaxPropertiesAssertionFactory, - MinPropertiesAssertionFactory, - RequiredAssertionFactory, - PropertiesAssertionFactory, - PatternPropertiesAssertionFactory, - AdditionalPropertiesAssertionFactory, - PropertyNamesAssertionFactory, - DependenciesAssertionFactory, - IfAssertionFactory, - ThenAssertionFactory, - ElseAssertionFactory, - AllOfAssertionFactory, - AnyOfAssertionFactory, - OneOfAssertionFactory, - NotAssertionFactory, - ) - - override val defaultVocabulary: Vocabulary = Vocabulary() - override val allFactories: List - get() = factories - - override fun createVocabulary(schemaDefinition: JsonElement): Vocabulary? = null - - override fun factories( - schemaDefinition: JsonElement, - vocabulary: Vocabulary, - options: Options, - ): List = - factories + - when (options[SchemaOption.FORMAT_BEHAVIOR_OPTION]) { - null, ANNOTATION_AND_ASSERTION -> FormatAssertionFactory.AnnotationAndAssertion - ANNOTATION_ONLY -> FormatAssertionFactory.AnnotationOnly - } - - override val keywordResolver: KeyWordResolver - get() = Draft7KeyWordResolver - override val referenceFactory: ReferenceFactory - get() = Draft7ReferenceFactory -} - -private object Draft7KeyWordResolver : KeyWordResolver { - private const val DEFINITIONS_PROPERTY: String = "definitions" - private const val ID_PROPERTY: String = "\$id" - const val REF_PROPERTY: String = "\$ref" - - override fun resolve(keyword: KeyWord): String? = - when (keyword) { - ID -> ID_PROPERTY - DEFINITIONS -> DEFINITIONS_PROPERTY - ANCHOR, COMPATIBILITY_DEFINITIONS, DYNAMIC_ANCHOR -> null - } -} - -private object Draft7ReferenceFactory : ReferenceFactory { - override fun extractRef( - schemaDefinition: JsonObject, - context: SchemaLoaderContext, - ): RefHolder? { - return if (REF_PROPERTY in schemaDefinition) { - RefHolder.Simple(REF_PROPERTY, schemaDefinition.getStringRequired(REF_PROPERTY).let(context::ref)) - } else { - null - } - } - - override val allowOverriding: Boolean - get() = false - override val resolveRefPriorId: Boolean - get() = false - - override fun recursiveResolutionEnabled(schemaDefinition: JsonObject): Boolean = true -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/AbstractAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/AbstractAssertionFactory.kt deleted file mode 100644 index 322d558c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/AbstractAssertionFactory.kt +++ /dev/null @@ -1,36 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories - -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal abstract class AbstractAssertionFactory( - /** - * JSON property name that will be used to extract element for assertion from JSON schema definition - */ - override val property: String, -) : AssertionFactory { - final override fun isApplicable(element: JsonElement): Boolean { - return element is JsonObject && element.contains(property) - } - - override fun create( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "cannot extract $property property from ${element::class.simpleName}" } - val typeElement = requireNotNull(element[property]) { "no property $property found in element $element" } - return createFromProperty(typeElement, context.at(property)) - } - - /** - * @param element JSON element associated with [property] - * @param context updated context with [LoadingContext.schemaPath] matches the [element] location - */ - protected abstract fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/ExternalAssertionFactoryAdapter.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/ExternalAssertionFactoryAdapter.kt deleted file mode 100644 index d5034cdc..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/ExternalAssertionFactoryAdapter.kt +++ /dev/null @@ -1,36 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.extension.ExternalAssertion -import io.github.optimumcode.json.schema.extension.ExternalAssertionFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -internal class ExternalAssertionFactoryAdapter( - private val externalFactory: ExternalAssertionFactory, -) : AbstractAssertionFactory(externalFactory.keywordName) { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - return ExternalAssertionAdapter(context.schemaPath, externalFactory.create(element, context)) - } -} - -private class ExternalAssertionAdapter( - private val location: JsonPointer, - private val externalAssertion: ExternalAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean = - errorCollector.updateKeywordLocation(location).use { - externalAssertion.validate(element, context, this::onError) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AdditionalItemsAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AdditionalItemsAssertion.kt deleted file mode 100644 index e1c53831..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AdditionalItemsAssertion.kt +++ /dev/null @@ -1,64 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.lastIndex - -internal class AdditionalItemsAssertion( - private val location: JsonPointer, - private val assertion: JsonSchemaAssertion, - private val indexAnnotationKey: AnnotationKey, - private val annotationKey: AnnotationKey, - private val returnIfNoIndex: Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ArrayElement) { - return@use true - } - val lastProcessedIndex: Int = - context.annotationCollector.annotated(indexAnnotationKey) - ?: if (returnIfNoIndex) { - return@use true // items assertion is not used so this one should be ignored - } else { - -1 - } - - if (lastProcessedIndex == element.lastIndex) { - // we have nothing to process here - return@use true - } - var valid = true - for ((index, el) in element.withIndex()) { - if (index <= lastProcessedIndex) { - continue - } - val ctx = context.at(index) - val res = - updateLocation(ctx.objectPath).use { - assertion.validate( - el, - ctx, - this, - ) - } - valid = valid && res - } - - if (valid) { - context.annotationCollector.annotate(annotationKey, true) - } - - return@use valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AdditionalItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AdditionalItemsAssertionFactory.kt deleted file mode 100644 index 14fe38cf..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AdditionalItemsAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonElement - -internal object AdditionalItemsAssertionFactory : AbstractAssertionFactory("additionalItems") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property, Boolean::or) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val assertion = context.schemaFrom(element) - return AdditionalItemsAssertion( - context.schemaPath, - assertion, - ItemsAssertionFactory.ANNOTATION, - ANNOTATION, - returnIfNoIndex = true, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AllItemsAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AllItemsAssertion.kt deleted file mode 100644 index 2665b4a5..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/AllItemsAssertion.kt +++ /dev/null @@ -1,46 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.lastIndex - -internal class AllItemsAssertion( - private val location: JsonPointer, - private val itemAssertion: JsonSchemaAssertion, - private val annotationKey: AnnotationKey, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ArrayElement) { - return@use true - } - - var valid = true - element.forEachIndexed { index, item -> - val ctx = context.at(index) - val result = - updateLocation(ctx.objectPath).use { - itemAssertion.validate( - item, - ctx, - this, - ) - } - valid = valid && result - } - if (valid) { - context.annotationCollector.annotate(annotationKey, element.lastIndex) - } - return@use valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ArrayLengthAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ArrayLengthAssertion.kt deleted file mode 100644 index edff79ac..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ArrayLengthAssertion.kt +++ /dev/null @@ -1,39 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement - -internal class ArrayLengthAssertion( - private val path: JsonPointer, - private val length: Int, - private val errorMessage: String, - private val check: (Int, Int) -> Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ArrayElement) { - return@use true - } - if (check(element.size, length)) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "array length $errorMessage $length", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ContainsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ContainsAssertionFactory.kt deleted file mode 100644 index 66e07fb9..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ContainsAssertionFactory.kt +++ /dev/null @@ -1,63 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import kotlinx.serialization.json.JsonElement - -@Suppress("unused") -internal object ContainsAssertionFactory : AbstractAssertionFactory("contains") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.create(property) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val containsAssertion = context.schemaFrom(element) - return ContainsAssertion(context.schemaPath, containsAssertion) - } -} - -private class ContainsAssertion( - private val path: JsonPointer, - private val containsAssertion: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ArrayElement) { - return@use true - } - val foundElements = - element.count { - containsAssertion.validate(it, context, OutputCollector.Empty) - } - context.annotationCollector.annotate(ContainsAssertionFactory.ANNOTATION, foundElements) - if (foundElements != 0) { - return@use true - } - - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "array does not contain expected element", - ), - ) - - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ContainsAssertionFactoryDraft202012.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ContainsAssertionFactoryDraft202012.kt deleted file mode 100644 index f23bc6c2..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ContainsAssertionFactoryDraft202012.kt +++ /dev/null @@ -1,96 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.jsonPrimitive - -/** - * This factory is unusual exception when one factory had to know about another keyword. - * In normal case the annotation should be used to pass information between keywords. - * However, in this case we need to know about another keyword before we create the assertion. - */ -internal object ContainsAssertionFactoryDraft202012 : AssertionFactory { - private const val PROPERTY: String = "contains" - private const val MIN_CONTAINS_PROPERTY: String = "minContains" - - val ANNOTATION: AnnotationKey> = AnnotationKeyFactory.createAggregatable(PROPERTY, Set::plus) - - override val property: String - get() = PROPERTY - - override fun isApplicable(element: JsonElement): Boolean { - return element is JsonObject && element.containsKey(PROPERTY) - } - - override fun create( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "cannot extract $PROPERTY property from ${element::class.simpleName}" } - val typeElement = requireNotNull(element[PROPERTY]) { "no property $PROPERTY found in element $element" } - require(context.isJsonSchema(typeElement)) { "$PROPERTY must be a valid JSON schema" } - val elementContext = context.at(PROPERTY) - val containsAssertion = elementContext.schemaFrom(typeElement) - val allowNoMatch = - element[MIN_CONTAINS_PROPERTY] - ?.jsonPrimitive - ?.let(::JsonPrimitiveWrapper) - ?.integerOrNull - ?.let { it == 0 } == true - return ContainsAssertionDraft202012(elementContext.schemaPath, containsAssertion, allowNoMatch) - } -} - -private class ContainsAssertionDraft202012( - private val path: JsonPointer, - private val containsAssertion: JsonSchemaAssertion, - private val allowNoMatch: Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ArrayElement) { - return@use true - } - val foundElements = - element.asSequence().withIndex().filter { (_, el) -> - val childContext = context.childContext() - containsAssertion.validate(el, childContext, OutputCollector.Empty).also { valid -> - if (valid) { - childContext.propagateToParent() - } - } - }.mapTo(hashSetOf(), IndexedValue<*>::index) - context.annotationCollector.annotate(ContainsAssertionFactoryDraft202012.ANNOTATION, foundElements) - if (foundElements.isNotEmpty() || allowNoMatch) { - return@use true - } - - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "array does not contain expected element", - ), - ) - - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/CountContainsAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/CountContainsAssertion.kt deleted file mode 100644 index 5a60d1c0..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/CountContainsAssertion.kt +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement - -internal class CountContainsAssertion( - private val path: JsonPointer, - private val expected: Number, - private val operationName: String, - private val actualCount: (AssertionContext) -> Int?, - private val operation: (expected: Number, actual: Number) -> Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - val matchedElements = actualCount(context) ?: return true - if (operation.invoke(expected, matchedElements)) { - return@use true - } - - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = - "array must contain $operationName $expected element(s) match the 'contains' schema" + - " but has $matchedElements", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ItemsAssertionFactory.kt deleted file mode 100644 index d436cc77..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ItemsAssertionFactory.kt +++ /dev/null @@ -1,32 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlin.math.max - -@Suppress("unused") -internal object ItemsAssertionFactory : AbstractAssertionFactory("items") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property) { a, b -> max(a, b) } - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - return if (element is JsonArray) { - require(element.isNotEmpty()) { "$property must have at least one element" } - require(element.all(context::isJsonSchema)) { - "all elements in $property must be a valid JSON schema" - } - val assertions = element.mapIndexed { index, item -> context.at(index).schemaFrom(item) } - PrefixItemsAssertion(context.schemaPath, assertions, ANNOTATION) - } else { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - AllItemsAssertion(context.schemaPath, context.schemaFrom(element), ANNOTATION) - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ItemsAssertionFactoryDraft202012.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ItemsAssertionFactoryDraft202012.kt deleted file mode 100644 index 7bacdcae..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/ItemsAssertionFactoryDraft202012.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonElement - -internal object ItemsAssertionFactoryDraft202012 : AbstractAssertionFactory("items") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property, Boolean::or) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val assertion = context.schemaFrom(element) - return AdditionalItemsAssertion( - context.schemaPath, - assertion, - PrefixItemsAssertionFactory.ANNOTATION, - ANNOTATION, - returnIfNoIndex = false, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxContainsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxContainsAssertionFactory.kt deleted file mode 100644 index dfed3894..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxContainsAssertionFactory.kt +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -internal object MaxContainsAssertionFactory : AbstractAssertionFactory("maxContains") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxItemsValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxItemsValue >= 0) { "$property must be a non-negative integer" } - return CountContainsAssertion( - path = context.schemaPath, - expected = maxItemsValue, - operationName = "at most", - actualCount = { it.annotationCollector.annotated(ContainsAssertionFactory.ANNOTATION) }, - ) { expected, actual -> actual <= expected } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxContainsAssertionFactoryDraft202012.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxContainsAssertionFactoryDraft202012.kt deleted file mode 100644 index e40fdf6d..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxContainsAssertionFactoryDraft202012.kt +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -internal object MaxContainsAssertionFactoryDraft202012 : AbstractAssertionFactory("maxContains") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxItemsValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxItemsValue >= 0) { "$property must be a non-negative integer" } - return CountContainsAssertion( - path = context.schemaPath, - expected = maxItemsValue, - operationName = "at most", - actualCount = { it.annotationCollector.annotated(ContainsAssertionFactoryDraft202012.ANNOTATION)?.size }, - ) { expected, actual -> actual <= expected } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxItemsAssertionFactory.kt deleted file mode 100644 index d64973c1..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MaxItemsAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MaxItemsAssertionFactory : AbstractAssertionFactory("maxItems") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxItemsValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxItemsValue >= 0) { "$property must be a non-negative integer" } - return ArrayLengthAssertion( - context.schemaPath, - maxItemsValue, - errorMessage = "must be less or equal to", - ) { a, b -> a <= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinContainsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinContainsAssertionFactory.kt deleted file mode 100644 index caa3ebc0..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinContainsAssertionFactory.kt +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -internal object MinContainsAssertionFactory : AbstractAssertionFactory("minContains") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxItemsValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxItemsValue >= 0) { "$property must be a non-negative integer" } - return CountContainsAssertion( - path = context.schemaPath, - expected = maxItemsValue, - operationName = "at least", - actualCount = { it.annotationCollector.annotated(ContainsAssertionFactory.ANNOTATION) }, - ) { expected, actual -> actual >= expected } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinContainsAssertionFactoryDraft202012.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinContainsAssertionFactoryDraft202012.kt deleted file mode 100644 index 3b7dc1bf..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinContainsAssertionFactoryDraft202012.kt +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -internal object MinContainsAssertionFactoryDraft202012 : AbstractAssertionFactory("minContains") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxItemsValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxItemsValue >= 0) { "$property must be a non-negative integer" } - return CountContainsAssertion( - path = context.schemaPath, - expected = maxItemsValue, - operationName = "at least", - actualCount = { it.annotationCollector.annotated(ContainsAssertionFactoryDraft202012.ANNOTATION)?.size }, - ) { expected, actual -> actual >= expected } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinItemsAssertionFactory.kt deleted file mode 100644 index 9dc47a94..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/MinItemsAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MinItemsAssertionFactory : AbstractAssertionFactory("minItems") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxItemsValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxItemsValue >= 0) { "$property must be a non-negative integer" } - return ArrayLengthAssertion( - context.schemaPath, - maxItemsValue, - errorMessage = "must be greater or equal to", - ) { a, b -> a >= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/PrefixItemsAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/PrefixItemsAssertion.kt deleted file mode 100644 index 81d795be..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/PrefixItemsAssertion.kt +++ /dev/null @@ -1,50 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement - -internal class PrefixItemsAssertion( - private val location: JsonPointer, - private val prefixAssertions: List, - private val annotationKey: AnnotationKey, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ArrayElement) { - return@use true - } - var valid = true - var lastProcessedIndex = -1 - for ((index, item) in element.withIndex()) { - if (index < prefixAssertions.size) { - val ctx = context.at(index) - val result: Boolean = - updateLocation(ctx.objectPath).use { - prefixAssertions[index].validate( - item, - ctx, - this, - ) - } - valid = valid && result - lastProcessedIndex = index - } else { - break - } - } - if (valid) { - context.annotationCollector.annotate(annotationKey, lastProcessedIndex) - } - valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/PrefixItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/PrefixItemsAssertionFactory.kt deleted file mode 100644 index ed85bf56..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/PrefixItemsAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlin.math.max - -internal object PrefixItemsAssertionFactory : AbstractAssertionFactory("prefixItems") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property) { a, b -> max(a, b) } - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonArray) { "$property must be an array" } - require(element.isNotEmpty()) { "$property must have at least one element" } - require(element.all(context::isJsonSchema)) { - "all elements in $property must be a valid JSON schema" - } - val assertions = element.mapIndexed { index, item -> context.at(index).schemaFrom(item) } - return PrefixItemsAssertion(context.schemaPath, assertions, ANNOTATION) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertion.kt deleted file mode 100644 index 2d6d84b5..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertion.kt +++ /dev/null @@ -1,65 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AnnotationCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.lastIndex - -internal class UnevaluatedItemsAssertion( - private val location: JsonPointer, - private val assertion: JsonSchemaAssertion, - private val indexAnnotationKey: AnnotationKey, - private val itemsAnnotationKey: AnnotationKey, - private val selfAnnotationKey: AnnotationKey, - private val processedIndexesKey: AnnotationKey>? = null, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ArrayElement) { - return@use true - } - val annotationCollector: AnnotationCollector = context.annotationCollector - val startIndex: Int = annotationCollector.aggregatedAnnotation(indexAnnotationKey) ?: -1 - if (startIndex == element.lastIndex) { - // all items were evaluated - return@use true - } - if ( - annotationCollector.aggregatedAnnotation(itemsAnnotationKey) == true || - annotationCollector.aggregatedAnnotation(selfAnnotationKey) == true - ) { - // all items evaluated by additional items - return@use true - } - - val processedIndexes: Set = processedIndexesKey?.let(annotationCollector::aggregatedAnnotation) ?: emptySet() - - var valid = true - element.forEachIndexed { index, jsonElement -> - if (index <= startIndex) { - return@forEachIndexed - } - if (processedIndexes.contains(index)) { - return@forEachIndexed - } - val ctx = context.at(index) - val result = - updateLocation(ctx.objectPath).use { - assertion.validate(jsonElement, ctx, this) - } - valid = valid and result - } - annotationCollector.annotate(selfAnnotationKey, true) - valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertionFactory.kt deleted file mode 100644 index 24932a75..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonElement - -internal object UnevaluatedItemsAssertionFactory : AbstractAssertionFactory("unevaluatedItems") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property, Boolean::or) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val assertion = context.schemaFrom(element) - return UnevaluatedItemsAssertion( - context.schemaPath, - assertion, - ItemsAssertionFactory.ANNOTATION, - AdditionalItemsAssertionFactory.ANNOTATION, - ANNOTATION, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertionFactoryDraft202012.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertionFactoryDraft202012.kt deleted file mode 100644 index ba02980c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UnevaluatedItemsAssertionFactoryDraft202012.kt +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonElement - -internal object UnevaluatedItemsAssertionFactoryDraft202012 : AbstractAssertionFactory("unevaluatedItems") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property, Boolean::or) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val assertion = context.schemaFrom(element) - return UnevaluatedItemsAssertion( - context.schemaPath, - assertion, - PrefixItemsAssertionFactory.ANNOTATION, - ItemsAssertionFactoryDraft202012.ANNOTATION, - ANNOTATION, - ContainsAssertionFactoryDraft202012.ANNOTATION, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UniqueItemsAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UniqueItemsAssertionFactory.kt deleted file mode 100644 index 247561d6..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/array/UniqueItemsAssertionFactory.kt +++ /dev/null @@ -1,83 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.areEqual -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.booleanOrNull - -@Suppress("unused") -internal object UniqueItemsAssertionFactory : AbstractAssertionFactory("uniqueItems") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be a boolean" } - val uniqueItemsValue = requireNotNull(element.booleanOrNull) { "$property must be a boolean" } - return if (uniqueItemsValue) { - UniqueItemsAssertion(context.schemaPath) - } else { - TrueSchemaAssertion - } - } -} - -private class UniqueItemsAssertion( - private val path: JsonPointer, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ArrayElement) { - return@use true - } - if (element.size < 2) { - return@use true - } - var duplicates: MutableList? = null - val uniqueItems = - buildList { - element.forEach { el -> - if (none { areEqual(it, el) }) { - add(el) - } else { - if (duplicates == null) { - duplicates = mutableListOf() - } - duplicates.add(el) - } - } - } - val uniqueItemsCount = uniqueItems.size - if (uniqueItemsCount == element.size) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "array contains duplicate values: ${ - duplicates?.joinToString( - prefix = "[", - postfix = "]", - separator = ",", - ) - }", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AbstractAssertionsCollectionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AbstractAssertionsCollectionFactory.kt deleted file mode 100644 index 3d72f4e1..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AbstractAssertionsCollectionFactory.kt +++ /dev/null @@ -1,30 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement - -internal abstract class AbstractAssertionsCollectionFactory(property: String) : AbstractAssertionFactory(property) { - final override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonArray) { "$property must be an array" } - require(element.isNotEmpty()) { "$property must have at least one element" } - require(element.all(context::isJsonSchema)) { "each element in $property must be a valid JSON schema" } - - val assertions: List = - element.mapIndexed { index, item -> - context.at(index).schemaFrom(item) - } - - return createAssertion(context, assertions) - } - - protected abstract fun createAssertion( - context: LoadingContext, - assertions: List, - ): JsonSchemaAssertion -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AllOfAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AllOfAssertionFactory.kt deleted file mode 100644 index a3af1b56..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AllOfAssertionFactory.kt +++ /dev/null @@ -1,43 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.model.AbstractElement - -@Suppress("unused") -internal object AllOfAssertionFactory : AbstractAssertionsCollectionFactory("allOf") { - override fun createAssertion( - context: LoadingContext, - assertions: List, - ): JsonSchemaAssertion = AllOfAssertion(context.schemaPath, assertions) -} - -private class AllOfAssertion( - private val location: JsonPointer, - private val assertions: List, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - val valid = - errorCollector.updateKeywordLocation(location, canCollapse = false).use { - var valid = true - assertions.forEach { - val childContext = context.childContext() - val res = it.validate(element, childContext, this) - if (res) { - childContext.propagateToParent() - } - valid = valid and res - } - valid - } - - return valid - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AnyOfAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AnyOfAssertionFactory.kt deleted file mode 100644 index b761374a..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/AnyOfAssertionFactory.kt +++ /dev/null @@ -1,49 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.model.AbstractElement - -@Suppress("unused") -internal object AnyOfAssertionFactory : AbstractAssertionsCollectionFactory("anyOf") { - override fun createAssertion( - context: LoadingContext, - assertions: List, - ): JsonSchemaAssertion = AnyOfAssertion(context.schemaPath, assertions) -} - -private class AnyOfAssertion( - private val location: JsonPointer, - private val assertions: List, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - val valid = - errorCollector.updateKeywordLocation(location, canCollapse = false).use { - val tempHandler = mutableListOf>() - var valid = false - assertions.forEach { - val childContext = context.childContext() - val collector = childCollector() - tempHandler += collector - val res = it.validate(element, childContext, collector) - if (res) { - childContext.propagateToParent() - collector.reportErrors() - } - valid = valid or res - } - if (!valid) { - tempHandler.forEach(OutputCollector<*>::reportErrors) - } - valid - } - return valid - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/ElseAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/ElseAssertionFactory.kt deleted file mode 100644 index 8f4bc68a..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/ElseAssertionFactory.kt +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -internal object ElseAssertionFactory : AbstractAssertionFactory("else") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val elseAssertion = context.schemaFrom(element) - return ElseAssertion(context.schemaPath, elseAssertion) - } -} - -private class ElseAssertion( - private val location: JsonPointer, - private val assertion: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location, canCollapse = false).use { - if (context.annotationCollector.annotated(IfAssertionFactory.ANNOTATION) == false) { - assertion.validate(element, context, this) - } else { - true - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/IfAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/IfAssertionFactory.kt deleted file mode 100644 index 82dc9be8..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/IfAssertionFactory.kt +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -internal object IfAssertionFactory : AbstractAssertionFactory("if") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.create(property) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val ifAssertion = context.schemaFrom(element) - return IfAssertion(ifAssertion) - } -} - -private class IfAssertion( - private val condition: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - context.annotationCollector.annotate( - IfAssertionFactory.ANNOTATION, - condition.validate(element, context, OutputCollector.Empty), - ) - return true - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/NotAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/NotAssertionFactory.kt deleted file mode 100644 index dba7a7b2..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/NotAssertionFactory.kt +++ /dev/null @@ -1,51 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -@Suppress("unused") -internal object NotAssertionFactory : AbstractAssertionFactory("not") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val assertion = context.schemaFrom(element) - return NotAssertion(context.schemaPath, assertion) - } -} - -private class NotAssertion( - private val path: JsonPointer, - private val delegate: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - val childContext = context.childContext() - errorCollector.updateKeywordLocation(path).use { - if (!delegate.validate(element, childContext, OutputCollector.Empty)) { - childContext.propagateToParent() - return true - } - - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "element must not be valid against child JSON schema but was", - ), - ) - } - return false - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/OneOfAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/OneOfAssertionFactory.kt deleted file mode 100644 index 48a19073..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/OneOfAssertionFactory.kt +++ /dev/null @@ -1,58 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.model.AbstractElement - -internal object OneOfAssertionFactory : AbstractAssertionsCollectionFactory("oneOf") { - override fun createAssertion( - context: LoadingContext, - assertions: List, - ): JsonSchemaAssertion = OneOfAssertion(context.schemaPath, assertions) -} - -private class OneOfAssertion( - private val path: JsonPointer, - private val assertions: List, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - val matched: MutableList = ArrayList(1) - errorCollector.updateKeywordLocation(path, canCollapse = false).use { - val childCollectors = mutableListOf>() - for ((index, assertion) in assertions.withIndex()) { - val childContext = context.childContext() - val childCollector = childCollector() - childCollectors += childCollector - val res = assertion.validate(element, childContext, childCollector) - if (res) { - childContext.propagateToParent() - childCollector.reportErrors() - matched += index - } - } - - when { - matched.size > 1 -> - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "element matches more than one JSON schema at indexes: $matched", - ), - ) - - matched.size == 0 -> childCollectors.forEach(OutputCollector<*>::reportErrors) - } - } - - return matched.size == 1 - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/ThenAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/ThenAssertionFactory.kt deleted file mode 100644 index 892ec7c9..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/condition/ThenAssertionFactory.kt +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -internal object ThenAssertionFactory : AbstractAssertionFactory("then") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val thenAssertion = context.schemaFrom(element) - return ThenAssertion(context.schemaPath, thenAssertion) - } -} - -private class ThenAssertion( - private val location: JsonPointer, - private val assertion: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location, canCollapse = false).use { - if (context.annotationCollector.annotated(IfAssertionFactory.ANNOTATION) == true) { - assertion.validate(element, context, this) - } else { - true - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/ConstAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/ConstAssertionFactory.kt deleted file mode 100644 index e1f49959..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/ConstAssertionFactory.kt +++ /dev/null @@ -1,48 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.areEqual -import io.github.optimumcode.json.schema.internal.wrapper.wrap -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement - -@Suppress("unused") -internal object ConstAssertionFactory : AbstractAssertionFactory("const") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - return ConstAssertion(context.schemaPath, element.wrap()) - } -} - -private class ConstAssertion( - private val path: JsonPointer, - private val constValue: AbstractElement, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - errorCollector.updateKeywordLocation(path).use { - if (areEqual(element, constValue)) { - return true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "element does not match constant definition", - ), - ) - } - return false - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/EnumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/EnumAssertionFactory.kt deleted file mode 100644 index 5463ef28..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/EnumAssertionFactory.kt +++ /dev/null @@ -1,60 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.areEqual -import io.github.optimumcode.json.schema.internal.wrapper.wrap -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement - -internal object EnumAssertionFactory : AbstractAssertionFactory("enum") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonArray) { "$property must be an array" } - require(element.isNotEmpty()) { "$property must have at least one element" } - // NOTE: when migrate to abstract element for loading schema - // we need to use `io.github.optimumcode.json.schema.internal.util.areEqual` - // to remove duplicated elements - val uniqueElements = element.toSet() - require(uniqueElements.size == element.size) { "$property must consist of unique elements" } - return EnumAssertion(context.schemaPath, uniqueElements.map { it.wrap() }) - } -} - -private class EnumAssertion( - private val path: JsonPointer, - private val possibleElements: Collection, -) : JsonSchemaAssertion { - init { - require(possibleElements.isNotEmpty()) { "at least one element must be set" } - } - - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - errorCollector.updateKeywordLocation(path).use { - if (possibleElements.any { areEqual(it, element) }) { - return true - } - - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "element is not in enum", - ), - ) - } - return false - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/FormatAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/FormatAssertionFactory.kt deleted file mode 100644 index dd7c5954..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/FormatAssertionFactory.kt +++ /dev/null @@ -1,133 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.FormatValidationResult.Invalid -import io.github.optimumcode.json.schema.FormatValidationResult.Valid -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.formats.DateFormatValidator -import io.github.optimumcode.json.schema.internal.formats.DateTimeFormatValidator -import io.github.optimumcode.json.schema.internal.formats.DurationFormatValidator -import io.github.optimumcode.json.schema.internal.formats.EmailFormatValidator -import io.github.optimumcode.json.schema.internal.formats.HostnameFormatValidator -import io.github.optimumcode.json.schema.internal.formats.IdnEmailFormatValidator -import io.github.optimumcode.json.schema.internal.formats.IdnHostnameFormatValidator -import io.github.optimumcode.json.schema.internal.formats.IpV4FormatValidator -import io.github.optimumcode.json.schema.internal.formats.IpV6FormatValidator -import io.github.optimumcode.json.schema.internal.formats.IriFormatValidator -import io.github.optimumcode.json.schema.internal.formats.IriReferenceFormatValidator -import io.github.optimumcode.json.schema.internal.formats.JsonPointerFormatValidator -import io.github.optimumcode.json.schema.internal.formats.RegexFormatValidator -import io.github.optimumcode.json.schema.internal.formats.RelativeJsonPointerFormatValidator -import io.github.optimumcode.json.schema.internal.formats.TimeFormatValidator -import io.github.optimumcode.json.schema.internal.formats.UriFormatValidator -import io.github.optimumcode.json.schema.internal.formats.UriReferenceFormatValidator -import io.github.optimumcode.json.schema.internal.formats.UriTemplateFormatValidator -import io.github.optimumcode.json.schema.internal.formats.UuidFormatValidator -import io.github.optimumcode.json.schema.model.AbstractElement -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -internal sealed class FormatAssertionFactory( - private val assertion: Boolean, -) : AbstractAssertionFactory(FORMAT_PROPERTY) { - internal data object AnnotationOnly : FormatAssertionFactory(assertion = false) - - internal data object AnnotationAndAssertion : FormatAssertionFactory(assertion = true) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && element.isString) { "$property must be a string" } - val formatKey = element.content.lowercase() - val validator = - KNOWN_FORMATS[formatKey] - ?: context.customFormatValidators[formatKey] - // assertion with unknown format must fail schema loading - // but right now the library does not have all required formats implemented - // so it cannot throw an error here - ?: return TrueSchemaAssertion - - return FormatAssertion( - context.schemaPath, - formatKey, - validator, - assertion, - ) - } - - internal companion object { - private const val FORMAT_PROPERTY = "format" - internal val ANNOTATION: AnnotationKey = AnnotationKeyFactory.create(FORMAT_PROPERTY) - private val KNOWN_FORMATS: Map = - mapOf( - "date" to DateFormatValidator, - "time" to TimeFormatValidator, - "date-time" to DateTimeFormatValidator, - "duration" to DurationFormatValidator, - "json-pointer" to JsonPointerFormatValidator, - "relative-json-pointer" to RelativeJsonPointerFormatValidator, - "ipv4" to IpV4FormatValidator, - "ipv6" to IpV6FormatValidator, - "uuid" to UuidFormatValidator, - "hostname" to HostnameFormatValidator, - "idn-hostname" to IdnHostnameFormatValidator, - "uri" to UriFormatValidator, - "uri-reference" to UriReferenceFormatValidator, - "iri" to IriFormatValidator, - "iri-reference" to IriReferenceFormatValidator, - "uri-template" to UriTemplateFormatValidator, - "email" to EmailFormatValidator, - "idn-email" to IdnEmailFormatValidator, - "regex" to RegexFormatValidator, - ) - } -} - -private class FormatAssertion( - private val schemaPath: JsonPointer, - private val formatKey: String, - private val validator: FormatValidator, - private val assertion: Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - val result = validator.validate(element) - return errorCollector.updateKeywordLocation(schemaPath).use { - when (result) { - Valid -> { - context.annotationCollector.annotate(FormatAssertionFactory.ANNOTATION, formatKey) - true - } - - Invalid -> { - if (assertion) { - onError( - ValidationError( - schemaPath = schemaPath, - objectPath = context.objectPath, - message = "value does not match '$formatKey' format", - ), - ) - false - } else { - // only annotation should return true if format does not match - true - } - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/TypeAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/TypeAssertionFactory.kt deleted file mode 100644 index 42db9f73..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/general/TypeAssertionFactory.kt +++ /dev/null @@ -1,105 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.parseNumberParts -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.ObjectElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -internal object TypeAssertionFactory : AbstractAssertionFactory("type") { - private val typeValidations: Map = - linkedMapOf Boolean>( - "null" to { it is PrimitiveElement && it.isNull }, - "string" to { it is PrimitiveElement && it.isString }, - "boolean" to { it is PrimitiveElement && it.isBoolean }, - "number" to { it is PrimitiveElement && it.isNumber }, - "integer" to { it is PrimitiveElement && it.isNumber && parseNumberParts(it)?.fractional == 0L }, - "array" to { it is ArrayElement }, - "object" to { it is ObjectElement }, - ).mapValues { Validation(it.key, it.value) } - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - return when (element) { - is JsonPrimitive -> createFromPrimitive(element, context) - is JsonArray -> createFromArray(element, context) - else -> throw IllegalArgumentException("$property must be either array or a string") - } - } - - private fun createFromArray( - typeElement: JsonArray, - context: LoadingContext, - ): JsonSchemaAssertion { - require(typeElement.isNotEmpty()) { "$property must be a non empty array if it is not a string" } - require(typeElement.all { it is JsonPrimitive && it.isString }) { - "each $property element must be a string" - } - val types: List = typeElement.map { (it as JsonPrimitive).content } - require(types.toSet().size == types.size) { "array must consist of unique values" } - val unknown = types.filter { it !in typeValidations.keys } - require(unknown.isEmpty()) { "unknown types $unknown (known: ${typeValidations.keys})" } - return TypeAssertion(context.schemaPath, types.map { requireNotNull(typeValidations[it]) { "unknown type $it" } }) - } - - private fun createFromPrimitive( - typeElement: JsonPrimitive, - context: LoadingContext, - ): JsonSchemaAssertion { - require(typeElement.isString) { "$property must be a string if it is not an array" } - val type = typeElement.content - val validation: Validation = - requireNotNull(typeValidations[type]) { "unknown type '$type' (known: ${typeValidations.keys})" } - return TypeAssertion(context.schemaPath, listOf(validation)) - } -} - -private class Validation( - val name: String, - val check: (AbstractElement) -> Boolean, -) - -private class TypeAssertion( - private val path: JsonPointer, - private val validations: List, -) : JsonSchemaAssertion { - init { - require(validations.isNotEmpty()) { "empty validations" } - } - - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - val match = validations.any { it.check(element) } - if (!match) { - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = - when (validations.size) { - 1 -> "element is not a ${validations.first().name}" - else -> "element is none of ${validations.joinToString(prefix = "[", postfix = "]") { it.name }}" - }, - ), - ) - } - match - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/Draft4MaximumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/Draft4MaximumAssertionFactory.kt deleted file mode 100644 index db830d59..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/Draft4MaximumAssertionFactory.kt +++ /dev/null @@ -1,58 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.booleanOrNull - -@Suppress("unused") -internal object Draft4MaximumAssertionFactory : AssertionFactory { - private const val EXCLUSIVE_MAXIMUM_PROPERTY = "exclusiveMaximum" - - override val property: String - get() = "maximum" - - override fun isApplicable(element: JsonElement): Boolean = element is JsonObject && element.contains(property) - - override fun create( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "cannot extract $property property from ${element::class.simpleName}" } - val typeElement = requireNotNull(element[property]) { "no property $property found in element $element" } - val exclusive: Boolean = - element[EXCLUSIVE_MAXIMUM_PROPERTY]?.let { - require(it is JsonPrimitive) { "$EXCLUSIVE_MAXIMUM_PROPERTY must be a boolean" } - requireNotNull(it.booleanOrNull) { "$EXCLUSIVE_MAXIMUM_PROPERTY must be a valid boolean" } - } ?: false - return createFromProperty(typeElement, context.at(property), exclusive) - } - - private fun createFromProperty( - element: JsonElement, - context: LoadingContext, - exclusive: Boolean, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val maximumValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - return NumberComparisonAssertion( - context.schemaPath, - maximumValue, - element.content, - errorMessage = if (exclusive) "must be less" else "must be less or equal to", - if (exclusive) { - { a, b -> a < b } - } else { - { a, b -> a <= b } - }, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/Draft4MinimumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/Draft4MinimumAssertionFactory.kt deleted file mode 100644 index bf9e642a..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/Draft4MinimumAssertionFactory.kt +++ /dev/null @@ -1,58 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.AssertionFactory -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.booleanOrNull - -@Suppress("unused") -internal object Draft4MinimumAssertionFactory : AssertionFactory { - private const val EXCLUSIVE_MINIMUM_PROPERTY = "exclusiveMinimum" - - override val property: String - get() = "minimum" - - override fun isApplicable(element: JsonElement): Boolean = element is JsonObject && element.contains(property) - - override fun create( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "cannot extract $property property from ${element::class.simpleName}" } - val typeElement = requireNotNull(element[property]) { "no property $property found in element $element" } - val exclusive: Boolean = - element[EXCLUSIVE_MINIMUM_PROPERTY]?.let { - require(it is JsonPrimitive) { "$EXCLUSIVE_MINIMUM_PROPERTY must be a boolean" } - requireNotNull(it.booleanOrNull) { "$EXCLUSIVE_MINIMUM_PROPERTY must be a valid boolean" } - } ?: false - return createFromProperty(typeElement, context.at(property), exclusive) - } - - private fun createFromProperty( - element: JsonElement, - context: LoadingContext, - exclusive: Boolean, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val maximumValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - return NumberComparisonAssertion( - context.schemaPath, - maximumValue, - element.content, - errorMessage = if (exclusive) "must be greater" else "must be greater or equal to", - if (exclusive) { - { a, b -> a > b } - } else { - { a, b -> a >= b } - }, - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/ExclusiveMaximumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/ExclusiveMaximumAssertionFactory.kt deleted file mode 100644 index 2f21e002..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/ExclusiveMaximumAssertionFactory.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object ExclusiveMaximumAssertionFactory : AbstractAssertionFactory("exclusiveMaximum") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val maximumValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - return NumberComparisonAssertion( - context.schemaPath, - maximumValue, - element.content, - errorMessage = "must be less than", - ) { a, b -> a < b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/ExclusiveMinimumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/ExclusiveMinimumAssertionFactory.kt deleted file mode 100644 index 14506015..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/ExclusiveMinimumAssertionFactory.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object ExclusiveMinimumAssertionFactory : AbstractAssertionFactory("exclusiveMinimum") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val maximumValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - return NumberComparisonAssertion( - context.schemaPath, - maximumValue, - element.content, - errorMessage = "must be greater than", - ) { a, b -> a > b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MaximumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MaximumAssertionFactory.kt deleted file mode 100644 index ec617dd9..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MaximumAssertionFactory.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MaximumAssertionFactory : AbstractAssertionFactory("maximum") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val maximumValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - return NumberComparisonAssertion( - context.schemaPath, - maximumValue, - element.content, - errorMessage = "must be less or equal to", - ) { a, b -> a <= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MinimumAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MinimumAssertionFactory.kt deleted file mode 100644 index cd8faa4c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MinimumAssertionFactory.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.factories.number.util.compareTo -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MinimumAssertionFactory : AbstractAssertionFactory("minimum") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val maximumValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - return NumberComparisonAssertion( - context.schemaPath, - maximumValue, - element.content, - errorMessage = "must be greater or equal to", - ) { a, b -> a >= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MultipleOfAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MultipleOfAssertionFactory.kt deleted file mode 100644 index 20c04730..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/MultipleOfAssertionFactory.kt +++ /dev/null @@ -1,125 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.factories.number.util.NumberComparisonAssertion -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive -import kotlin.math.abs -import kotlin.math.floor -import kotlin.math.log10 -import kotlin.math.max -import kotlin.math.pow -import kotlin.math.round - -@Suppress("unused") -internal object MultipleOfAssertionFactory : AbstractAssertionFactory("multipleOf") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive) { "$property must be a number" } - val multipleOfValue: Number = - requireNotNull(JsonPrimitiveWrapper(element).number) { "$property must be a valid number" } - require( - when (multipleOfValue) { - is Double -> multipleOfValue > 0.0 - is Long -> multipleOfValue > 0 - else -> error("unexpected value type ${multipleOfValue::class.simpleName}") - }, - ) { "$property value ${element.content} must be greater than zero" } - return NumberComparisonAssertion( - context.schemaPath, - multipleOfValue, - element.content, - errorMessage = "is not a multiple of", - check = ::isMultipleOf, - ) - } -} - -private fun isMultipleOf( - a: Number, - b: Number, -): Boolean = - when (a) { - is Double -> a.isFinite() && a isMultipleOf b - is Long -> a isMultipleOf b - else -> false - } - -private infix fun Double.isMultipleOf(number: Number): Boolean = - when (number) { - is Double -> number.isFinite() && isZero(rem(this, number)) - is Long -> isZero((this % number)) - else -> false - } - -private infix fun Long.isMultipleOf(number: Number): Boolean = - when (number) { - is Long -> this % number == 0L - is Double -> number.isFinite() && isZero(rem(this, number)) - else -> false - } - -private fun isZero(first: Double): Boolean { - return first == -0.0 || first == 0.0 -} - -private const val ROUND_THRESHOLD = 0.000000001 - -private tailrec fun rem( - first: Double, - second: Double, -): Double { - return if (second < 1 && second > -1) { - val degree = floor(log10(second)) - if (first < 1 && first > -1) { - val newDegree = max(floor(log10(second)), degree) - val newPow = 10.0.pow(-newDegree) - rem(safeRound(first * newPow), safeRound(second * newPow)) - } else { - val pow = 10.0.pow(-degree) - val newFirst = safeRound(first * pow) - val newSecond = safeRound(second * pow) - - newFirst % newSecond - } - } else { - first % second - } -} - -/** - * Rounds the [value] if an abs delta between original value and result of rounding - * is less than [ROUND_THRESHOLD]. - * Otherwise, the original value is return. - * - * This method tries to solve the issue with double operation when not a precise result is returned. - * E.g. `19.99 * 100 = 1998.9999999999998` instead of `1999.0` - */ -private fun safeRound(value: Double): Double { - val rounded = round(value) - return if (abs(rounded - value) < ROUND_THRESHOLD) { - rounded - } else { - // we return the original value because the result was precise, - // and we don't need rounding to fix issue with double operations - value - } -} - -private fun rem( - first: Long, - second: Double, -): Double { - return if (second < 1 && second > -1) { - val degree = floor(log10(second)) - first % (second * 10.0.pow(-degree)) - } else { - first % second - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/util/NumberUtil.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/util/NumberUtil.kt deleted file mode 100644 index f474906c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/number/util/NumberUtil.kt +++ /dev/null @@ -1,72 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.number.util - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.util.number -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.PrimitiveElement - -internal operator fun Number.compareTo(maxValue: Number): Int = - when (this) { - is Double -> - when (maxValue) { - is Double -> compareTo(maxValue) - is Long -> compareTo(maxValue) - is Int -> compareTo(maxValue) - else -> error("unexpected other value type: ${maxValue::class.simpleName}") - } - - is Long -> - when (maxValue) { - is Double -> compareTo(maxValue) - is Long -> compareTo(maxValue) - is Int -> compareTo(maxValue) - else -> error("unexpected other value type: ${maxValue::class.simpleName}") - } - - is Int -> - when (maxValue) { - is Double -> compareTo(maxValue) - is Long -> compareTo(maxValue) - is Int -> compareTo(maxValue) - else -> error("unexpected other value type: ${maxValue::class.simpleName}") - } - - else -> error("unexpected value type: ${this::class.simpleName}") - } - -internal class NumberComparisonAssertion( - private val path: JsonPointer, - private val boundary: Number, - private val boundaryContent: String, - private val errorMessage: String, - private val check: (Number, Number) -> Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is PrimitiveElement || element.isString) { - return@use true - } - val value: Number = element.number ?: return true - if (check(value, boundary)) { - return@use true - } - - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "${element.content} $errorMessage $boundaryContent", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/AdditionalPropertiesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/AdditionalPropertiesAssertionFactory.kt deleted file mode 100644 index c2386ea7..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/AdditionalPropertiesAssertionFactory.kt +++ /dev/null @@ -1,70 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AnnotationCollector -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import kotlinx.serialization.json.JsonElement - -internal object AdditionalPropertiesAssertionFactory : AbstractAssertionFactory("additionalProperties") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property, Boolean::or) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val schemaAssertion = context.schemaFrom(element) - return AdditionalPropertiesAssertion(context.schemaPath, schemaAssertion) - } -} - -private class AdditionalPropertiesAssertion( - private val location: JsonPointer, - private val assertion: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ObjectElement) { - return@use true - } - val annotationCollector: AnnotationCollector = context.annotationCollector - val propertiesAnnotation: Set? = annotationCollector.annotated(PropertiesAssertionFactory.ANNOTATION) - val patternAnnotation: Set? = annotationCollector.annotated(PatternPropertiesAssertionFactory.ANNOTATION) - var result = true - for ((prop, value) in element) { - if (propertiesAnnotation?.contains(prop) == true) { - continue - } - if (patternAnnotation?.contains(prop) == true) { - continue - } - val ctx = context.at(prop) - val valid = - updateLocation(ctx.objectPath).use { - assertion.validate( - value, - ctx, - this, - ) - } - result = result && valid - } - if (result) { - annotationCollector.annotate(AdditionalPropertiesAssertionFactory.ANNOTATION, true) - } - result - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/ConditionalRequiredPropertiesAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/ConditionalRequiredPropertiesAssertion.kt deleted file mode 100644 index d97d8843..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/ConditionalRequiredPropertiesAssertion.kt +++ /dev/null @@ -1,65 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonPrimitive -import kotlin.jvm.JvmStatic - -internal class ConditionalRequiredPropertiesAssertion( - private val path: JsonPointer, - private val property: String, - private val dependencies: Set, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ObjectElement) { - return@use true - } - val missingProperties = - dependencies.asSequence() - .filter { !element.contains(it) } - .toSet() - if (missingProperties.isEmpty()) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "has '$property' property but missing required dependencies: $missingProperties", - ), - ) - false - } - } - - companion object { - @JvmStatic - fun createFromArray( - property: String, - array: JsonArray, - context: LoadingContext, - ): JsonSchemaAssertion { - require(array.all { it is JsonPrimitive && it.isString }) { "$property must contain only strings" } - val uniqueRequiredProperties = array.mapTo(linkedSetOf()) { (it as JsonPrimitive).content } - require(uniqueRequiredProperties.size == array.size) { "$property must consist of unique elements" } - return if (uniqueRequiredProperties.isEmpty()) { - TrueSchemaAssertion - } else { - ConditionalRequiredPropertiesAssertion(context.schemaPath, property, uniqueRequiredProperties) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependenciesAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependenciesAssertion.kt deleted file mode 100644 index 53d2688d..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependenciesAssertion.kt +++ /dev/null @@ -1,38 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement - -internal class DependenciesAssertion( - private val location: JsonPointer, - private val dependenciesAssertions: Map, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ObjectElement) { - return@use true - } - var valid = true - for ((dependency, assertion) in dependenciesAssertions) { - if (dependency !in element) { - continue - } - val childContext = context.childContext() - val res = assertion.validate(element, childContext, this) - if (res) { - childContext.propagateToParent() - } - valid = valid and res - } - valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependenciesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependenciesAssertionFactory.kt deleted file mode 100644 index 6ee69b9e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependenciesAssertionFactory.kt +++ /dev/null @@ -1,38 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -@Suppress("unused") -internal object DependenciesAssertionFactory : AbstractAssertionFactory("dependencies") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "$property must be an object" } - if (element.isEmpty()) { - return TrueSchemaAssertion - } - val assertions = loadAssertions(element, context) - return DependenciesAssertion(context.schemaPath, assertions) - } - - private fun loadAssertions( - jsonObject: JsonObject, - context: LoadingContext, - ): Map { - return jsonObject.mapValues { (prop, element) -> - val propContext = context.at(prop) - when { - context.isJsonSchema(element) -> propContext.schemaFrom(element) - element is JsonArray -> ConditionalRequiredPropertiesAssertion.createFromArray(prop, element, propContext) - else -> throw IllegalArgumentException("$prop dependency must be either array of strings or valid JSON schema") - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependentRequiredAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependentRequiredAssertionFactory.kt deleted file mode 100644 index 697fdb58..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependentRequiredAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object DependentRequiredAssertionFactory : AbstractAssertionFactory("dependentRequired") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "$property must be an object" } - if (element.isEmpty()) { - return TrueSchemaAssertion - } - val assertionsByProp = - element.mapValues { (prop, el) -> - require(el is JsonArray) { "$prop dependency must be an array" } - ConditionalRequiredPropertiesAssertion.createFromArray(prop, el, context.at(prop)) - } - return DependenciesAssertion(context.schemaPath, assertionsByProp) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependentSchemasAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependentSchemasAssertionFactory.kt deleted file mode 100644 index 7f7e0327..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/DependentSchemasAssertionFactory.kt +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object DependentSchemasAssertionFactory : AbstractAssertionFactory("dependentSchemas") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "$property must be an object" } - if (element.isEmpty()) { - return TrueSchemaAssertion - } - val dependentSchemas = - element.mapValues { (prop, el) -> - require(context.isJsonSchema(el)) { "$prop dependency must be a valid JSON schema" } - context.at(prop).schemaFrom(el) - } - return DependenciesAssertion(context.schemaPath, dependentSchemas) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/MaxPropertiesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/MaxPropertiesAssertionFactory.kt deleted file mode 100644 index 6236d46c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/MaxPropertiesAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MaxPropertiesAssertionFactory : AbstractAssertionFactory("maxProperties") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxPropertiesValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxPropertiesValue >= 0) { "$property must be a non-negative integer" } - return PropertiesNumberAssertion( - context.schemaPath, - maxPropertiesValue, - errorMessage = "must be less or equal to", - ) { a, b -> a <= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/MinPropertiesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/MinPropertiesAssertionFactory.kt deleted file mode 100644 index 386272ed..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/MinPropertiesAssertionFactory.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MinPropertiesAssertionFactory : AbstractAssertionFactory("minProperties") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val minPropertiesValue = - requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(minPropertiesValue >= 0) { "$property must be a non-negative integer" } - return PropertiesNumberAssertion( - context.schemaPath, - minPropertiesValue, - errorMessage = "must be greater or equal to", - ) { a, b -> a >= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PatternPropertiesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PatternPropertiesAssertionFactory.kt deleted file mode 100644 index b117fb1b..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PatternPropertiesAssertionFactory.kt +++ /dev/null @@ -1,94 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object PatternPropertiesAssertionFactory : AbstractAssertionFactory("patternProperties") { - val ANNOTATION: AnnotationKey> = AnnotationKeyFactory.createAggregatable(property) { a, b -> a + b } - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "$property must be an object" } - val propAssertions: Map = - element.asSequence().associate { (prop, element) -> - require(context.isJsonSchema(element)) { "$prop must be a valid JSON schema" } - val regex = - try { - prop.toRegex() - } catch (exOrJsError: Throwable) { - // because of JsError - throw IllegalArgumentException("$prop must be a valid regular expression", exOrJsError) - } - regex to context.at(prop).schemaFrom(element) - } - return PatternAssertion(context.schemaPath, propAssertions) - } -} - -private class PatternAssertion( - private val location: JsonPointer, - private val assertionsByRegex: Map, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ObjectElement) { - return@use true - } - - if (assertionsByRegex.isEmpty()) { - return@use true - } - - var result = true - var checkedProps: MutableSet? = null - for ((prop, value) in element) { - val matchedRegex = - assertionsByRegex.filter { (regex) -> - regex.containsMatchIn(prop) - } - if (matchedRegex.isEmpty()) { - continue - } - if (checkedProps == null) { - // initialize props - checkedProps = hashSetOf() - } - checkedProps.add(prop) - val propContext = context.at(prop) - updateLocation(propContext.objectPath).use { - for ((_, assertion) in matchedRegex) { - val valid = - assertion.validate( - value, - propContext, - this, - ) - result = result && valid - } - } - } - - checkedProps?.also { - context.annotationCollector.annotate(PatternPropertiesAssertionFactory.ANNOTATION, it) - } - - result - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertiesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertiesAssertionFactory.kt deleted file mode 100644 index b252b57d..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertiesAssertionFactory.kt +++ /dev/null @@ -1,70 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject - -internal object PropertiesAssertionFactory : AbstractAssertionFactory("properties") { - val ANNOTATION: AnnotationKey> = AnnotationKeyFactory.createAggregatable(property) { a, b -> a + b } - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonObject) { "$property must be an object" } - val propAssertions: Map = - element.mapValues { (prop, element) -> - require(context.isJsonSchema(element)) { "$prop must be a valid JSON schema" } - context.at(prop).schemaFrom(element) - } - return PropertiesAssertion(context.schemaPath, propAssertions) - } -} - -private class PropertiesAssertion( - private val location: JsonPointer, - private val assertionsByProperty: Map, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (assertionsByProperty.isEmpty()) { - return@use true - } - if (element !is ObjectElement) { - return@use true - } - - var result = true - for ((prop, value) in element) { - val propAssertion = assertionsByProperty[prop] ?: continue - val ctx = context.at(prop) - val valid = - updateLocation(ctx.objectPath).use { - propAssertion.validate( - value, - ctx, - this, - ) - } - result = result && valid - } - - context.annotationCollector.annotate(PropertiesAssertionFactory.ANNOTATION, assertionsByProperty.keys) - - result - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertiesNumberAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertiesNumberAssertion.kt deleted file mode 100644 index e486e827..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertiesNumberAssertion.kt +++ /dev/null @@ -1,39 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement - -internal class PropertiesNumberAssertion( - private val path: JsonPointer, - private val length: Int, - private val errorMessage: String, - private val check: (Int, Int) -> Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ObjectElement) { - return@use true - } - if (check(element.size, length)) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "number of properties $errorMessage $length", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertyNamesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertyNamesAssertionFactory.kt deleted file mode 100644 index 2f9c71c1..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/PropertyNamesAssertionFactory.kt +++ /dev/null @@ -1,57 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.wrapper.StringWrapper -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import kotlinx.serialization.json.JsonElement - -@Suppress("unused") -internal object PropertyNamesAssertionFactory : AbstractAssertionFactory("propertyNames") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - val propertyNamesAssertion = context.schemaFrom(element) - return PropertyNamesAssertion(context.schemaPath, propertyNamesAssertion) - } -} - -private class PropertyNamesAssertion( - private val location: JsonPointer, - private val namesAssertion: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ObjectElement) { - return@use true - } - var valid = true - element.keys.forEach { property -> - val ctx = context.at(property) - val res = - updateLocation(ctx.objectPath).withErrorTransformer { - it.copy(message = "property $property: ${it.message}") - }.use { - namesAssertion.validate( - StringWrapper(property), - ctx, - this, - ) - } - valid = valid and res - } - valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/RequiredAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/RequiredAssertionFactory.kt deleted file mode 100644 index 2019f76b..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/RequiredAssertionFactory.kt +++ /dev/null @@ -1,71 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.TrueSchemaAssertion -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import io.github.optimumcode.json.schema.model.isEmpty -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive -import kotlin.math.max - -@Suppress("unused") -internal object RequiredAssertionFactory : AbstractAssertionFactory("required") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonArray) { "$property must be an array" } - require(element.all { it is JsonPrimitive && it.isString }) { "$property must contain only strings" } - val uniqueRequiredProperties = element.mapTo(linkedSetOf()) { (it as JsonPrimitive).content } - require(uniqueRequiredProperties.size == element.size) { "$property must consist of unique elements" } - return if (uniqueRequiredProperties.isEmpty()) { - TrueSchemaAssertion - } else { - RequiredAssertion(context.schemaPath, uniqueRequiredProperties) - } - } -} - -private class RequiredAssertion( - private val path: JsonPointer, - private val requiredProperties: Set, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is ObjectElement) { - return@use true - } - val missingProperties = - if (element.isEmpty()) { - requiredProperties - } else { - val keys = element.keys - requiredProperties - .filterNotTo(HashSet(max(requiredProperties.size / 2, 1))) { it in keys } - } - if (missingProperties.isEmpty()) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "missing required properties: $missingProperties", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/UnevaluatedPropertiesAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/UnevaluatedPropertiesAssertionFactory.kt deleted file mode 100644 index 8787a4cf..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/object/UnevaluatedPropertiesAssertionFactory.kt +++ /dev/null @@ -1,75 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.internal.AnnotationCollector -import io.github.optimumcode.json.schema.internal.AnnotationKeyFactory -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ObjectElement -import kotlinx.serialization.json.JsonElement - -internal object UnevaluatedPropertiesAssertionFactory : AbstractAssertionFactory("unevaluatedProperties") { - val ANNOTATION: AnnotationKey = AnnotationKeyFactory.createAggregatable(property, Boolean::or) - - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(context.isJsonSchema(element)) { "$property must be a valid JSON schema" } - return UnevaluatedPropertiesAssertion(context.schemaPath, context.schemaFrom(element)) - } -} - -private class UnevaluatedPropertiesAssertion( - private val location: JsonPointer, - private val assertion: JsonSchemaAssertion, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(location).use { - if (element !is ObjectElement) { - return@use true - } - val annotationCollector: AnnotationCollector = context.annotationCollector - if (annotationCollector.aggregatedAnnotation(AdditionalPropertiesAssertionFactory.ANNOTATION) == true) { - // all properties are evaluated - return@use true - } - if (annotationCollector.aggregatedAnnotation(UnevaluatedPropertiesAssertionFactory.ANNOTATION) == true) { - // all properties are evaluated by another unevaluatedProperties assertion - return@use true - } - val evaluatedByProperties: Set? = - annotationCollector.aggregatedAnnotation(PropertiesAssertionFactory.ANNOTATION) - val evaluatedByPatternProps: Set? = - annotationCollector.aggregatedAnnotation(PatternPropertiesAssertionFactory.ANNOTATION) - var valid = true - for ((prop, el) in element) { - if (evaluatedByProperties?.contains(prop) == true) { - continue - } - if (evaluatedByPatternProps?.contains(prop) == true) { - continue - } - val ctx = context.at(prop) - val result = - updateLocation(ctx.objectPath).use { - assertion.validate(el, ctx, this) - } - valid = valid and result - } - if (valid) { - annotationCollector.annotate(UnevaluatedPropertiesAssertionFactory.ANNOTATION, true) - } - valid - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/LengthAssertion.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/LengthAssertion.kt deleted file mode 100644 index 0faf3a66..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/LengthAssertion.kt +++ /dev/null @@ -1,43 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.string - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.util.codePointCount -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.github.optimumcode.json.schema.model.contentOrNull - -internal class LengthAssertion( - private val path: JsonPointer, - private val lengthValue: Int, - private val errorMessage: String, - private val check: (Int, Int) -> Boolean, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is PrimitiveElement || !element.isString) { - return@use true - } - val content = element.contentOrNull ?: return true - val codePointCount = content.codePointCount() - if (check(codePointCount, lengthValue)) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "string length ($codePointCount) $errorMessage $lengthValue", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/MaxLengthAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/MaxLengthAssertionFactory.kt deleted file mode 100644 index 6e2348fa..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/MaxLengthAssertionFactory.kt +++ /dev/null @@ -1,22 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.string - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MaxLengthAssertionFactory : AbstractAssertionFactory("maxLength") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val maxLength = requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(maxLength >= 0) { "$property must be a non-negative integer" } - return LengthAssertion(context.schemaPath, maxLength, "must be less or equal to") { a, b -> a <= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/MinLengthAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/MinLengthAssertionFactory.kt deleted file mode 100644 index 97a251ab..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/MinLengthAssertionFactory.kt +++ /dev/null @@ -1,22 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.string - -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.internal.util.integerOrNull -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object MinLengthAssertionFactory : AbstractAssertionFactory("minLength") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && !element.isString) { "$property must be an integer" } - val minLength = requireNotNull(JsonPrimitiveWrapper(element).integerOrNull) { "$property must be a valid integer" } - require(minLength >= 0) { "$property must be a non-negative integer" } - return LengthAssertion(context.schemaPath, minLength, "must be greater or equal to") { a, b -> a >= b } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/PatternAssertionFactory.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/PatternAssertionFactory.kt deleted file mode 100644 index 51d99aae..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/factories/string/PatternAssertionFactory.kt +++ /dev/null @@ -1,62 +0,0 @@ -package io.github.optimumcode.json.schema.internal.factories.string - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.internal.AssertionContext -import io.github.optimumcode.json.schema.internal.JsonSchemaAssertion -import io.github.optimumcode.json.schema.internal.LoadingContext -import io.github.optimumcode.json.schema.internal.factories.AbstractAssertionFactory -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.github.optimumcode.json.schema.model.contentOrNull -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -internal object PatternAssertionFactory : AbstractAssertionFactory("pattern") { - override fun createFromProperty( - element: JsonElement, - context: LoadingContext, - ): JsonSchemaAssertion { - require(element is JsonPrimitive && element.isString) { "$property must be a string" } - val regex = - try { - element.content.toRegex() - } catch (exOrJsError: Throwable) { - // we handle throwable because of JsError that does not extend Exception - throw IllegalArgumentException("$property is not a valid regular expression", exOrJsError) - } - return PatternAssertion(context.schemaPath, regex) - } -} - -private class PatternAssertion( - private val path: JsonPointer, - private val regex: Regex, -) : JsonSchemaAssertion { - override fun validate( - element: AbstractElement, - context: AssertionContext, - errorCollector: OutputCollector<*>, - ): Boolean { - return errorCollector.updateKeywordLocation(path).use { - if (element !is PrimitiveElement || !element.isString) { - return@use true - } - - val content = element.contentOrNull ?: return true - if (regex.find(content) != null) { - return@use true - } - onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "string does not match pattern '${regex.pattern}'", - ), - ) - false - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/AbstractEmailFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/AbstractEmailFormatValidator.kt deleted file mode 100644 index 2fddbed1..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/AbstractEmailFormatValidator.kt +++ /dev/null @@ -1,127 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import de.cketti.codepoints.CodePoints -import de.cketti.codepoints.codePointAt -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.internal.util.allCodepoints - -private const val AT_CHAR = '@' -private const val IP_PART_START = '[' -private const val IP_PART_END = ']' -private const val QUOTE = '"' -private const val BACK_SLASH = '\\'.code -private const val IPV6_PREFIX = "IPv6:" -internal const val MAX_ASCII_CODEPOINT = 0x7F - -internal abstract class AbstractEmailFormatValidator( - private val hostnameValidator: AbstractStringFormatValidator, -) : AbstractStringFormatValidator() { - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Invalid() - } - val delimiterIndex = value.lastIndexOf(AT_CHAR) - if (delimiterIndex <= 0 || delimiterIndex == value.lastIndex) { - // either local-part of domain is empty - return FormatValidator.Invalid() - } - val localPart = value.substring(0, delimiterIndex) - val domainPart = value.substring(delimiterIndex + 1) - return if (isValidLocalPart(localPart) && isValidDomainPart(domainPart)) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } - - private fun isValidDomainPart(domainPart: String): Boolean { - return if (domainPart.run { startsWith(IP_PART_START) && endsWith(IP_PART_END) }) { - val ipPart = domainPart.substring(1, domainPart.lastIndex) - isValidIpPart(ipPart) - } else { - hostnameValidator.validate(domainPart).isValid() - } - } - - private fun isValidIpPart(ipPart: String): Boolean { - return if (ipPart.startsWith(IPV6_PREFIX)) { - IpV6FormatValidator.validate(ipPart.removePrefix(IPV6_PREFIX)) - } else { - IpV4FormatValidator.validate(ipPart) - }.isValid() - } - - private fun isValidLocalPart(localPart: String): Boolean { - return if (localPart.run { startsWith(QUOTE) || endsWith(QUOTE) }) { - isValidQuotedString(localPart) - } else { - isValidDotString(localPart) - } - } - - private fun isValidDotString(localPart: String): Boolean { - return Validation.eachSeparatedPart(localPart, separator = '.') { - it.isNotEmpty() && it.allCodepoints(::isAText) - } - } - - protected open fun isAText(codepoint: Int): Boolean { - if (codepoint > MAX_ASCII_CODEPOINT) { - return false - } - val asChar = codepoint.toChar() - return Validation.isAlpha(asChar) || Validation.isDigit(asChar) || isSpecialCharacter(asChar) - } - - private fun isSpecialCharacter(codepoint: Char): Boolean = - codepoint == '!' || codepoint == '#' || codepoint == '$' || codepoint == '%' || - codepoint == '&' || codepoint == '\'' || codepoint == '*' || codepoint == '+' || - codepoint == '-' || codepoint == '/' || codepoint == '=' || codepoint == '?' || - codepoint == '^' || codepoint == '_' || codepoint == '`' || codepoint == '{' || - codepoint == '}' || codepoint == '~' || codepoint == '|' - - private fun isValidQuotedString(localPart: String): Boolean { - if (localPart.length <= 2) { - return false - } - if (localPart.run { !startsWith(QUOTE) || !endsWith(QUOTE) }) { - return false - } - val quotedContent = localPart.substring(1, localPart.lastIndex) - return isValidQuotedContent(quotedContent) - } - - private fun isValidQuotedContent(quotedContent: String): Boolean { - // cannot be empty at this point - var index = 0 - val length = quotedContent.length - while (index < length) { - val codePoint = quotedContent.codePointAt(index) - index += CodePoints.charCount(codePoint) - if (codePoint != BACK_SLASH) { - if (isValidQText(codePoint)) { - continue - } - return false - } - if (index >= length) { - // last backslash is not allowed - // E.g.: "\" - return false - } - val nextChar = quotedContent.codePointAt(index) - if (nextChar !in ' '.code..'~'.code) { - // invalid quote pair - return false - } - // always one because of condition above - index += 1 - } - return true - } - - protected open fun isValidQText(codepoint: Int): Boolean = - // \ is checked explicitly - codepoint == ' '.code || codepoint == '!'.code || codepoint in '#'.code..'~'.code -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/AbstractStringFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/AbstractStringFormatValidator.kt deleted file mode 100644 index 7d4e1254..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/AbstractStringFormatValidator.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.PrimitiveElement - -internal abstract class AbstractStringFormatValidator : FormatValidator { - override fun validate(element: AbstractElement): FormatValidationResult { - if (element !is PrimitiveElement || !element.isString) { - return FormatValidator.Valid() - } - return validate(element.content) - } - - abstract fun validate(value: String): FormatValidationResult -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DateFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DateFormatValidator.kt deleted file mode 100644 index 79d698ac..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DateFormatValidator.kt +++ /dev/null @@ -1,41 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object DateFormatValidator : AbstractStringFormatValidator() { - private const val MAX_MONTHS = 12 - private const val FEB_MONTH = 2 - private const val AUG_MONTH = 8 - - private val dateRegex = Regex("(?\\d{4})-(?\\d{2})-(?\\d{2})") - - override fun validate(value: String): FormatValidationResult { - val result = dateRegex.matchEntire(value) ?: return FormatValidator.Invalid() - val year: Int = result.groups["year"]!!.value.toInt() - val month: Int = result.groups["month"]!!.value.toInt() - val day: Int = result.groups["day"]!!.value.toInt() - val leapYear = isLeapYear(year) - val daysInMonth = daysInMonth(month, leapYear) - return if (month in 1..MAX_MONTHS && day in 1..daysInMonth) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } - - @Suppress("detekt:MagicNumber") - private fun isLeapYear(year: Int): Boolean = year % 4 == 0 && (year % 100 != 0 || year % 400 != 0) - - @Suppress("detekt:MagicNumber") - private fun daysInMonth( - month: Int, - leapYear: Boolean, - ): Int = - when { - month == FEB_MONTH -> if (leapYear) 29 else 28 - month < AUG_MONTH -> if (month % 2 == 0) 30 else 31 - month <= MAX_MONTHS -> if (month % 2 == 0) 31 else 30 - else -> -1 - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DateTimeFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DateTimeFormatValidator.kt deleted file mode 100644 index fc2d766f..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DateTimeFormatValidator.kt +++ /dev/null @@ -1,25 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object DateTimeFormatValidator : AbstractStringFormatValidator() { - private const val DATE_TIME_SEPARATOR = 'T' - private const val EXPECTED_INDEX = 10 - - override fun validate(value: String): FormatValidationResult { - val separatorIndex = value.indexOf(DATE_TIME_SEPARATOR, ignoreCase = true) - if (separatorIndex != EXPECTED_INDEX) { - return FormatValidator.Invalid() - } - val date = value.substring(0, separatorIndex) - val time = value.substring(separatorIndex + 1, value.length) - if (!DateFormatValidator.validate(date).isValid()) { - return FormatValidator.Invalid() - } - if (!TimeFormatValidator.validate(time).isValid()) { - return FormatValidator.Invalid() - } - return FormatValidator.Valid() - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DurationFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DurationFormatValidator.kt deleted file mode 100644 index ed20134c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/DurationFormatValidator.kt +++ /dev/null @@ -1,27 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import kotlin.text.RegexOption.IGNORE_CASE - -internal object DurationFormatValidator : AbstractStringFormatValidator() { - //language=RegExp - private const val DURATION_WEEK_PATTERN = "\\d+W" - - //language=RegExp - private const val DURATION_TIME_PATTERN = "T(\\d+H(\\d+M(\\d+S)?)?|\\d+M(\\d+S)?|\\d+S)" - - //language=RegExp - private const val DURATION_DATE_PATTERN = "(\\d+Y(\\d+M(\\d+D))?|\\d+M(\\d+D)?|\\d+D)($DURATION_TIME_PATTERN)?" - - private val durationRegex = - Regex("P($DURATION_DATE_PATTERN|$DURATION_WEEK_PATTERN|$DURATION_TIME_PATTERN)", IGNORE_CASE) - - override fun validate(value: String): FormatValidationResult { - return if (durationRegex.matches(value)) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/EmailFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/EmailFormatValidator.kt deleted file mode 100644 index 657ba2cc..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/EmailFormatValidator.kt +++ /dev/null @@ -1,3 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -internal object EmailFormatValidator : AbstractEmailFormatValidator(HostnameFormatValidator) \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/HostnameFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/HostnameFormatValidator.kt deleted file mode 100644 index 7a89660d..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/HostnameFormatValidator.kt +++ /dev/null @@ -1,79 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object HostnameFormatValidator : AbstractStringFormatValidator() { - private const val MAX_LABEL_LENGTH = 63 - private const val DOT = '.' - - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Invalid() - } - if (value.startsWith(DOT) || value.endsWith(DOT)) { - return FormatValidator.Invalid() - } - return if (isValid(value)) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } - - @Suppress("detekt:ReturnCount") - private fun isValid(hostname: String): Boolean { - val lastIndex = hostname.lastIndex - var lastDotIndex = -1 - for ((index, symbol) in hostname.withIndex()) { - val isDot = symbol == DOT - if (!isDot && !isValidChar(symbol)) { - return false - } - - if (isDot) { - if (index - lastDotIndex <= 1) { - // to dots together - return false - } - } - - val checkSegment = isDot || index == lastIndex - - if (checkSegment) { - val segmentEnd = if (isDot) index else index + 1 - val value = hostname.substring(lastDotIndex + 1, segmentEnd) - - if (value.startsWith("-") || value.endsWith("-")) { - return false - } - - if (value.length > MAX_LABEL_LENGTH) { - return false - } - } - - if (isDot) { - lastDotIndex = index - } - } - - return true - } - - private fun isValidChar(c: Char): Boolean { - return isNumber(c) || isLetter(c) || isDash(c) - } - - private fun isNumber(c: Char): Boolean { - return c in '0'..'9' - } - - private fun isLetter(c: Char): Boolean { - return (c in 'a'..'z') || (c in 'A'..'Z') - } - - private fun isDash(c: Char): Boolean { - return c == '-' - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IdnEmailFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IdnEmailFormatValidator.kt deleted file mode 100644 index 1991572f..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IdnEmailFormatValidator.kt +++ /dev/null @@ -1,13 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -internal object IdnEmailFormatValidator : AbstractEmailFormatValidator(IdnHostnameFormatValidator) { - override fun isAText(codepoint: Int): Boolean = super.isAText(codepoint) || isUtf8NonAscii(codepoint) - - override fun isValidQText(codepoint: Int): Boolean = super.isValidQText(codepoint) || isUtf8NonAscii(codepoint) - - /** - * The spec is quite clear about which codepoints are allowed. - * So, this method allows all codepoints that are greater than 0x7F - */ - private fun isUtf8NonAscii(codepoint: Int): Boolean = codepoint > MAX_ASCII_CODEPOINT -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IdnHostnameFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IdnHostnameFormatValidator.kt deleted file mode 100644 index 29e622e6..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IdnHostnameFormatValidator.kt +++ /dev/null @@ -1,535 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import de.cketti.codepoints.codePointAt -import de.cketti.codepoints.codePointBefore -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.internal.formats.IdnHostnameFormatValidator.BidiLabelType.LTR -import io.github.optimumcode.json.schema.internal.formats.IdnHostnameFormatValidator.BidiLabelType.NONE -import io.github.optimumcode.json.schema.internal.formats.IdnHostnameFormatValidator.BidiLabelType.RTL -import io.github.optimumcode.json.schema.internal.hostname.Punycode -import io.github.optimumcode.json.schema.internal.hostname.isNormalized -import io.github.optimumcode.json.schema.internal.util.forEachCodePointIndexed -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.ARABIC_LETTER -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.ARABIC_NUMBER -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.BOUNDARY_NEUTRAL -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.COMMON_SEPARATOR -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.EUROPEAN_NUMBER -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.EUROPEAN_SEPARATOR -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.EUROPEAN_TERMINATOR -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.LEFT_TO_RIGHT -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.OTHER_NEUTRAL -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.RIGHT_TO_LEFT -import io.github.optimumcode.karacteristics.CodepointCategory.ENCLOSING_MARK -import io.github.optimumcode.karacteristics.CodepointCategory.NONSPACING_MARK -import io.github.optimumcode.karacteristics.CodepointCategory.SPACING_MARK -import io.github.optimumcode.karacteristics.CodepointDerivedProperty -import io.github.optimumcode.karacteristics.CodepointJoiningType -import io.github.optimumcode.karacteristics.bidirectionalClass -import io.github.optimumcode.karacteristics.category -import io.github.optimumcode.karacteristics.contains -import kotlin.math.abs -import io.github.optimumcode.karacteristics.CodepointBidirectionalClass.NONSPACING_MARK as NONSPACING_MARK_DIRECTIONALITY - -private const val GREEK_LOWER_NUMERAL_SIGN: Int = 0x0375 -private const val HEBREW_GERESH: Int = 0x05F3 -private const val HEBREW_GERSHAYIM: Int = 0x05F4 -private const val KATAKANA_MIDDLE_DOT: Int = 0x30FB -private const val MIDDLE_DOT: Int = 0x00B7 -private const val VIRAMA: Int = 0x94D -private const val ZERO_WIDTH_JOINER: Int = 0x200D -private const val ZERO_WIDTH_NON_JOINER: Int = 0x200C - -private const val LAST_PROHIBIT_HYPHEN_POSITION = 4 -private const val MAX_LABEL_LENGTH = 63 - -internal object IdnHostnameFormatValidator : AbstractStringFormatValidator() { - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Invalid() - } - if (value.length == 1 && isLabelSeparator(value[0])) { - return FormatValidator.Invalid() - } - - // https://datatracker.ietf.org/doc/html/rfc5893#section-1.4 - // Bidi rule is applied only to bidi domain names - var isBidiDomainName = false - value.forEachLabel { - it.forEachCodePointIndexed { _, codePoint -> - isBidiDomainName = isBidiDomainName || - when (codePoint.bidirectionalClass) { - RIGHT_TO_LEFT, - ARABIC_LETTER, - ARABIC_NUMBER, - -> true - - else -> false - } - } - } - - value.forEachLabel { - if (!isValidLabel(it, isBidiDomainName)) { - return FormatValidator.Invalid() - } - } - return FormatValidator.Valid() - } - - private inline fun String.forEachLabel(action: (String) -> Unit) { - var pointer = 0 - while (pointer < length) { - val dot = findDot(this, pointer) - val label = substring(pointer, dot) - action(label) - pointer = dot + 1 - } - } - - /** - * NOTE: many thanks to authors of - * [com.networknt:json-schema-validator](https://github.com/networknt/json-schema-validator) library. - * I used his [com.networknt.schema.utils.RFC5892] class as a reference when implementing these checks - */ - @Suppress("detekt:ReturnCount") - private fun isValidLabel( - label: String, - isBidiDomainName: Boolean, - ): Boolean { - val isAce = isACE(label) - val unicode = - if (isAce) { - // fast check for length - if (label.length > MAX_LABEL_LENGTH) { - return false - } - Punycode.decode(label) ?: return false - } else { - label - } - - if (!isNormalized(unicode)) { - return false - } - - // https://datatracker.ietf.org/doc/html/rfc5891#section-4.2.3.1 - if (unicode[0] == '-' || unicode.codePointBefore(unicode.length) == '-'.code) { - // cannot start or end with hyphen - return false - } - - if (unicode.length >= LAST_PROHIBIT_HYPHEN_POSITION && hasTwoConsecutiveHyphens(unicode)) { - // cannot have to consecutive hyphens at 3 and 4 char position - return false - } - - val firstCodePoint = unicode.codePointAt(0) - // https://datatracker.ietf.org/doc/html/rfc5891#section-4.2.3.2 - if (isLeadingCombiningMark(firstCodePoint)) { - return false - } - - val bidiLabelType: BidiLabelType = - if (isBidiDomainName) { - when (firstCodePoint.bidirectionalClass) { - LEFT_TO_RIGHT, - -> LTR - - RIGHT_TO_LEFT, - ARABIC_LETTER, - -> RTL - - // Point 1 https://datatracker.ietf.org/doc/html/rfc5893#section-2 - else -> return false - } - } else { - NONE - } - - if (!matchIdnRules(unicode, bidiLabelType)) { - return false - } - - return isAce || - Punycode.encode(unicode)?.run { length <= MAX_LABEL_LENGTH } ?: false - } - - private fun matchIdnRules( - unicode: String, - bidiLabelType: BidiLabelType, - ): Boolean { - var arabicDigitStatus: Byte = 0 - unicode.forEachCodePointIndexed { index, codePoint -> - //region Arabic Digits and european numbers - val currentArabicDigitStatus: Byte = - when { - isArabicIndicDigit(codePoint) -> 1 - // Check mixed arabic indic digits - // https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.9 - // Extended Arabic-Indic digits are in EUROPEAN_NUMBER category - // but let's keep this check separated to show what rule it checks. - // - // Check absents of opposite directionality - // Point 4 https://datatracker.ietf.org/doc/html/rfc5893#section-2 - isExtendedArabicIndicDigit(codePoint) || codePoint in EUROPEAN_NUMBER -> -1 - else -> 0 - } - if (abs(currentArabicDigitStatus - arabicDigitStatus) > 1) { - // Mixed arabic indic digits and extended arabic indict digits - return false - } - arabicDigitStatus = currentArabicDigitStatus - //endregion - - if (failsCodepointRules(codePoint, bidiLabelType, index, unicode)) { - return false - } - } - return !failsBidiRuleEnding(bidiLabelType, unicode) - } - - @Suppress("detekt:ReturnCount") - private fun failsCodepointRules( - codePoint: Int, - bidiLabelType: BidiLabelType, - index: Int, - unicode: String, - ): Boolean { - if (disallowedCodePoint(codePoint)) { - return true - } - - if (failsBidiRule(bidiLabelType, codePoint)) { - return true - } - - if (failsGreekLowerNumeralSignRule(index, unicode, codePoint)) { - return true - } - if (failsHebrewPunctuationRule(index, unicode, codePoint)) { - return true - } - if (failsMiddleDotRule(index, unicode, codePoint)) { - return true - } - if (failsKatakanaMiddleDotRule(index, unicode, codePoint)) { - return true - } - if (failsZeroWidthJoiner(index, unicode, codePoint)) { - return true - } - if (failsZeroWidthNonJoinerRule(index, unicode, codePoint)) { - return true - } - return false - } - - private fun disallowedCodePoint(codePoint: Int): Boolean { - if (isArabicIndicDigit(codePoint) || isExtendedArabicIndicDigit(codePoint)) { - return false - } - return when (codePoint) { - ZERO_WIDTH_JOINER, - ZERO_WIDTH_NON_JOINER, - GREEK_LOWER_NUMERAL_SIGN, - HEBREW_GERESH, - HEBREW_GERSHAYIM, - KATAKANA_MIDDLE_DOT, - MIDDLE_DOT, - -> false - - else -> - codePoint in CodepointDerivedProperty.DISALLOWED || - codePoint in CodepointDerivedProperty.UNASSIGNED || - codePoint in CodepointDerivedProperty.CONTEXTJ || - codePoint in CodepointDerivedProperty.CONTEXTO - } - } - - private fun failsBidiRule( - bidiLabelType: BidiLabelType, - codePoint: Int, - ): Boolean { - if (bidiLabelType == NONE) { - return false - } - return when (val directionality = codePoint.bidirectionalClass) { - EUROPEAN_NUMBER, - EUROPEAN_SEPARATOR, - COMMON_SEPARATOR, - EUROPEAN_TERMINATOR, - OTHER_NEUTRAL, - BOUNDARY_NEUTRAL, - NONSPACING_MARK_DIRECTIONALITY, - -> false - - else -> - when (bidiLabelType) { - // Not possible but we need to keep when exhaustive - NONE -> false - LTR -> - when (directionality) { - LEFT_TO_RIGHT, - -> false - - else -> true - } - - RTL -> - when (directionality) { - RIGHT_TO_LEFT, - ARABIC_LETTER, - ARABIC_NUMBER, - -> false - - else -> true - } - } - } - } - - private fun failsBidiRuleEnding( - bidiLabelType: BidiLabelType, - unicode: String, - ): Boolean { - if (bidiLabelType == NONE) { - return false - } - var index = unicode.length - // Zero or more characters with Bidi property NSM are allowed in the end - while (index > 0 && unicode.codePointBefore(index).bidirectionalClass == NONSPACING_MARK_DIRECTIONALITY) { - index-- - } - val lastCodepointDirectionality = unicode.codePointBefore(index).bidirectionalClass - return when (bidiLabelType) { - NONE -> false - RTL -> - when (lastCodepointDirectionality) { - RIGHT_TO_LEFT, - ARABIC_LETTER, - ARABIC_NUMBER, - EUROPEAN_NUMBER, - -> false - - else -> true - } - - LTR -> - when (lastCodepointDirectionality) { - LEFT_TO_RIGHT, - EUROPEAN_NUMBER, - -> false - - else -> true - } - } - } - - private fun failsGreekLowerNumeralSignRule( - index: Int, - unicode: String, - codePoint: Int, - ): Boolean { - if (codePoint != GREEK_LOWER_NUMERAL_SIGN) { - return false - } - if (index + 1 >= unicode.length) { - // must be a Greek character after this symbol - return true - } - val followingCodePoint = unicode.codePointAt(index + 1) - - @Suppress("detekt:MagicNumber") - val isGreek = followingCodePoint.let { it in 0x0370..0x0400 || it in 0x1F00..0x2000 } - return !isGreek - } - - private fun failsHebrewPunctuationRule( - index: Int, - unicode: String, - codePoint: Int, - ): Boolean { - if (codePoint != HEBREW_GERESH && codePoint != HEBREW_GERSHAYIM) { - return false - } - if (index == 0) { - // no preceding character - return true - } - val preceding = unicode.codePointBefore(index) - @Suppress("detekt:MagicNumber") - return preceding !in 0x0590..0x0600 - } - - private fun failsMiddleDotRule( - index: Int, - unicode: String, - codePoint: Int, - ): Boolean { - if (codePoint != MIDDLE_DOT) { - return false - } - if (index == 0 || index + 1 >= unicode.length) { - // no preceding or following character - return true - } - val preceding = unicode.codePointBefore(index) - val following = unicode.codePointAt(index + 1) - @Suppress("detekt:MagicNumber") - return following != 0x006C || preceding != 0x006C - } - - private fun failsKatakanaMiddleDotRule( - index: Int, - unicode: String, - codePoint: Int, - ): Boolean { - if (codePoint != KATAKANA_MIDDLE_DOT) { - return false - } - if (index + 1 >= unicode.length) { - // no following character - return true - } - val followingCodePoint = unicode.codePointAt(index + 1) - @Suppress("detekt:MagicNumber") - return when (followingCodePoint) { - in 0x2E80..0x2F00, - in 0x2F00..0x2FE0, - in 0x3000..0x3040, - in 0x3040..0x30A0, - in 0x30A0..0x3100, - in 0x3400..0x4DC0, - in 0x4E00..0xA000, - in 0xF900..0xFB00, - in 0x16FE0..0x17000, - in 0x20000..0x2A6E0, - in 0x2A700..0x2B740, - in 0x2B740..0x2B820, - in 0x2B820..0x2CEB0, - in 0x2CEB0..0x2EBF0, - in 0x2F800..0x2FA20, - in 0x30000..0x31350, - in 0x31350..0x323B0, - -> false - - else -> true - } - } - - private fun failsZeroWidthJoiner( - index: Int, - unicode: String, - codePoint: Int, - ): Boolean { - if (codePoint != ZERO_WIDTH_JOINER) { - return false - } - if (index == 0) { - // no preceding character - return true - } - val preceding = unicode.codePointBefore(index) - return preceding != VIRAMA - } - - @Suppress("detekt:ReturnCount") - private fun failsZeroWidthNonJoinerRule( - index: Int, - unicode: String, - codePoint: Int, - ): Boolean { - if (codePoint != ZERO_WIDTH_NON_JOINER) { - return false - } - // https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.1 - // If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True; - // - // If RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*\u200C(Joining_Type:T)*(Joining_Type:{R,D})) Then True; - if (index == 0) { - // no preceding characters - return true - } - val preceding = unicode.codePointBefore(index) - if (preceding == VIRAMA) { - // matches first part of condition - return false - } - var j = index - while (0 < j && unicode.codePointBefore(j) in CodepointJoiningType.TRANSPARENT) { - j -= 1 - } - if (j == 0) { - // Must be joining type L or D before last T type - return true - } - val beforeFirstTransparent = unicode.codePointBefore(j) - if ( - beforeFirstTransparent !in CodepointJoiningType.LEFT_JOINING && - beforeFirstTransparent !in CodepointJoiningType.DUAL_JOINING - ) { - return true - } - j = index + 1 - val len = unicode.length - if (j == len) { - // Must have joining type T after - return true - } - while (j < len && unicode.codePointAt(j) in CodepointJoiningType.TRANSPARENT) { - j += 1 - } - if (j == len) { - // Must have joining type R or D after last T type - return true - } - val afterLastTransparent = unicode.codePointAt(j) - return afterLastTransparent !in CodepointJoiningType.RIGHT_JOINING && - afterLastTransparent !in CodepointJoiningType.DUAL_JOINING - } - - private fun isLeadingCombiningMark(codePoint: Int): Boolean = - when (codePoint.category) { - NONSPACING_MARK, - SPACING_MARK, - ENCLOSING_MARK, - -> true - - else -> false - } - - private fun hasTwoConsecutiveHyphens(value: String): Boolean = - value.codePointAt(LAST_PROHIBIT_HYPHEN_POSITION - 2) == '-'.code && - value.codePointAt(LAST_PROHIBIT_HYPHEN_POSITION - 1) == '-'.code - - private fun isACE(label: String): Boolean = - label.length > Punycode.PREFIX_SIZE && label.startsWith(Punycode.PREFIX_STRING) - - /** - * Returns `true` if the [c] is a dot - * according to [RFC3490 Section 3.1](https://datatracker.ietf.org/doc/html/rfc3490#section-3.1). - * Otherwise, returns `false` - */ - private fun isLabelSeparator(c: Char): Boolean = c == '.' || c == '\u3002' || c == '\uFF0E' || c == '\uFF61' - - private fun findDot( - value: String, - startIndex: Int, - ): Int { - for (i in startIndex until value.length) { - if (isLabelSeparator(value[i])) { - return i - } - } - return value.length - } - - @Suppress("detekt:MagicNumber") - private fun isArabicIndicDigit(code: Int): Boolean = code in 0x0660..0x0669 - - @Suppress("detekt:MagicNumber") - private fun isExtendedArabicIndicDigit(code: Int): Boolean = code in 0x06F0..0x06F9 - - private enum class BidiLabelType { LTR, RTL, NONE } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IpV4FormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IpV4FormatValidator.kt deleted file mode 100644 index 11daef95..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IpV4FormatValidator.kt +++ /dev/null @@ -1,37 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object IpV4FormatValidator : AbstractStringFormatValidator() { - // 0.0.0.0 the shortest IPv4 - private const val SHORTEST_IP_V4 = 7 - private const val MAX_IP_COMPONENT = 255 - private val groups: Set = setOf("a", "b", "c", "d") - private val ipRegex = Regex("(?\\d{1,3})\\.(?\\d{1,3})\\.(?\\d{1,3})\\.(?\\d{1,3})") - - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty() || value.length < SHORTEST_IP_V4) { - return FormatValidator.Invalid() - } - val result = ipRegex.matchEntire(value) ?: return FormatValidator.Invalid() - return if (validate(result)) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } - - private fun validate(result: MatchResult): Boolean { - for (group in groups) { - val ipPart = result.groups[group]!!.value - if (ipPart[0] == '0' && ipPart.length > 1) { - return false - } - if (ipPart.toInt() > MAX_IP_COMPONENT) { - return false - } - } - return true - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IpV6FormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IpV6FormatValidator.kt deleted file mode 100644 index 8d3c2b8a..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IpV6FormatValidator.kt +++ /dev/null @@ -1,112 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object IpV6FormatValidator : AbstractStringFormatValidator() { - private const val BLOCK_OCTETS_LENGTH = 4 - private const val V6_DELIMITER = ':' - private const val SHORTEST_IP_V6 = "$V6_DELIMITER$V6_DELIMITER" - private const val V4_DELIMITER = '.' - private const val MAX_V6_BLOCKS = 8 - private const val MAX_V6_WITH_V4_BLOCKS = 6 - - @Suppress("detekt:ReturnCount") - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty() || value.length < SHORTEST_IP_V6.length) { - return FormatValidator.Invalid() - } - if (value == SHORTEST_IP_V6) { - return FormatValidator.Valid() - } - var blocks = 0 - var blockStartIndex = 0 - var isCompressedFormAppeared = false - for ((index, symbol) in value.withIndex()) { - when (symbol) { - V6_DELIMITER -> { - val blockSize = index - blockStartIndex - val compressed = blockStartIndex > 0 && blockSize == 0 - if (compressed && isCompressedFormAppeared) { - // can have only one '::' - return FormatValidator.Invalid() - } - if (!checkBlock(index, value, blockStartIndex, blockSize)) { - return FormatValidator.Invalid() - } - isCompressedFormAppeared = isCompressedFormAppeared or compressed - blockStartIndex = index + 1 - blocks += 1 - } - in '0'..'9', in 'A'..'F', in 'a'..'f', V4_DELIMITER -> continue - // unexpected character - else -> return FormatValidator.Invalid() - } - } - val lastBlockSize = value.length - blockStartIndex - // normal ipv6 block - // don't count ip block - if (lastBlockSize in 1..BLOCK_OCTETS_LENGTH) { - blocks += 1 - } - return checkLastBlock(value, blocks, lastBlockSize, isCompressedFormAppeared, blockStartIndex) - } - - private fun checkLastBlock( - value: String, - blocks: Int, - lastBlockSize: Int, - isCompressedFormAppeared: Boolean, - blockStartIndex: Int, - ): FormatValidationResult { - if (lastBlockSize == 0 && !isCompressedFormAppeared) { - // last block cannot be empty - return FormatValidator.Invalid() - } - if (blocks > MAX_V6_BLOCKS || blocks > MAX_V6_WITH_V4_BLOCKS && lastBlockSize > BLOCK_OCTETS_LENGTH) { - return FormatValidator.Invalid() - } - if (!isCompressedFormAppeared && blocks != MAX_V6_BLOCKS && blocks != MAX_V6_WITH_V4_BLOCKS) { - return FormatValidator.Invalid() - } - return if (checkBlockValue( - value.substring(blockStartIndex), - mustBeIp = blocks == MAX_V6_WITH_V4_BLOCKS && !isCompressedFormAppeared, - ) - ) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } - - private fun checkBlock( - index: Int, - value: String, - blockStartIndex: Int, - blockSize: Int, - ): Boolean { - if (blockSize > BLOCK_OCTETS_LENGTH) { - return false - } - - if (blockStartIndex == 0 && blockSize == 0 && value[index + 1] != V6_DELIMITER) { - // first block cannot be empty if the next part is not compressed - return false - } - if (blockSize > 0 && !checkBlockValue(value.substring(blockStartIndex, index))) { - return false - } - return true - } - - private fun checkBlockValue( - block: String, - mustBeIp: Boolean = false, - ): Boolean { - if (mustBeIp || block.length > BLOCK_OCTETS_LENGTH) { - return IpV4FormatValidator.validate(block).isValid() - } - return V4_DELIMITER !in block - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriFormatValidator.kt deleted file mode 100644 index 5d78ea7f..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriFormatValidator.kt +++ /dev/null @@ -1,13 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult - -internal object IriFormatValidator : AbstractStringFormatValidator() { - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return UriFormatValidator.validate(value) - } - val uri = IriSpec.covertToUri(value) - return UriFormatValidator.validate(uri) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriReferenceFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriReferenceFormatValidator.kt deleted file mode 100644 index f5e0f7ed..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriReferenceFormatValidator.kt +++ /dev/null @@ -1,13 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult - -internal object IriReferenceFormatValidator : AbstractStringFormatValidator() { - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return UriReferenceFormatValidator.validate(value) - } - val uri = IriSpec.covertToUri(value) - return UriReferenceFormatValidator.validate(uri) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriSpec.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriSpec.kt deleted file mode 100644 index 267c3c8a..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/IriSpec.kt +++ /dev/null @@ -1,22 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -internal object IriSpec { - private const val BITS_SHIFT = 4 - private const val LOWER_BITS = 0x0F - private const val HEX_DECIMAL = "0123456789ABCDEF" - - fun covertToUri(iri: String): String { - return buildString { - for (byte in iri.encodeToByteArray()) { - if (byte >= 0) { - append(byte.toInt().toChar()) - } else { - val unsignedInt = byte.toUByte().toInt() - append('%') - append(HEX_DECIMAL[unsignedInt shr BITS_SHIFT]) - append(HEX_DECIMAL[unsignedInt and LOWER_BITS]) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/JsonPointerFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/JsonPointerFormatValidator.kt deleted file mode 100644 index a30f11da..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/JsonPointerFormatValidator.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object JsonPointerFormatValidator : AbstractStringFormatValidator() { - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Valid() - } - if (!value.startsWith(JsonPointer.SEPARATOR)) { - return FormatValidator.Invalid() - } - var escape = false - for (symbol in value) { - if (escape && symbol != JsonPointer.QUOTATION_ESCAPE && symbol != JsonPointer.SEPARATOR_ESCAPE) { - return FormatValidator.Invalid() - } - escape = symbol == JsonPointer.QUOTATION - } - return if (escape) { - // escape character '~' in the end of the segment - FormatValidator.Invalid() - } else { - FormatValidator.Valid() - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/RegexFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/RegexFormatValidator.kt deleted file mode 100644 index 66a6c388..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/RegexFormatValidator.kt +++ /dev/null @@ -1,24 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -/** - * [RegexFormatValidator] might not follow [ECMA-262](https://262.ecma-international.org/5.1/#sec-15.10) rules. - * This will depend on the underlying platform. - * Maybe one day there will be ECMA-262 regex library for KMM - */ -internal object RegexFormatValidator : AbstractStringFormatValidator() { - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Valid() - } - return try { - Regex(value) - FormatValidator.Valid() - } catch (_: Throwable) { - // throwable is handled because JS exception when regex is compiled does not extend Exception - FormatValidator.Invalid() - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/RelativeJsonPointerFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/RelativeJsonPointerFormatValidator.kt deleted file mode 100644 index f6a59fa8..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/RelativeJsonPointerFormatValidator.kt +++ /dev/null @@ -1,49 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object RelativeJsonPointerFormatValidator : AbstractStringFormatValidator() { - private const val ZERO_CODE: Int = '0'.code - private const val NINE_CODE: Int = '9'.code - private const val REF_SYMBOL = '#' - - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Invalid() - } - val isFirstZero = value[0].code == ZERO_CODE - for ((index, symbol) in value.withIndex()) { - val code = symbol.code - val isDigit = code in ZERO_CODE..NINE_CODE - val isRef = symbol == REF_SYMBOL - if (!isDigit) { - return checkEnding(index, isRef, value) - } - if (code > ZERO_CODE && isFirstZero) { - // leading zeros are not allowed - return FormatValidator.Invalid() - } - } - return FormatValidator.Valid() - } - - private fun checkEnding( - index: Int, - isRef: Boolean, - value: String, - ): FormatValidationResult = - when { - // we must have a digit at the beginning - index == 0 -> FormatValidator.Invalid() - isRef -> - if (index == value.lastIndex) { - FormatValidator.Valid() - } else { - // # must be the last character - FormatValidator.Invalid() - } - - else -> JsonPointerFormatValidator.validate(value.substring(index)) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/TimeFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/TimeFormatValidator.kt deleted file mode 100644 index 877f951c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/TimeFormatValidator.kt +++ /dev/null @@ -1,50 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import kotlin.text.RegexOption.IGNORE_CASE - -internal object TimeFormatValidator : AbstractStringFormatValidator() { - //language=RegExp - private const val REQUIRED_TIME_PART = "(?\\d{2}):(?\\d{2}):(?\\d{2})" - - //language=RegExp - private const val OFFSET_PART = "((Z)|((?[+-])(?\\d{2}):(?\\d{2})))" - private val timeRegex = Regex("$REQUIRED_TIME_PART(\\.\\d{1,9})?$OFFSET_PART", IGNORE_CASE) - - override fun validate(value: String): FormatValidationResult { - val result = timeRegex.matchEntire(value) ?: return FormatValidator.Invalid() - val validTimeFormat = isValidFormat(result) - - return if (validTimeFormat) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } - - @Suppress("detekt:MagicNumber") - private fun isValidFormat(result: MatchResult): Boolean { - val hours = result.groups["hours"]!!.value.toInt() - val minutes = result.groups["minutes"]!!.value.toInt() - val seconds = result.groups["seconds"]!!.value.toInt() - - val offsetSign = result.groups["offsetSign"]?.value?.let { if (it == "+") 1 else -1 } ?: 0 - val offsetHours = result.groups["offsetHours"]?.value?.toInt() ?: 0 - val offsetMinutes = result.groups["offsetMinutes"]?.value?.toInt() ?: 0 - - fun normalTime(): Boolean = hours in 0..23 && minutes in 0..59 && seconds in 0..59 - - val substituteOffset = offsetSign > 0 && (offsetHours != 0 || offsetMinutes != 0) - - fun leapSecondTime(): Boolean = - (if (substituteOffset) hours - offsetHours == 0 else hours + offsetHours == 23) && - (if (substituteOffset) minutes - offsetMinutes == -1 else minutes + offsetMinutes == 59) && - seconds == 60 - - val validTime = normalTime() || leapSecondTime() - - val validOffset = offsetHours in 0..23 && offsetMinutes in 0..59 - return validTime && validOffset - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriFormatValidator.kt deleted file mode 100644 index f7f85866..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriFormatValidator.kt +++ /dev/null @@ -1,65 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.internal.formats.UriSpec.FRAGMENT_DELIMITER -import io.github.optimumcode.json.schema.internal.formats.UriSpec.QUERY_DELIMITER -import io.github.optimumcode.json.schema.internal.formats.UriSpec.SCHEMA_DELIMITER - -internal object UriFormatValidator : AbstractStringFormatValidator() { - @Suppress("detekt:ReturnCount") - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Invalid() - } - - val schemaEndIndex = value.indexOf(SCHEMA_DELIMITER) - if (schemaEndIndex < 0 || schemaEndIndex == value.lastIndex) { - return FormatValidator.Invalid() - } - - val schema = value.substring(0, schemaEndIndex) - if (!UriSpec.isValidSchema(schema)) { - return FormatValidator.Invalid() - } - - val fragmentDelimiterIndex = value.indexOf(FRAGMENT_DELIMITER) - val queryDelimiterIndex = - value.indexOf(QUERY_DELIMITER) - .takeUnless { fragmentDelimiterIndex in 0.. 0 -> - value.substring(schemaEndIndex + 1, queryDelimiterIndex) - fragmentDelimiterIndex > 0 -> - value.substring(schemaEndIndex + 1, fragmentDelimiterIndex) - else -> - value.substring(schemaEndIndex + 1) - } - if (!UriSpec.isValidHierPart(hierPart)) { - return FormatValidator.Invalid() - } - - if (queryDelimiterIndex > 0 && queryDelimiterIndex < value.lastIndex) { - val query = - if (fragmentDelimiterIndex > 0) { - value.substring(queryDelimiterIndex + 1, fragmentDelimiterIndex) - } else { - value.substring(queryDelimiterIndex + 1) - } - if (!UriSpec.isValidQuery(query)) { - return FormatValidator.Invalid() - } - } - - if (fragmentDelimiterIndex > 0 && fragmentDelimiterIndex < value.lastIndex) { - val fragment = value.substring(fragmentDelimiterIndex + 1) - if (!UriSpec.isValidFragment(fragment)) { - return FormatValidator.Invalid() - } - } - - return FormatValidator.Valid() - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriReferenceFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriReferenceFormatValidator.kt deleted file mode 100644 index 589801af..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriReferenceFormatValidator.kt +++ /dev/null @@ -1,53 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.internal.formats.UriSpec.FRAGMENT_DELIMITER -import io.github.optimumcode.json.schema.internal.formats.UriSpec.QUERY_DELIMITER - -internal object UriReferenceFormatValidator : AbstractStringFormatValidator() { - @Suppress("detekt:ReturnCount") - override fun validate(value: String): FormatValidationResult { - if (UriFormatValidator.validate(value).isValid()) { - return FormatValidator.Valid() - } - - val fragmentDelimiterIndex = value.indexOf(FRAGMENT_DELIMITER) - val queryDelimiterIndex = - value.indexOf(QUERY_DELIMITER) - .takeUnless { fragmentDelimiterIndex in 0..= 0 -> - value.substring(0, queryDelimiterIndex) - fragmentDelimiterIndex >= 0 -> - value.substring(0, fragmentDelimiterIndex) - else -> value - } - if (!UriSpec.isValidRelativePart(relativePart)) { - return FormatValidator.Invalid() - } - - if (queryDelimiterIndex >= 0 && queryDelimiterIndex < value.lastIndex) { - val query = - if (fragmentDelimiterIndex > 0) { - value.substring(queryDelimiterIndex + 1, fragmentDelimiterIndex) - } else { - value.substring(queryDelimiterIndex + 1) - } - if (!UriSpec.isValidQuery(query)) { - return FormatValidator.Invalid() - } - } - - if (fragmentDelimiterIndex >= 0 && fragmentDelimiterIndex < value.lastIndex) { - val fragment = value.substring(fragmentDelimiterIndex + 1) - if (!UriSpec.isValidFragment(fragment)) { - return FormatValidator.Invalid() - } - } - - return FormatValidator.Valid() - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriSpec.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriSpec.kt deleted file mode 100644 index 08c629ce..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriSpec.kt +++ /dev/null @@ -1,283 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.internal.formats.Validation.isAlpha -import io.github.optimumcode.json.schema.internal.formats.Validation.isDigit - -internal object UriSpec { - const val SCHEMA_DELIMITER = ':' - const val QUERY_DELIMITER = '?' - const val FRAGMENT_DELIMITER = '#' - - fun isValidFragment(fragment: String): Boolean = isValidFragmentOrQuery(fragment) - - fun isValidQuery(query: String): Boolean = isValidFragmentOrQuery(query) - - fun isValidHierPart(hierPart: String): Boolean { - if (hierPart.isEmpty()) { - return true - } - return when { - hierPart.startsWith("//") -> - isValidAuthorityWithPath(hierPart.substring(2)) - hierPart.startsWith("/") -> - isValidAbsolutePath(hierPart.substring(1)) - else -> - isValidRootlessPath(hierPart) - } - } - - fun isValidRelativePart(relativePart: String): Boolean { - if (relativePart.isEmpty()) { - return true - } - return when { - relativePart.startsWith("//") -> - isValidAuthorityWithPath(relativePart.substring(2)) - relativePart.startsWith("/") -> - isValidAbsolutePath(relativePart.substring(1)) - else -> - isValidNoschemaPath(relativePart) - } - } - - private fun isValidNoschemaPath(relativePart: String): Boolean { - val segmentSeparator = relativePart.indexOf('/') - val segmentWithoutColon = - if (segmentSeparator < 0) { - relativePart - } else { - relativePart.substring(0, segmentSeparator) - } - val validSegmentWithoutColon = - hasValidCharsOrPctEncoded(segmentWithoutColon) { - isUnreserved(it) || isSubDelimiter(it) || it == '@' - } - return validSegmentWithoutColon && - (segmentSeparator < 0 || isValidSegments(relativePart.substring(segmentSeparator))) - } - - private fun isValidRootlessPath(rootlessPath: String): Boolean = isValidSegments(rootlessPath) - - private fun isValidAbsolutePath(absolutePath: String): Boolean { - if (absolutePath.isEmpty()) { - return true - } - - return isValidSegments(absolutePath) - } - - private fun isValidSegments(segments: String): Boolean { - var lastSep = -1 - for ((index, value) in segments.withIndex()) { - if (value == '/') { - if (!hasOnlyPChars(segments.substring(lastSep + 1, index))) { - return false - } - lastSep = index - } - } - - return hasOnlyPChars(segments.substring(lastSep + 1)) - } - - @Suppress("detekt:ReturnCount") - private fun isValidAuthorityWithPath(authorityWithPath: String): Boolean { - if (authorityWithPath.isEmpty()) { - return false - } - val userInfoSeparatorIndex = authorityWithPath.indexOf('@') - if (userInfoSeparatorIndex >= 0) { - if (!isValidUserInfo(authorityWithPath.substring(0, userInfoSeparatorIndex))) { - return false - } - } - val ipV6EndIndex = authorityWithPath.lastIndexOf(']') - val portSeparatorIndex = - authorityWithPath.indexOf( - ':', - startIndex = - when { - ipV6EndIndex > 0 -> ipV6EndIndex - userInfoSeparatorIndex > 0 -> userInfoSeparatorIndex - else -> 0 - }, - ) - - val segmentSeparatorIndex = authorityWithPath.indexOf('/') - val hostEndIndex = - when { - portSeparatorIndex > 0 -> portSeparatorIndex - segmentSeparatorIndex > 0 -> segmentSeparatorIndex - else -> authorityWithPath.length - } - val hostStartIndex = - if (userInfoSeparatorIndex >= 0) { - userInfoSeparatorIndex + 1 - } else { - 0 - } - val host = authorityWithPath.substring(hostStartIndex, hostEndIndex) - if (!isValidHost(host)) { - return false - } - if (portSeparatorIndex > 0 && portSeparatorIndex < authorityWithPath.lastIndex) { - val portEndIndex = - if (segmentSeparatorIndex > 0) { - segmentSeparatorIndex - } else { - authorityWithPath.length - } - // empty port part - return isValidPort(authorityWithPath.substring(portSeparatorIndex + 1, portEndIndex)) - } - return segmentSeparatorIndex < 0 || isValidSegments(authorityWithPath.substring(segmentSeparatorIndex)) - } - - private fun isValidPort(port: String): Boolean { - if (port.isEmpty()) { - return true - } - - for (ch in port) { - if (!isDigit(ch)) { - return false - } - } - - return true - } - - private fun isValidHost(host: String): Boolean { - if (host.isEmpty()) { - return false - } - if (IpV4FormatValidator.validate(host).isValid()) { - return true - } - if (host.startsWith('[') && host.endsWith(']')) { - val substr = host.substring(1, host.lastIndex) - return IpV6FormatValidator.validate(substr).isValid() || isValidIPvFuture(substr) - } - return isRegName(host) - } - - @Suppress("detekt:ReturnCount") - private fun isValidIPvFuture(ipVFuture: String): Boolean { - if (ipVFuture.isEmpty()) { - return false - } - if (ipVFuture[0] != 'v') { - return false - } - val dotIndex = ipVFuture.indexOf('.') - if (dotIndex < 0) { - return false - } - val firstPart = ipVFuture.substring(1, dotIndex) - val secondPart = ipVFuture.substring(dotIndex + 1) - if (firstPart.isEmpty() || secondPart.isEmpty()) { - return false - } - for (ch in firstPart) { - if (isHexDigit(ch)) { - continue - } - return false - } - for (ch in secondPart) { - if (isUnreserved(ch) || isSubDelimiter(ch) || ch == ':') { - continue - } - return false - } - return true - } - - private fun isRegName(host: String): Boolean = - hasValidCharsOrPctEncoded(host) { - isSubDelimiter(it) || isUnreserved(it) - } - - private fun isValidUserInfo(userInfo: String): Boolean = - hasValidCharsOrPctEncoded(userInfo) { - it == ':' || isSubDelimiter(it) || isUnreserved(it) - } - - fun isValidSchema(schema: String): Boolean { - if (schema.isEmpty()) { - return false - } - - if (!isAlpha(schema[0])) { - return false - } - - for (i in 1..schema.lastIndex) { - val char = schema[i] - @Suppress("detekt:ComplexCondition") - if (isAlpha(char) || isDigit(char) || char == '+' || char == '-' || char == '.') { - continue - } - return false - } - - return true - } - - private fun isValidFragmentOrQuery(part: String): Boolean { - if (part.isEmpty()) { - return true - } - - return hasValidCharsOrPctEncoded(part) { - it == '/' || it == '?' || isPChar(it) - } - } - - private fun hasOnlyPChars(part: String): Boolean = hasValidCharsOrPctEncoded(part, ::isPChar) - - inline fun hasValidCharsOrPctEncoded( - part: String, - isValidChar: (Char) -> Boolean, - ): Boolean { - var i = 0 - var valid = true - while (i < part.length) { - val char = part[i] - if (char != '%' && !isValidChar(char)) { - valid = false - break - } - if (char == '%') { - if (!isPctEncoded(i, part)) { - valid = false - break - } - i += 2 - } - i += 1 - } - - return valid - } - - fun isPctEncoded( - index: Int, - str: String, - ): Boolean { - if (index + 2 >= str.length) { - return false - } - return str[index] == '%' && isHexDigit(str[index + 1]) && isHexDigit(str[index + 2]) - } - - private fun isPChar(c: Char): Boolean = isUnreserved(c) || isSubDelimiter(c) || c == ':' || c == '@' - - private fun isUnreserved(c: Char): Boolean = isAlpha(c) || isDigit(c) || c == '_' || c == '-' || c == '.' || c == '~' - - private fun isSubDelimiter(c: Char): Boolean = - c == '!' || c == '$' || c == '&' || c == '\'' || c == '(' || c == ')' || - c == '*' || c == '+' || c == ',' || c == ';' || c == '=' - - private fun isHexDigit(c: Char): Boolean = c in '0'..'9' || c in 'a'..'f' || c in 'A'..'F' -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriTemplateFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriTemplateFormatValidator.kt deleted file mode 100644 index 5ee92775..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UriTemplateFormatValidator.kt +++ /dev/null @@ -1,182 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import de.cketti.codepoints.CodePoints -import de.cketti.codepoints.codePointAt -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.internal.formats.Validation.eachSeparatedPart - -internal object UriTemplateFormatValidator : AbstractStringFormatValidator() { - private const val EXPRESSION_START = '{'.code - private const val EXPRESSION_END = '}'.code - private const val PCT_ENCODING_START = '%'.code - private const val EXPLODE_MODIFIER = '*' - private const val PREFIX_MODIFIER = ':' - private const val MAX_LENGTH_UPPER_LIMIT = 4 - - @Suppress("detekt:ReturnCount") - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty()) { - return FormatValidator.Valid() - } - var index = 0 - var expressionStartIndex = -1 - var inExpression = false - while (index < value.length) { - val code = value.codePointAt(index) - when { - code == EXPRESSION_START -> { - if (inExpression) { - return FormatValidator.Invalid() - } - inExpression = true - expressionStartIndex = index - } - code == EXPRESSION_END -> { - if (!inExpression) { - return FormatValidator.Invalid() - } - inExpression = false - if (!isValidExpression(value.substring(expressionStartIndex + 1, index))) { - return FormatValidator.Invalid() - } - } - !inExpression -> - if (!isValidLiteral(code, value, index)) { - return FormatValidator.Invalid() - } - } - index += CodePoints.charCount(code) - } - return if (inExpression) { - FormatValidator.Invalid() - } else { - FormatValidator.Valid() - } - } - - private fun isValidLiteral( - code: Int, - value: String, - index: Int, - ): Boolean { - if (isSimpleChar(code)) { - return true - } - if (code == PCT_ENCODING_START && UriSpec.isPctEncoded(index, value)) { - return true - } - return isUcsChar(code) || isIPrivate(code) - } - - @Suppress("detekt:MagicNumber") - private fun isSimpleChar(code: Int) = - code == 0x21 || code in 0x23..0x24 || code in 0x26..0x3B || - code == 0x3D || code in 0x3F..0x5B || code == 0x5D || code == 0x5F || - code in 0x61..0x7A || code == 0x7E - - private fun isIPrivate(code: Int): Boolean = - @Suppress("detekt:MagicNumber") - when (code) { - in 0xE000..0xF8FF, - in 0xF0000..0xFFFFD, - in 0x100000..0x10FFFD, - -> true - else -> false - } - - private fun isUcsChar(code: Int): Boolean = - @Suppress("detekt:MagicNumber") - when (code) { - in 0xA0..0xD7FF, - in 0xF900..0xFDCF, - in 0xFDF0..0xFFEF, - in 0x10000..0x1FFFD, - in 0x20000..0x2FFFD, - in 0x30000..0x3FFFD, - in 0x40000..0x4FFFD, - in 0x50000..0x5FFFD, - in 0x60000..0x6FFFD, - in 0x70000..0x7FFFD, - in 0x80000..0x8FFFD, - in 0x90000..0x9FFFD, - in 0xA0000..0xAFFFD, - in 0xB0000..0xBFFFD, - in 0xC0000..0xCFFFD, - in 0xD0000..0xDFFFD, - in 0xE1000..0xEFFFD, - -> true - else -> false - } - - private fun isValidExpression(expression: String): Boolean { - if (expression.isEmpty()) { - return false - } - val varList = - if (isOperator(expression[0])) { - expression.substring(1) - } else { - expression - } - return eachSeparatedPart(varList, separator = ',', ::isValidVarSpec) - } - - private fun isValidVarSpec(varSpec: String): Boolean { - if (varSpec.isEmpty()) { - return false - } - - val prefixModifierIndex = varSpec.indexOf(PREFIX_MODIFIER) - val varName: String = - when { - prefixModifierIndex >= 0 -> - varSpec.substring(0, prefixModifierIndex) - varSpec.endsWith(EXPLODE_MODIFIER) -> - varSpec.substring(0, varSpec.length - 1) - else -> - varSpec - } - - if (varName.isEmpty()) { - return false - } - - if (prefixModifierIndex > 0) { - if (prefixModifierIndex == varSpec.lastIndex || !isValidMaxLength(varSpec.substring(prefixModifierIndex + 1))) { - return false - } - } - - return eachSeparatedPart(varName, separator = '.') { part -> - part.isNotEmpty() && - UriSpec.hasValidCharsOrPctEncoded(part) { - Validation.isAlpha(it) || Validation.isDigit(it) || it == '_' - } - } - } - - private fun isValidMaxLength(maxLength: String): Boolean { - if (maxLength[0] == '0') { - // no leading zeroes allowed - return false - } - if (maxLength.length > MAX_LENGTH_UPPER_LIMIT) { - // to long value - return false - } - return maxLength.all(Validation::isDigit) - } - - private fun isOperator(char: Char): Boolean = - when (char) { - // op-level2 - '+', '#', - // op-level3 - '.', '/', ';', '?', '&', - // op-reserve - '=', ',', '!', '@', '|', - -> true - else -> false - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UuidFormatValidator.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UuidFormatValidator.kt deleted file mode 100644 index f476dea6..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/UuidFormatValidator.kt +++ /dev/null @@ -1,21 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator - -internal object UuidFormatValidator : AbstractStringFormatValidator() { - private const val UUID_LENGTH = 36 - private const val HEX = "[0-9a-fA-F]" - private val UUID_REGEX = Regex("$HEX{8}-$HEX{4}-$HEX{4}-$HEX{4}-$HEX{12}") - - override fun validate(value: String): FormatValidationResult { - if (value.isEmpty() || value.length != UUID_LENGTH) { - return FormatValidator.Invalid() - } - return if (UUID_REGEX.matches(value)) { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/Validation.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/Validation.kt deleted file mode 100644 index f9fa6876..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/formats/Validation.kt +++ /dev/null @@ -1,29 +0,0 @@ -package io.github.optimumcode.json.schema.internal.formats - -internal object Validation { - fun isAlpha(c: Char): Boolean = c in 'a'..'z' || c in 'A'..'Z' - - fun isDigit(c: Char): Boolean = c in '0'..'9' - - inline fun eachSeparatedPart( - value: String, - separator: Char, - isValid: (String) -> Boolean, - ): Boolean { - var lastSeparator = -1 - do { - val separatorIndex = value.indexOf(separator, startIndex = lastSeparator + 1) - val part = - if (separatorIndex < 0) { - value.substring(lastSeparator + 1) - } else { - value.substring(lastSeparator + 1, separatorIndex) - } - if (!isValid(part)) { - return false - } - lastSeparator = separatorIndex - } while (separatorIndex > 0) - return true - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt deleted file mode 100644 index 44d3a03c..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Normalizer.kt +++ /dev/null @@ -1,8 +0,0 @@ -package io.github.optimumcode.json.schema.internal.hostname - -import doist.x.normalize.Form -import doist.x.normalize.normalize - -internal fun isNormalized(label: String): Boolean { - return label.normalize(Form.NFC) == label -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Punycode.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Punycode.kt deleted file mode 100644 index 26a09669..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/hostname/Punycode.kt +++ /dev/null @@ -1,352 +0,0 @@ -package io.github.optimumcode.json.schema.internal.hostname - -/** - * An [RFC 3492] punycode decoder for converting ASCII to Unicode domain name labels. This is - * intended for use in Internationalized Domain Names (IDNs). - * - * This code was taken from [okhttp project](https://github.com/square/okhttp/blob/parent-5.0.0-alpha.12/okhttp/src/commonMain/kotlin/okhttp3/internal/idn/Punycode.kt) - * - * I hope one day they will separate this part into a library and I can replace this class with their dependency. - */ -@Suppress("detekt:MagicNumber") -internal object Punycode { - const val PREFIX_STRING = "xn--" - const val PREFIX_SIZE = PREFIX_STRING.length - private const val MIN_SUPPLEMENTARY_CODE_POINT = 0x010000 - private const val MAX_CODE_POINT = 0x10FFFF - - private const val BASE = 36 - private const val TMIN = 1 - private const val TMAX = 26 - private const val SKEW = 38 - private const val DAMP = 700 - private const val INITIAL_BIAS = 72 - private const val INITIAL_N = 0x80 - - /** - * Returns null if any label is oversized so much that the encoder cannot encode it without - * integer overflow. This will not return null for labels that fit within the DNS size - * limits. - */ - fun encode(string: String): String? { - var pos = 0 - val limit = string.length - val result = StringBuilder() - - while (pos < limit) { - var dot = string.indexOf('.', startIndex = pos) - if (dot == -1) dot = limit - - if (!result.encodeLabel(string, pos, dot)) { - // If we couldn't encode the label, give up. - return null - } - - if (dot < limit) { - result.append('.') - pos = dot + 1 - } else { - break - } - } - - return result.toString() - } - - /** - * Converts a punycode-encoded domain name with `.`-separated labels into a human-readable - * Internationalized Domain Name. - */ - fun decode(string: String): String? { - var pos = 0 - val limit = string.length - return buildString { - while (pos < limit) { - var dot = string.indexOf('.', startIndex = pos) - if (dot == -1) dot = limit - - if (!decodeLabel(string, pos, dot)) return null - - if (dot < limit) { - append('.') - pos = dot + 1 - } else { - break - } - } - } - } - - /** - * Converts a single label from Unicode to Punycode. - * - * @return true if the range of [string] from [pos] to [limit] was valid and encoding successfully. - * Otherwise, the encoding failed. - */ - @Suppress("detekt:NestedBlockDepth") - private fun StringBuilder.encodeLabel( - string: String, - pos: Int, - limit: Int, - ): Boolean { - if (!string.requiresEncode(pos, limit)) { - this.append(string, pos, limit) - return true - } - - this.append(PREFIX_STRING) - - val input = string.codePoints(pos, limit) - - // Copy all the basic code points to the output. - var b = 0 - for (codePoint in input) { - if (codePoint < INITIAL_N) { - this.append(codePoint.toChar()) - b++ - } - } - - // Copy a delimiter if any basic code points were emitted. - if (b > 0) this.append('-') - - var n = INITIAL_N - var delta = 0 - var bias = INITIAL_BIAS - var h = b - while (h < input.size) { - val m = input.minBy { if (it >= n) it else Int.MAX_VALUE } - - val increment = (m - n) * (h + 1) - if (delta > Int.MAX_VALUE - increment) return false // Prevent overflow. - delta += increment - - n = m - - for (c in input) { - if (c < n) { - if (delta == Int.MAX_VALUE) return false // Prevent overflow. - delta++ - } else if (c == n) { - var q = delta - - for (k in BASE until Int.MAX_VALUE step BASE) { - val t = - when { - k <= bias -> TMIN - k >= bias + TMAX -> TMAX - else -> k - bias - } - if (q < t) break - this.append((t + ((q - t) % (BASE - t))).punycodeDigit) - q = (q - t) / (BASE - t) - } - - this.append(q.punycodeDigit) - bias = adapt(delta, h + 1, h == b) - delta = 0 - h++ - } - } - delta++ - n++ - } - - return true - } - - /** - * Converts a single label from Punycode to Unicode. - * - * @return true if the range of [string] from [pos] to [limit] was valid and decoded successfully. - * Otherwise, the decoding failed. - */ - @Suppress( - "detekt:CyclomaticComplexMethod", - "detekt:ReturnCount", - "detekt:LongMethod", - ) - private fun StringBuilder.decodeLabel( - string: String, - pos: Int, - limit: Int, - ): Boolean { - if (!string.regionMatches(pos, PREFIX_STRING, 0, PREFIX_SIZE, ignoreCase = true)) { - append(string, pos, limit) - return true - } - - val originalPos = length - - @Suppress("NAME_SHADOWING") - var pos = pos + PREFIX_SIZE // 'xn--'.size. - - var codePoints = 0 - // consume all code points before the last delimiter (if there is one) - // and copy them to output, fail on any non-basic code point - val lastDelimiter = string.lastIndexOf('-', limit) - if (lastDelimiter >= pos) { - while (pos < lastDelimiter) { - when (val codePoint = string[pos++]) { - in 'a'..'z', in 'A'..'Z', in '0'..'9', '-' -> { - if (!insertCodePoint(if (isEmpty()) 0 else length, codePoint.code)) { - return false - } - codePoints += 1 - } - else -> return false // Malformed. - } - } - pos++ // Consume '-'. - } - - var n = INITIAL_N - var i = 0 - var bias = INITIAL_BIAS - - while (pos < limit) { - val oldi = i - var w = 1 - for (k in BASE until Int.MAX_VALUE step BASE) { - if (pos == limit) return false // Malformed. - val c = string[pos++] - val digit = - when (c) { - in 'a'..'z' -> c - 'a' - in 'A'..'Z' -> c - 'A' - in '0'..'9' -> c - '0' + 26 - else -> return false // Malformed. - } - val deltaI = digit * w - if (i > Int.MAX_VALUE - deltaI) return false // Prevent overflow. - i += deltaI - val t = - when { - k <= bias -> TMIN - k >= bias + TMAX -> TMAX - else -> k - bias - } - if (digit < t) break - val scaleW = BASE - t - if (w > Int.MAX_VALUE / scaleW) return false // Prevent overflow. - w *= scaleW - } - bias = adapt(i - oldi, codePoints + 1, oldi == 0) - val deltaN = i / (codePoints + 1) - if (n > Int.MAX_VALUE - deltaN) return false // Prevent overflow. - n += deltaN - i %= (codePoints + 1) - - if (n > MAX_CODE_POINT) return false // Not a valid code point. - - if (!insertCodePoint(originalPos + i, n)) { - return false - } - codePoints += 1 - - i++ - } - - return true - } - - /** Returns a new bias. */ - private fun adapt( - delta: Int, - numpoints: Int, - first: Boolean, - ): Int { - var newDelta = - when { - first -> delta / DAMP - else -> delta / 2 - } - newDelta += (newDelta / numpoints) - var k = 0 - while (newDelta > ((BASE - TMIN) * TMAX) / 2) { - newDelta /= (BASE - TMIN) - k += BASE - } - return k + (((BASE - TMIN + 1) * newDelta) / (newDelta + SKEW)) - } - - /** - * Function insert a code point to the specified index. - * - * The logic was taken from JVM `StringBuilder.appendCodePoint` method - * - * @return `false` if [codePoint] is invalid - */ - private fun StringBuilder.insertCodePoint( - index: Int, - codePoint: Int, - ): Boolean { - when { - isBMPCodePoint(codePoint) -> - insert(index, codePoint.toChar()) - isValidCodePoint(codePoint) -> { - insert(index, codePoint.lowSurrogate()) - insert(index, codePoint.highSurrogate()) - } - else -> return false - } - return true - } - - private fun isBMPCodePoint(codePoint: Int): Boolean = codePoint shr 16 == 0 - - private fun isValidCodePoint(codePoint: Int): Boolean { - val plane = codePoint ushr 16 - return plane < ((MAX_CODE_POINT + 1) ushr 16) - } - - private fun Int.lowSurrogate(): Char = ((this and 0x3ff) + Char.MIN_LOW_SURROGATE.code).toChar() - - private fun Int.highSurrogate(): Char = - ((this shr 10) + (Char.MIN_HIGH_SURROGATE.code - (MIN_SUPPLEMENTARY_CODE_POINT shr 10))).toChar() - - private fun String.requiresEncode( - pos: Int, - limit: Int, - ): Boolean { - for (i in pos until limit) { - if (this[i].code >= INITIAL_N) return true - } - return false - } - - private fun String.codePoints( - pos: Int, - limit: Int, - ): List { - val result = mutableListOf() - var i = pos - while (i < limit) { - val c = this[i] - result += - when { - c.isSurrogate() -> { - val low = (if (i + 1 < limit) this[i + 1] else '\u0000') - if (c.isLowSurrogate() || !low.isLowSurrogate()) { - '?'.code - } else { - i++ - 0x010000 + (c.code and 0x03ff shl 10 or (low.code and 0x03ff)) - } - } - - else -> c.code - } - i++ - } - return result - } - - private val Int.punycodeDigit: Char - get() = - when { - this < 26 -> this + 'a'.code - this < 36 -> (this - 26) + '0'.code - else -> error("unexpected digit: $this") - }.toChar() -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/ElementEqualityUtil.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/ElementEqualityUtil.kt deleted file mode 100644 index 1fee50ee..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/ElementEqualityUtil.kt +++ /dev/null @@ -1,94 +0,0 @@ -package io.github.optimumcode.json.schema.internal.util - -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.ObjectElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.github.optimumcode.json.schema.model.getValue - -internal fun areEqual( - first: AbstractElement, - second: AbstractElement, -): Boolean { - if (areDifferentInstances(first, second)) { - return false - } - return when (first) { - is ObjectElement -> areEqualObjects(first, second as ObjectElement) - is ArrayElement -> areEqualArrays(first, second as ArrayElement) - is PrimitiveElement -> areEqualPrimitives(first, second as PrimitiveElement) - } -} - -internal fun areDifferentInstances( - left: AbstractElement, - right: AbstractElement, -): Boolean = - when { - left is PrimitiveElement && right is PrimitiveElement -> false - left is ArrayElement && right is ArrayElement -> false - left is ObjectElement && right is ObjectElement -> false - else -> true - } - -internal fun areEqualPrimitives( - first: PrimitiveElement, - second: PrimitiveElement, -): Boolean { - if (first.isNull && second.isNull) { - return true - } - if (first.isString != second.isString) { - return false - } - return if (first.isString) { - first.content == second.content - } else { - when { - first.isNull || second.isNull -> false - // probably content should be compared ignoring the case - YAML allows different values for boolean - first.isBoolean || second.isBoolean -> first.content == second.content - else -> compareAsNumbers(first, second) - } - } -} - -private fun compareAsNumbers( - first: PrimitiveElement, - second: PrimitiveElement, -): Boolean { - return numberParts(first) == numberParts(second) -} - -internal fun areEqualArrays( - first: ArrayElement, - second: ArrayElement, -): Boolean { - if (first.size != second.size) { - return false - } - for (i in 0 until first.size) { - if (!areEqual(first[i], second[i])) { - return false - } - } - return true -} - -internal fun areEqualObjects( - first: ObjectElement, - second: ObjectElement, -): Boolean { - if (first.size != second.size) { - return false - } - if (first.keys != second.keys) { - return false - } - for (key in first.keys) { - if (!areEqual(first.getValue(key), second.getValue(key))) { - return false - } - } - return true -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/NumberParts.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/NumberParts.kt deleted file mode 100644 index 7481b1a2..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/NumberParts.kt +++ /dev/null @@ -1,76 +0,0 @@ -package io.github.optimumcode.json.schema.internal.util - -import io.github.optimumcode.json.schema.model.PrimitiveElement -import kotlin.math.absoluteValue - -internal data class NumberParts( - val integer: Long, - val fractional: Long, - val precision: Int, -) - -internal fun parseNumberParts(element: PrimitiveElement): NumberParts? { - return if (element.isString || element.isNull || element.isBoolean) { - null - } else { - numberParts(element) - } -} - -private const val E_SMALL_CHAR: Char = 'e' -private const val E_BIG_CHAR: Char = 'E' -private const val TEN: Double = 10.0 - -internal val PrimitiveElement.number: Number? - get() = longOrNull ?: doubleOrNull - -/** - * This function should be used only if you are certain that the [element] is a number - */ -@Suppress("detekt:ForbiddenComment") -// FIXME: if we add support for formats other then JSON we should handle +Inf, -Inf and NaN values correctly -internal fun numberParts(element: PrimitiveElement): NumberParts { - if (element.content.run { contains(E_SMALL_CHAR) || contains(E_BIG_CHAR) }) { - val number = requireNotNull(element.number) { "element '${element.content}' is not a number" } - return number.toDouble().run { - var precision = 0 - var fractionalPart = rem(1.0).absoluteValue - while (fractionalPart % 1.0 > 0) { - fractionalPart *= TEN - precision += 1 - } - NumberParts(toLong(), fractionalPart.toLong(), precision) - } - } - val integerPart = element.content.substringBefore('.') - return if (integerPart == element.content) { - NumberParts( - integerPart.toLong(), - 0L, - 0, - ) - } else { - val fractionalPart = element.content.substring(integerPart.length + 1) - var lastNotZero = fractionalPart.length - 1 - for (i in (fractionalPart.length - 1) downTo 0) { - if (fractionalPart[i] != '0') { - break - } - lastNotZero -= 1 - } - val fractionalSize = lastNotZero + 1 - NumberParts( - integerPart.toLong(), - fractionalPart.substring(startIndex = 0, endIndex = fractionalSize) - .takeIf { it.isNotEmpty() } - ?.toLong() ?: 0L, - fractionalSize, - ) - } -} - -internal val PrimitiveElement.integerOrNull: Int? - get() = - parseNumberParts(this)?.takeIf { - it.fractional == 0L && it.integer <= Int.MAX_VALUE - }?.integer?.toInt() \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/SchemaUtil.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/SchemaUtil.kt deleted file mode 100644 index 0e6e8f13..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/SchemaUtil.kt +++ /dev/null @@ -1,13 +0,0 @@ -package io.github.optimumcode.json.schema.internal.util - -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonPrimitive - -internal fun JsonObject.getString(property: String): String? { - val element = get(property) ?: return null - require(element is JsonPrimitive && element.isString) { "$property must be a string" } - return element.content -} - -internal fun JsonObject.getStringRequired(property: String): String = - requireNotNull(getString(property)) { "$property must be set" } \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/UnicodeUtil.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/UnicodeUtil.kt deleted file mode 100644 index 06e12f90..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/util/UnicodeUtil.kt +++ /dev/null @@ -1,55 +0,0 @@ -package io.github.optimumcode.json.schema.internal.util - -import de.cketti.codepoints.CodePoints - -internal fun CharSequence.codePointCount(): Int { - val endIndex = length - var index = 0 - var count = 0 - while (index < endIndex) { - val firstChar = this[index] - index++ - if (firstChar.isHighSurrogate() && index < endIndex) { - val nextChar = this[index] - if (nextChar.isLowSurrogate()) { - index++ - } - } - - count++ - } - - return count -} - -internal inline fun CharSequence.forEachCodePointIndexed( - startFrom: Int = 0, - block: (index: Int, codePoint: Int) -> Unit, -) { - val str = this - val endIndex = length - var index = startFrom - while (index < endIndex) { - val startIndex = index - val firstChar = str[index] - index++ - if (firstChar.isHighSurrogate() && index < endIndex) { - val nextChar = str[index] - if (nextChar.isLowSurrogate()) { - block(index, CodePoints.toCodePoint(firstChar, nextChar)) - index++ - continue - } - } - block(startIndex, firstChar.code) - } -} - -internal fun CharSequence.allCodepoints(condition: (Int) -> Boolean): Boolean { - forEachCodePointIndexed { _, codePoint -> - if (!condition(codePoint)) { - return false - } - } - return true -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft201909.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft201909.kt deleted file mode 100644 index 7350407e..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft201909.kt +++ /dev/null @@ -1,335 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wellknown - -internal enum class Draft201909(val content: String) { - DRAFT201909_CORE_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/meta/core", - "${"$"}recursiveAnchor": true, - - "title": "Core vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "${"$"}id": { - "type": "string", - "format": "uri-reference", - "${"$"}comment": "Non-empty fragments not allowed.", - "pattern": "^[^#]*#?${'$'}" - }, - "${"$"}schema": { - "type": "string", - "format": "uri" - }, - "${"$"}anchor": { - "type": "string", - "pattern": "^[A-Za-z][-A-Za-z0-9.:_]*${'$'}" - }, - "${"$"}ref": { - "type": "string", - "format": "uri-reference" - }, - "${"$"}recursiveRef": { - "type": "string", - "format": "uri-reference" - }, - "${"$"}recursiveAnchor": { - "type": "boolean", - "default": false - }, - "${"$"}vocabulary": { - "type": "object", - "propertyNames": { - "type": "string", - "format": "uri" - }, - "additionalProperties": { - "type": "boolean" - } - }, - "${"$"}comment": { - "type": "string" - }, - "${"$"}defs": { - "type": "object", - "additionalProperties": { "${"$"}recursiveRef": "#" }, - "default": {} - } - } -} -""", - ), - DRAFT201909_APPLICATOR_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/meta/applicator", - "${"$"}recursiveAnchor": true, - - "title": "Applicator vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "additionalItems": { "${"$"}recursiveRef": "#" }, - "unevaluatedItems": { "${"$"}recursiveRef": "#" }, - "items": { - "anyOf": [ - { "${"$"}recursiveRef": "#" }, - { "${"$"}ref": "#/${"$"}defs/schemaArray" } - ] - }, - "contains": { "${"$"}recursiveRef": "#" }, - "additionalProperties": { "${"$"}recursiveRef": "#" }, - "unevaluatedProperties": { "${"$"}recursiveRef": "#" }, - "properties": { - "type": "object", - "additionalProperties": { "${"$"}recursiveRef": "#" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "${"$"}recursiveRef": "#" }, - "propertyNames": { "format": "regex" }, - "default": {} - }, - "dependentSchemas": { - "type": "object", - "additionalProperties": { - "${"$"}recursiveRef": "#" - } - }, - "propertyNames": { "${"$"}recursiveRef": "#" }, - "if": { "${"$"}recursiveRef": "#" }, - "then": { "${"$"}recursiveRef": "#" }, - "else": { "${"$"}recursiveRef": "#" }, - "allOf": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "anyOf": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "oneOf": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "not": { "${"$"}recursiveRef": "#" } - }, - "${"$"}defs": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "${"$"}recursiveRef": "#" } - } - } -} -""", - ), - DRAFT201909_VALIDATION_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/meta/validation", - "${"$"}recursiveAnchor": true, - - "title": "Validation vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minLength": { "${"$"}ref": "#/${"$"}defs/nonNegativeIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "maxItems": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minItems": { "${"$"}ref": "#/${"$"}defs/nonNegativeIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxContains": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minContains": { - "${"$"}ref": "#/${"$"}defs/nonNegativeInteger", - "default": 1 - }, - "maxProperties": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minProperties": { "${"$"}ref": "#/${"$"}defs/nonNegativeIntegerDefault0" }, - "required": { "${"$"}ref": "#/${"$"}defs/stringArray" }, - "dependentRequired": { - "type": "object", - "additionalProperties": { - "${"$"}ref": "#/${"$"}defs/stringArray" - } - }, - "const": true, - "enum": { - "type": "array", - "items": true - }, - "type": { - "anyOf": [ - { "${"$"}ref": "#/${"$"}defs/simpleTypes" }, - { - "type": "array", - "items": { "${"$"}ref": "#/${"$"}defs/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - } - }, - "${"$"}defs": { - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "${"$"}ref": "#/${"$"}defs/nonNegativeInteger", - "default": 0 - }, - "simpleTypes": { - "enum": [ - "array", - "boolean", - "integer", - "null", - "number", - "object", - "string" - ] - }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "uniqueItems": true, - "default": [] - } - } -} -""", - ), - DRAFT201909_FORMAT_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/meta/format", - "${"$"}recursiveAnchor": true, - - "title": "Format vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "format": { "type": "string" } - } -} -""", - ), - DRAFT201909_CONTENT_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/meta/content", - "${"$"}recursiveAnchor": true, - - "title": "Content vocabulary meta-schema", - - "type": ["object", "boolean"], - "properties": { - "contentMediaType": { "type": "string" }, - "contentEncoding": { "type": "string" }, - "contentSchema": { "${"$"}recursiveRef": "#" } - } -} -""", - ), - DRAFT201909_META_DATA_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/meta/meta-data", - "${"$"}recursiveAnchor": true, - - "title": "Meta-data vocabulary meta-schema", - - "type": ["object", "boolean"], - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": true, - "deprecated": { - "type": "boolean", - "default": false - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "examples": { - "type": "array", - "items": true - } - } -} -""", - ), - DRAFT201909_SCHEMA( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2019-09/schema", - "${"$"}id": "https://json-schema.org/draft/2019-09/schema", - "${"$"}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": true, - "https://json-schema.org/draft/2019-09/vocab/validation": true, - "https://json-schema.org/draft/2019-09/vocab/meta-data": true, - "https://json-schema.org/draft/2019-09/vocab/format": false, - "https://json-schema.org/draft/2019-09/vocab/content": true - }, - "${"$"}recursiveAnchor": true, - - "title": "Core and Validation specifications meta-schema", - "allOf": [ - {"${"$"}ref": "meta/core"}, - {"${"$"}ref": "meta/applicator"}, - {"${"$"}ref": "meta/validation"}, - {"${"$"}ref": "meta/meta-data"}, - {"${"$"}ref": "meta/format"}, - {"${"$"}ref": "meta/content"} - ], - "type": ["object", "boolean"], - "properties": { - "definitions": { - "${"$"}comment": "While no longer an official keyword as it is replaced by ${"$"}defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.", - "type": "object", - "additionalProperties": { "${"$"}recursiveRef": "#" }, - "default": {} - }, - "dependencies": { - "${"$"}comment": "\"dependencies\" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to \"dependentSchemas\" and \"dependentRequired\"", - "type": "object", - "additionalProperties": { - "anyOf": [ - { "${"$"}recursiveRef": "#" }, - { "${"$"}ref": "meta/validation#/${"$"}defs/stringArray" } - ] - } - } - } -} -""", - ), -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft202012.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft202012.kt deleted file mode 100644 index 2bb4b138..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft202012.kt +++ /dev/null @@ -1,368 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wellknown - -internal enum class Draft202012(val content: String) { - DRAFT202012_CORE_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/core", - "${"$"}dynamicAnchor": "meta", - - "title": "Core vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "${"$"}id": { - "${"$"}ref": "#/${"$"}defs/uriReferenceString", - "${"$"}comment": "Non-empty fragments not allowed.", - "pattern": "^[^#]*#?${'$'}" - }, - "${"$"}schema": { "${"$"}ref": "#/${"$"}defs/uriString" }, - "${"$"}ref": { "${"$"}ref": "#/${"$"}defs/uriReferenceString" }, - "${"$"}anchor": { "${"$"}ref": "#/${"$"}defs/anchorString" }, - "${"$"}dynamicRef": { "${"$"}ref": "#/${"$"}defs/uriReferenceString" }, - "${"$"}dynamicAnchor": { "${"$"}ref": "#/${"$"}defs/anchorString" }, - "${"$"}vocabulary": { - "type": "object", - "propertyNames": { "${"$"}ref": "#/${"$"}defs/uriString" }, - "additionalProperties": { - "type": "boolean" - } - }, - "${"$"}comment": { - "type": "string" - }, - "${"$"}defs": { - "type": "object", - "additionalProperties": { "${"$"}dynamicRef": "#meta" } - } - }, - "${"$"}defs": { - "anchorString": { - "type": "string", - "pattern": "^[A-Za-z_][-A-Za-z0-9._]*${'$'}" - }, - "uriString": { - "type": "string", - "format": "uri" - }, - "uriReferenceString": { - "type": "string", - "format": "uri-reference" - } - } -} -""", - ), - DRAFT202012_APPLICATOR_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/applicator", - "${"$"}dynamicAnchor": "meta", - - "title": "Applicator vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "prefixItems": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "items": { "${"$"}dynamicRef": "#meta" }, - "contains": { "${"$"}dynamicRef": "#meta" }, - "additionalProperties": { "${"$"}dynamicRef": "#meta" }, - "properties": { - "type": "object", - "additionalProperties": { "${"$"}dynamicRef": "#meta" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "${"$"}dynamicRef": "#meta" }, - "propertyNames": { "format": "regex" }, - "default": {} - }, - "dependentSchemas": { - "type": "object", - "additionalProperties": { "${"$"}dynamicRef": "#meta" }, - "default": {} - }, - "propertyNames": { "${"$"}dynamicRef": "#meta" }, - "if": { "${"$"}dynamicRef": "#meta" }, - "then": { "${"$"}dynamicRef": "#meta" }, - "else": { "${"$"}dynamicRef": "#meta" }, - "allOf": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "anyOf": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "oneOf": { "${"$"}ref": "#/${"$"}defs/schemaArray" }, - "not": { "${"$"}dynamicRef": "#meta" } - }, - "${"$"}defs": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "${"$"}dynamicRef": "#meta" } - } - } -} -""", - ), - DRAFT202012_VALIDATION_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/validation", - "${"$"}dynamicAnchor": "meta", - - "title": "Validation vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "type": { - "anyOf": [ - { "${"$"}ref": "#/${"$"}defs/simpleTypes" }, - { - "type": "array", - "items": { "${"$"}ref": "#/${"$"}defs/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "const": true, - "enum": { - "type": "array", - "items": true - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minLength": { "${"$"}ref": "#/${"$"}defs/nonNegativeIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "maxItems": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minItems": { "${"$"}ref": "#/${"$"}defs/nonNegativeIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxContains": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minContains": { - "${"$"}ref": "#/${"$"}defs/nonNegativeInteger", - "default": 1 - }, - "maxProperties": { "${"$"}ref": "#/${"$"}defs/nonNegativeInteger" }, - "minProperties": { "${"$"}ref": "#/${"$"}defs/nonNegativeIntegerDefault0" }, - "required": { "${"$"}ref": "#/${"$"}defs/stringArray" }, - "dependentRequired": { - "type": "object", - "additionalProperties": { - "${"$"}ref": "#/${"$"}defs/stringArray" - } - } - }, - "${"$"}defs": { - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "${"$"}ref": "#/${"$"}defs/nonNegativeInteger", - "default": 0 - }, - "simpleTypes": { - "enum": [ - "array", - "boolean", - "integer", - "null", - "number", - "object", - "string" - ] - }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "uniqueItems": true, - "default": [] - } - } -} -""", - ), - DRAFT202012_FORMAT_ANNOTATION_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/format-annotation", - "${"$"}dynamicAnchor": "meta", - - "title": "Format vocabulary meta-schema for annotation results", - "type": ["object", "boolean"], - "properties": { - "format": { "type": "string" } - } -} -""", - ), - DRAFT202012_FORMAT_ASSERTION_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/format-assertion", - "${"$"}dynamicAnchor": "meta", - - "title": "Format vocabulary meta-schema for assertion results", - "type": ["object", "boolean"], - "properties": { - "format": { "type": "string" } - } -} -""", - ), - DRAFT202012_CONTENT_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/content", - "${"$"}dynamicAnchor": "meta", - - "title": "Content vocabulary meta-schema", - - "type": ["object", "boolean"], - "properties": { - "contentEncoding": { "type": "string" }, - "contentMediaType": { "type": "string" }, - "contentSchema": { "${"$"}dynamicRef": "#meta" } - } -} -""", - ), - DRAFT202012_META_DATA_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/meta-data", - "${"$"}dynamicAnchor": "meta", - - "title": "Meta-data vocabulary meta-schema", - - "type": ["object", "boolean"], - "properties": { - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": true, - "deprecated": { - "type": "boolean", - "default": false - }, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "examples": { - "type": "array", - "items": true - } - } -} -""", - ), - DRAFT202012_UNEVALUATED_VOCABULARY( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/meta/unevaluated", - "${"$"}dynamicAnchor": "meta", - - "title": "Unevaluated applicator vocabulary meta-schema", - "type": ["object", "boolean"], - "properties": { - "unevaluatedItems": { "${"$"}dynamicRef": "#meta" }, - "unevaluatedProperties": { "${"$"}dynamicRef": "#meta" } - } -} -""", - ), - DRAFT202012_SCHEMA( - """ -{ - "${"$"}schema": "https://json-schema.org/draft/2020-12/schema", - "${"$"}id": "https://json-schema.org/draft/2020-12/schema", - "${"$"}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": true, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, - "https://json-schema.org/draft/2020-12/vocab/validation": true, - "https://json-schema.org/draft/2020-12/vocab/meta-data": true, - "https://json-schema.org/draft/2020-12/vocab/format-annotation": true, - "https://json-schema.org/draft/2020-12/vocab/content": true - }, - "${"$"}dynamicAnchor": "meta", - - "title": "Core and Validation specifications meta-schema", - "allOf": [ - {"${"$"}ref": "meta/core"}, - {"${"$"}ref": "meta/applicator"}, - {"${"$"}ref": "meta/unevaluated"}, - {"${"$"}ref": "meta/validation"}, - {"${"$"}ref": "meta/meta-data"}, - {"${"$"}ref": "meta/format-annotation"}, - {"${"$"}ref": "meta/content"} - ], - "type": ["object", "boolean"], - "${"$"}comment": "This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.", - "properties": { - "definitions": { - "${"$"}comment": "\"definitions\" has been replaced by \"${"$"}defs\".", - "type": "object", - "additionalProperties": { "${"$"}dynamicRef": "#meta" }, - "deprecated": true, - "default": {} - }, - "dependencies": { - "${"$"}comment": "\"dependencies\" has been split and replaced by \"dependentSchemas\" and \"dependentRequired\" in order to serve their differing semantics.", - "type": "object", - "additionalProperties": { - "anyOf": [ - { "${"$"}dynamicRef": "#meta" }, - { "${"$"}ref": "meta/validation#/${"$"}defs/stringArray" } - ] - }, - "deprecated": true, - "default": {} - }, - "${"$"}recursiveAnchor": { - "${"$"}comment": "\"${"$"}recursiveAnchor\" has been replaced by \"${"$"}dynamicAnchor\".", - "${"$"}ref": "meta/core#/${"$"}defs/anchorString", - "deprecated": true - }, - "${"$"}recursiveRef": { - "${"$"}comment": "\"${"$"}recursiveRef\" has been replaced by \"${"$"}dynamicRef\".", - "${"$"}ref": "meta/core#/${"$"}defs/uriReferenceString", - "deprecated": true - } - } -} -""", - ), -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft4.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft4.kt deleted file mode 100644 index def15651..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft4.kt +++ /dev/null @@ -1,159 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wellknown - -internal enum class Draft4( - val content: String, -) { - SCHEMA( -""" -{ - "id": "http://json-schema.org/draft-04/schema#", - "${"$"}schema": "http://json-schema.org/draft-04/schema#", - "description": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "${"$"}ref": "#" } - }, - "positiveInteger": { - "type": "integer", - "minimum": 0 - }, - "positiveIntegerDefault0": { - "allOf": [ { "${"$"}ref": "#/definitions/positiveInteger" }, { "default": 0 } ] - }, - "simpleTypes": { - "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] - }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "minItems": 1, - "uniqueItems": true - } - }, - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "${"$"}schema": { - "type": "string" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": {}, - "multipleOf": { - "type": "number", - "minimum": 0, - "exclusiveMinimum": true - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "boolean", - "default": false - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "boolean", - "default": false - }, - "maxLength": { "${"$"}ref": "#/definitions/positiveInteger" }, - "minLength": { "${"$"}ref": "#/definitions/positiveIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { - "anyOf": [ - { "type": "boolean" }, - { "${"$"}ref": "#" } - ], - "default": {} - }, - "items": { - "anyOf": [ - { "${"$"}ref": "#" }, - { "${"$"}ref": "#/definitions/schemaArray" } - ], - "default": {} - }, - "maxItems": { "${"$"}ref": "#/definitions/positiveInteger" }, - "minItems": { "${"$"}ref": "#/definitions/positiveIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "maxProperties": { "${"$"}ref": "#/definitions/positiveInteger" }, - "minProperties": { "${"$"}ref": "#/definitions/positiveIntegerDefault0" }, - "required": { "${"$"}ref": "#/definitions/stringArray" }, - "additionalProperties": { - "anyOf": [ - { "type": "boolean" }, - { "${"$"}ref": "#" } - ], - "default": {} - }, - "definitions": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "properties": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { "${"$"}ref": "#" }, - { "${"$"}ref": "#/definitions/stringArray" } - ] - } - }, - "enum": { - "type": "array", - "minItems": 1, - "uniqueItems": true - }, - "type": { - "anyOf": [ - { "${"$"}ref": "#/definitions/simpleTypes" }, - { - "type": "array", - "items": { "${"$"}ref": "#/definitions/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "format": { "type": "string" }, - "allOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "anyOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "oneOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "not": { "${"$"}ref": "#" } - }, - "dependencies": { - "exclusiveMaximum": [ "maximum" ], - "exclusiveMinimum": [ "minimum" ] - }, - "default": {} -} -""", - ), -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft6.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft6.kt deleted file mode 100644 index 80044ed8..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft6.kt +++ /dev/null @@ -1,165 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wellknown - -internal enum class Draft6( - val content: String, -) { - SCHEMA( -""" -{ - "${"$"}schema": "http://json-schema.org/draft-06/schema#", - "${"$"}id": "http://json-schema.org/draft-06/schema#", - "title": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "${"$"}ref": "#" } - }, - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "allOf": [ - { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - { "default": 0 } - ] - }, - "simpleTypes": { - "enum": [ - "array", - "boolean", - "integer", - "null", - "number", - "object", - "string" - ] - }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "uniqueItems": true, - "default": [] - } - }, - "type": ["object", "boolean"], - "properties": { - "${"$"}id": { - "type": "string", - "format": "uri-reference" - }, - "${"$"}schema": { - "type": "string", - "format": "uri" - }, - "${"$"}ref": { - "type": "string", - "format": "uri-reference" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": {}, - "examples": { - "type": "array", - "items": {} - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - "minLength": { "${"$"}ref": "#/definitions/nonNegativeIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { "${"$"}ref": "#" }, - "items": { - "anyOf": [ - { "${"$"}ref": "#" }, - { "${"$"}ref": "#/definitions/schemaArray" } - ], - "default": {} - }, - "maxItems": { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - "minItems": { "${"$"}ref": "#/definitions/nonNegativeIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "contains": { "${"$"}ref": "#" }, - "maxProperties": { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - "minProperties": { "${"$"}ref": "#/definitions/nonNegativeIntegerDefault0" }, - "required": { "${"$"}ref": "#/definitions/stringArray" }, - "additionalProperties": { "${"$"}ref": "#" }, - "definitions": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "properties": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "propertyNames": { "format": "regex" }, - "default": {} - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { "${"$"}ref": "#" }, - { "${"$"}ref": "#/definitions/stringArray" } - ] - } - }, - "propertyNames": { "${"$"}ref": "#" }, - "const": {}, - "enum": { - "type": "array", - "minItems": 1, - "uniqueItems": true - }, - "type": { - "anyOf": [ - { "${"$"}ref": "#/definitions/simpleTypes" }, - { - "type": "array", - "items": { "${"$"}ref": "#/definitions/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "format": { "type": "string" }, - "allOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "anyOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "oneOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "not": { "${"$"}ref": "#" } - }, - "default": {} -} -""", - ), -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft7.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft7.kt deleted file mode 100644 index 50de6e16..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wellknown/Draft7.kt +++ /dev/null @@ -1,180 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wellknown - -internal enum class Draft7(val content: String) { - SCHEMA( -""" -{ - "${"$"}schema": "http://json-schema.org/draft-07/schema#", - "${"$"}id": "http://json-schema.org/draft-07/schema#", - "title": "Core schema meta-schema", - "definitions": { - "schemaArray": { - "type": "array", - "minItems": 1, - "items": { "${"$"}ref": "#" } - }, - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "allOf": [ - { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - { "default": 0 } - ] - }, - "simpleTypes": { - "enum": [ - "array", - "boolean", - "integer", - "null", - "number", - "object", - "string" - ] - }, - "stringArray": { - "type": "array", - "items": { "type": "string" }, - "uniqueItems": true, - "default": [] - } - }, - "type": ["object", "boolean"], - "properties": { - "${"$"}id": { - "type": "string", - "format": "uri-reference" - }, - "${"$"}schema": { - "type": "string", - "format": "uri" - }, - "${"$"}ref": { - "type": "string", - "format": "uri-reference" - }, - "${"$"}comment": { - "type": "string" - }, - "title": { - "type": "string" - }, - "description": { - "type": "string" - }, - "default": true, - "readOnly": { - "type": "boolean", - "default": false - }, - "writeOnly": { - "type": "boolean", - "default": false - }, - "examples": { - "type": "array", - "items": true - }, - "multipleOf": { - "type": "number", - "exclusiveMinimum": 0 - }, - "maximum": { - "type": "number" - }, - "exclusiveMaximum": { - "type": "number" - }, - "minimum": { - "type": "number" - }, - "exclusiveMinimum": { - "type": "number" - }, - "maxLength": { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - "minLength": { "${"$"}ref": "#/definitions/nonNegativeIntegerDefault0" }, - "pattern": { - "type": "string", - "format": "regex" - }, - "additionalItems": { "${"$"}ref": "#" }, - "items": { - "anyOf": [ - { "${"$"}ref": "#" }, - { "${"$"}ref": "#/definitions/schemaArray" } - ], - "default": true - }, - "maxItems": { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - "minItems": { "${"$"}ref": "#/definitions/nonNegativeIntegerDefault0" }, - "uniqueItems": { - "type": "boolean", - "default": false - }, - "contains": { "${"$"}ref": "#" }, - "maxProperties": { "${"$"}ref": "#/definitions/nonNegativeInteger" }, - "minProperties": { "${"$"}ref": "#/definitions/nonNegativeIntegerDefault0" }, - "required": { "${"$"}ref": "#/definitions/stringArray" }, - "additionalProperties": { "${"$"}ref": "#" }, - "definitions": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "properties": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "default": {} - }, - "patternProperties": { - "type": "object", - "additionalProperties": { "${"$"}ref": "#" }, - "propertyNames": { "format": "regex" }, - "default": {} - }, - "dependencies": { - "type": "object", - "additionalProperties": { - "anyOf": [ - { "${"$"}ref": "#" }, - { "${"$"}ref": "#/definitions/stringArray" } - ] - } - }, - "propertyNames": { "${"$"}ref": "#" }, - "const": true, - "enum": { - "type": "array", - "items": true, - "minItems": 1, - "uniqueItems": true - }, - "type": { - "anyOf": [ - { "${"$"}ref": "#/definitions/simpleTypes" }, - { - "type": "array", - "items": { "${"$"}ref": "#/definitions/simpleTypes" }, - "minItems": 1, - "uniqueItems": true - } - ] - }, - "format": { "type": "string" }, - "contentMediaType": { "type": "string" }, - "contentEncoding": { "type": "string" }, - "if": { "${"$"}ref": "#" }, - "then": { "${"$"}ref": "#" }, - "else": { "${"$"}ref": "#" }, - "allOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "anyOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "oneOf": { "${"$"}ref": "#/definitions/schemaArray" }, - "not": { "${"$"}ref": "#" } - }, - "default": true -} -""", - ), -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wrapper/JsonWrappers.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wrapper/JsonWrappers.kt deleted file mode 100644 index ba5cb0bb..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/internal/wrapper/JsonWrappers.kt +++ /dev/null @@ -1,119 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wrapper - -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.ArrayElement -import io.github.optimumcode.json.schema.model.ObjectElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.booleanOrNull -import kotlinx.serialization.json.doubleOrNull -import kotlinx.serialization.json.longOrNull -import kotlin.jvm.JvmInline - -internal interface JsonWrapper { - fun unwrap(): JsonElement -} - -@JvmInline -internal value class JsonObjectWrapper( - private val obj: JsonObject, -) : ObjectElement, JsonWrapper { - override val keys: Set - get() = obj.keys - - override fun get(key: String): AbstractElement? = obj[key]?.wrap() - - override fun contains(key: String): Boolean = obj.containsKey(key) - - override val size: Int - get() = obj.size - - override fun iterator(): Iterator> = - obj - .asSequence() - .map { - it.key to it.value.wrap() - }.iterator() - - override fun unwrap(): JsonElement = obj - - override fun toString(): String = obj.toString() -} - -@JvmInline -internal value class JsonArrayWrapper( - private val array: JsonArray, -) : ArrayElement, JsonWrapper { - override fun iterator(): Iterator = array.asSequence().map { it.wrap() }.iterator() - - override fun get(index: Int): AbstractElement = array[index].wrap() - - override val size: Int - get() = array.size - - override fun toString(): String = array.toString() - - override fun unwrap(): JsonElement = array -} - -@JvmInline -internal value class JsonPrimitiveWrapper( - private val primitive: JsonPrimitive, -) : PrimitiveElement, JsonWrapper { - override val isNull: Boolean - get() = primitive is JsonNull - override val isString: Boolean - get() = primitive.isString - override val longOrNull: Long? - get() = primitive.longOrNull - override val doubleOrNull: Double? - get() = primitive.doubleOrNull - override val isBoolean: Boolean - get() = primitive.run { !isString && booleanOrNull != null } - override val isNumber: Boolean - get() = - primitive.run { - !isString && (longOrNull ?: doubleOrNull) != null - } - override val content: String - get() = primitive.content - - override fun toString(): String = primitive.toString() - - override fun unwrap(): JsonElement = primitive -} - -internal fun JsonElement.wrap(): AbstractElement = - when (this) { - is JsonObject -> JsonObjectWrapper(this) - is JsonArray -> JsonArrayWrapper(this) - is JsonPrimitive -> JsonPrimitiveWrapper(this) - } - -@JvmInline -internal value class StringWrapper( - private val value: String, -) : PrimitiveElement, JsonWrapper { - override val isNull: Boolean - get() = false - override val isString: Boolean - get() = true - override val longOrNull: Long? - get() = value.toLongOrNull() - override val doubleOrNull: Double? - get() = value.toDoubleOrNull() - override val isBoolean: Boolean - get() = false - override val isNumber: Boolean - get() = false - override val content: String - get() = value - - override fun toString(): String = value - - override fun unwrap(): JsonElement = JsonPrimitive(value) -} \ No newline at end of file diff --git a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/model/Model.kt b/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/model/Model.kt deleted file mode 100644 index 6bd8acc4..00000000 --- a/json-schema-validator/src/commonMain/kotlin/io/github/optimumcode/json/schema/model/Model.kt +++ /dev/null @@ -1,111 +0,0 @@ -package io.github.optimumcode.json.schema.model - -import io.github.optimumcode.json.schema.ExperimentalApi - -/** - * [AbstractElement] represents one of 3 elements that can be consumed and validated: - * * [ObjectElement] - corresponds to a JSON/YAML object or [Map] - * * [ArrayElement] - corresponds to a collection of [AbstractElement]s - * * [PrimitiveElement] - corresponds to a scalar value (string, number, boolean) - * - * The implementations are NOT required to be thread-safe. - */ -@ExperimentalApi -public sealed interface AbstractElement { - /** - * Implement [toString] method to provide a useful view that can be used in error message - */ - override fun toString(): String -} - -@ExperimentalApi -public interface PrimitiveElement : AbstractElement { - /** - * Returns `true` if the element is `null`. - * Otherwise, returns `false` - */ - public val isNull: Boolean - - /** - * Returns `true` if the element can be interpreted as string. - * Otherwise, returns `false` - */ - public val isString: Boolean - - /** - * Returns `true` if the element can be interpreted as a boolean. - * Otherwise, returns `false` - */ - public val isBoolean: Boolean - - /** - * Returns `true` if the element can be interpreted as a number. - * Otherwise, returns `false` - */ - public val isNumber: Boolean - - /** - * Tries to represent the element as a [Long]. - * If the element cannot be interpreted as a [Long], returns `null`. - */ - public val longOrNull: Long? - - /** - * Tries to represent the element as a [Double]. - * If the element cannot be interpreted as a [Double], returns `null`. - */ - public val doubleOrNull: Double? - - /** - * Returns the content of the element as plain string - */ - public val content: String -} - -internal val PrimitiveElement.contentOrNull: String? - get() = if (isNull) null else content - -@ExperimentalApi -public interface ObjectElement : AbstractElement, Sequence> { - /** - * Returns the set of keys defined in the [ObjectElement] - */ - public val keys: Set - - /** - * Returns an [AbstractElement] associated with the [key]. - * If the [key] does not exist returns `null` - */ - public operator fun get(key: String): AbstractElement? - - /** - * Returns `true` if the [key] exists in the [ObjectElement]. - * Otherwise, returns `false` - */ - public operator fun contains(key: String): Boolean - - /** - * Returns number of keys in the [ObjectElement] - */ - public val size: Int -} - -internal fun ObjectElement.isEmpty(): Boolean = size == 0 - -internal fun ObjectElement.getValue(key: String): AbstractElement = get(key) ?: error("property '$key' not found") - -@ExperimentalApi -public interface ArrayElement : AbstractElement, Sequence { - /** - * Returns the [AbstractElement] associated with the [index]. - */ - public operator fun get(index: Int): AbstractElement - - /** - * Returns the number of [AbstractElement]s in the collection - */ - public val size: Int -} - -internal val ArrayElement.lastIndex: Int - get() = size - 1 \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerExtensionsTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerExtensionsTest.kt deleted file mode 100644 index d25eae5e..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerExtensionsTest.kt +++ /dev/null @@ -1,212 +0,0 @@ -package io.github.optimumcode.json.pointer - -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe - -@Suppress("unused") -class JsonPointerExtensionsTest : FunSpec() { - init { - data class TestCase( - val firstArg: JsonPointer, - val secondArg: T, - val result: R, - ) - - listOf( - TestCase( - JsonPointer.ROOT, - "prop", - JsonPointer("/prop"), - ), - TestCase( - JsonPointer.ROOT, - "", - JsonPointer("/"), - ), - TestCase( - JsonPointer("/test"), - "prop", - JsonPointer("/test/prop"), - ), - TestCase( - JsonPointer("/test"), - "", - JsonPointer("/test/"), - ), - TestCase( - JsonPointer("/test"), - "tilde~field", - JsonPointer("/test/tilde~0field"), - ), - TestCase( - JsonPointer("/test"), - "slash/field", - JsonPointer("/test/slash~1field"), - ), - ).forEach { (initial, prop, result) -> - test("$initial / $prop => $result") { - (initial / prop) shouldBe result - } - } - - listOf( - TestCase( - JsonPointer.ROOT, - 0, - JsonPointer("/0"), - ), - TestCase( - JsonPointer("/test"), - 0, - JsonPointer("/test/0"), - ), - TestCase( - JsonPointer("/test/"), - 0, - JsonPointer("/test//0"), - ), - ).forEach { (initial, prop, result) -> - test("$initial [ $prop ] => $result") { - (initial[prop]) shouldBe result - } - } - - listOf( - TestCase( - JsonPointer.ROOT, - JsonPointer.ROOT, - JsonPointer.ROOT, - ), - TestCase( - JsonPointer.ROOT, - JsonPointer("/test"), - JsonPointer("/test"), - ), - TestCase( - JsonPointer("/test"), - JsonPointer.ROOT, - JsonPointer("/test"), - ), - TestCase( - JsonPointer("/test1"), - JsonPointer("/test2"), - JsonPointer("/test1/test2"), - ), - TestCase( - JsonPointer("/test1/"), - JsonPointer("/test2"), - JsonPointer("/test1//test2"), - ), - TestCase( - JsonPointer("/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/v"), - JsonPointer("/w/x/y/z"), - JsonPointer("/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/v/w/x/y/z"), - ), - ).forEach { (init, append, result) -> - test("$init + $append => $result") { - (init + append) shouldBe result - } - } - - listOf( - TestCase( - JsonPointer.ROOT, - JsonPointer.ROOT, - JsonPointer.ROOT, - ), - TestCase( - JsonPointer.ROOT, - JsonPointer("/test"), - JsonPointer("/test"), - ), - TestCase( - JsonPointer("/test"), - JsonPointer("/test/data"), - JsonPointer("/data"), - ), - TestCase( - JsonPointer("/test"), - JsonPointer("/test//data"), - JsonPointer("//data"), - ), - TestCase( - JsonPointer("/test/data"), - JsonPointer("/test"), - JsonPointer("/test"), - ), - ).forEach { (base, relativeToBase, relativePath) -> - test("relative path from '$base' to '$relativeToBase' is '$relativePath'") { - base.relative(relativeToBase) shouldBe relativePath - } - } - - listOf( - TestCase( - JsonPointer.ROOT, - JsonPointer.ROOT, - true, - ), - TestCase( - JsonPointer("/path"), - JsonPointer.ROOT, - true, - ), - TestCase( - JsonPointer.ROOT, - JsonPointer("/path"), - false, - ), - TestCase( - JsonPointer("/path/to/node"), - JsonPointer("/path"), - true, - ), - TestCase( - JsonPointer("/path"), - JsonPointer("/path"), - true, - ), - TestCase( - JsonPointer("/path"), - JsonPointer("/another"), - false, - ), - TestCase( - JsonPointer("/path"), - JsonPointer("/path/to/node"), - false, - ), - ).forEach { (primary, secondary, result) -> - test("'$primary' starts with '$secondary' => $result") { - primary.startsWith(secondary) shouldBe result - } - } - - listOf( - TestCase( - JsonPointer.ROOT, - "", - false, - ), - TestCase( - JsonPointer.ROOT, - "test", - false, - ), - TestCase( - JsonPointer("/test/path/to/node"), - "anotherPath", - false, - ), - TestCase( - JsonPointer("/test/path/to/node"), - "path", - true, - ), - ).forEach { (path, segment, result) -> - test("'$path' contains segment '$segment' => $result") { - path.contains(segment) shouldBe result - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerSerializationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerSerializationTest.kt deleted file mode 100644 index 7e60e645..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerSerializationTest.kt +++ /dev/null @@ -1,25 +0,0 @@ -package io.github.optimumcode.json.pointer - -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import kotlinx.serialization.encodeToString -import kotlinx.serialization.json.Json - -class JsonPointerSerializationTest : FunSpec() { - init { - listOf( - JsonPointer.ROOT to "", - JsonPointer("/test") to "/test", - JsonPointer("/te~0st") to "/te~0st", - JsonPointer("/te~1st") to "/te~1st", - ).forEach { (pointer, expected) -> - test("json pointer $pointer serialized") { - Json.encodeToString(pointer) shouldBe "\"$expected\"" - } - - test("json pointer $pointer deserialized") { - Json.decodeFromString(JsonPointer.serializer(), "\"$expected\"") shouldBe pointer - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerTest.kt deleted file mode 100644 index 10a25599..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerTest.kt +++ /dev/null @@ -1,163 +0,0 @@ -package io.github.optimumcode.json.pointer - -import io.kotest.assertions.asClue -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.nulls.shouldNotBeNull -import io.kotest.matchers.should -import io.kotest.matchers.shouldBe -import io.kotest.matchers.shouldNotBe -import io.kotest.matchers.string.shouldStartWith -import io.kotest.matchers.types.beOfType -import io.kotest.matchers.types.shouldBeSameInstanceAs - -@Suppress("unused") -class JsonPointerTest : FunSpec() { - init { - test("empty string results empty pointer") { - JsonPointer("") shouldBeSameInstanceAs EmptyPointer - } - test("pointer should start with /") { - val exception = shouldThrow { JsonPointer("slash") } - exception.message shouldStartWith "JSON pointer must start from /" - } - listOf( - "zero", - "01", - "10000000000", - "0a", - // more than Int.MAX - "2147483648", - ).forEach { - test("$it is not an index") { - JsonPointer("/$it").assertSegment(property = it, index = -1) - } - } - - listOf( - "0", - "1", - "256", - "2147483646", - ).forEach { - test("$it is an index") { - JsonPointer("/$it").assertSegment(property = it, index = it.toInt()) - } - } - - test("extracts segment path") { - val pointer = JsonPointer("/first/second") - assertSoftly { - pointer.assertSegment(property = "first", depth = 2) - val next = pointer.next - next shouldNotBe null - next!!.assertSegment(property = "second") - next.next shouldBe EmptyPointer - } - } - - listOf( - '/' to "~1", - '~' to "~0", - ).forEach { (actual, escaped) -> - test("parses escaped character '$escaped' as '$actual'") { - val pointer = JsonPointer("/$escaped") - pointer.assertSegment("$actual") - } - - test("parses several escaped characters '$escaped' as '$actual'") { - val pointer = JsonPointer("/${escaped}and$escaped/test") - pointer.assertSegment("${actual}and$actual", depth = 2) - pointer.next.apply { - shouldNotBe(null) - this!!.assertSegment("test") - } - } - } - - test("correctly reads ~ at the end") { - val pointer = JsonPointer("/~") - pointer.assertSegment(property = "~") - } - - test("empty segment in the end") { - val pointer = JsonPointer("/test/") - assertSoftly { - pointer.assertSegment(property = "test", depth = 2) - pointer.next - .shouldNotBeNull() - .assertSegment(property = "") - pointer.toString() shouldBe "/test/" - } - } - - test("empty segment in the beginning") { - val pointer = JsonPointer("/") - assertSoftly { - pointer.assertSegment(property = "") - pointer.next.shouldNotBeNull().shouldBe(EmptyPointer) - pointer.toString() shouldBe "/" - } - } - - test("empty segment in the middle") { - val pointer = JsonPointer("/test1//test2") - assertSoftly { - pointer.assertSegment(property = "test1", depth = 3) - var next = pointer.next.shouldNotBeNull() - next.assertSegment(property = "", depth = 2) - next = next.next.shouldNotBeNull() - next.assertSegment(property = "test2") - pointer.toString() shouldBe "/test1//test2" - } - } - - listOf( - JsonPointer.ROOT to JsonPointer("/test"), - JsonPointer("/test") to JsonPointer.ROOT, - JsonPointer("/test1") to JsonPointer("/test2"), - JsonPointer("/test/another") to JsonPointer("/test"), - JsonPointer("/test") to JsonPointer("/test/another"), - ).forEach { (a, b) -> - test("'$a' not equal '$b'") { - a shouldNotBe b - } - } - - test("negative index is not allowed") { - shouldThrow { - JsonPointer.ROOT.atIndex(-1) - }.message shouldBe "negative index: -1" - } - - test("~2 is not escaping") { - JsonPointer("/~2test") - .assertSegment("~2test") - } - - test("~ in the end is not escaping") { - JsonPointer("/~") - .assertSegment("~") - } - - test("property that starts with number does not result in index") { - JsonPointer("/1test") - .assertSegment("1test", index = -1) - } - } - - private fun JsonPointer.assertSegment( - property: String, - index: Int = -1, - depth: Int = 1, - ) { - asClue { - this should beOfType() - this as SegmentPointer - this.propertyName shouldBe property - this.index shouldBe index - this.depth shouldBe depth - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerWorkTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerWorkTest.kt deleted file mode 100644 index 14bfb39b..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/pointer/JsonPointerWorkTest.kt +++ /dev/null @@ -1,87 +0,0 @@ -package io.github.optimumcode.json.pointer - -import io.kotest.assertions.asClue -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import io.kotest.matchers.types.shouldBeSameInstanceAs -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonPointerWorkTest : FunSpec() { - init { - listOf( - buildJsonObject { - put("test", JsonPrimitive("a")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - }, - JsonPrimitive("a"), - ).forEach { - test("root pointer should match ${it::class.simpleName}") { - val element: JsonElement? = it.at(JsonPointer.ROOT) - withClue("is the same instance") { - element shouldBeSameInstanceAs it - } - } - } - - test("returns property from object") { - val jsonObject = - buildJsonObject { - put("test", JsonPrimitive("a")) - } - - jsonObject.at(JsonPointer("/test")) shouldBe JsonPrimitive("a") - } - - test("returns array element") { - val array = - buildJsonArray { - add(JsonPrimitive("a")) - } - array.at(JsonPointer("/0")) shouldBe JsonPrimitive("a") - } - - listOf( - '~' to "~0", - '/' to "~1", - ).forEach { (actual, escaped) -> - test("handles escaped charter $escaped as $actual") { - val jsonObject = - buildJsonObject { - put("name${actual}field", JsonPrimitive("a")) - put("${actual}field", JsonPrimitive("b")) - put("name$actual", JsonPrimitive("c")) - } - - assertSoftly { - JsonPointer("/name${escaped}field").asClue { - jsonObject.at(it) shouldBe JsonPrimitive("a") - } - JsonPointer("/${escaped}field").asClue { - jsonObject.at(it) shouldBe JsonPrimitive("b") - } - JsonPointer("/name$escaped").asClue { - jsonObject.at(it) shouldBe JsonPrimitive("c") - } - } - } - } - - listOf( - "", - "/test", - "/0/test", - ).forEach { - test("two pointers with path $it are equal") { - JsonPointer(it) shouldBe JsonPointer(it) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaContainsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaContainsValidationTest.kt deleted file mode 100644 index 787f33de..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaContainsValidationTest.kt +++ /dev/null @@ -1,112 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaContainsValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "contains": { - "type": "string" - } - } - """.trimIndent(), - ) - - listOf( - JsonPrimitive("test"), - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonObject { }, - ).forEach { - test("not array $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("array with expected element passes validation") { - val array = - buildJsonArray { - add(JsonPrimitive(42)) - add(JsonPrimitive(true)) - add(JsonPrimitive("test")) - add(buildJsonObject { }) - add(buildJsonArray { }) - } - - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - - listOf( - buildJsonArray { - add(JsonPrimitive(42)) - add(JsonPrimitive(true)) - add(buildJsonObject { }) - add(buildJsonArray { }) - }, - buildJsonArray { }, - ).forEach { - test("array without expected element fails validation $it") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - it.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/contains"), - objectPath = JsonPointer.ROOT, - message = "array does not contain expected element", - ), - ) - } - } - } - - listOf( - JsonPrimitive(42), - JsonPrimitive("test"), - buildJsonArray { }, - ).forEach { - test("reports $it is invalid value") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "contains": $it - } - """.trimIndent(), - ) - }.message shouldBe "contains must be a valid JSON schema" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaItemsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaItemsValidationTest.kt deleted file mode 100644 index c2850974..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaItemsValidationTest.kt +++ /dev/null @@ -1,390 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaItemsValidationTest : FunSpec() { - init { - test("true schema accepts all items") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": true - } - """.trimIndent(), - ) - val array = - buildJsonArray { - add(JsonPrimitive(42)) - add(JsonPrimitive(42.5)) - add(JsonPrimitive("test")) - add(JsonPrimitive(true)) - add(JsonNull) - add(buildJsonObject { }) - add(buildJsonArray { }) - } - - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - array.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("items applied against all items") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": { - "type": "number" - } - } - """.trimIndent(), - ) - val array = - buildJsonArray { - add(JsonPrimitive(42)) - add(JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - array.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("items array applied against items on corresponding indexes") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": [ - { - "type": "number" - }, - { - "type": "string" - } - ] - } - """.trimIndent(), - ) - val array = - buildJsonArray { - add(JsonPrimitive(42)) - add(JsonPrimitive("string")) - // should be ignored by validation - add(JsonPrimitive(true)) - add(JsonNull) - add(buildJsonObject { }) - add(buildJsonArray { }) - } - - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - array.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("single item reports error for all elements") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": { - "type": "number" - } - } - """.trimIndent(), - ) - val array = - buildJsonArray { - add(JsonPrimitive("str")) - add(JsonPrimitive(true)) - add(JsonNull) - add(buildJsonObject { }) - add(buildJsonArray { }) - } - - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - array.asClue { - val schemaPath = JsonPointer("/items/type") - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = schemaPath, - objectPath = JsonPointer("/0"), - message = "element is not a number", - ), - ValidationError( - schemaPath = schemaPath, - objectPath = JsonPointer("/1"), - message = "element is not a number", - ), - ValidationError( - schemaPath = schemaPath, - objectPath = JsonPointer("/2"), - message = "element is not a number", - ), - ValidationError( - schemaPath = schemaPath, - objectPath = JsonPointer("/3"), - message = "element is not a number", - ), - ValidationError( - schemaPath = schemaPath, - objectPath = JsonPointer("/4"), - message = "element is not a number", - ), - ) - } - } - - test("collection items reports error for elements on corresponding indexes") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": [ - { - "type": "number" - }, - { - "type": "string" - } - ] - } - """.trimIndent(), - ) - - val array = - buildJsonArray { - add(JsonPrimitive("string")) - add(JsonPrimitive(42)) - // should be ignored by validation - add(JsonPrimitive(true)) - add(JsonNull) - add(buildJsonObject { }) - add(buildJsonArray { }) - } - - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - array.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/items/0/type"), - objectPath = JsonPointer("/0"), - message = "element is not a number", - ), - ValidationError( - schemaPath = JsonPointer("/items/1/type"), - objectPath = JsonPointer("/1"), - message = "element is not a string", - ), - ) - } - } - - test("additional items ignored when item is a JSON schema") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": { - "type": "string" - }, - "additionalItems": { - "type": "number" - } - } - """.trimIndent(), - ) - - val array = - buildJsonArray { - add(JsonPrimitive("test1")) - add(JsonPrimitive("test2")) - } - - array.asClue { - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("additional items applied to all remaining elements") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": [ - { - "type": "number" - }, - { - "type": "string" - } - ], - "additionalItems": { - "type": "string" - } - } - """.trimIndent(), - ) - - val array = - buildJsonArray { - add(JsonPrimitive(42)) - add(JsonPrimitive("test")) - // invalid - add(JsonPrimitive(true)) - add(JsonNull) - add(buildJsonObject { }) - add(buildJsonArray { }) - } - - array.asClue { - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - val schemaPath = JsonPointer("/additionalItems/type") - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath, - objectPath = JsonPointer("/2"), - message = "element is not a string", - ), - ValidationError( - schemaPath, - objectPath = JsonPointer("/3"), - message = "element is not a string", - ), - ValidationError( - schemaPath, - objectPath = JsonPointer("/4"), - message = "element is not a string", - ), - ValidationError( - schemaPath, - objectPath = JsonPointer("/5"), - message = "element is not a string", - ), - ) - } - } - - test("false additional items reports any additional element") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": [ - { - "type": "string" - } - ], - "additionalItems": false - } - """.trimIndent(), - ) - - val array = - buildJsonArray { - add(JsonPrimitive("test1")) - add(JsonPrimitive("test2")) - } - - array.asClue { - val errors = mutableListOf() - val valid = schema.validate(array, errors::add) - - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/additionalItems"), - objectPath = JsonPointer("/1"), - message = "all values fail against the false schema", - ), - ) - } - } - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "items": { - "type": "string" - }, - "additionalItems": { - "type": "number" - } - } - """.trimIndent(), - ) - listOf( - JsonPrimitive("test"), - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonObject { }, - ).forEach { - test("not array $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("empty array passes validation") { - val errors = mutableListOf() - val valid = schema.validate(buildJsonArray { }, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMaxContainsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMaxContainsValidationTest.kt deleted file mode 100644 index 915f84e3..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMaxContainsValidationTest.kt +++ /dev/null @@ -1,77 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMaxContainsValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "contains": { - "type": "string" - }, - "maxContains": 2 - } - """.trimIndent(), - ).also { schema -> - test("validation passes when contains less items") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - } - val valid = schema.validate(array, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - test("validation passes when contains exact items") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - } - val valid = schema.validate(array, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - test("validation fails when contains less items") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add(JsonPrimitive("c")) - } - val valid = schema.validate(array, errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/maxContains"), - objectPath = JsonPointer.ROOT, - message = "array must contain at most 2 element(s) match the 'contains' schema but has 3", - ), - ) - } - test("not an array passes the validation") { - val errors = mutableListOf() - val obj = buildJsonObject { } - val valid = schema.validate(obj, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMaxItemsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMaxItemsValidationTest.kt deleted file mode 100644 index 151f2706..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMaxItemsValidationTest.kt +++ /dev/null @@ -1,147 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMaxItemsValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxItems": 3 - } - """.trimIndent(), - ) - - listOf( - buildJsonArray { }, - buildJsonArray { - add(JsonPrimitive("a")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add(JsonPrimitive("c")) - }, - ).forEach { - test("array with size ${it.size} passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - test("array with size 4 fails validation") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add(JsonPrimitive("c")) - add(JsonPrimitive("d")) - } - val valid = schema.validate(array, errors::add) - array.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/maxItems"), - objectPath = JsonPointer.ROOT, - message = "array length must be less or equal to 3", - ), - ) - } - } - - listOf( - JsonPrimitive("test"), - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonObject { }, - ).forEach { - test("not array $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("reports negative value") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxItems": -1 - } - """.trimIndent(), - ) - }.message shouldBe "maxItems must be a non-negative integer" - } - - listOf( - JsonPrimitive(42.5), - JsonPrimitive(Int.MAX_VALUE.toLong() + 1), - JsonPrimitive(true), - JsonNull, - ).forEach { - test("reports not valid integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxItems": $it - } - """.trimIndent(), - ) - }.message shouldBe "maxItems must be a valid integer" - } - } - - listOf( - JsonPrimitive("test"), - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("reports not integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxItems": $it - } - """.trimIndent(), - ) - }.message shouldBe "maxItems must be an integer" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMinContainsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMinContainsValidationTest.kt deleted file mode 100644 index 1f5c23d8..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMinContainsValidationTest.kt +++ /dev/null @@ -1,77 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMinContainsValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "contains": { - "type": "string" - }, - "minContains": 2 - } - """.trimIndent(), - ).also { schema -> - test("validation passes when contains more items") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add(JsonPrimitive("c")) - } - val valid = schema.validate(array, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - test("validation passes when contains exact items") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - } - val valid = schema.validate(array, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - test("validation fails when contains less items") { - val errors = mutableListOf() - val array = - buildJsonArray { - add(JsonPrimitive("a")) - } - val valid = schema.validate(array, errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/minContains"), - objectPath = JsonPointer.ROOT, - message = "array must contain at least 2 element(s) match the 'contains' schema but has 1", - ), - ) - } - test("not an array passes the validation") { - val errors = mutableListOf() - val obj = buildJsonObject { } - val valid = schema.validate(obj, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMinItemsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMinItemsValidationTest.kt deleted file mode 100644 index f82da0c0..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaMinItemsValidationTest.kt +++ /dev/null @@ -1,143 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMinItemsValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minItems": 2 - } - """.trimIndent(), - ) - - listOf( - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add(JsonPrimitive("c")) - }, - ).forEach { - test("array with size ${it.size} passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - listOf( - buildJsonArray { }, - buildJsonArray { - add(JsonPrimitive("a")) - }, - ).forEach { - test("array with size ${it.size} fails validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/minItems"), - objectPath = JsonPointer.ROOT, - message = "array length must be greater or equal to 2", - ), - ) - } - } - } - - listOf( - JsonPrimitive("test"), - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonObject { }, - ).forEach { - test("not array $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("reports negative value") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minItems": -1 - } - """.trimIndent(), - ) - }.message shouldBe "minItems must be a non-negative integer" - } - - listOf( - JsonPrimitive(42.5), - JsonPrimitive(Int.MAX_VALUE.toLong() + 1), - JsonPrimitive(true), - JsonNull, - ).forEach { - test("reports not valid integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minItems": $it - } - """.trimIndent(), - ) - }.message shouldBe "minItems must be a valid integer" - } - } - - listOf( - JsonPrimitive("test"), - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("reports not integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minItems": $it - } - """.trimIndent(), - ) - }.message shouldBe "minItems must be an integer" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaUniqueItemsValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaUniqueItemsValidationTest.kt deleted file mode 100644 index 67241559..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/array/JsonSchemaUniqueItemsValidationTest.kt +++ /dev/null @@ -1,187 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.array - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaUniqueItemsValidationTest : FunSpec() { - init { - val validationEnabled = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "uniqueItems": true - } - """.trimIndent(), - ) - - val validationDisabled = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "uniqueItems": false - } - """.trimIndent(), - ) - - listOf( - buildJsonArray { }, - buildJsonArray { - add(JsonPrimitive("a")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add( - buildJsonArray { - add(JsonPrimitive("a")) - }, - ) - }, - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("b")) - add( - buildJsonArray { - add(JsonPrimitive("a")) - }, - ) - add( - buildJsonObject { - put("test", JsonPrimitive("a")) - }, - ) - }, - ).forEach { - test("array with unique items passes enabled validation: $it") { - val errors = mutableListOf() - val valid = validationEnabled.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("array with unique items passes disabled validation: $it") { - val errors = mutableListOf() - val valid = validationDisabled.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - listOf( - buildJsonArray { - add(JsonPrimitive("a")) - add(JsonPrimitive("a")) - }, - buildJsonArray { - add( - buildJsonArray { - add(JsonPrimitive("a")) - }, - ) - add( - buildJsonArray { - add(JsonPrimitive("a")) - }, - ) - }, - buildJsonArray { - add( - buildJsonObject { - put("test", JsonPrimitive("a")) - }, - ) - add( - buildJsonObject { - put("test", JsonPrimitive("a")) - }, - ) - }, - ).forEach { array -> - test("array with duplicate items fails enabled validation: $array") { - val errors = mutableListOf() - val valid = validationEnabled.validate(array, errors::add) - array.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/uniqueItems"), - objectPath = JsonPointer.ROOT, - message = "array contains duplicate values: ${it.toSet()}", - ), - ) - } - } - - test("array with duplicate items passes disabled validation: $array") { - val errors = mutableListOf() - val valid = validationDisabled.validate(array, errors::add) - array.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - listOf( - JsonPrimitive("test"), - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonObject { }, - ).forEach { - test("not array $it passes validation") { - val errors = mutableListOf() - val valid = validationEnabled.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(42.5), - JsonPrimitive(42), - JsonPrimitive("test"), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("reports not valid boolean value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "uniqueItems": $it - } - """.trimIndent(), - ) - }.message shouldBe "uniqueItems must be a boolean" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/CollectionSchemaTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/CollectionSchemaTest.kt deleted file mode 100644 index 5e4f5edd..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/CollectionSchemaTest.kt +++ /dev/null @@ -1,48 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.condition - -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe - -fun FunSpec.testInvalidSchemaInArray(name: String) { - test("reports empty array") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "$name": [] - } - """.trimIndent(), - ) - }.message shouldBe "$name must have at least one element" - } - - test("reports not array") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "$name": {} - } - """.trimIndent(), - ) - }.message shouldBe "$name must be an array" - } - - test("reports element in array is not a valid JSON schema") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "$name": [42] - } - """.trimIndent(), - ) - }.message shouldBe "each element in $name must be a valid JSON schema" - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaAllOfValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaAllOfValidationTest.kt deleted file mode 100644 index fe2c946b..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaAllOfValidationTest.kt +++ /dev/null @@ -1,103 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -class JsonSchemaAllOfValidationTest : FunSpec() { - init { - testInvalidSchemaInArray("allOf") - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "allOf": [ - { - "type": "string" - }, - { - "minLength": 3 - }, - { - "maxLength": 6 - } - ] - } - """.trimIndent(), - ).also { schema -> - test("passes all assertions") { - val element = JsonPrimitive("test") - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("fails first assertion") { - val element = JsonPrimitive(42) - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/allOf/0/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a string", - ), - ) - } - } - - test("fails second assertion") { - val element = JsonPrimitive("te") - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/allOf/1/minLength"), - objectPath = JsonPointer.ROOT, - message = "string length (2) must be greater or equal to 3", - ), - ) - } - } - - test("fails last assertion") { - val element = JsonPrimitive("test123") - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/allOf/2/maxLength"), - objectPath = JsonPointer.ROOT, - message = "string length (7) must be less or equal to 6", - ), - ) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaAnyOfValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaAnyOfValidationTest.kt deleted file mode 100644 index 82ec54b3..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaAnyOfValidationTest.kt +++ /dev/null @@ -1,83 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaAnyOfValidationTest : FunSpec() { - init { - testInvalidSchemaInArray("anyOf") - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - """.trimIndent(), - ).also { schema -> - listOf( - JsonPrimitive("str"), - JsonPrimitive(42), - JsonPrimitive(true), - ).forEach { - test("element $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("element does not match any assertion") { - val jsonObject = - buildJsonObject { - put("test", JsonPrimitive(42)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/anyOf/0/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a string", - ), - ValidationError( - schemaPath = JsonPointer("/anyOf/1/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a number", - ), - ValidationError( - schemaPath = JsonPointer("/anyOf/2/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a boolean", - ), - ) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaIfThenElseValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaIfThenElseValidationTest.kt deleted file mode 100644 index 730e3c54..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaIfThenElseValidationTest.kt +++ /dev/null @@ -1,158 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaIfThenElseValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "if": { - "type": "object" - }, - "then": { - "required": ["f1","f2"] - }, - "else": { - "type": "string" - } - } - """.trimIndent(), - ).also { schema -> - test("when matches `if` passes `then` validation") { - val jsonObject = - buildJsonObject { - put("f1", JsonPrimitive(42)) - put("f2", JsonPrimitive(43)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("when matches `if` fails `then` validation") { - val jsonObject = - buildJsonObject { - put("f1", JsonPrimitive(42)) - put("f3", JsonPrimitive(43)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/then/required"), - objectPath = JsonPointer.ROOT, - message = "missing required properties: [f2]", - ), - ) - } - } - - test("when does not matches `if` passes `else` validation") { - val element = JsonPrimitive("test") - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("when does not matches `if` fails `else` validation") { - val element = JsonPrimitive(42) - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/else/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a string", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "if": { - "type": "object" - }, - "then": { - "required": ["f1","f2"] - } - } - """.trimIndent(), - ).also { schema -> - test("when does not matches `if` and `else` is missing nothing is checked") { - val element = JsonPrimitive("test") - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "if": { - "type": "object" - }, - "else": { - "type": "string" - } - } - """.trimIndent(), - ).also { schema -> - test("when matches `if` and `then` is missing nothing is checked") { - val element = - buildJsonObject { - put("f1", JsonPrimitive(42)) - } - - val errors = mutableListOf() - val valid = schema.validate(element, errors::add) - - element.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaNotValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaNotValidationTest.kt deleted file mode 100644 index 07ef08bc..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaNotValidationTest.kt +++ /dev/null @@ -1,79 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaNotValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "not": { - "type": "object" - } - } - """.trimIndent(), - ).also { schema -> - listOf( - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive("test"), - JsonPrimitive(true), - JsonNull, - buildJsonArray { }, - ).forEach { - test("not an object $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object fails validation") { - val jsonObject = buildJsonObject { } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/not"), - objectPath = JsonPointer.ROOT, - message = "element must not be valid against child JSON schema but was", - ), - ) - } - } - } - - test("reports if value is not a valid JSON schema") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "not": 42 - } - """.trimIndent(), - ) - }.message shouldBe "not must be a valid JSON schema" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaOneOfValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaOneOfValidationTest.kt deleted file mode 100644 index 5b7c5b6f..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/condition/JsonSchemaOneOfValidationTest.kt +++ /dev/null @@ -1,105 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.condition - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaOneOfValidationTest : FunSpec() { - init { - testInvalidSchemaInArray("oneOf") - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - } - ] - } - """.trimIndent(), - ).apply { - listOf( - JsonPrimitive("test"), - JsonPrimitive(42), - JsonPrimitive(true), - ).forEach { - test("element $it matches one of the schemas and passes validation") { - val errors = mutableListOf() - val valid = validate(it, errors::add) - - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("element does not match any of the schemas and fails validation") { - val errors = mutableListOf() - val valid = validate(buildJsonObject { }, errors::add) - - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/oneOf/0/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a string", - ), - ValidationError( - schemaPath = JsonPointer("/oneOf/1/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a number", - ), - ValidationError( - schemaPath = JsonPointer("/oneOf/2/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a boolean", - ), - ) - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "type": "integer" - }, - { - "type": "number" - } - ] - } - """.trimIndent(), - ).apply { - test("element matches more than one JSON schema and fails validation") { - val errors = mutableListOf() - val valid = validate(JsonPrimitive(42), errors::add) - - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/oneOf"), - objectPath = JsonPointer.ROOT, - message = "element matches more than one JSON schema at indexes: [0, 1]", - ), - ) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaConstValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaConstValidationTest.kt deleted file mode 100644 index 4819b096..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaConstValidationTest.kt +++ /dev/null @@ -1,75 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaConstValidationTest : FunSpec() { - init { - listOf( - JsonPrimitive(1), - JsonPrimitive(42.5), - JsonPrimitive("a"), - JsonPrimitive(true), - JsonNull, - buildJsonObject { - put("key1", JsonPrimitive(42)) - put("key2", JsonPrimitive("a")) - }, - buildJsonArray { - add(JsonPrimitive(1)) - add(JsonPrimitive(2)) - }, - ).forEach { - test("const match to $it") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "const": $it - } - """.trimIndent(), - ) - - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("does not match const") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "const": 42 - } - """.trimIndent(), - ) - - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive("test"), errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/const"), - objectPath = JsonPointer.ROOT, - message = "element does not match constant definition", - ), - ) - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaEnumValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaEnumValidationTest.kt deleted file mode 100644 index 44029261..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaEnumValidationTest.kt +++ /dev/null @@ -1,106 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaEnumValidationTest : FunSpec() { - init { - val enumElements = - listOf( - JsonPrimitive(1), - JsonPrimitive(1.5), - JsonPrimitive("a"), - JsonPrimitive(true), -// JsonPrimitive(Long.MAX_VALUE - 1), - JsonNull, - buildJsonObject { - put("test", JsonPrimitive("a")) - }, - buildJsonArray { - add(JsonPrimitive("a")) - }, - ) - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "enum": ${JsonArray(enumElements)} - } - """.trimIndent(), - ) - enumElements.forEach { - test("element $it in enum") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("not in enum") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(42), errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/enum"), - objectPath = JsonPointer.ROOT, - message = "element is not in enum", - ), - ) - } - - test("error when it is not enum") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "enum": 42 - } - """.trimIndent(), - ) - }.message shouldBe "enum must be an array" - } - - test("error when not unique elements is not enum") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "enum": ["A", "B", "A"] - } - """.trimIndent(), - ) - }.message shouldBe "enum must consist of unique elements" - } - test("empty array") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "enum": [] - } - """.trimIndent(), - ) - }.message shouldBe "enum must have at least one element" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaTypeValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaTypeValidationTest.kt deleted file mode 100644 index 912a75a8..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/JsonSchemaTypeValidationTest.kt +++ /dev/null @@ -1,207 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainOnly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.JsonUnquotedLiteral -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaTypeValidationTest : FunSpec() { - init { - val possibleTypes = - mapOf( - "boolean" to JsonPrimitive(true), - "string" to JsonPrimitive("true"), - "number" to JsonPrimitive(42.5), - "integer" to JsonPrimitive(42), - "null" to JsonNull, - "array" to buildJsonArray {}, - "object" to buildJsonObject {}, - ) - val associatedTypes = - mapOf( - "number" to "integer", - ) - - possibleTypes.forEach { (type, value) -> - test("validates type $type") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": "$type" - } - """.trimIndent(), - ) - val errors = mutableListOf() - val valid: Boolean = schema.validate(value, errors::add) - value.asClue { - withClue("should be valid") { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - } - - for (type in possibleTypes.keys) { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": "$type" - } - """.trimIndent(), - ) - possibleTypes.asSequence().filter { it.key != type && it.key != associatedTypes[type] } - .forEach { (currentType, value) -> - test("reports $currentType is not a $type") { - val errors = mutableListOf() - withClue(value) { - val valid = schema.validate(value, errors::add) - valid shouldBe false - errors.shouldHaveSize(1).shouldContainOnly( - ValidationError( - schemaPath = JsonPointer("/type"), - objectPath = JsonPointer.ROOT, - message = "element is not a $type", - ), - ) - } - } - } - } - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": ["object","array"] - } - """.trimIndent(), - ) - test("object is one of [object, array]") { - val errors = mutableListOf() - possibleTypes.getValue("object").asClue { - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - test("array is one of [object, array]") { - val errors = mutableListOf() - possibleTypes.getValue("array").asClue { - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - test("unknown type") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": "unknown" - } - """.trimIndent(), - ) - }.message shouldBe "unknown type 'unknown' (known: [null, string, boolean, number, integer, array, object])" - } - test("unknown type in array") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": ["unknown","number"] - } - """.trimIndent(), - ) - }.message shouldBe "unknown types [unknown] (known: [null, string, boolean, number, integer, array, object])" - } - test("type not a string") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": 42 - } - """.trimIndent(), - ) - }.message shouldBe "type must be a string if it is not an array" - } - - test("type array not a string") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": [42] - } - """.trimIndent(), - ) - }.message shouldBe "each type element must be a string" - } - - test("duplicates in array") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": ["number", "string", "number"] - } - """.trimIndent(), - ) - }.message shouldBe "array must consist of unique values" - } - - test("neither array or string") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": {"type": "number"} - } - """.trimIndent(), - ) - }.message shouldBe "type must be either array or a string" - } - - test("number with zero fraction is integer") { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": "integer" - } - """.trimIndent(), - ).apply { - val errors = mutableListOf() - validate(JsonUnquotedLiteral("42.0"), errors::add) shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/FormatValidationTestSuite.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/FormatValidationTestSuite.kt deleted file mode 100644 index 3c8be784..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/FormatValidationTestSuite.kt +++ /dev/null @@ -1,131 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_ONLY -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.SchemaType -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.assertSoftly -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -data class TestCase(val value: String, val description: String) - -internal fun FunSpec.formatValidationTestSuite( - format: String, - validTestCases: List, - invalidTestCases: List, -) { - fun FunSpec.notStringPasses( - schemaType: SchemaType, - format: String, - schema: JsonSchema, - ) { - listOf( - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonArray { }, - buildJsonObject { }, - ).forEach { - test("$schemaType '$it' passes validation for '$format'") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - } - - val loaderWithFormatAssertions = - JsonSchemaLoader.create() - .withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, ANNOTATION_AND_ASSERTION) - val loaderWithFormatAnnotation = - JsonSchemaLoader.create() - .withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, ANNOTATION_ONLY) - for (schemaType in SchemaType.entries) { - loaderWithFormatAssertions.fromDefinition( - """ - { - "${KEY}schema": "${schemaType.schemaId}", - "format": "$format" - } - """.trimIndent(), - draft = schemaType, - ).also { schema -> - notStringPasses(schemaType, format, schema) - - validTestCases.forEach { - test("$schemaType valid $format '$it' passes".escapeCharacterForWindows()) { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(it), errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - invalidTestCases.forEach { (element, description) -> - test( - "$schemaType invalid $format '$element' with '$description' fails validation".escapeCharacterForWindows(), - ) { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(element), errors::add) - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/format"), - objectPath = JsonPointer.ROOT, - message = "value does not match '$format' format", - ), - ) - } - } - } - } - loaderWithFormatAnnotation.fromDefinition( - """ - { - "${KEY}schema": "${schemaType.schemaId}", - "format": "$format" - } - """.trimIndent(), - draft = schemaType, - ).also { schema -> - invalidTestCases.forEach { (element, description) -> - test( - "$schemaType invalid $format '$element' with '$description' passes annotation only mode" - .escapeCharacterForWindows(), - ) { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(element), errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - } - } -} - -private val WINDOWS_PROHIBITED_CHARACTER = Regex("[:]") - -private fun String.escapeCharacterForWindows(): String { - return replace(WINDOWS_PROHIBITED_CHARACTER, "_") -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDateFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDateFormatValidationTest.kt deleted file mode 100644 index 4af20483..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDateFormatValidationTest.kt +++ /dev/null @@ -1,35 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaDateFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "date", - validTestCases = - listOf( - "2024-02-29", - "2023-02-28", - "2024-01-31", - "2024-03-30", - "2024-07-31", - "2024-08-31", - "2024-09-30", - "2024-12-31", - "0000-12-25", - "2023-01-01", - ), - invalidTestCases = - listOf( - TestCase("2024-13-28", "invalid month"), - TestCase("2024-00-28", "zero month"), - TestCase("2024-12-00", "zero day"), - TestCase("2024-12-85", "invalid day"), - TestCase("2024-11-31", "invalid day to month"), - TestCase("2023-02-29", "invalid day for not leap year"), - TestCase("2023/02/28", "invalid delimiter"), - TestCase("not a date", "invalid format"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDateTimeFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDateTimeFormatValidationTest.kt deleted file mode 100644 index 92197aa6..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDateTimeFormatValidationTest.kt +++ /dev/null @@ -1,35 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaDateTimeFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "date-time", - validTestCases = - listOf( - "2024-02-29T12:42:54Z", - "2023-02-28T00:00:00.000000000Z", - "2024-01-31t12:31:13.123456789z", - "2024-03-30T12:31:42.1Z", - "2024-07-31T12:31:42.01+02:00", - "2024-08-31T12:31:42.001Z", - "2024-09-30T12:31:42.0001-02:00", - "2024-12-31T12:31:42.00001Z", - "2024-12-31T12:31:42.000001-23:59", - "2024-12-31T12:31:42.0000001Z", - "2024-12-31T12:31:42.00000001+23:59", - "2024-12-31T12:31:42.000000001Z", - "0000-12-25T23:59:59+23:59", - ), - invalidTestCases = - listOf( - TestCase("2024-13-28T12:59:45Z", "invalid date part"), - TestCase("2024-12-28T12:61:45Z", "invalid time part"), - TestCase("2024-12-28A12:61:45", "invalid delimiter"), - TestCase("2024-12-28'T'12:61:45", "invalid delimiter location"), - TestCase("not a date-time", "invalid format"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDurationFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDurationFormatValidationTest.kt deleted file mode 100644 index d0b1b48a..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaDurationFormatValidationTest.kt +++ /dev/null @@ -1,45 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaDurationFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "duration", - validTestCases = - listOf( - "PT1S", - "PT1M", - "PT1H", - "PT67S", - "PT1M10S", - "PT61M0S", - "PT2H10M10S", - "PT42H10M10S", - "PT42H0M0S", - "P1D", - "P1W", - "P1M", - "P1Y", - "P1DT42H10M10S", - "P1MT42H10M10S", - "P1YT42H10M10S", - "P1M1D", - "P1M1DT42H10M10S", - "P1Y1M1D", - "P1Y1M1DT42H10M10S", - "p1y1m1dt42h10m10s", - ), - invalidTestCases = - listOf( - TestCase("1S", "invalid time format with seconds"), - TestCase("PT1H1S", "missing minutes block"), - TestCase("PT1HM1S", "missing minutes digits"), - TestCase("P1S", "missing T part of time"), - TestCase("P1Y1W", "week block with another block"), - TestCase("P1Y1D", "missing month block"), - TestCase("P1Y1M1DT1H1S", "missing minutes block in full duration"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaEmailFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaEmailFormatValidationTest.kt deleted file mode 100644 index 122b4b66..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaEmailFormatValidationTest.kt +++ /dev/null @@ -1,40 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaEmailFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "email", - validTestCases = - listOf( - "a2!#$%&'*+-/=?^_`{}~|@domain.com", - "\"\\\"\\ \\@\\!\\#\\[\\]\\~\"@example.com", - "\" !#[]~a2\"@example.com", - "test@[127.0.0.1]", - "test@[IPv6:FF01::101]", - ), - invalidTestCases = - listOf( - TestCase("", "empty email"), - TestCase("@example.com", "empty local part"), - TestCase("test@", "empty domain part"), - TestCase("\"\"@example.com", "empty quoted string"), - TestCase("\"test@example.com", "only start quote"), - TestCase("test\"@example.com", "only end quote"), - TestCase("\"test\\\"@example.com", "quoted last quote"), - TestCase("\"te\\\nst\"@example.com", "invalid quoted character < space"), - TestCase("\"te\\\u007fst\"@example.com", "invalid quoted character > ~"), - TestCase("\"te\"st\"@example.com", "invalid character in quoted string"), - TestCase("test@[127.0.0.300]", "invalid IPv4 in domain part"), - TestCase("test@[IPv6:1:2:3:4:5:6:7:8:9]", "invalid IPv6 in domain part"), - TestCase("test@[FF01::101]", "valid IPv6 in domain part without prefix"), - TestCase("test@hostname.", "valid hostname in domain part"), - TestCase("te\nst@hostname", "invalid character < space"), - TestCase("te\u007fst@hostname", "invalid character > ~"), - TestCase("\"te\nst\"@hostname", "invalid character in quoted local part < space"), - TestCase("\"te\u007fst\"@hostname", "invalid character in quoted local part > ~"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaHostnameFormatValidatorTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaHostnameFormatValidatorTest.kt deleted file mode 100644 index d7cf717e..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaHostnameFormatValidatorTest.kt +++ /dev/null @@ -1,38 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaHostnameFormatValidatorTest : FunSpec() { - init { - formatValidationTestSuite( - format = "hostname", - validTestCases = - listOf( - "www.example.com", - "xn--4gbwdl.xn--wgbh1c", - "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com", - "hostname", - "host-name", - "host1name", - "HOSTNAME", - ), - invalidTestCases = - listOf( - TestCase("", "empty value"), - TestCase(".hostname", "starts with dot"), - TestCase("hostname.", "ends with dot"), - TestCase(".hostname.", "starts and ends with dot"), - TestCase("www.example..com", "two dots together"), - TestCase("-hostname", "starts with hyphen"), - TestCase("hostname-", "ends with hyphen"), - TestCase("-hostname-", "start and ends with hyphen"), - TestCase("_hostname", "start with underscore"), - TestCase("hostname_", "ends with underscore"), - TestCase("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl.com", "too long label"), - TestCase("host>name", "char before A"), - TestCase("host]name", "char between Z and a"), - TestCase("host}name", "char after z"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIdnEmailFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIdnEmailFormatValidationTest.kt deleted file mode 100644 index 797bb02f..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIdnEmailFormatValidationTest.kt +++ /dev/null @@ -1,21 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaIdnEmailFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "idn-email", - validTestCases = - listOf( - "실례@실례.테스트", - "\"실a\\~례\"@실례.테스트", - ), - invalidTestCases = - listOf( - TestCase("실\u007F례@실례.테스트", "invalid codepoint in local part"), - TestCase("\"실\u007F례\"@실례.테스트", "invalid codepoint in quoted local part"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIdnHostnameFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIdnHostnameFormatValidationTest.kt deleted file mode 100644 index 0b955f6d..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIdnHostnameFormatValidationTest.kt +++ /dev/null @@ -1,55 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import de.cketti.codepoints.CodePoints -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaIdnHostnameFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "idn-hostname", - validTestCases = - listOf( - "a", - "hostname", - // 63 - "xn--80aakdqneodaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai5g1b9b1qjjyf", - // 62 - "xn--80aakdqneodaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai3g0b8b9p5ivf", - // normalized and valid idn hostname - "\u4E3D", - // valid with arabic indic digit - "\u0628\u0669", - // valid with extended arabic indic digit - "\u0628\u06F9", - // Valid RTL label - "\u06281\u0300", - // Valid LTR label - "\u0628.a1\u0300", - "a\u3002b", - "a\uFF0Eb", - "a\uFF61b", - ), - invalidTestCases = - listOf( - TestCase("", "empty value"), - TestCase(".", "single separator"), - TestCase("\u3002", "single separator U+3002"), - TestCase("\uFF0E", "single separator U+FF0E"), - TestCase("\uFF61", "single separator U+FF61"), - TestCase("xn--80aakdqneodaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai7g2bxc6qoj1f", "too long punycode"), - TestCase("оооооооооооооооооооооооооооооооооооченьдлиннаястрока", "too long unicode"), - // Not normalized \u4E3D. Example from https://unicode.org/Public/UNIDATA/NormalizationTest.txt - TestCase(CodePoints.toChars(0x2F800).joinToString(separator = ""), "not normalized"), - TestCase("\u0628\u0669\u06F9", "mixed arabic indic digits and extended arabic indict digits"), - TestCase("\u0660\u06f0", "invalid first character for RTL"), - TestCase("\u0628\u0061", "invalid characters for RTL label"), - TestCase("\u0628.\u06F9", "invalid first character for bidi domain names"), - TestCase("\u0061\u0628", "invalid characters for LTR label"), - TestCase("\u0628\u002D\u0300", "invalid ending for RTL label"), - TestCase("\u0628.a\u002D\u0300", "invalid ending for LTR label"), - TestCase("\u0628\u06695", "mixed arabic numbers and european numbers"), - TestCase("a\u200C", "zero with non joiner rule does not match"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIpV4FormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIpV4FormatValidationTest.kt deleted file mode 100644 index 3c26a3bf..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIpV4FormatValidationTest.kt +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaIpV4FormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "ipv4", - validTestCases = - listOf( - "0.0.0.0", - "127.0.0.1", - "255.255.255.255", - "100.100.100.100", - ), - invalidTestCases = - listOf( - TestCase("", "empty ip is not valid"), - TestCase("0.0.0", "too short ip"), - TestCase("0.0.0.0.1", "too long ip"), - TestCase("256.256.256.256", "invalid component value"), - TestCase("087.0.1.35", "invalid leading zero"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIpV6FormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIpV6FormatValidationTest.kt deleted file mode 100644 index b386d841..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIpV6FormatValidationTest.kt +++ /dev/null @@ -1,50 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaIpV6FormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "ipv6", - validTestCases = - listOf( - "::", - "::1", - "1::", - "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789", - "abcd:ef01:2345:6789:abcd:ef01:2345:6787", - "2001:DB8:0:0:8:800:200C:417A", - "FF01:0:0:0:0:0:0:101", - "0:0:0:0:0:0:0:0", - "2001:DB8::8:800:200C:417A", - "FF01::101", - "0:0:0:0:0:0:13.1.68.3", - "::13.1.68.3", - "::FFFF:129.144.52.38", - "::0.0.0.0", - ), - invalidTestCases = - listOf( - TestCase("", "empty address is not valid"), - TestCase(":", "single delimiter is not valid"), - TestCase("ABCD", "single octet"), - TestCase(":1:2:3:4:5:6:7", "missing start octet"), - TestCase("0:1:2:3:4:5:6:", "missing end octet"), - TestCase("0:1:2:3:4:5:6", "incorrect number of octets"), - TestCase("0:1:2:3:4:5", "octets as it would be ipv6 + ipv4 but not ipv4"), - TestCase("1:2:3:4:5:6:7:8:9", "too many octets"), - TestCase("1:2:3:45678:5:6:7", "too long block length"), - TestCase("12345:2:3:4:5:6:7", "too long first block length"), - TestCase("1:2:3:4:5:6:7:78901", "too long last block length"), - TestCase("1:2:3:4.6:5:6:7:8", "dot in the block"), - TestCase("1:2:3:4/:5:6:7:8", "invalid char before 0"), - TestCase("1:2:3:4;:5:6:7:8", "invalid char after 9 before"), - TestCase("1:2:3:4;:5:6:7:8", "invalid char after Z before a"), - TestCase("1:2:3:4[:5:6:7:8", "invalid char after Z before a"), - TestCase("1:2:3:4{:5:6:7:8", "invalid char after a"), - TestCase("1::bd::8", "duplicate compression form"), - TestCase("1:2:3:4:5:6:75", "number of octets between max and max for ipv4"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIriFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIriFormatValidationTest.kt deleted file mode 100644 index 68478a16..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIriFormatValidationTest.kt +++ /dev/null @@ -1,25 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaIriFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "iri", - validTestCases = - listOf( - "https://example.com/test?query#fragment", - "https://путь.рф", - "ftp:/абсолютный_путь", - "https://exceed\u0080maxbyte", - ), - invalidTestCases = - listOf( - TestCase("", "empty"), - TestCase("нет-схемы", "missing schema"), - TestCase("https://\u0000zero", "zero byte is not pct encoded and invalid"), - TestCase("https://\u007f127", "127 byte is not pct encoded and invalid"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIriReferenceFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIriReferenceFormatValidationTest.kt deleted file mode 100644 index 41bf680d..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaIriReferenceFormatValidationTest.kt +++ /dev/null @@ -1,23 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaIriReferenceFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "iri-reference", - validTestCases = - listOf( - "", - "/localhost?query=5#fragment", - "/относительный_референс?квери#фрагмент", - ), - invalidTestCases = - listOf( - TestCase("schema:", "schema"), - TestCase("?квер[и", "invalid query"), - TestCase("#фрагме[нт", "invalid fragment"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaJsonPointerFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaJsonPointerFormatValidationTest.kt deleted file mode 100644 index 5e848814..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaJsonPointerFormatValidationTest.kt +++ /dev/null @@ -1,26 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaJsonPointerFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "json-pointer", - validTestCases = - listOf( - "", - "/", - "/test//a", - "/test/", - "/tes~0", - "/test~1", - ), - invalidTestCases = - listOf( - TestCase("test", "does not start from separator"), - TestCase("/test~2", "invalid quotation"), - TestCase("/test~", "trailing quotation"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaRegexFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaRegexFormatValidationTest.kt deleted file mode 100644 index 1f41e285..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaRegexFormatValidationTest.kt +++ /dev/null @@ -1,20 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaRegexFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "regex", - validTestCases = - listOf( - "", - "(?=test\\s)", - ), - invalidTestCases = - listOf( - TestCase("(test", "missing brackets"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaRelativeJsonPointerFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaRelativeJsonPointerFormatValidationTest.kt deleted file mode 100644 index b8f71ebe..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaRelativeJsonPointerFormatValidationTest.kt +++ /dev/null @@ -1,31 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaRelativeJsonPointerFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "relative-json-pointer", - validTestCases = - listOf( - "0", - "1", - "105", - "0#", - "105#", - "0/test", - "105/test", - "0/0", - ), - invalidTestCases = - listOf( - TestCase("", "empty RJP is not valid"), - TestCase("01", "leading zeroes are not allowed"), - TestCase("0##", "ref is the last character"), - TestCase("0#/test", "ref and JSON pointer are not allowed"), - TestCase("/test", "JSON pointer is not a valid RJP"), - TestCase("test", "invalid Json Pointer"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaTimeFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaTimeFormatValidationTest.kt deleted file mode 100644 index d03a5ff3..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaTimeFormatValidationTest.kt +++ /dev/null @@ -1,43 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaTimeFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "time", - validTestCases = - listOf( - "11:42:59Z", - "00:00:00+02:00", - "23:59:59z", - "12:42:45.1-08:00", - "12:42:45.01Z", - "12:42:45.001Z", - "12:42:45.0001Z", - "12:42:45.00001Z", - "12:42:45.000001Z", - "12:42:45.0000001Z", - "12:42:45.00000001Z", - "12:42:45.000000001Z", - "12:42:45+04:00", - "12:42:45+23:59", - "12:42:45.000000001+02:42", - ), - invalidTestCases = - listOf( - TestCase("24:00:00", "invalid hours"), - TestCase("12:60:00", "invalid minutes"), - TestCase("12:59:61", "invalid seconds"), - TestCase("12:59:42.", "no digits in fraction part"), - TestCase("12:59:42.9999999999", "invalid number of digits in fraction part"), - TestCase("12:59:42A", "invalid zone identifier"), - TestCase("12:59:42+24:42", "invalid offset hours"), - TestCase("12:59:42Z+23:42", "zone and offset together"), - TestCase("12:59:42+02:60", "invalid offset minutes"), - TestCase("12h46m59s", "invalid time delimiter"), - TestCase("not a time", "invalid format"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriFormatValidationTest.kt deleted file mode 100644 index 5ab13011..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriFormatValidationTest.kt +++ /dev/null @@ -1,50 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaUriFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "uri", - validTestCases = - listOf( - "https://example.com:443/", - "https://example.com:443", - "https://example.com", - "https://[v6.fe80::a_(en1)]", - "ftp:/absolute/schema", - "https://locahost/%20%4d%2F", - "https://locahost:", - "https://locahost:/", - "https://localhost?", - "https://localhost#", - "h://localhost", - "https://locahost#frag?ment", - ), - invalidTestCases = - listOf( - TestCase("", "empty"), - TestCase("https:///", "empty hostname"), - TestCase("2http://localhost", "invalid schema"), - TestCase("https://example.com:44a/", "invalid port"), - TestCase("https:", "only schema"), - TestCase("https://example.com?invalid=[", "invalid query"), - TestCase("https://example.com#invalid[Fragment", "invalid fragment"), - TestCase("https://te[st@localhost", "invalid username"), - TestCase("https://%2G@localhost", "invalid pct encoded in userinfo"), - TestCase("https://%2locahost", "invalid pct encoded in host"), - TestCase("https://locahost/test%2", "invalid pct encoded in last segment"), - TestCase("https://locahost/test%2/t", "invalid pct encoded in segment"), - TestCase("https://[v6.fe80::a_(en1)", "invalid ip feature hostname"), - TestCase("https://[6.fe80::a_(en1)]", "invalid start for ip feature hostname"), - TestCase("https://[v6fe80::a_(en1)]", "no dot for ip feature hostname"), - TestCase("https://[vG.fe80::a_(en1)]", "invalid first part for ip feature hostname"), - TestCase("https://[v6.fe80::a[(en1)]", "invalid second part for ip feature hostname"), - TestCase("https://[v.]", "empty parts in ip feature hostname"), - TestCase("https://[v1.]", "empty first part in ip feature hostname"), - TestCase("https://[v.a]", "empty second part in ip feature hostname"), - TestCase("https://[]", "empty ip feature hostname"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriReferenceFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriReferenceFormatValidationTest.kt deleted file mode 100644 index 11e38333..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriReferenceFormatValidationTest.kt +++ /dev/null @@ -1,31 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaUriReferenceFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "uri-reference", - validTestCases = - listOf( - "", - "/localhost?query=5#fragment", - "//user@localhost?query=3#fragment", - "//user@localhost:42/?query=3#fragment", - "?query=3#fragment", - "?que/?ry@=(4:2)", - "#fr@/?gment", - "noschem@/test%20", - "te(t", - "?", - "#", - ), - invalidTestCases = - listOf( - TestCase("schema:", "schema"), - TestCase("?quer[ry", "invalid query"), - TestCase("#fragme[t", "invalid fragment"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriTemplateFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriTemplateFormatValidationTest.kt deleted file mode 100644 index 396324de..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUriTemplateFormatValidationTest.kt +++ /dev/null @@ -1,41 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaUriTemplateFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "uri-template", - validTestCases = - listOf( - "", - "https://example.com/{test}", - "https://example.com/{test:1}", - "https://test{?query*,number:9999}", - "https://simple.uri", - "https://test%20uri.com", - "https://testname/{first%20name}", - "https://testname/{name_1.name_2}", - "https://\u00a0\ud7ff\uf900\ufdcf\ufdf0\uffef\uf8ff", - ), - invalidTestCases = - listOf( - TestCase("https://example.com/{}", "empty expression"), - TestCase("https://example.com/{,}", "empty expression with var delimiter"), - TestCase("https://example.com/{test.}", "empty expression with name delimiter"), - TestCase("https://example.com/{te~st}", "invalid character in var name"), - TestCase("https://example.com/}", "end expression without start"), - TestCase("https://example.com/{t{e}st}", "expression inside expression"), - TestCase("https://example.com/{test:0}", "leading zero"), - TestCase("https://example.com/{test:10000}", "out of limit max length"), - TestCase("https://example.com/{test:-999}", "negative max length"), - TestCase("https://example.com/{:-999}", "no var before max length"), - TestCase("https://\udfffexample.com", "invalid literal"), - TestCase("https://exa%2Gmple.com", "invalid pct encoded literal"), - TestCase("https://example.com/{te%2Gst}", "invalid pct encoded var name"), - TestCase("https://example.com/{test:}", "empty max length in the end"), - TestCase("https://example.com/{test:,another}", "empty max length in the middle"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUuidFormatValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUuidFormatValidationTest.kt deleted file mode 100644 index 55a65f94..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/general/format/JsonSchemaUuidFormatValidationTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.general.format - -import io.kotest.core.spec.style.FunSpec - -class JsonSchemaUuidFormatValidationTest : FunSpec() { - init { - formatValidationTestSuite( - format = "uuid", - validTestCases = - listOf( - "f81d4fae-7dec-11d0-a765-00a0c91e6bf6", - "F81D4FAE-7DEC-11D0-A765-00A0C91E6BF6", - ), - invalidTestCases = - listOf( - TestCase("", "empty value"), - TestCase("f81d4fae-7dec-11d0-a765-00a0c91e6bf", "too short"), - TestCase("f81d4fae-7dec-11d0-a765-00a0c91e6bf64", "too long"), - TestCase("f81d4fae-7dec-11d0-a7865-00a0c91e6bf64", "wrong block length"), - TestCase("f81d4fae-7dec-11d0-g765-00a0c91e6bf6", "invalid character"), - ), - ) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaExclusiveMaximumValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaExclusiveMaximumValidationTest.kt deleted file mode 100644 index e2405fee..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaExclusiveMaximumValidationTest.kt +++ /dev/null @@ -1,93 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.number - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.JsonUnquotedLiteral -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaExclusiveMaximumValidationTest : FunSpec() { - init { - listOf("10", "10.0").forEach { number -> - val schemaPositive = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "exclusiveMaximum": $number - } - """.trimIndent(), - ) - listOf( - JsonPrimitive(9), - JsonPrimitive(9.99), - JsonPrimitive(8), - JsonPrimitive(8.5), - ).forEach { - test("$it passes validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(11), - JsonPrimitive(10.1), - JsonPrimitive(10), - // Because 10.0 in JS is 10 - JsonUnquotedLiteral("10.0"), - ).forEach { - test("$it fails validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/exclusiveMaximum"), - objectPath = JsonPointer.ROOT, - message = "$it must be less than $number", - ), - ) - } - } - } - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "exclusiveMaximum": 10 - } - """.trimIndent(), - ) - - listOf( - JsonPrimitive(true), - JsonPrimitive("42"), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("not a number $it passes the validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaExclusiveMinimumValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaExclusiveMinimumValidationTest.kt deleted file mode 100644 index ecb70f2d..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaExclusiveMinimumValidationTest.kt +++ /dev/null @@ -1,93 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.number - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.JsonUnquotedLiteral -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaExclusiveMinimumValidationTest : FunSpec() { - init { - listOf("10", "10.0").forEach { number -> - val schemaPositive = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "exclusiveMinimum": $number - } - """.trimIndent(), - ) - listOf( - JsonPrimitive(11), - JsonPrimitive(10.01), - JsonPrimitive(12), - JsonPrimitive(11.5), - ).forEach { - test("$it passes validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(10), - // Because 10.0 in JS is 10 - JsonUnquotedLiteral("10.0"), - JsonPrimitive(9), - JsonPrimitive(9.99), - ).forEach { - test("$it fails validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/exclusiveMinimum"), - objectPath = JsonPointer.ROOT, - message = "$it must be greater than $number", - ), - ) - } - } - } - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "exclusiveMinimum": 10 - } - """.trimIndent(), - ) - - listOf( - JsonPrimitive(true), - JsonPrimitive("42"), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("not a number $it passes the validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMaximumValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMaximumValidationTest.kt deleted file mode 100644 index 7b6c1dbf..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMaximumValidationTest.kt +++ /dev/null @@ -1,91 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.number - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.JsonUnquotedLiteral -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaMaximumValidationTest : FunSpec() { - init { - listOf("10", "10.0").forEach { number -> - val schemaPositive = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maximum": $number - } - """.trimIndent(), - ) - listOf( - JsonPrimitive(10), - // Because 10.0 in JS is 10 - JsonUnquotedLiteral("10.0"), - JsonPrimitive(9.5), - JsonPrimitive(9), - ).forEach { - test("$it passes validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(11), - JsonPrimitive(10.1), - ).forEach { - test("$it fails validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/maximum"), - objectPath = JsonPointer.ROOT, - message = "$it must be less or equal to $number", - ), - ) - } - } - } - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maximum": 10 - } - """.trimIndent(), - ) - - listOf( - JsonPrimitive(true), - JsonPrimitive("42"), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("not a number $it passes the validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMinimumValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMinimumValidationTest.kt deleted file mode 100644 index 18173713..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMinimumValidationTest.kt +++ /dev/null @@ -1,91 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.number - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.JsonUnquotedLiteral -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaMinimumValidationTest : FunSpec() { - init { - listOf("10", "10.0").forEach { number -> - val schemaPositive = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minimum": $number - } - """.trimIndent(), - ) - listOf( - JsonPrimitive(10), - // Because 10.0 in JS is 10 - JsonUnquotedLiteral("10.0"), - JsonPrimitive(11.5), - JsonPrimitive(11), - ).forEach { - test("$it passes validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(9), - JsonPrimitive(9.9), - ).forEach { - test("$it fails validation against $number") { - val errors = mutableListOf() - val valid = schemaPositive.validate(it, errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/minimum"), - objectPath = JsonPointer.ROOT, - message = "$it must be greater or equal to $number", - ), - ) - } - } - } - - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minimum": 10 - } - """.trimIndent(), - ) - - listOf( - JsonPrimitive(true), - JsonPrimitive("42"), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("not a number $it passes the validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMultipleOfValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMultipleOfValidationTest.kt deleted file mode 100644 index b24454ed..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/number/JsonSchemaMultipleOfValidationTest.kt +++ /dev/null @@ -1,197 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.number - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.JsonUnquotedLiteral -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -// JsonUnquotedLiteral is used to bypass the JS conversion to integer value -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaMultipleOfValidationTest : FunSpec() { - init { - listOf( - JsonPrimitive(7), - JsonPrimitive(49), - JsonUnquotedLiteral("49.0"), - JsonPrimitive(-49), - JsonUnquotedLiteral("-49.0"), - ).forEach { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "multipleOf": 7 - } - """.trimIndent(), - ) - test("integer in multiple of: $it % 7") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(3), - JsonUnquotedLiteral("3.0"), - JsonPrimitive(4.5), - JsonPrimitive(-3), - JsonUnquotedLiteral("-3.0"), - JsonPrimitive(-4.5), - ).forEach { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "multipleOf": 1.5 - } - """.trimIndent(), - ) - test("double in multiple of: $it % 1.5") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonPrimitive(0), - JsonUnquotedLiteral("0.0"), - JsonPrimitive(-1), - JsonUnquotedLiteral("-1.0"), - JsonPrimitive(-Double.MAX_VALUE), - JsonPrimitive(Long.MIN_VALUE), - ).forEach { - test("reports not positive value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "multipleOf": $it - } - """.trimIndent(), - ) - }.message shouldBe "multipleOf value $it must be greater than zero" - } - } - - val numberSchema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "multipleOf": 5 - } - """.trimIndent(), - ) - listOf( - JsonPrimitive(true), - JsonPrimitive("42"), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("not a number $it passes the validation") { - val errors = mutableListOf() - val valid = numberSchema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "multipleOf": 0.0001 - } - """.trimIndent(), - ).apply { - listOf( - JsonUnquotedLiteral("0.0075"), - JsonUnquotedLiteral("0.075"), - JsonUnquotedLiteral("0.75"), - JsonUnquotedLiteral("7.5"), - JsonUnquotedLiteral("75"), - JsonUnquotedLiteral("750"), - JsonUnquotedLiteral("12391239123"), - JsonUnquotedLiteral("-0.0075"), - JsonUnquotedLiteral("-0.075"), - JsonUnquotedLiteral("-0.75"), - JsonUnquotedLiteral("-7.5"), - JsonUnquotedLiteral("-75"), - JsonUnquotedLiteral("-750"), - JsonUnquotedLiteral("-12391239123"), - ).forEach { - test("small number $it is multiple of 0.0001") { - val errors = mutableListOf() - validate(it, errors::add) shouldBe true - errors shouldHaveSize 0 - } - } - - listOf( - JsonUnquotedLiteral("0.00001"), - JsonUnquotedLiteral("0.00011"), - JsonUnquotedLiteral("0.00751"), - JsonUnquotedLiteral("0.01751"), - JsonUnquotedLiteral("0.71751"), - JsonUnquotedLiteral("1.71751"), - JsonUnquotedLiteral("-0.00001"), - JsonUnquotedLiteral("-0.00011"), - JsonUnquotedLiteral("-0.00751"), - JsonUnquotedLiteral("-0.01751"), - JsonUnquotedLiteral("-0.71751"), - JsonUnquotedLiteral("-1.71751"), - ).forEach { - test("small number $it is not a multiple of 0.0001") { - val errors = mutableListOf() - validate(it, errors::add) shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/multipleOf"), - objectPath = JsonPointer.ROOT, - message = "$it is not a multiple of 0.0001", - ), - ) - } - } - } - - // https://github.com/OptimumCode/json-schema-validator/issues/70 - test("BUG_70 rounding problem with some numbers because double does not behave as you expect") { - val schema = - JsonSchema.fromDefinition( - """ - { - "multipleOf": 0.01 - } - """.trimIndent(), - ) - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(19.99), errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependenciesValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependenciesValidationTest.kt deleted file mode 100644 index ae06ce8f..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependenciesValidationTest.kt +++ /dev/null @@ -1,271 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaDependenciesValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": { - "trigger": { - "properties": { - "depend": { - "type": "number" - } - } - } - } - } - """.trimIndent(), - ).also { schema -> - test("object without trigger JSON schema property passes validation") { - val jsonObject = - buildJsonObject { - put("depend", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger JSON schema property passes validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger JSON schema property fails validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = - JsonPointer( - "/dependencies/trigger/properties/depend/type", - ), - objectPath = JsonPointer("/depend"), - message = "element is not a number", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": { - "trigger": ["depend"] - } - } - """.trimIndent(), - ).also { schema -> - test("object without trigger array property passes validation") { - val jsonObject = - buildJsonObject { - put("depend", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger array property passes validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger array property fails validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend2", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/dependencies/trigger"), - objectPath = JsonPointer.ROOT, - message = "has 'trigger' property but missing required dependencies: [depend]", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": { - "trigger1": { - "properties": { - "depend1": { - "type": "number" - } - } - }, - "trigger2": ["depend2"] - } - } - """.trimIndent(), - ).also { schema -> - notAnObjectPasses(schema) - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": {} - } - """.trimIndent(), - ).also { schema -> - test("object passes empty dependencies") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": { - "trigger": [] - } - } - """.trimIndent(), - ).also { schema -> - test("object passes empty dependencies array") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - test("reports if dependency is neither array or object") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": { - "trigger": 42 - } - } - """.trimIndent(), - ) - }.message shouldBe "trigger dependency must be either array of strings or valid JSON schema" - } - - test("reports if not an object") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": 42 - } - """.trimIndent(), - ) - }.message shouldBe "dependencies must be an object" - } - - test("reports not unique elements") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "dependencies": { - "trigger": ["a","b","a"] - } - } - """.trimIndent(), - ) - }.message shouldBe "trigger must consist of unique elements" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependentRequiredValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependentRequiredValidationTest.kt deleted file mode 100644 index aa2b14a2..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependentRequiredValidationTest.kt +++ /dev/null @@ -1,191 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaDependentRequiredValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": { - "trigger": ["depend"] - } - } - """.trimIndent(), - ).also { schema -> - test("object without trigger array property passes validation") { - val jsonObject = - buildJsonObject { - put("depend", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger array property passes validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger array property fails validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend2", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/dependentRequired/trigger"), - objectPath = JsonPointer.ROOT, - message = "has 'trigger' property but missing required dependencies: [depend]", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": { - "trigger2": ["depend2"] - } - } - """.trimIndent(), - ).also { schema -> - notAnObjectPasses(schema) - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": {} - } - """.trimIndent(), - ).also { schema -> - test("object passes empty dependencies") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": { - "trigger": [] - } - } - """.trimIndent(), - ).also { schema -> - test("object passes empty dependencies array") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - test("reports if dependency is not an array") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": { - "trigger": 42 - } - } - """.trimIndent(), - ) - }.message shouldBe "trigger dependency must be an array" - } - - test("reports if not an object") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": 42 - } - """.trimIndent(), - ) - }.message shouldBe "dependentRequired must be an object" - } - - test("reports not unique elements") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentRequired": { - "trigger": ["a","b","a"] - } - } - """.trimIndent(), - ) - }.message shouldBe "trigger must consist of unique elements" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependentSchemasValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependentSchemasValidationTest.kt deleted file mode 100644 index 5d280544..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaDependentSchemasValidationTest.kt +++ /dev/null @@ -1,164 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaDependentSchemasValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": { - "trigger": { - "properties": { - "depend": { - "type": "number" - } - } - } - } - } - """.trimIndent(), - ).also { schema -> - test("object without trigger JSON schema property passes validation") { - val jsonObject = - buildJsonObject { - put("depend", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger JSON schema property passes validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object with trigger JSON schema property fails validation") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive("test")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = - JsonPointer( - "/dependentSchemas/trigger/properties/depend/type", - ), - objectPath = JsonPointer("/depend"), - message = "element is not a number", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": { - "trigger1": { - "properties": { - "depend1": { - "type": "number" - } - } - } - } - } - """.trimIndent(), - ).also { schema -> - notAnObjectPasses(schema) - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": {} - } - """.trimIndent(), - ).also { schema -> - test("object passes empty dependencies") { - val jsonObject = - buildJsonObject { - put("trigger", JsonPrimitive(42)) - put("depend", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - test("reports if dependency is not an object") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": { - "trigger": 42 - } - } - """.trimIndent(), - ) - }.message shouldBe "trigger dependency must be a valid JSON schema" - } - - test("reports if not an object") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "dependentSchemas": 42 - } - """.trimIndent(), - ) - }.message shouldBe "dependentSchemas must be an object" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaMaxPropertiesValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaMaxPropertiesValidationTest.kt deleted file mode 100644 index e6a892a6..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaMaxPropertiesValidationTest.kt +++ /dev/null @@ -1,127 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMaxPropertiesValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxProperties": 2 - } - """.trimIndent(), - ) - - listOf( - buildJsonObject { }, - buildJsonObject { - put("test1", JsonPrimitive("a")) - }, - buildJsonObject { - put("test1", JsonPrimitive("a")) - put("test2", JsonPrimitive("b")) - }, - ).forEach { - test("object with ${it.size} properties passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - test("object with 3 properties fails validation") { - val jsonObject = - buildJsonObject { - put("test1", JsonPrimitive("a")) - put("test2", JsonPrimitive("b")) - put("test3", JsonPrimitive("c")) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/maxProperties"), - objectPath = JsonPointer.ROOT, - message = "number of properties must be less or equal to 2", - ), - ) - } - } - - notAnObjectPasses(schema) - - test("reports negative value") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxProperties": -1 - } - """.trimIndent(), - ) - }.message shouldBe "maxProperties must be a non-negative integer" - } - - listOf( - JsonPrimitive(42.5), - JsonPrimitive(Int.MAX_VALUE.toLong() + 1), - JsonPrimitive(true), - JsonNull, - ).forEach { - test("reports not valid integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxProperties": $it - } - """.trimIndent(), - ) - }.message shouldBe "maxProperties must be a valid integer" - } - } - - listOf( - JsonPrimitive("test"), - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("reports not integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxProperties": $it - } - """.trimIndent(), - ) - }.message shouldBe "maxProperties must be an integer" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaMinPropertiesValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaMinPropertiesValidationTest.kt deleted file mode 100644 index 2b370339..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaMinPropertiesValidationTest.kt +++ /dev/null @@ -1,129 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMinPropertiesValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minProperties": 2 - } - """.trimIndent(), - ) - - listOf( - buildJsonObject { - put("test1", JsonPrimitive("a")) - put("test2", JsonPrimitive("b")) - }, - buildJsonObject { - put("test1", JsonPrimitive("a")) - put("test2", JsonPrimitive("b")) - put("test3", JsonPrimitive("c")) - }, - ).forEach { - test("object with ${it.size} properties passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - listOf( - buildJsonObject { }, - buildJsonObject { - put("test1", JsonPrimitive("a")) - }, - ).forEach { - test("object with ${it.size} properties fails validation") { - - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/minProperties"), - objectPath = JsonPointer.ROOT, - message = "number of properties must be greater or equal to 2", - ), - ) - } - } - } - - notAnObjectPasses(schema) - - test("reports negative value") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minProperties": -1 - } - """.trimIndent(), - ) - }.message shouldBe "minProperties must be a non-negative integer" - } - - listOf( - JsonPrimitive(42.5), - JsonPrimitive(Int.MAX_VALUE.toLong() + 1), - JsonPrimitive(true), - JsonNull, - ).forEach { - test("reports not valid integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minProperties": $it - } - """.trimIndent(), - ) - }.message shouldBe "minProperties must be a valid integer" - } - } - - listOf( - JsonPrimitive("test"), - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("reports not integer value $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minProperties": $it - } - """.trimIndent(), - ) - }.message shouldBe "minProperties must be an integer" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaPropertiesValidationsTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaPropertiesValidationsTest.kt deleted file mode 100644 index 06e41c62..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaPropertiesValidationsTest.kt +++ /dev/null @@ -1,241 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaPropertiesValidationsTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "prop1": { - "type": "number" - } - } - } - """.trimIndent(), - ).also { schema -> - test("object passes properties validation") { - val jsonObject = - buildJsonObject { - put("prop1", JsonPrimitive(42)) - put("prop2", JsonPrimitive("test")) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object fails properties validation") { - val jsonObject = - buildJsonObject { - put("prop1", JsonPrimitive("test")) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/properties/prop1/type"), - objectPath = JsonPointer("/prop1"), - message = "element is not a number", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "patternProperties": { - "^foo\\d$": { - "type": "number" - } - } - } - """.trimIndent(), - ).also { schema -> - test("object passes patternProperties validation") { - val jsonObject = - buildJsonObject { - put("foo1", JsonPrimitive(42)) - put("foo2", JsonPrimitive(42.5)) - put("test", JsonPrimitive("string")) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object fails patternProperties validation") { - val jsonObject = - buildJsonObject { - put("foo1", JsonPrimitive("test")) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/patternProperties/^foo\\d\$/type"), - objectPath = JsonPointer("/foo1"), - message = "element is not a number", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": { - "type": "number" - } - } - """.trimIndent(), - ).also { schema -> - test("object passes additionalProperties validation") { - val jsonObject = - buildJsonObject { - put("foo1", JsonPrimitive(42)) - put("foo2", JsonPrimitive(42.5)) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object fails additionalProperties validation") { - val jsonObject = - buildJsonObject { - put("foo1", JsonPrimitive("test")) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/additionalProperties/type"), - objectPath = JsonPointer("/foo1"), - message = "element is not a number", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "test": { - "type": "string" - } - }, - "patternProperties": { - "^foo\\d$": { - "type": "number" - } - }, - "additionalProperties": false - } - """.trimIndent(), - ).also { schema -> - test("false additionalProperties reports all unknown properties") { - val jsonObject = - buildJsonObject { - put("test", JsonPrimitive("value")) - put("foo2", JsonPrimitive(42.5)) - put("unknown", JsonPrimitive(42.5)) - } - - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/additionalProperties"), - objectPath = JsonPointer("/unknown"), - message = "all values fail against the false schema", - ), - ) - } - } - - notAnObjectPasses(schema) - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "properties": {}, - "patternProperties": {} - } - """.trimIndent(), - ).also { schema -> - test("object passes schema with empty properties and patternProperties") { - val jsonObject = - buildJsonObject { - put("test", JsonPrimitive("value")) - put("foo2", JsonPrimitive(42.5)) - put("unknown", JsonPrimitive(42.5)) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - test("reports invalid regular expression") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "patternProperties": { - "*^foo\\d$": { - "type": "number" - } - } - } - """.trimIndent(), - ) - }.message shouldBe "*^foo\\d\$ must be a valid regular expression" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaPropertyNamesValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaPropertyNamesValidationTest.kt deleted file mode 100644 index 98069c6d..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaPropertyNamesValidationTest.kt +++ /dev/null @@ -1,75 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaPropertyNamesValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "propertyNames": { - "minLength": 3, - "maxLength": 5 - } - } - """.trimIndent(), - ).also { schema -> - test("object properties passes validation") { - val jsonObject = - buildJsonObject { - put("abc", JsonPrimitive(42)) - put("abcd", JsonPrimitive(42)) - put("abcde", JsonPrimitive(42)) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object properties fails validation") { - val jsonObject = - buildJsonObject { - put("ab", JsonPrimitive("42")) - put("abc", JsonPrimitive(42)) - put("abcd", JsonPrimitive(42.0)) - put("abcde", JsonPrimitive(42)) - put("abcdef", JsonPrimitive(42)) - } - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/propertyNames/minLength"), - objectPath = JsonPointer("/ab"), - message = "property ab: string length (2) must be greater or equal to 3", - ), - ValidationError( - schemaPath = JsonPointer("/propertyNames/maxLength"), - objectPath = JsonPointer("/abcdef"), - message = "property abcdef: string length (6) must be less or equal to 5", - ), - ) - } - } - - notAnObjectPasses(schema) - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaRequiredValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaRequiredValidationTest.kt deleted file mode 100644 index 04ac4cfa..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaRequiredValidationTest.kt +++ /dev/null @@ -1,77 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaRequiredValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "required": ["prop1", "prop2"] - } - """.trimIndent(), - ) - - listOf( - buildJsonObject { - put("prop1", JsonPrimitive("a")) - put("prop2", JsonPrimitive("b")) - }, - buildJsonObject { - put("prop1", JsonPrimitive("a")) - put("prop2", JsonPrimitive("b")) - put("prop3", JsonPrimitive("c")) - }, - ).forEach { - test("object with props ${it.keys} passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - it.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - listOf( - buildJsonObject { - put("prop1", JsonPrimitive("a")) - } to listOf("prop2"), - buildJsonObject { - put("prop2", JsonPrimitive("a")) - } to listOf("prop1"), - buildJsonObject { - } to listOf("prop1", "prop2"), - ).forEach { (jsonObject, missingProps) -> - test("object with props ${jsonObject.keys} fails validation") { - val errors = mutableListOf() - val valid = schema.validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/required"), - objectPath = JsonPointer.ROOT, - message = "missing required properties: $missingProps", - ), - ) - } - } - } - - notAnObjectPasses(schema) - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaUnevaluatedPropertiesValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaUnevaluatedPropertiesValidationTest.kt deleted file mode 100644 index 21032366..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/JsonSchemaUnevaluatedPropertiesValidationTest.kt +++ /dev/null @@ -1,105 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.kotest.assertions.assertSoftly -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -class JsonSchemaUnevaluatedPropertiesValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "properties": { - "prop1": { - "type": "string" - } - }, - "patternProperties": { - "^pattern": { - "type": "integer" - } - }, - "unevaluatedProperties": false - } - """.trimIndent(), - ).also { schema -> - notAnObjectPasses(schema) - - test("skips if property is validated by properties") { - val obj = - buildJsonObject { - put("prop1", JsonPrimitive("test")) - } - val errors = mutableListOf() - val valid = schema.validate(obj, errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("skips if property is validated by patternProperties") { - val obj = - buildJsonObject { - put("pattern123", JsonPrimitive(42)) - } - val errors = mutableListOf() - val valid = schema.validate(obj, errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("process object when not other validation passed") { - val obj = - buildJsonObject { - put("test", JsonPrimitive(42)) - } - val errors = mutableListOf() - val valid = schema.validate(obj, errors::add) - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer("/test"), - schemaPath = JsonPointer("/unevaluatedProperties"), - message = "all values fail against the false schema", - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "additionalProperties": { - "type": "object" - }, - "unevaluatedProperties": false - } - """.trimIndent(), - ).also { schema -> - test("skips if property is validated by additionalProperties") { - val obj = - buildJsonObject { - put("test", buildJsonObject { }) - } - val errors = mutableListOf() - val valid = schema.validate(obj, errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/ObjectCommonTests.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/ObjectCommonTests.kt deleted file mode 100644 index efa2c582..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/object/ObjectCommonTests.kt +++ /dev/null @@ -1,28 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.`object` - -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray - -fun FunSpec.notAnObjectPasses(schema: JsonSchema) { - listOf( - JsonPrimitive("a"), - JsonPrimitive(42), - JsonPrimitive(42.5), - JsonPrimitive(true), - JsonNull, - buildJsonArray { }, - ).forEach { - test("not an object $it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/ref/JsonSchemaRefValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/ref/JsonSchemaRefValidationTest.kt deleted file mode 100644 index 44fbc055..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/ref/JsonSchemaRefValidationTest.kt +++ /dev/null @@ -1,179 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.ref - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AbsoluteLocation -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaRefValidationTest : FunSpec() { - init { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "positiveInteger": { - "type": "integer", - "minimum": 0 - } - }, - "properties": { - "size": { "${KEY}ref": "#/definitions/positiveInteger" } - } - } - """.trimIndent(), - ).apply { - test("object passes ref validation") { - val jsonObject = - buildJsonObject { - put("size", JsonPrimitive(42)) - } - val errors = mutableListOf() - val valid = validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object fails ref validation") { - val jsonObject = - buildJsonObject { - put("size", JsonPrimitive(-1)) - } - val errors = mutableListOf() - val valid = validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/properties/size/${KEY}ref/minimum"), - objectPath = JsonPointer("/size"), - message = "-1 must be greater or equal to 0", - absoluteLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/definitions/positiveInteger/minimum")), - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "positiveInteger": { - "type": "integer", - "minimum": 0 - } - }, - "properties": { - "size": { "${KEY}ref": "#/definitions/positiveInteger" }, - "other": { "${KEY}ref": "#" } - } - } - """.trimIndent(), - ).apply { - test("object self reference passes validation") { - val jsonObject = - buildJsonObject { - put( - "other", - buildJsonObject { - put("size", JsonPrimitive(42)) - }, - ) - } - - val errors = mutableListOf() - val valid = validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("object self reference fails validation") { - val jsonObject = - buildJsonObject { - put( - "other", - buildJsonObject { - put("size", JsonPrimitive(-1)) - }, - ) - } - - val errors = mutableListOf() - val valid = validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = - JsonPointer( - "/properties/other/${KEY}ref/properties/size/${KEY}ref/minimum", - ), - objectPath = JsonPointer("/other/size"), - message = "-1 must be greater or equal to 0", - absoluteLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/definitions/positiveInteger/minimum")), - ), - ) - } - } - } - - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "A": { - "definitions": { - "B": { - "type": "integer" - } - } - } - }, - "properties": { - "size": { "${KEY}ref": "#/definitions/A/definitions/B" } - } - } - """.trimIndent(), - ).apply { - test("correctly reports path for inner definitions") { - val jsonObject = - buildJsonObject { - put("size", JsonPrimitive("42")) - } - val errors = mutableListOf() - val valid = validate(jsonObject, errors::add) - jsonObject.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/properties/size/${KEY}ref/type"), - objectPath = JsonPointer("/size"), - message = "element is not a integer", - absoluteLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/definitions/A/definitions/B/type")), - ), - ) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaMaxLengthValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaMaxLengthValidationTest.kt deleted file mode 100644 index 23b460f2..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaMaxLengthValidationTest.kt +++ /dev/null @@ -1,88 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.string - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.github.optimumcode.json.schema.internal.util.codePointCount -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMaxLengthValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "maxLength": 20 - } - """.trimIndent(), - ) - val validStrings = - listOf( - "⩌⻏⊧➘⨜Ⅎ⮲➓⌸⨝❌Ⱞ₼⽩Ⅻⱄ⯐⡼℻⮟", - "OQF1dZuGiXPBwNI2enQ2", - "ⱜ⠚\u2FDBⲢ⯕⃣⠽␁⧂\u245D≻\u2FDD╉♊\u20CF⯟ℯ∙⧩", - "JpEblYiJE57H70qGNXs", - "╒", - "V", - "", - "💩".repeat(20), - "💩", - ) - for (str in validStrings) { - test("'$str' passes validation") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(str), errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - val invalidStrings = - listOf( - "EFDzZMRawYGD9eNfknAUB", - "⌻ⲝ⣞ℤ⸍⠗⠜ↈ✋☧⾛✩ⓥ⇩⡽⚘\u20FC◭┐⥸⒗", - "⠺⪒⑸⋶⥠⇀⨑⨋ⅸ⥼\u245F⏇Ⓙⴷ⻘⢢≧\u20C8⬫⡜⸁", - "💩".repeat(21), - ) - for (str in invalidStrings) { - test("'$str' does not pass validation") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(str), errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/maxLength"), - objectPath = JsonPointer.ROOT, - message = "string length (${str.codePointCount()}) must be less or equal to 20", - ), - ) - } - } - - listOf( - JsonPrimitive(true), - JsonPrimitive(42.1), - JsonPrimitive(42), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("$it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaMinLengthValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaMinLengthValidationTest.kt deleted file mode 100644 index 13a08111..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaMinLengthValidationTest.kt +++ /dev/null @@ -1,89 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.string - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.github.optimumcode.json.schema.internal.util.codePointCount -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -@Suppress("unused") -class JsonSchemaMinLengthValidationTest : FunSpec() { - init { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "minLength": 10 - } - """.trimIndent(), - ) - val validStrings = - listOf( - "⩌⻏⊧➘⨜Ⅎ⮲➓⌸⨝❌Ⱞ₼⽩Ⅻⱄ⯐⡼℻⮟", - "OQF1dZuGiXPBwNI2enQ2", - "ⱜ⠚\u2FDBⲢ⯕⃣⠽␁⧂\u245D≻\u2FDD╉♊\u20CF⯟ℯ∙⧩", - "JpEblYiJE57H70qGNXs", - "ⅵ┡\u243A⢻␀⁾⡪∛⫑⏽", - "Si1kaAhdpS", - "💩".repeat(11), - "💩".repeat(10), - ) - for (str in validStrings) { - test("'$str' passes validation") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(str), errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - - val invalidStrings = - listOf( - "5z0byD49N", - "⸖⿻ⲏ⯥ⲃ⮔∸ⲷ▭", - " ⍘↽♔⚪➕ⷰ➖", - "⧦", - "", - "💩".repeat(9), - ) - for (str in invalidStrings) { - test("'$str' does not pass validation") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(str), errors::add) - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/minLength"), - objectPath = JsonPointer.ROOT, - message = "string length (${str.codePointCount()}) must be greater or equal to 10", - ), - ) - } - } - - listOf( - JsonPrimitive(true), - JsonPrimitive(42.1), - JsonPrimitive(42), - JsonNull, - buildJsonObject { }, - buildJsonArray { }, - ).forEach { - test("$it passes validation") { - val errors = mutableListOf() - val valid = schema.validate(it, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaPatternValidationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaPatternValidationTest.kt deleted file mode 100644 index 61e522af..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/assertions/string/JsonSchemaPatternValidationTest.kt +++ /dev/null @@ -1,87 +0,0 @@ -package io.github.optimumcode.json.schema.assertions.string - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.base.KEY -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive - -@Suppress("unused") -class JsonSchemaPatternValidationTest : FunSpec() { - init { - listOf( - "foo" to "some foo value", - "^foo" to "foo value", - "foo$" to "some foo", - "^foo$" to "foo", - ).forEach { (pattern, value) -> - test("matches pattern '$pattern'") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "pattern": "$pattern" - } - """.trimIndent(), - ) - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(value), errors::add) - value.asClue { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - listOf( - "foo" to "some for value", - "^foo" to "for value", - "foo$" to "some for", - "^foo$" to "for", - ).forEach { (pattern, value) -> - test("does not match pattern '$pattern'") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "pattern": "$pattern" - } - """.trimIndent(), - ) - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive(value), errors::add) - value.asClue { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/pattern"), - objectPath = JsonPointer.ROOT, - message = "string does not match pattern '$pattern'", - ), - ) - } - } - } - - test("reports invalid patter") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "pattern": "*not.a.valid" - } - """.trimIndent(), - ) - }.message shouldBe "pattern is not a valid regular expression" - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaCircledReferencesTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaCircledReferencesTest.kt deleted file mode 100644 index 3d518c5a..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaCircledReferencesTest.kt +++ /dev/null @@ -1,225 +0,0 @@ -package io.github.optimumcode.json.schema.base - -import io.github.optimumcode.json.schema.JsonSchema -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldNotThrowAny -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder -import io.kotest.matchers.nulls.shouldNotBeNull -import io.kotest.matchers.string.shouldStartWith - -class JsonSchemaCircledReferencesTest : FunSpec() { - init { - - fun String.shouldHaveExactReferences(vararg references: String) { - this shouldStartWith "circled references: " - this.removePrefix("circled references: ") - .split(',') - .flatMap { listOf(it.substringBefore(" and ").trim(), it.substringAfter(" and ").trim()) } - .shouldContainExactlyInAnyOrder(*references) - } - - listOf( - "oneOf", - "allOf", - "anyOf", - ).forEach { - test("reports circled references $it") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "alice": { - "$it": [ - { "${KEY}ref": "#/definitions/bob" } - ] - }, - "bob": { - "$it": [ - { "${KEY}ref": "#/definitions/alice" } - ] - } - }, - "properties": { - "alice": { - "${KEY}ref": "#/definitions/alice" - }, - "bob": { - "${KEY}ref": "#/definitions/bob" - } - } - } - """.trimIndent(), - ) - }.message.shouldNotBeNull().shouldHaveExactReferences( - "/definitions/alice/$it/0 ref to /definitions/bob", - "/definitions/bob/$it/0 ref to /definitions/alice", - ) - } - } - - test("reports if properties is not the applicator") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "alice": { - "allOf": [ - { "${KEY}ref": "#/definitions/properties" } - ] - }, - "properties": { - "allOf": [ - { "${KEY}ref": "#/definitions/alice" } - ] - } - }, - "properties": { - "alice": { - "${KEY}ref": "#/definitions/alice" - }, - "bob": { - "${KEY}ref": "#/definitions/properties" - } - } - } - """.trimIndent(), - ) - }.message.shouldNotBeNull().shouldHaveExactReferences( - "/definitions/alice/allOf/0 ref to /definitions/properties", - "/definitions/properties/allOf/0 ref to /definitions/alice", - ) - } - - test("does not report circled references if definitions have similar names") { - shouldNotThrowAny { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "nonNegativeInteger": { - "type": "integer", - "minimum": 0 - }, - "nonNegativeIntegerDefault0": { - "allOf": [ - { "${KEY}ref": "#/definitions/nonNegativeInteger" }, - { "default": 0 } - ] - } - } - } - """.trimIndent(), - ) - } - } - - test("does not report circled references if one is defined inside properties applicator") { - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "alice": { - "allOf": [ - { "${KEY}ref": "#/definitions/bob" } - ] - }, - "bob": { - "properties": { - "test": { - "allOf": [ - { "${KEY}ref": "#/definitions/alice" } - ] - } - } - } - }, - "properties": { - "alice": { - "${KEY}ref": "#/definitions/alice" - }, - "bob": { - "${KEY}ref": "#/definitions/bob" - } - } - } - """.trimIndent().asClue { - shouldNotThrowAny { - JsonSchema.fromDefinition(it) - } - } - - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "alice": { - "properties": { - "test": { - "allOf": [ - { "${KEY}ref": "#/definitions/alice" } - ] - } - } - }, - "bob": { - "allOf": [ - { "${KEY}ref": "#/definitions/bob" } - ] - } - }, - "properties": { - "alice": { - "${KEY}ref": "#/definitions/alice" - }, - "bob": { - "${KEY}ref": "#/definitions/bob" - } - } - } - """.trimIndent().asClue { - shouldNotThrowAny { - JsonSchema.fromDefinition(it) - } - } - } - - test("does not report circled references if property match allOf") { - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "alice": { - "allOf": [ - { "${KEY}ref": "#/definitions/bob" } - ] - }, - "bob": { - "properties": { - "allOf": { "${KEY}ref": "#/definitions/alice" } - } - } - }, - "properties": { - "alice": { - "${KEY}ref": "#/definitions/alice" - }, - "bob": { - "${KEY}ref": "#/definitions/bob" - } - } - } - """.trimIndent().asClue { - shouldNotThrowAny { - JsonSchema.fromDefinition(it) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaDraft201909Test.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaDraft201909Test.kt deleted file mode 100644 index 2573274e..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaDraft201909Test.kt +++ /dev/null @@ -1,276 +0,0 @@ -package io.github.optimumcode.json.schema.base - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaType.DRAFT_2019_09 -import io.github.optimumcode.json.schema.ValidationError -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -class JsonSchemaDraft201909Test : FunSpec() { - init { - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": false, - "https://json-schema.org/draft/2019-09/vocab/validation": true - } - } - """.trimIndent(), - DRAFT_2019_09, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - } - } - """.trimIndent(), - DRAFT_2019_09, - ).also { schema -> - test("assertion inside applicator is not applied when it is disabled draft 2019-09") { - schema.validate( - buildJsonObject { - put("test", JsonPrimitive(42)) - }, - ErrorCollector.EMPTY, - ) shouldBe true - } - - test("top level assertion is applied when applicator is disabled draft 2019-09") { - schema.validate( - buildJsonArray { }, - ErrorCollector.EMPTY, - ) shouldBe false - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": true, - "https://json-schema.org/draft/2019-09/vocab/validation": false - } - } - """.trimIndent(), - DRAFT_2019_09, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - } - } - """.trimIndent(), - DRAFT_2019_09, - ).also { schema -> - test("top level assertion is not applied when validation is disabled draft 2019-09") { - schema.validate( - buildJsonArray { }, - ErrorCollector.EMPTY, - ) shouldBe true - } - - test("assertion in applicator is not applied when validation is disabled draft 2019-09") { - schema.validate( - buildJsonObject { - put("test", JsonPrimitive(42)) - }, - ErrorCollector.EMPTY, - ) shouldBe true - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": false, - "https://json-schema.org/draft/2019-09/vocab/validation": false - } - } - """.trimIndent(), - DRAFT_2019_09, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - } - } - """.trimIndent(), - DRAFT_2019_09, - ).also { schema -> - test("everything is valid when validation and applicator are disabled draft 2019-09") { - assertSoftly { - listOf( - JsonPrimitive(42), - JsonPrimitive("42a"), - buildJsonArray { }, - buildJsonObject { - put("test", JsonPrimitive(54)) - }, - ).forEach { - withClue(it) { - schema.validate( - it, - ErrorCollector.EMPTY, - ) shouldBe true - } - } - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": true, - "https://json-schema.org/draft/2019-09/vocab/validation": true, - "https://json-schema.org/draft/2019-09/vocab/format": true - } - } - """.trimIndent(), - DRAFT_2019_09, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "format": "date" - } - """.trimIndent(), - DRAFT_2019_09, - ).also { schema -> - test("format works as assertion when format vocabulary has true value for draft 2019-09") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive("2024-02-30"), errors::add) - - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/format"), - objectPath = JsonPointer.ROOT, - message = "value does not match 'date' format", - ), - ) - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": true, - "https://json-schema.org/draft/2019-09/vocab/validation": true, - "https://json-schema.org/draft/2019-09/vocab/format": false - } - } - """.trimIndent(), - DRAFT_2019_09, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "format": "date" - } - """.trimIndent(), - DRAFT_2019_09, - ).also { schema -> - test("format works as annotation only when format vocabulary has false value for draft 2019-09") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive("2024-02-30"), errors::add) - - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2019-09/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2019-09/vocab/core": true, - "https://json-schema.org/draft/2019-09/vocab/applicator": false, - "https://json-schema.org/draft/2019-09/vocab/validation": false, - "https://json-schema.org/draft/2019-09/vocab/format": true - } - } - """.trimIndent(), - DRAFT_2019_09, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "format": "date" - } - """.trimIndent(), - DRAFT_2019_09, - ).also { schema -> - test("format applied when only its vocabulary enabled draft 2019-09") { - val errors = mutableListOf() - val valid = schema.validate(JsonPrimitive("2024-02-30"), errors::add) - - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/format"), - objectPath = JsonPointer.ROOT, - message = "value does not match 'date' format", - ), - ) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaDraft202012Test.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaDraft202012Test.kt deleted file mode 100644 index 8eec517c..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaDraft202012Test.kt +++ /dev/null @@ -1,440 +0,0 @@ -package io.github.optimumcode.json.schema.base - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaType.DRAFT_2020_12 -import io.github.optimumcode.json.schema.ValidationError -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -class JsonSchemaDraft202012Test : FunSpec() { - init { - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": false, - "https://json-schema.org/draft/2020-12/vocab/validation": true, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - }, - "unevaluatedProperties": false - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("assertion inside applicator is not applied when it is disabled draft 2020-12") { - val errors = mutableListOf() - schema.validate( - buildJsonObject { - put("test", JsonPrimitive(42)) - }, - errors::add, - ) shouldBe false - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer("/test"), - schemaPath = JsonPointer("/unevaluatedProperties"), - message = "all values fail against the false schema", - ), - ) - } - - test("top level assertion is applied when applicator is disabled draft 2020-12") { - val errors = mutableListOf() - schema.validate( - buildJsonArray { }, - errors::add, - ) shouldBe false - - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer.ROOT, - schemaPath = JsonPointer("/type"), - message = "element is not a object", - ), - ) - } - - test("unevaluated is applied when applicator is disabled draft 2020-12") { - val errors = mutableListOf() - schema.validate( - buildJsonObject { - put("test2", JsonPrimitive(42)) - }, - errors::add, - ) shouldBe false - - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer("/test2"), - schemaPath = JsonPointer("/unevaluatedProperties"), - message = "all values fail against the false schema", - ), - ) - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": true, - "https://json-schema.org/draft/2020-12/vocab/validation": false, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - }, - "unevaluatedProperties": false - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("top level assertion is not applied when validation is disabled draft 2020-12") { - schema.validate( - buildJsonArray { }, - ErrorCollector.EMPTY, - ) shouldBe true - } - - test("assertion in applicator is not applied when validation is disabled draft 2020-12") { - schema.validate( - buildJsonObject { - put("test", JsonPrimitive(42)) - }, - ErrorCollector.EMPTY, - ) shouldBe true - } - - test("unevaluated is applied when validation is disabled draft 2020-12") { - val errors = mutableListOf() - schema.validate( - buildJsonObject { - put("test2", JsonPrimitive(42)) - }, - errors::add, - ) shouldBe false - - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer("/test2"), - schemaPath = JsonPointer("/unevaluatedProperties"), - message = "all values fail against the false schema", - ), - ) - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": true, - "https://json-schema.org/draft/2020-12/vocab/validation": true, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": false - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - }, - "unevaluatedProperties": false - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("top level assertion is applied when unevaluated is disabled draft 2020-12") { - val errors = mutableListOf() - schema.validate( - buildJsonArray { }, - errors::add, - ) shouldBe false - - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer.ROOT, - schemaPath = JsonPointer("/type"), - message = "element is not a object", - ), - ) - } - - test("assertion in applicator is applied when unevaluated is disabled draft 2020-12") { - val errors = mutableListOf() - schema.validate( - buildJsonObject { - put("test", JsonPrimitive(42)) - }, - errors::add, - ) shouldBe false - - errors.shouldContainExactly( - ValidationError( - objectPath = JsonPointer("/test"), - schemaPath = JsonPointer("/properties/test/type"), - message = "element is not a string", - ), - ) - } - - test("unevaluated is not applied when unevaluated is disabled draft 2020-12") { - schema.validate( - buildJsonObject { - put("test2", JsonPrimitive(42)) - }, - ErrorCollector.EMPTY, - ) shouldBe true - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": false, - "https://json-schema.org/draft/2020-12/vocab/validation": false, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": false - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "type": "string" - } - } - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("everything is valid when validation and applicator are disabled draft 2020-12") { - assertSoftly { - listOf( - JsonPrimitive(42), - JsonPrimitive("42a"), - buildJsonArray { }, - buildJsonObject { - put("test", JsonPrimitive(54)) - }, - buildJsonObject { - put("test54", JsonPrimitive(54)) - }, - ).forEach { - withClue(it) { - schema.validate( - it, - ErrorCollector.EMPTY, - ) shouldBe true - } - } - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": true, - "https://json-schema.org/draft/2020-12/vocab/validation": true, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, - "https://json-schema.org/draft/2020-12/vocab/format-assertion": true - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "format": "date" - } - } - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("format works as assertion when format vocabulary has true value for draft 2020-12") { - val errors = mutableListOf() - val valid = - schema.validate( - buildJsonObject { - put("test", JsonPrimitive("2024-02-30")) - }, - errors::add, - ) - - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/properties/test/format"), - objectPath = JsonPointer("/test"), - message = "value does not match 'date' format", - ), - ) - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": true, - "https://json-schema.org/draft/2020-12/vocab/validation": true, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": true, - "https://json-schema.org/draft/2020-12/vocab/format-annotation": true - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "type": "object", - "properties": { - "test": { - "format": "date" - } - } - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("format works as annotation when format vocabulary has true value for draft 2020-12") { - val errors = mutableListOf() - val valid = - schema.validate( - buildJsonObject { - put("test", JsonPrimitive("2024-02-30")) - }, - errors::add, - ) - - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://localhost:8080/custom_meta", - "${KEY}vocabulary": { - "https://json-schema.org/draft/2020-12/vocab/core": true, - "https://json-schema.org/draft/2020-12/vocab/applicator": false, - "https://json-schema.org/draft/2020-12/vocab/validation": false, - "https://json-schema.org/draft/2020-12/vocab/unevaluated": false, - "https://json-schema.org/draft/2020-12/vocab/format-assertion": true - } - } - """.trimIndent(), - DRAFT_2020_12, - ).fromDefinition( - """ - { - "${KEY}schema": "https://localhost:8080/custom_meta", - "format": "date" - } - """.trimIndent(), - DRAFT_2020_12, - ).also { schema -> - test("format applied when only its vocabulary enabled draft 2020-12") { - val errors = mutableListOf() - val valid = - schema.validate( - JsonPrimitive("2024-02-30"), - errors::add, - ) - - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/format"), - objectPath = JsonPointer.ROOT, - message = "value does not match 'date' format", - ), - ) - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaLoaderTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaLoaderTest.kt deleted file mode 100644 index dd265a5e..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaLoaderTest.kt +++ /dev/null @@ -1,366 +0,0 @@ -package io.github.optimumcode.json.schema.base - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AbsoluteLocation -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.FormatValidationResult -import io.github.optimumcode.json.schema.FormatValidator -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.throwables.shouldNotThrowAnyUnit -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -class JsonSchemaLoaderTest : FunSpec() { - init { - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}id": "https://test.com", - "properties": { - "name": { - "type": "string" - } - } - } - """.trimIndent(), - ).fromDefinition( - """ - { - "properties": { - "anotherName": { - "${KEY}ref": "https://test.com#/properties/name" - } - } - } - """.trimIndent(), - ).also { schema -> - test("remote schema can be referenced by relative path valid") { - val errors = mutableListOf() - val obj = - buildJsonObject { - put("anotherName", JsonPrimitive("test")) - } - val valid = schema.validate(obj, errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - test("remote schema can be referenced by relative path invalid") { - val errors = mutableListOf() - val obj = - buildJsonObject { - put("anotherName", JsonPrimitive(42)) - } - val valid = schema.validate(obj, errors::add) - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/properties/anotherName/\$ref/type"), - objectPath = JsonPointer("/anotherName"), - message = "element is not a string", - absoluteLocation = - AbsoluteLocation( - Uri.parse("https://test.com"), - JsonPointer("/properties/name/type"), - ), - ), - ) - } - } - } - - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList", - "properties": { - "list": { - "items": { "${KEY}dynamicRef": "#itemType" } - } - }, - "${KEY}defs": { - "defaultItemType": { - "${KEY}comment": "Only needed to satisfy bookending requirement", - "${KEY}dynamicAnchor": "itemType" - } - } - } - """.trimIndent(), - ).fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "if": { - "properties": { - "kindOfList": { "const": "numbers" } - }, - "required": ["kindOfList"] - }, - "then": { "${KEY}ref": "numberList" }, - "else": { "${KEY}ref": "stringList" }, - - "${KEY}defs": { - "numberList": { - "${KEY}id": "numberList", - "${KEY}defs": { - "itemType": { - "${KEY}dynamicAnchor": "itemType", - "type": "number" - } - }, - "${KEY}ref": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList" - }, - "stringList": { - "${KEY}id": "stringList", - "${KEY}defs": { - "itemType": { - "${KEY}dynamicAnchor": "itemType", - "type": "string" - } - }, - "${KEY}ref": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/genericList" - } - } - } - """.trimIndent(), - ).also { schema -> - val numberList = - buildJsonObject { - put("kindOfList", JsonPrimitive("numbers")) - put( - "list", - buildJsonArray { - add(JsonPrimitive(42)) - }, - ) - } - val stringsList = - buildJsonObject { - put("kindOfList", JsonPrimitive("strings")) - put( - "list", - buildJsonArray { - add(JsonPrimitive("test")) - }, - ) - } - - test("dynamic refs are resolved between separate schemas") { - assertSoftly { - withClue("resolves into list of numbers") { - schema.validate(numberList, ErrorCollector.EMPTY) shouldBe true - } - withClue("resolves into list of strings") { - schema.validate(stringsList, ErrorCollector.EMPTY) shouldBe true - } - } - } - } - - test("does not report missing refs when schema is registered") { - shouldNotThrowAnyUnit { - JsonSchemaLoader.create() - .register( - """ - { - "id": "https://test.com/a", - "properties": { - "anotherName": { - "${KEY}ref": "https://test.com/b#/properties/name" - } - } - } - """.trimIndent(), - ) - } - } - - test("reports missing refs when schema is created from definition") { - shouldThrow { - JsonSchemaLoader.create() - .register( - """ - { - "${KEY}id": "https://test.com/a", - "properties": { - "anotherName": { - "${KEY}ref": "https://test.com/b#/properties/name" - } - } - } - """.trimIndent(), - ).fromDefinition( - """ - { - "${KEY}id": "https://test.com/c", - "properties": { - "subName": { - "${KEY}ref": "https://test.com/a#/properties/anotherName" - } - } - } - """.trimIndent(), - ) - }.message shouldBe "cannot resolve references: " + - "{\"https://test.com/b#/properties/name\": [\"/properties/anotherName\"]}" - } - - class MagicFormatValidator : FormatValidator { - override fun validate(element: AbstractElement): FormatValidationResult { - return if (element is PrimitiveElement && element.isString) { - if (element.content == "42") { - FormatValidator.Valid() - } else { - FormatValidator.Invalid() - } - } else { - FormatValidator.Valid() - } - } - } - JsonSchemaLoader.create() - .withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, ANNOTATION_AND_ASSERTION) - .withCustomFormat("magic", MagicFormatValidator()) - .fromDefinition( - """ - { - "format": "magic" - } - """.trimIndent(), - ).also { schema -> - test("single custom format validator and element passes validation") { - val errors = mutableListOf() - assertSoftly { - schema.validate(JsonPrimitive("42"), errors::add) shouldBe true - errors shouldHaveSize 0 - } - } - - test("single custom format validator and element fails validation") { - val errors = mutableListOf() - assertSoftly { - schema.validate(JsonPrimitive("54"), errors::add) shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/format"), - objectPath = JsonPointer.ROOT, - message = "value does not match 'magic' format", - ), - ) - } - } - } - - JsonSchemaLoader.create() - .withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, ANNOTATION_AND_ASSERTION) - .withCustomFormats(mapOf("magic" to MagicFormatValidator())) - .fromDefinition( - """ - { - "format": "magic" - } - """.trimIndent(), - ).also { schema -> - test("map custom format validator and element passes validation") { - val errors = mutableListOf() - assertSoftly { - schema.validate(JsonPrimitive("42"), errors::add) shouldBe true - errors shouldHaveSize 0 - } - } - - test("map custom format validator and element fails validation") { - val errors = mutableListOf() - assertSoftly { - schema.validate(JsonPrimitive("54"), errors::add) shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/format"), - objectPath = JsonPointer.ROOT, - message = "value does not match 'magic' format", - ), - ) - } - } - } - - test("reports error for duplicated custom format validators") { - shouldThrow { - JsonSchemaLoader.create() - .withCustomFormat("magic", MagicFormatValidator()) - .withCustomFormat("magic", MagicFormatValidator()) - }.message shouldBe "format 'magic' already registered" - } - - // https://github.com/OptimumCode/json-schema-validator/issues/87 - test("BUG_87 relative uri-ref in root \$id causes incorrect reference resolution for root schema") { - val schema = - JsonSchemaLoader.create() - .register( - """ - { - "${'$'}schema": "https://json-schema.org/draft/2020-12/schema", - "${'$'}id": "myproject/enums/foo", - "type": "integer" - } - """.trimIndent(), - ).fromDefinition( - """ - { - "${'$'}schema": "https://json-schema.org/draft/2020-12/schema", - "${'$'}id": "myproject/data/request", - "type": "object", - "properties": { - "foobar": { - "${'$'}ref": "/myproject/enums/foo" - } - } - } - """.trimIndent(), - ) - - val errors = mutableListOf() - val valid = - schema.validate( - buildJsonObject { - put("foobar", JsonPrimitive("test")) - }, - errors::add, - ) - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/properties/foobar/\$ref/type"), - objectPath = JsonPointer("/foobar"), - message = "element is not a integer", - absoluteLocation = - AbsoluteLocation( - Uri.parse("myproject/enums/foo"), - JsonPointer("/type"), - ), - ), - ) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaTest.kt deleted file mode 100644 index bd503fa5..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/JsonSchemaTest.kt +++ /dev/null @@ -1,305 +0,0 @@ -package io.github.optimumcode.json.schema.base - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.JsonSchema -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.throwables.shouldNotThrowAny -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -internal const val KEY = "\$" - -@Suppress("unused") -class JsonSchemaTest : FunSpec() { - init { - test("loads schema object from string description") { - shouldNotThrowAny { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "type": "string" - } - """.trimIndent(), - ) - } - } - - test("loads true schema from string description") { - shouldNotThrowAny { - JsonSchema.fromDefinition("true") - } - } - - test("loads false schema from string description") { - shouldNotThrowAny { - JsonSchema.fromDefinition("false") - } - } - - test("loads schema with definitions") { - shouldNotThrowAny { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "positiveInteger": { - "type": "integer", - "minimum": 0 - } - } - } - """.trimIndent(), - ) - } - } - - test("loads schema with self reference") { - shouldNotThrowAny { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "other": { "${KEY}ref": "#" } - } - } - """.trimIndent(), - ) - } - } - - test("reports missing reference") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "positiveInteger": { - "type": "integer", - "minimum": 0 - } - }, - "properties": { - "size": { - "${KEY}ref": "#/definitions/positiveIntege" - } - } - } - """.trimIndent(), - ) - }.message shouldBe "cannot resolve references: {\"#/definitions/positiveIntege\": [\"/properties/size\"]}" - } - - listOf( - "document root" to - listOf( - "http://example.com/root.json", - "http://example.com/root.json#", - ), - "definition A" to - listOf( - "http://example.com/root.json#foo", - "http://example.com/root.json#/definitions/A", - ), - "definition B" to - listOf( - "http://example.com/other.json", - "http://example.com/other.json#", - "http://example.com/root.json#/definitions/B", - ), - "definition X" to - listOf( - "http://example.com/other.json#bar", - "http://example.com/other.json#/definitions/X", - "http://example.com/root.json#/definitions/B/definitions/X", - ), - "definition Y" to - listOf( - "http://example.com/t/inner.json", - "http://example.com/t/inner.json#", - "http://example.com/other.json#/definitions/Y", - "http://example.com/root.json#/definitions/B/definitions/Y", - ), - "definition C" to - listOf( - "urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f", - "urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f#", - "http://example.com/root.json#/definitions/C", - ), - ).forEach { (refDestination, possibleRefs) -> - possibleRefs.asSequence() - .flatMapIndexed { index, ref -> - val uri = Uri.parse(ref) - val caseNumber = index + 1 - if (uri.schemeSpecificPart == "//example.com/root.json" && uri.fragment != null) { - sequenceOf("$caseNumber" to ref, "$caseNumber.1" to "#${uri.fragment}") - } else { - sequenceOf("$caseNumber" to ref) - } - }.forEach { (caseNumber, ref) -> - test("$refDestination can be accessed ($caseNumber)") { - withClue(ref) { - shouldNotThrowAny { - JsonSchema.fromDefinition( - """ - { - "${KEY}id": "http://example.com/root.json", - "definitions": { - "A": { "${KEY}id": "#foo" }, - "B": { - "${KEY}id": "other.json", - "definitions": { - "X": { "${KEY}id": "#bar" }, - "Y": { "${KEY}id": "t/inner.json" } - } - }, - "C": { - "${KEY}id": "urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f" - } - }, - "properties": { - "test": { "${KEY}ref": "$ref" } - } - } - """.trimIndent(), - ) - } - } - } - } - } - - listOf( - "http://json-schema.org/draft-07/schema#", - "http://json-schema.org/draft-07/schema", - "https://json-schema.org/draft-07/schema#", - "https://json-schema.org/draft-07/schema", - ).forEach { - test("loads schema with supported '$it' \$schema property") { - shouldNotThrowAny { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "$it", - "type": "string" - } - """.trimIndent(), - ) - } - } - } - - listOf( - "https://json-schema.org/draft/2021-12/schema", - "http://json-schema.org/draft-07/schema/", - ).forEach { - test("reports unsupported '$it' \$schema property") { - shouldThrow { - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "$it", - "type": "string" - } - """.trimIndent(), - ) - }.message shouldBe "unsupported schema type $it" - } - } - - test("\$dynamicRef is resolved every time") { - val schema = - JsonSchema.fromDefinition( - """ - { - "${KEY}schema": "https://json-schema.org/draft/2020-12/schema", - "${KEY}id": "https://test.json-schema.org/dynamic-ref-with-multiple-paths/main", - "if": { - "properties": { - "kindOfList": { "const": "numbers" } - }, - "required": ["kindOfList"] - }, - "then": { "${KEY}ref": "numberList" }, - "else": { "${KEY}ref": "stringList" }, - - "${KEY}defs": { - "genericList": { - "${KEY}id": "genericList", - "properties": { - "list": { - "items": { "${KEY}dynamicRef": "#itemType" } - } - }, - "${KEY}defs": { - "defaultItemType": { - "${KEY}comment": "Only needed to satisfy bookending requirement", - "${KEY}dynamicAnchor": "itemType" - } - } - }, - "numberList": { - "${KEY}id": "numberList", - "${KEY}defs": { - "itemType": { - "${KEY}dynamicAnchor": "itemType", - "type": "number" - } - }, - "${KEY}ref": "genericList" - }, - "stringList": { - "${KEY}id": "stringList", - "${KEY}defs": { - "itemType": { - "${KEY}dynamicAnchor": "itemType", - "type": "string" - } - }, - "${KEY}ref": "genericList" - } - } - } - """.trimIndent(), - ) - val numberList = - buildJsonObject { - put("kindOfList", JsonPrimitive("numbers")) - put( - "list", - buildJsonArray { - add(JsonPrimitive(42)) - }, - ) - } - val stringsList = - buildJsonObject { - put("kindOfList", JsonPrimitive("strings")) - put( - "list", - buildJsonArray { - add(JsonPrimitive("test")) - }, - ) - } - - assertSoftly { - withClue("resolves into list of numbers") { - schema.validate(numberList, ErrorCollector.EMPTY) shouldBe true - } - withClue("resolves into list of strings") { - schema.validate(stringsList, ErrorCollector.EMPTY) shouldBe true - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/OutputCollectorsTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/OutputCollectorsTest.kt deleted file mode 100644 index 842811df..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/base/OutputCollectorsTest.kt +++ /dev/null @@ -1,856 +0,0 @@ -package io.github.optimumcode.json.schema.base - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AbsoluteLocation -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.ValidationOutput -import io.github.optimumcode.json.schema.ValidationOutput.OutputUnit -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -class OutputCollectorsTest : FunSpec() { - init { - JsonSchema - .fromDefinition( - """ - { - "type": "object", - "allOf": [ - { - "${KEY}ref": "#/${KEY}defs/reference" - }, - { - "properties": { - "collection": { - "type": "array", - "items": { - "type": "string" - } - } - } - } - ], - "${KEY}defs": { - "reference": { - "type": "object", - "propertyNames": { - "type": "string", - "minLength": 3 - } - } - } - } - """.trimIndent(), - ).also { schema -> - val validObject = - buildJsonObject { - put( - "collection", - buildJsonArray { - add(JsonPrimitive("test1")) - add(JsonPrimitive("test2")) - }, - ) - put("ano", JsonPrimitive(1)) - } - val invalidObject = - buildJsonObject { - put( - "collection", - buildJsonArray { - add(JsonPrimitive(1)) - add(JsonPrimitive("test")) - add(JsonPrimitive(false)) - }, - ) - put("a", JsonPrimitive(42)) - } - test("flag output for valid object") { - val res = schema.validate(validObject, OutputCollector.flag()) - res shouldBe ValidationOutput.Flag.VALID - } - test("flag output for invalid object") { - val res = schema.validate(invalidObject, OutputCollector.flag()) - res shouldBe ValidationOutput.Flag.INVALID - } - - test("basic output for valid object") { - val res = schema.validate(validObject, OutputCollector.basic()) - res shouldBe - ValidationOutput.Basic( - valid = true, - ) - } - - test("basic output for invalid object") { - val res = schema.validate(invalidObject, OutputCollector.basic()) - res shouldBe - ValidationOutput.Basic( - valid = false, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames/minLength"), - instanceLocation = JsonPointer("/a"), - error = "property a: string length (1) must be greater or equal to 3", - absoluteKeywordLocation = - AbsoluteLocation( - uri = Uri.EMPTY, - path = JsonPointer("/\$defs/reference/propertyNames/minLength"), - ), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items/type"), - instanceLocation = JsonPointer("/collection/0"), - error = "element is not a string", - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items/type"), - instanceLocation = JsonPointer("/collection/2"), - error = "element is not a string", - ), - ), - ) - } - - test("OutputUnit output for valid object") { - val res = schema.validate(validObject, OutputCollector.detailed()) - res shouldBe - OutputUnit( - valid = true, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - ) - } - - test("OutputUnit output for invalid object") { - val res = schema.validate(invalidObject, OutputCollector.detailed()) - res shouldBe - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0/\$ref"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation( - uri = Uri.EMPTY, - path = JsonPointer("/\$defs/reference"), - ), - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames/minLength"), - instanceLocation = JsonPointer("/a"), - absoluteKeywordLocation = - AbsoluteLocation( - uri = Uri.EMPTY, - path = JsonPointer("/\$defs/reference/propertyNames/minLength"), - ), - error = "property a: string length (1) must be greater or equal to 3", - ), - ), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items/type"), - instanceLocation = JsonPointer("/collection/0"), - error = "element is not a string", - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items/type"), - instanceLocation = JsonPointer("/collection/2"), - error = "element is not a string", - ), - ), - ), - ), - ) - } - - test("verbose output for valid object") { - val res = schema.validate(validObject, OutputCollector.verbose()) - val expected = - //region Expected result - OutputUnit( - valid = true, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/type"), - instanceLocation = JsonPointer.ROOT, - ), - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/\$defs/reference")), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/type"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/\$defs/reference/type")), - ), - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/\$defs/reference/propertyNames")), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames"), - instanceLocation = JsonPointer("/collection"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames"), - ), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames/type"), - instanceLocation = JsonPointer("/collection"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/type"), - ), - ), - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/0/\$ref/propertyNames/minLength", - ), - instanceLocation = JsonPointer("/collection"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/minLength"), - ), - ), - ), - ), - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames"), - instanceLocation = JsonPointer("/ano"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames"), - ), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames/type"), - instanceLocation = JsonPointer("/ano"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/type"), - ), - ), - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/0/\$ref/propertyNames/minLength", - ), - instanceLocation = JsonPointer("/ano"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/minLength"), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1/properties"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1/properties"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1/properties/collection"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1/properties/collection/type"), - instanceLocation = JsonPointer("/collection"), - ), - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items", - ), - instanceLocation = JsonPointer("/collection/0"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items/type", - ), - instanceLocation = JsonPointer("/collection/0"), - ), - ), - ), - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items", - ), - instanceLocation = JsonPointer("/collection/1"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items/type", - ), - instanceLocation = JsonPointer("/collection/1"), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ) - //endregion - res shouldBe expected - } - - test("verbose output for invalid object") { - val res = schema.validate(invalidObject, OutputCollector.verbose()) - val expected = - //region Expected result - OutputUnit( - valid = false, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/type"), - instanceLocation = JsonPointer.ROOT, - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0/\$ref"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/\$defs/reference")), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/type"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/\$defs/reference/type")), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames"), - instanceLocation = JsonPointer.ROOT, - absoluteKeywordLocation = - AbsoluteLocation(Uri.EMPTY, JsonPointer("/\$defs/reference/propertyNames")), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames"), - instanceLocation = JsonPointer("/collection"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames"), - ), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames/type"), - instanceLocation = JsonPointer("/collection"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/type"), - ), - ), - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/0/\$ref/propertyNames/minLength", - ), - instanceLocation = JsonPointer("/collection"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/minLength"), - ), - ), - ), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames"), - instanceLocation = JsonPointer("/a"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames"), - ), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/0/\$ref/propertyNames/type"), - instanceLocation = JsonPointer("/a"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/type"), - ), - ), - OutputUnit( - valid = false, - keywordLocation = - JsonPointer( - "/allOf/0/\$ref/propertyNames/minLength", - ), - instanceLocation = JsonPointer("/a"), - absoluteKeywordLocation = - AbsoluteLocation( - Uri.EMPTY, - JsonPointer("/\$defs/reference/propertyNames/minLength"), - ), - error = "property a: string length (1) must be greater or equal to 3", - ), - ), - ), - ), - ), - ), - ), - ), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/allOf/1/properties/collection/type"), - instanceLocation = JsonPointer("/collection"), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/allOf/1/properties/collection/items"), - instanceLocation = JsonPointer("/collection"), - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items", - ), - instanceLocation = JsonPointer("/collection/0"), - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items/type", - ), - instanceLocation = JsonPointer("/collection/0"), - error = "element is not a string", - ), - ), - ), - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items", - ), - instanceLocation = JsonPointer("/collection/1"), - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items/type", - ), - instanceLocation = JsonPointer("/collection/1"), - ), - ), - ), - OutputUnit( - valid = false, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items", - ), - instanceLocation = JsonPointer("/collection/2"), - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = - JsonPointer( - "/allOf/1/properties/collection/items/type", - ), - instanceLocation = JsonPointer("/collection/2"), - error = "element is not a string", - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ), - ) - //endregion - res shouldBe expected - } - } - - JsonSchema - .fromDefinition( - """ - { - "oneOf": [ - { - "type": "string" - }, - { - "type": "object" - } - ] - } - """.trimIndent(), - ).also { schema -> - test("detailed output with oneOf for string") { - val res = - schema.validate( - JsonPrimitive("test"), - OutputCollector.detailed(), - ) - res shouldBe - OutputUnit( - valid = true, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - ) - } - - test("detailed output with oneOf for object") { - val res = - schema.validate( - buildJsonObject { }, - OutputCollector.detailed(), - ) - res shouldBe - OutputUnit( - valid = true, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - ) - } - - test("detailed output with oneOf for invalid value") { - val res = - schema.validate( - JsonPrimitive(42), - OutputCollector.detailed(), - ) - res shouldBe - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf/0/type"), - instanceLocation = JsonPointer.ROOT, - error = "element is not a string", - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf/1/type"), - instanceLocation = JsonPointer.ROOT, - error = "element is not a object", - ), - ), - ) - } - test("verbose output with oneOf for string") { - val res = - schema.validate( - JsonPrimitive("test"), - OutputCollector.verbose(), - ) - - res shouldBe - OutputUnit( - valid = true, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/oneOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/oneOf/0"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/oneOf/0/type"), - instanceLocation = JsonPointer.ROOT, - ), - ), - ), - ), - ), - ), - ) - } - - test("verbose output with oneOf for object") { - val res = - schema.validate( - buildJsonObject { }, - OutputCollector.verbose(), - ) - - res shouldBe - OutputUnit( - valid = true, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/oneOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/oneOf/1"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = true, - keywordLocation = JsonPointer("/oneOf/1/type"), - instanceLocation = JsonPointer.ROOT, - ), - ), - ), - ), - ), - ), - ) - } - - test("verbose output with oneOf for invalid") { - val res = - schema.validate( - JsonPrimitive(42), - OutputCollector.verbose(), - ) - - res shouldBe - OutputUnit( - valid = false, - keywordLocation = JsonPointer.ROOT, - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf/0"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf/0/type"), - instanceLocation = JsonPointer.ROOT, - error = "element is not a string", - ), - ), - ), - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf/1"), - instanceLocation = JsonPointer.ROOT, - errors = - setOf( - OutputUnit( - valid = false, - keywordLocation = JsonPointer("/oneOf/1/type"), - instanceLocation = JsonPointer.ROOT, - error = "element is not a object", - ), - ), - ), - ), - ), - ), - ) - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/cuncurrency/ConcurrentExecutionTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/cuncurrency/ConcurrentExecutionTest.kt deleted file mode 100644 index 32961af4..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/cuncurrency/ConcurrentExecutionTest.kt +++ /dev/null @@ -1,65 +0,0 @@ -package io.github.optimumcode.json.schema.cuncurrency - -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.OutputCollector -import io.github.optimumcode.json.schema.SchemaType -import io.kotest.assertions.throwables.shouldNotThrowAny -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.booleans.shouldBeTrue -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.coroutineScope -import kotlinx.coroutines.delay -import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject -import kotlin.time.Duration.Companion.milliseconds - -class ConcurrentExecutionTest : FunSpec() { - init { - val schema = - JsonSchema.Companion.fromDefinition( - """ - { - "properties": { - "inner": { - "type": "object", - "properties": { - "value": { - "type": "string" - } - } - } - } - } - """.trimIndent(), - defaultType = SchemaType.DRAFT_2020_12, - ) - - test("BUG #224: JsonSchema can be used concurrently").config(coroutineTestScope = false) { - val target = - buildJsonObject { - put( - "inner", - buildJsonObject { - put("value", JsonPrimitive("test")) - }, - ) - } - shouldNotThrowAny { - coroutineScope { - withContext(Dispatchers.Default) { - repeat(1000) { - launch { - // delay is added to force suspension and increase changes of catching a concurrent issue within JsonSchema - delay(1.milliseconds) - val result = schema.validate(target, OutputCollector.Companion.flag()) - result.valid.shouldBeTrue() - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/extension/JsonSchemaExtensionAnnotationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/extension/JsonSchemaExtensionAnnotationTest.kt deleted file mode 100644 index 6f139e67..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/extension/JsonSchemaExtensionAnnotationTest.kt +++ /dev/null @@ -1,177 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AnnotationKey -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.model.AbstractElement -import io.kotest.assertions.assertSoftly -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive - -class JsonSchemaExtensionAnnotationTest : FunSpec() { - init { - val schemaDef = - """ - { - "foo": "ann1", - "bar": "ann1" - } - """.trimIndent() - test("can see annotation when registered in right order") { - val schema = - JsonSchemaLoader.create() - .withExtensions(FooFactory, BarFactory) - .fromDefinition(schemaDef) - - val errors = mutableListOf() - val valid = schema.validate(JsonNull, errors::add) - assertSoftly { - valid shouldBe true - errors shouldHaveSize 0 - } - } - - test("cannot see annotation when registered in wrong order") { - val schema = - JsonSchemaLoader.create() - .withExtensions(BarFactory, FooFactory) - .fromDefinition(schemaDef) - - val errors = mutableListOf() - val valid = schema.validate(JsonNull, errors::add) - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/bar"), - objectPath = JsonPointer.ROOT, - message = "expected 'ann1' but actual 'null'", - ), - ) - } - } - - test("cannot see annotation when using different key with same name and type") { - val schema = - JsonSchemaLoader.create() - .withExtensions(FooFactory, WrongBarFactory) - .fromDefinition(schemaDef) - - val errors = mutableListOf() - val valid = schema.validate(JsonNull, errors::add) - assertSoftly { - valid shouldBe false - errors.shouldContainExactly( - ValidationError( - schemaPath = JsonPointer("/bar"), - objectPath = JsonPointer.ROOT, - message = "expected 'ann1' but actual 'null'", - ), - ) - } - } - } -} - -private object FooFactory : ExternalAssertionFactory { - val ANNOTATION: AnnotationKey = AnnotationKey.simple(keywordName) - - override val keywordName: String - get() = "foo" - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion { - require(element is JsonPrimitive && element.isString) { "$keywordName must be a string" } - val annotationValue = element.content - return object : ExternalAssertion { - override fun validate( - element: AbstractElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean { - context.annotationCollector.annotate(ANNOTATION, annotationValue) - return true - } - } - } -} - -private object BarFactory : ExternalAssertionFactory { - override val keywordName: String - get() = "bar" - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion { - require(element is JsonPrimitive && element.isString) { "$keywordName must be a string" } - val expectedAnnotation: String = element.content - val path = context.schemaPath - return object : ExternalAssertion { - override fun validate( - element: AbstractElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean { - val annotation: String? = context.annotationCollector.annotated(FooFactory.ANNOTATION) - if (annotation == expectedAnnotation) { - return true - } - - errorCollector.onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "expected '$expectedAnnotation' but actual '$annotation'", - ), - ) - return false - } - } - } -} - -private object WrongBarFactory : ExternalAssertionFactory { - val WRONG_ANNOTATION: AnnotationKey = AnnotationKey.simple(FooFactory.keywordName) - override val keywordName: String - get() = "bar" - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion { - require(element is JsonPrimitive && element.isString) { "$keywordName must be a string" } - val expectedAnnotation: String = element.content - val path = context.schemaPath - return object : ExternalAssertion { - override fun validate( - element: AbstractElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean { - val annotation: String? = context.annotationCollector.annotated(WRONG_ANNOTATION) - if (annotation == expectedAnnotation) { - return true - } - - errorCollector.onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "expected '$expectedAnnotation' but actual '$annotation'", - ), - ) - return false - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/extension/JsonSchemaExtensionTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/extension/JsonSchemaExtensionTest.kt deleted file mode 100644 index db7973a3..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/extension/JsonSchemaExtensionTest.kt +++ /dev/null @@ -1,207 +0,0 @@ -package io.github.optimumcode.json.schema.extension - -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.ValidationError -import io.github.optimumcode.json.schema.model.AbstractElement -import io.github.optimumcode.json.schema.model.PrimitiveElement -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.throwables.shouldThrow -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.core.test.TestScope -import io.kotest.matchers.collections.shouldContainExactlyInAnyOrder -import io.kotest.matchers.collections.shouldHaveSize -import io.kotest.matchers.shouldBe -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonObject - -class JsonSchemaExtensionTest : FunSpec() { - init { - test("reports keyword that matches one of the existing keywords") { - shouldThrow { - JsonSchemaLoader - .create() - .withExtensions(DuplicatedAssertionFactory) - }.message shouldBe - "external factory with keyword 'type' overlaps with " + - "'type' keyword in [DRAFT_4, DRAFT_6, DRAFT_7, DRAFT_2019_09, DRAFT_2020_12] draft(s)" - } - - test("reports duplicated extension keywords") { - shouldThrow { - JsonSchemaLoader - .create() - .withExtensions(SimpleDateFormatAssertionFactory, SimpleDateFormatAssertionFactory) - }.message shouldBe "duplicated extension factory with keyword 'dateFormat'" - } - - val schemaDef = - """ - { - "properties": { - "date": { - "dateFormat": "iso" - }, - "time": { - "timeFormat": "iso" - } - } - } - """.trimIndent() - - val validObject = - buildJsonObject { - put("time", JsonPrimitive("12:35:42")) - put("date", JsonPrimitive("2024-02-10")) - } - - val invalidObject = - buildJsonObject { - put("time", JsonPrimitive("12h35m42s")) - put("date", JsonPrimitive("2024/02/10")) - } - - fun TestScope.checkValidAndInvalid(schema: JsonSchema) { - withClue("checking valid object") { - assertSoftly { - val errors = mutableListOf() - val valid = schema.validate(validObject, errors::add) - valid shouldBe true - errors shouldHaveSize 0 - } - } - withClue("checking invalid object") { - assertSoftly { - val errors = mutableListOf() - val valid = schema.validate(invalidObject, errors::add) - valid shouldBe false - errors.shouldContainExactlyInAnyOrder( - ValidationError( - schemaPath = JsonPointer("/properties/time/timeFormat"), - objectPath = JsonPointer("/time"), - message = "invalid time format", - ), - ValidationError( - schemaPath = JsonPointer("/properties/date/dateFormat"), - objectPath = JsonPointer("/date"), - message = "invalid date format", - ), - ) - } - } - } - - test("registers all extensions with varargs") { - val schema = - JsonSchemaLoader - .create() - .withExtensions(SimpleTimeFormatAssertionFactory, SimpleDateFormatAssertionFactory) - .fromDefinition(schemaDef) - checkValidAndInvalid(schema) - } - - test("registers all extensions with iterable") { - val schema = - JsonSchemaLoader - .create() - .withExtensions(listOf(SimpleTimeFormatAssertionFactory, SimpleDateFormatAssertionFactory)) - .fromDefinition(schemaDef) - checkValidAndInvalid(schema) - } - } -} - -private object DuplicatedAssertionFactory : ExternalAssertionFactory { - override val keywordName: String - get() = "type" - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion = throw UnsupportedOperationException("should never be invoked") -} - -private object SimpleDateFormatAssertionFactory : ExternalAssertionFactory { - override val keywordName: String - get() = "dateFormat" - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion { - require(element is JsonPrimitive) { "$keywordName must be a string primitive" } - val type = element.content - require(type.equals("iso", ignoreCase = true)) { - "${SimpleTimeFormatAssertionFactory.keywordName} has unsupported value '$type'" - } - val path = context.schemaPath - return object : ExternalAssertion { - private val dateRegex = Regex("(\\d{4})-(\\d{2})-(\\d{2})") - - override fun validate( - element: AbstractElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean { - if (element !is PrimitiveElement || !element.isString) { - return true - } - return dateRegex.matches(element.content).also { - if (!it) { - errorCollector.onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "invalid date format", - ), - ) - } - } - } - } - } -} - -private object SimpleTimeFormatAssertionFactory : ExternalAssertionFactory { - override val keywordName: String - get() = "timeFormat" - - override fun create( - element: JsonElement, - context: ExternalLoadingContext, - ): ExternalAssertion { - require(element is JsonPrimitive) { "$keywordName must be a string primitive" } - val type = element.content - require(type.equals("iso", ignoreCase = true)) { "$keywordName has unsupported value '$type'" } - - val path = context.schemaPath - return object : ExternalAssertion { - private val timeRegex = Regex("\\d{2}:\\d{2}:\\d{2}(.\\d{1,9})?") - - override fun validate( - element: AbstractElement, - context: ExternalAssertionContext, - errorCollector: ErrorCollector, - ): Boolean { - if (element !is PrimitiveElement || !element.isString) { - return true - } - return timeRegex.matches(element.content).also { - if (!it) { - errorCollector.onError( - ValidationError( - schemaPath = path, - objectPath = context.objectPath, - message = "invalid time format", - ), - ) - } - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/hostname/PunycodeTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/hostname/PunycodeTest.kt deleted file mode 100644 index af3db32c..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/hostname/PunycodeTest.kt +++ /dev/null @@ -1,182 +0,0 @@ -package io.github.optimumcode.json.schema.internal.hostname - -import io.kotest.assertions.assertSoftly -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import io.kotest.matchers.string.shouldBeEqualIgnoringCase - -class PunycodeTest : FunSpec() { - init { - test("rfc3492_Samples") { - assertSoftly { - // (A) Arabic (Egyptian) - testEncodeDecode( - unicode = "ليهمابتكلموشعربي؟", - punycode = "xn--egbpdaj6bu4bxfgehfvwxn", - ) - - // (B) Chinese (simplified) - testEncodeDecode( - unicode = "他们为什么不说中文", - punycode = "xn--ihqwcrb4cv8a8dqg056pqjye", - ) - - // (C) Chinese (traditional) - testEncodeDecode( - unicode = "他們爲什麽不說中文", - punycode = "xn--ihqwctvzc91f659drss3x8bo0yb", - ) - - // (D) Czech - testEncodeDecode( - unicode = "Pročprostěnemluvíčesky", - punycode = "xn--Proprostnemluvesky-uyb24dma41a", - ) - - // (E) Hebrew: - testEncodeDecode( - unicode = "למההםפשוטלאמדבריםעברית", - punycode = "xn--4dbcagdahymbxekheh6e0a7fei0b", - ) - - // (F) Hindi (Devanagari) - testEncodeDecode( - unicode = "यहलोगहिन्दीक्योंनहींबोलसकतेहैं", - punycode = "xn--i1baa7eci9glrd9b2ae1bj0hfcgg6iyaf8o0a1dig0cd", - ) - - // (G) Japanese (kanji and hiragana) - testEncodeDecode( - unicode = "なぜみんな日本語を話してくれないのか", - punycode = "xn--n8jok5ay5dzabd5bym9f0cm5685rrjetr6pdxa", - ) - - // (H) Korean (Hangul syllables) - testEncodeDecode( - unicode = "세계의모든사람들이한국어를이해한다면얼마나좋을까", - punycode = "xn--989aomsvi5e83db1d2a355cv1e0vak1dwrv93d5xbh15a0dt30a5jpsd879ccm6fea98c", - ) - - // (I) Russian (Cyrillic) - testEncodeDecode( - unicode = "почемужеонинеговорятпорусски", - punycode = "xn--b1abfaaepdrnnbgefbadotcwatmq2g4l", - ) - - // (J) Spanish - testEncodeDecode( - unicode = "PorquénopuedensimplementehablarenEspañol", - punycode = "xn--PorqunopuedensimplementehablarenEspaol-fmd56a", - ) - - // (K) Vietnamese - testEncodeDecode( - unicode = "TạisaohọkhôngthểchỉnóitiếngViệt", - punycode = "xn--TisaohkhngthchnitingVit-kjcr8268qyxafd2f1b9g", - ) - } - } - - test("uppercase punycode") { - testEncodeDecode( - unicode = "ليهمابتكلموشعربي؟", - punycode = "Xn--EgBpDaJ6Bu4bXfGeHfVwXn", - ) - } - - test("mixed case punycode") { - testEncodeDecode( - unicode = "ليهمابتكلموشعربي؟", - punycode = "Xn--EgBpDaJ6Bu4bXfGeHfVwXn", - ) - } - - test("multiple labels") { - assertSoftly { - testEncodeDecode( - unicode = "☃.net", - punycode = "xn--n3h.net", - ) - testEncodeDecode( - unicode = "ålgård.no", - punycode = "xn--lgrd-poac.no", - ) - testEncodeDecode( - unicode = "個人.香港", - punycode = "xn--gmqw5a.xn--j6w193g", - ) - testEncodeDecode( - unicode = "упр.срб", - punycode = "xn--o1ach.xn--90a3ac", - ) - } - } - - test("dash in prefix") { - testEncodeDecode( - unicode = "klmnöpqrst-uvwxy", - punycode = "xn--klmnpqrst-uvwxy-ctb", - ) - } - - test("non basic code point in prefix") { - Punycode.decode("xn--cåt-n3h") shouldBe null - } - - test("non basic code point in insertion coding") { - Punycode.decode("xn--cat-ñ3h") shouldBe null - } - - test("unterminated code point") { - Punycode.decode("xn--cat-n") shouldBe null - } - - test("overflow I") { - Punycode.decode("xn--99999999") shouldBe null - } - - test("overflow max code point") { - assertSoftly { - Punycode.decode("xn--a-b.net") shouldBe null - Punycode.decode("xn--a-9b.net") shouldBe null - Punycode.decode("xn--a-99999b.net") shouldBe null - Punycode.decode("xn--a-9999b.net") shouldBe "a\uD8E2\uDF5C.net" - Punycode.decode("xn--a-999b.net") shouldBe "a溠.net" - Punycode.decode("xn--a-99b.net") shouldBe "a՚.net" - } - } - - test("invalid punycode") { - Punycode.decode("xn--ls8h=") shouldBe null - } - - test("overflow encoding oversized labels") { - val a1000 = "a".repeat(1000) - val a1000MaxCodePoint = a1000 + "\udbff\udfff" - assertSoftly { - testEncodeDecode( - a1000MaxCodePoint, - "xn--$a1000-nc89312g", - ) - withClue("encoding overflow") { - Punycode.encode(a1000MaxCodePoint.repeat(2)) shouldBe null - } - } - } - } - - private fun testEncodeDecode( - unicode: String, - punycode: String, - ) { - assertSoftly { - withClue("decoding") { - Punycode.decode(punycode) shouldBe unicode - } - withClue("encoding") { - Punycode.encode(unicode) shouldBeEqualIgnoringCase punycode - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/util/ElementEqualityUtilTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/util/ElementEqualityUtilTest.kt deleted file mode 100644 index a8b6ba6e..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/util/ElementEqualityUtilTest.kt +++ /dev/null @@ -1,72 +0,0 @@ -package io.github.optimumcode.json.schema.internal.util - -import io.github.optimumcode.json.schema.internal.wrapper.JsonPrimitiveWrapper -import io.kotest.assertions.asClue -import io.kotest.assertions.assertSoftly -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.nulls.shouldNotBeNull -import io.kotest.matchers.shouldBe -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.JsonUnquotedLiteral - -@Suppress("unused") -@OptIn(ExperimentalSerializationApi::class) -class ElementEqualityUtilTest : FunSpec() { - init { - test("extracts number parts from max long engineering format") { - val (integer, fraction, precision) = - parseNumberParts(JsonPrimitiveWrapper(JsonUnquotedLiteral("1e308"))) - .shouldNotBeNull() - assertSoftly { - integer shouldBe Long.MAX_VALUE - fraction shouldBe 0L - precision shouldBe 0 - } - } - - test("correctly compares fractional part") { - areEqualPrimitives( - JsonPrimitiveWrapper(JsonUnquotedLiteral("0.0075")), - JsonPrimitiveWrapper(JsonUnquotedLiteral("0.00075")), - ) shouldBe false - } - - listOf( - "0.00751", - "0.0075100", - "751e-5", - ).forEach { - test("correctly extract all parts from float number in format $it") { - val parts = parseNumberParts(JsonPrimitiveWrapper(JsonUnquotedLiteral(it))).shouldNotBeNull() - assertSoftly { - parts.asClue { p -> - p.integer shouldBe 0 - p.precision shouldBe 5 - p.fractional shouldBe 751 - } - } - } - } - - listOf( - "2" to "2.0", - "0.1" to "0.1", - "0.1" to "0.100", - "1e-1" to "0.1", - ).forEach { (first, second) -> - test("numbers $first and $second are equal") { - assertSoftly { - areEqualPrimitives( - JsonPrimitiveWrapper(JsonUnquotedLiteral(first)), - JsonPrimitiveWrapper(JsonUnquotedLiteral(second)), - ) shouldBe true - - areEqualPrimitives( - JsonPrimitiveWrapper(JsonUnquotedLiteral(second)), - JsonPrimitiveWrapper(JsonUnquotedLiteral(first)), - ) shouldBe true - } - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/wrapper/JsonWrapperTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/wrapper/JsonWrapperTest.kt deleted file mode 100644 index c05c6d1a..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/internal/wrapper/JsonWrapperTest.kt +++ /dev/null @@ -1,125 +0,0 @@ -package io.github.optimumcode.json.schema.internal.wrapper - -import io.github.optimumcode.json.schema.model.contentOrNull -import io.kotest.assertions.assertSoftly -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.booleans.shouldBeFalse -import io.kotest.matchers.booleans.shouldBeTrue -import io.kotest.matchers.collections.shouldContainExactly -import io.kotest.matchers.nulls.shouldBeNull -import io.kotest.matchers.should -import io.kotest.matchers.shouldBe -import io.kotest.matchers.types.instanceOf -import io.kotest.matchers.types.shouldBeInstanceOf -import kotlinx.serialization.json.JsonNull -import kotlinx.serialization.json.JsonPrimitive -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.buildJsonObject - -class JsonWrapperTest : FunSpec() { - init { - mapOf( - buildJsonObject { } to JsonObjectWrapper::class, - buildJsonArray { } to JsonArrayWrapper::class, - JsonPrimitive("hello") to JsonPrimitiveWrapper::class, - JsonNull to JsonPrimitiveWrapper::class, - ).forEach { (node, wrapperClass) -> - test("node ${node::class.simpleName} wraps into ${wrapperClass.simpleName}") { - node.wrap() shouldBe instanceOf(wrapperClass) - } - } - - test("object wrapper") { - buildJsonObject { - put("a", JsonPrimitive("hello")) - put("b", buildJsonArray { }) - }.wrap().shouldBeInstanceOf { - assertSoftly { - it.size shouldBe 2 - it.keys shouldContainExactly setOf("a", "b") - it["a"].shouldBeInstanceOf() - it["b"].shouldBeInstanceOf() - it["c"].shouldBeNull() - ("a" in it).shouldBeTrue() - ("c" in it).shouldBeFalse() - } - } - } - - test("array wrapper") { - buildJsonArray { - add(JsonPrimitive("hello")) - add(buildJsonObject { }) - }.wrap().shouldBeInstanceOf { - assertSoftly { - it.size shouldBe 2 - it[0].shouldBeInstanceOf() - it[1].shouldBeInstanceOf() - } - } - } - - test("primitive wrapper for null") { - JsonNull.wrap().shouldBeInstanceOf { - assertSoftly { - it.isString.shouldBeFalse() - it.isNumber.shouldBeFalse() - it.isBoolean.shouldBeFalse() - it.isNull.shouldBeTrue() - it.content shouldBe "null" - it.contentOrNull.shouldBeNull() - } - } - } - - test("primitive wrapper for boolean") { - JsonPrimitive(true).wrap().shouldBeInstanceOf { - assertSoftly { - it.isString.shouldBeFalse() - it.isNumber.shouldBeFalse() - it.isBoolean.shouldBeTrue() - it.isNull.shouldBeFalse() - it.content shouldBe "true" - it.contentOrNull shouldBe "true" - } - } - } - - test("primitive wrapper for number") { - JsonPrimitive(42).wrap().shouldBeInstanceOf { - assertSoftly { - it.isString.shouldBeFalse() - it.isNumber.shouldBeTrue() - it.isBoolean.shouldBeFalse() - it.isNull.shouldBeFalse() - it.content shouldBe "42" - it.contentOrNull shouldBe "42" - } - } - } - - test("primitive wrapper for string") { - JsonPrimitive("42").wrap().shouldBeInstanceOf { - assertSoftly { - it.isString.shouldBeTrue() - it.isNumber.shouldBeFalse() - it.isBoolean.shouldBeFalse() - it.isNull.shouldBeFalse() - it.content shouldBe "42" - it.contentOrNull shouldBe "42" - } - } - } - - test("string wrapper for property") { - StringWrapper("prop").should { - it.isString.shouldBeTrue() - it.isNumber.shouldBeFalse() - it.isBoolean.shouldBeFalse() - it.isNull.shouldBeFalse() - it.content shouldBe "prop" - it.contentOrNull shouldBe "prop" - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/serialization/AbsoluteLocationSerializationTest.kt b/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/serialization/AbsoluteLocationSerializationTest.kt deleted file mode 100644 index bea1c534..00000000 --- a/json-schema-validator/src/commonTest/kotlin/io/github/optimumcode/json/schema/serialization/AbsoluteLocationSerializationTest.kt +++ /dev/null @@ -1,39 +0,0 @@ -package io.github.optimumcode.json.schema.serialization - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.pointer.JsonPointer -import io.github.optimumcode.json.schema.AbsoluteLocation -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import kotlinx.serialization.encodeToString -import kotlinx.serialization.json.Json - -class AbsoluteLocationSerializationTest : FunSpec() { - init { - listOf( - AbsoluteLocation( - uri = Uri.EMPTY, - path = JsonPointer.ROOT, - ) to "#", - AbsoluteLocation( - uri = Uri.EMPTY, - path = JsonPointer("/test/\$ref"), - ) to "#/test/\$ref", - AbsoluteLocation( - uri = Uri.parse("https://test.com"), - path = JsonPointer.ROOT, - ) to "https://test.com#", - AbsoluteLocation( - uri = Uri.parse("https://test.com"), - path = JsonPointer("/test/\$ref"), - ) to "https://test.com#/test/\$ref", - ).forEach { (location, expected) -> - test("absolute location $location serialized") { - Json.encodeToString(location) shouldBe "\"$expected\"" - } - test("absolute location $location can be deserialized") { - Json.decodeFromString(AbsoluteLocation.serializer(), "\"$expected\"") shouldBe location - } - } - } -} \ No newline at end of file diff --git a/json-schema-validator/src/jvmMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaStream.kt b/json-schema-validator/src/jvmMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaStream.kt deleted file mode 100644 index af3cb7b5..00000000 --- a/json-schema-validator/src/jvmMain/kotlin/io/github/optimumcode/json/schema/JsonSchemaStream.kt +++ /dev/null @@ -1,19 +0,0 @@ -@file:JvmName("JsonSchemaStream") - -package io.github.optimumcode.json.schema - -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.decodeFromStream -import java.io.InputStream - -/** - * Loads JSON schema from provided [input] - */ -@ExperimentalSerializationApi -public fun JsonSchema.Companion.fromStream(input: InputStream): JsonSchema { - // we do not close the IS. It is caller responsibility - val schemaElement = Json.decodeFromStream(JsonElement.serializer(), input) - return fromJsonElement(schemaElement) -} \ No newline at end of file diff --git a/json-schema-validator/src/jvmTest/kotlin/io/github/optimumcode/json/schema/JsonSchemaStreamTest.kt b/json-schema-validator/src/jvmTest/kotlin/io/github/optimumcode/json/schema/JsonSchemaStreamTest.kt deleted file mode 100644 index 13ed611a..00000000 --- a/json-schema-validator/src/jvmTest/kotlin/io/github/optimumcode/json/schema/JsonSchemaStreamTest.kt +++ /dev/null @@ -1,43 +0,0 @@ -package io.github.optimumcode.json.schema - -import io.kotest.assertions.asClue -import io.kotest.assertions.throwables.shouldNotThrowAny -import io.kotest.core.spec.style.FunSpec -import kotlinx.serialization.ExperimentalSerializationApi -import java.io.ByteArrayInputStream -import java.net.URI -import java.net.http.HttpClient -import java.net.http.HttpRequest -import java.net.http.HttpResponse.BodyHandlers -import java.time.Duration - -@OptIn(ExperimentalSerializationApi::class) -@Suppress("unused") -class JsonSchemaStreamTest : FunSpec() { - init { - test("definition is loaded from input stream") { - - val client = - HttpClient.newBuilder() - .followRedirects(HttpClient.Redirect.NORMAL) - .build() - - val response = - client.send( - HttpRequest.newBuilder(URI.create("https://json-schema.org/draft-07/schema#")) - .GET() - .timeout(Duration.ofSeconds(10)) - .build(), - BodyHandlers.ofByteArray(), - ) - val body = response.body() - "Response code: ${response.statusCode()}".asClue { - body.toString(Charsets.UTF_8).asClue { - shouldNotThrowAny { - JsonSchema.fromStream(ByteArrayInputStream(body)) - } - } - } - } - } -} \ No newline at end of file diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock deleted file mode 100644 index 4f56a980..00000000 --- a/kotlin-js-store/yarn.lock +++ /dev/null @@ -1,1957 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@discoveryjs/json-ext@^0.5.0": - version "0.5.7" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" - integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== - -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.3.tgz#8108265659d4c33e72ffe14e33d6cc5eb59f2fda" - integrity sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.20": - version "0.3.20" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" - integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - -"@types/cors@^2.8.12": - version "2.8.13" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.13.tgz#b8ade22ba455a1b8cb3b5d3f35910fd204f84f94" - integrity sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA== - dependencies: - "@types/node" "*" - -"@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/json-schema@^7.0.8": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/node@*", "@types/node@>=10.0.0": - version "20.3.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe" - integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== - -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.12.1.tgz#bb16a0e8b1914f979f45864c23819cc3e3f0d4bb" - integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz#6df20d272ea5439bf20ab3492b7fb70e9bfcb3f6" - integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz#3da623233ae1a60409b509a52ade9bc22a37f7bf" - integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.12.1" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz#9f9f3ff52a14c980939be0ef9d5df9ebc678ae3b" - integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-opt" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - "@webassemblyjs/wast-printer" "1.12.1" - -"@webassemblyjs/wasm-gen@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz#a6520601da1b5700448273666a71ad0a45d78547" - integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz#9e6e81475dfcfb62dab574ac2dda38226c232bc5" - integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-buffer" "1.12.1" - "@webassemblyjs/wasm-gen" "1.12.1" - "@webassemblyjs/wasm-parser" "1.12.1" - -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz#c47acb90e6f083391e3fa61d113650eea1e95937" - integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz#bcecf661d7d1abdaf989d8341a4833e33e2b31ac" - integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA== - dependencies: - "@webassemblyjs/ast" "1.12.1" - "@xtuc/long" "4.2.2" - -"@webpack-cli/configtest@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" - integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== - -"@webpack-cli/info@^2.0.2": - version "2.0.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" - integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== - -"@webpack-cli/serve@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" - integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -accepts@~1.3.4: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-import-attributes@^1.9.5: - version "1.9.5" - resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" - integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== - -acorn@^8.7.1, acorn@^8.8.2: - version "8.9.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" - integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.12.5: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64id@2.0.0, base64id@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" - integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -body-parser@^1.19.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserslist@^4.21.10: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001587: - version "1.0.30001625" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001625.tgz#ead1b155ea691d6a87938754d3cb119c24465b03" - integrity sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w== - -chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@^3.5.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.14: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -commander@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" - integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -connect@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - -cookie@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -cors@~2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -custom-event@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== - -date-format@^4.0.14: - version "4.0.14" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" - integrity sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.5: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== - dependencies: - ms "2.1.2" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -di@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - integrity sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA== - -diff@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" - integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== - -dom-serialize@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - integrity sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ== - dependencies: - custom-event "~1.0.0" - ent "~2.2.0" - extend "^3.0.0" - void-elements "^2.0.0" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -electron-to-chromium@^1.4.668: - version "1.4.787" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.787.tgz#3eedd0a3b8be2b9e96e21675d399786ad90b99ed" - integrity sha512-d0EFmtLPjctczO3LogReyM2pbBiiZbnsKnGF+cdZhsYzHm/A0GV7W94kqzLD8SN4O3f3iHlgLUChqghgyznvCQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -engine.io-parser@~5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.2.tgz#37b48e2d23116919a3453738c5720455e64e1c49" - integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== - -engine.io@~6.5.2: - version "6.5.4" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.4.tgz#6822debf324e781add2254e912f8568508850cdc" - integrity sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg== - dependencies: - "@types/cookie" "^0.4.1" - "@types/cors" "^2.8.12" - "@types/node" ">=10.0.0" - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - cors "~2.8.5" - debug "~4.3.1" - engine.io-parser "~5.2.1" - ws "~8.11.0" - -enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -ent@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== - -envinfo@^7.7.3: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -follow-redirects@^1.0.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -format-util@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" - integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" - integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-proto "^1.0.1" - has-symbols "^1.0.3" - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.7: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== - dependencies: - function-bind "^1.1.2" - -he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -interpret@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" - integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -isbinaryfile@^4.0.8: - version "4.0.10" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.10.tgz#0c5b5e30c2557a2f06febd37b7322946aaee42b3" - integrity sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -karma-chrome-launcher@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz#eb9c95024f2d6dfbb3748d3415ac9b381906b9a9" - integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q== - dependencies: - which "^1.2.1" - -karma-mocha@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" - integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== - dependencies: - minimist "^1.2.3" - -karma-sourcemap-loader@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/karma-sourcemap-loader/-/karma-sourcemap-loader-0.4.0.tgz#b01d73f8f688f533bcc8f5d273d43458e13b5488" - integrity sha512-xCRL3/pmhAYF3I6qOrcn0uhbQevitc2DERMPH82FMnG+4WReoGcGFZb1pURf2a5apyrOHRdvD+O6K7NljqKHyA== - dependencies: - graceful-fs "^4.2.10" - -karma-webpack@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.1.tgz#4eafd31bbe684a747a6e8f3e4ad373e53979ced4" - integrity sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ== - dependencies: - glob "^7.1.3" - minimatch "^9.0.3" - webpack-merge "^4.1.5" - -karma@6.4.4: - version "6.4.4" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.4.tgz#dfa5a426cf5a8b53b43cd54ef0d0d09742351492" - integrity sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w== - dependencies: - "@colors/colors" "1.5.0" - body-parser "^1.19.0" - braces "^3.0.2" - chokidar "^3.5.1" - connect "^3.7.0" - di "^0.0.1" - dom-serialize "^2.2.1" - glob "^7.1.7" - graceful-fs "^4.2.6" - http-proxy "^1.18.1" - isbinaryfile "^4.0.8" - lodash "^4.17.21" - log4js "^6.4.1" - mime "^2.5.2" - minimatch "^3.0.4" - mkdirp "^0.5.5" - qjobs "^1.2.0" - range-parser "^1.2.1" - rimraf "^3.0.2" - socket.io "^4.7.2" - source-map "^0.6.1" - tmp "^0.2.1" - ua-parser-js "^0.7.30" - yargs "^16.1.1" - -kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kotlin-web-helpers@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/kotlin-web-helpers/-/kotlin-web-helpers-2.0.0.tgz#b112096b273c1e733e0b86560998235c09a19286" - integrity sha512-xkVGl60Ygn/zuLkDPx+oHj7jeLR7hCvoNF99nhwXMn8a3ApB4lLiC9pk4ol4NHPjyoCbvQctBqvzUcp8pkqyWw== - dependencies: - format-util "^1.0.5" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log4js@^6.4.1: - version "6.9.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.9.1.tgz#aba5a3ff4e7872ae34f8b4c533706753709e38b6" - integrity sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g== - dependencies: - date-format "^4.0.14" - debug "^4.3.4" - flatted "^3.2.7" - rfdc "^1.3.0" - streamroller "^3.1.5" - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@^2.5.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -minimatch@^3.0.4, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1, minimatch@^5.1.6: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^9.0.3: - version "9.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" - integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.3, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mkdirp@^0.5.5: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@10.7.3: - version "10.7.3" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.7.3.tgz#ae32003cabbd52b59aece17846056a68eb4b0752" - integrity sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A== - dependencies: - ansi-colors "^4.1.3" - browser-stdout "^1.3.1" - chokidar "^3.5.3" - debug "^4.3.5" - diff "^5.2.0" - escape-string-regexp "^4.0.0" - find-up "^5.0.0" - glob "^8.1.0" - he "^1.2.0" - js-yaml "^4.1.0" - log-symbols "^4.1.0" - minimatch "^5.1.6" - ms "^2.1.3" - serialize-javascript "^6.0.2" - strip-json-comments "^3.1.1" - supports-color "^8.1.1" - workerpool "^6.5.1" - yargs "^16.2.0" - yargs-parser "^20.2.9" - yargs-unparser "^2.0.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-assign@^4: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -qjobs@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" - integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== - -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -rechoir@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" - integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== - dependencies: - resolve "^1.20.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve@^1.20.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -serialize-javascript@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" - integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -socket.io-adapter@~2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" - integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA== - dependencies: - ws "~8.11.0" - -socket.io-parser@~4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -socket.io@^4.7.2: - version "4.7.5" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.7.5.tgz#56eb2d976aef9d1445f373a62d781a41c7add8f8" - integrity sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA== - dependencies: - accepts "~1.3.4" - base64id "~2.0.0" - cors "~2.8.5" - debug "~4.3.2" - engine.io "~6.5.2" - socket.io-adapter "~2.5.2" - socket.io-parser "~4.2.4" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-loader@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-5.0.0.tgz#f593a916e1cc54471cfc8851b905c8a845fc7e38" - integrity sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA== - dependencies: - iconv-lite "^0.6.3" - source-map-js "^1.0.2" - -source-map-support@0.5.21, source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -streamroller@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.1.5.tgz#1263182329a45def1ffaef58d31b15d13d2ee7ff" - integrity sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw== - dependencies: - date-format "^4.0.14" - debug "^4.3.4" - fs-extra "^8.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0, supports-color@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0: - version "5.26.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.26.0.tgz#ee9f05d929f4189a9c28a0feb889d96d50126fe1" - integrity sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typescript@5.5.4: - version "5.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.4.tgz#d9852d6c82bad2d2eda4fd74a5762a8f5909e9ba" - integrity sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q== - -ua-parser-js@^0.7.30: - version "0.7.35" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" - integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -update-browserslist-db@^1.0.13: - version "1.0.16" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" - integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -vary@^1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung== - -watchpack@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" - integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -webpack-cli@5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" - integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^2.1.1" - "@webpack-cli/info" "^2.0.2" - "@webpack-cli/serve" "^2.0.5" - colorette "^2.0.14" - commander "^10.0.1" - cross-spawn "^7.0.3" - envinfo "^7.7.3" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^3.1.1" - rechoir "^0.8.0" - webpack-merge "^5.7.3" - -webpack-merge@^4.1.5: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - -webpack-merge@^5.7.3: - version "5.9.0" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" - integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@5.94.0: - version "5.94.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" - integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== - dependencies: - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.1" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -which@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" - integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== - -workerpool@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" - integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-unparser@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@^16.1.1, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/scripts/install-format-tools.sh b/scripts/install-format-tools.sh deleted file mode 100755 index 9ebd55bc..00000000 --- a/scripts/install-format-tools.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -if [[ "$DETEKT_VERSION" == "" ]]; then - echo "Privide detekt version in DETEKT_VERSION env variable" - exit 1 -fi -if [[ "$KTLINT_VERSION" == "" ]]; then - echo "Provide ktlint version in KTLINT_VERSION env variable" - exit 1 -fi -mkdir ${HOME}/.local/bin -echo "Installing detekt $DETEKT_VERSION" -jar_destination="${HOME}/.local/lib/detekt" -mkdir -p ${jar_destination} -curl -sSL -o ${jar_destination}/detekt-cli.jar "https://github.com/detekt/detekt/releases/download/v${DETEKT_VERSION}/detekt-cli-${DETEKT_VERSION}-all.jar" - -entrypoint_script="${HOME}/.local/bin/detekt-cli" -cat > "$entrypoint_script" << EOM -java -jar ${jar_destination}/detekt-cli.jar \$@ -EOM -chmod +x "$entrypoint_script" -detekt-cli --version - -echo "Installing ktlint $KTLINT_VERSION" -curl -sSLO "https://github.com/pinterest/ktlint/releases/download/$KTLINT_VERSION/ktlint" && chmod a+x ktlint && mv ktlint ${HOME}/.local/bin/ -ktlint --version \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts deleted file mode 100644 index ac804c24..00000000 --- a/settings.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") - -rootProject.name = "json-schema-validator-root" - -include(":test-suites") -include(":benchmark") -include(":json-schema-validator") -include(":json-schema-validator-objects") -include(":json-schema-validator-bom") \ No newline at end of file diff --git a/test-suites/build.gradle.kts b/test-suites/build.gradle.kts deleted file mode 100644 index bc2f5f6f..00000000 --- a/test-suites/build.gradle.kts +++ /dev/null @@ -1,124 +0,0 @@ -import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest -import org.jetbrains.kotlin.gradle.targets.native.tasks.KotlinNativeSimulatorTest -import org.jetbrains.kotlin.gradle.targets.native.tasks.KotlinNativeTest -import org.jlleitschuh.gradle.ktlint.reporter.ReporterType -import tasks.GenerateRemoteSchemas - -plugins { - convention.kotlin - convention.`multiplatform-jvm` - convention.`multiplatform-tests` - alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.kotest.multiplatform) - alias(libs.plugins.kover) - alias(libs.plugins.detekt) - alias(libs.plugins.ktlint) -} - -kotlin { - explicitApi() - - jvm() - js(IR) { - nodejs() - } - // wasmJs target is not added because the okio does not provide a dependency to use FileSystem API in wasmJs target - applyDefaultHierarchyTemplate() - - macosX64() - macosArm64() - iosX64() - iosArm64() - iosSimulatorArm64() - - linuxX64() - linuxArm64() - - mingwX64() - - sourceSets { - commonTest { - dependencies { - implementation(projects.jsonSchemaValidator) - implementation(libs.kotest.assertions.core) - implementation(libs.kotest.framework.engine) - implementation(kotlin("test-common")) - implementation(kotlin("test-annotations-common")) - implementation(libs.okio.common) - implementation(libs.kotlin.serialization.json.okio) - } - } - jsTest { - dependencies { - implementation(libs.okio.nodefilesystem) - } - } - jvmTest { - dependencies { - implementation(libs.kotest.runner.junit5) - } - } - } -} - -dependencies { - kover(projects.jsonSchemaValidator) -} - -val generateRemoteSchemas = - tasks.register("generateRemoteSchemas") - -tasks.withType { - dependsOn(generateRemoteSchemas) -} - -tasks.withType { - doFirst { - // This is used to pass the right location for Node.js test - environment("TEST_SUITES_DIR", "$projectDir/schema-test-suite/tests") - environment("REMOTES_SCHEMAS_JSON", generateRemoteSchemas.flatMap { it.remotesFile }.get().asFile.absolutePath) - } -} - -tasks.withType { - doFirst { - // prefix SIMCTL_CHILD_ is used to pass the env variable to the simulator - environment("SIMCTL_CHILD_TEST_SUITES_DIR", "$projectDir/schema-test-suite/tests") - environment( - "SIMCTL_CHILD_REMOTES_SCHEMAS_JSON", - generateRemoteSchemas.flatMap { - it.remotesFile - }.get().asFile.absolutePath, - ) - } -} - -tasks.withType { - doFirst { - environment("REMOTES_SCHEMAS_JSON", generateRemoteSchemas.flatMap { it.remotesFile }.get().asFile.absolutePath) - } -} - -tasks.withType { - doFirst { - environment("REMOTES_SCHEMAS_JSON", generateRemoteSchemas.flatMap { it.remotesFile }.get().asFile.absolutePath) - } -} - -ktlint { - version.set(libs.versions.ktlint) - reporters { - reporter(ReporterType.HTML) - } -} - -val detektAllTask by tasks.register("detektAll") - -tasks.named("check").configure { - dependsOn(detektAllTask) -} - -tasks.withType { - detektAllTask.dependsOn(this) -} \ No newline at end of file diff --git a/test-suites/schema-test-suite b/test-suites/schema-test-suite deleted file mode 160000 index 15e4505b..00000000 --- a/test-suites/schema-test-suite +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 15e4505bf689de5d30c29d50782bb48fa465c93f diff --git a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/AbstractSchemaTestSuite.kt b/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/AbstractSchemaTestSuite.kt deleted file mode 100644 index 507c3482..00000000 --- a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/AbstractSchemaTestSuite.kt +++ /dev/null @@ -1,269 +0,0 @@ -package io.github.optimumcode.json.schema.suite - -import com.eygraber.uri.Uri -import io.github.optimumcode.json.schema.ErrorCollector -import io.github.optimumcode.json.schema.FormatBehavior -import io.github.optimumcode.json.schema.FormatBehavior.ANNOTATION_AND_ASSERTION -import io.github.optimumcode.json.schema.JsonSchema -import io.github.optimumcode.json.schema.JsonSchemaLoader -import io.github.optimumcode.json.schema.SchemaOption -import io.github.optimumcode.json.schema.SchemaType -import io.kotest.assertions.withClue -import io.kotest.core.spec.style.FunSpec -import io.kotest.matchers.shouldBe -import io.kotest.mpp.env -import kotlinx.serialization.ExperimentalSerializationApi -import kotlinx.serialization.KSerializer -import kotlinx.serialization.Serializable -import kotlinx.serialization.builtins.ListSerializer -import kotlinx.serialization.builtins.MapSerializer -import kotlinx.serialization.descriptors.PrimitiveKind -import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor -import kotlinx.serialization.descriptors.SerialDescriptor -import kotlinx.serialization.encoding.Decoder -import kotlinx.serialization.encoding.Encoder -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonObject -import kotlinx.serialization.json.jsonPrimitive -import kotlinx.serialization.json.okio.decodeFromBufferedSource -import okio.FileSystem -import okio.Path -import okio.Path.Companion.toPath -import okio.buffer -import okio.use - -internal class TestFilter( - /** - * The test suites that should be excluded from the run. - * The file name is an identifier for a test suites. - * The test suite description is identifier for single set of tests - */ - val excludeSuites: Map> = emptyMap(), - /** - * The tests that should be excluded from a test suite. - * The **description** property is a test identifier - */ - val excludeTests: Map> = emptyMap(), -) - -internal val COMMON_FORMAT_FILTER = TestFilter() - -/** - * This class is a base for creating a test suite run from https://github.com/json-schema-org/JSON-Schema-Test-Suite. - * That repository contains test-suites for all drafts to verify the validator. - * - * The test suites are located in _schema-test-suite/tests//_ - */ -internal fun FunSpec.runTestSuites( - /** - * This will be used to pick the directory with test suites - */ - draftName: String, - /** - * Explicit type to use when loading schema - */ - schemaType: SchemaType? = null, - /** - * Filter for main tests - */ - filter: TestFilter = TestFilter(), - /** - * Filter for tests in optional folder. - * If `null` not tests from that folder will be executed - */ - optionalFilter: TestFilter? = null, - /** - * Filter for tests in format folder. - * If `null` not tests from that folder will be executed - */ - formatFilter: TestFilter? = null, -) { - require(draftName.isNotBlank()) { "draftName is blank" } - val fs = fileSystem() - val testSuiteDir = - when { - fs.exists(TEST_SUITES_DIR) -> TEST_SUITES_DIR - fs.exists(TEST_SUITES_DIR_FROM_ROOT) -> TEST_SUITES_DIR_FROM_ROOT - else -> env(TEST_SUITES_DIR_ENV_VAR)?.toPath() - }?.resolve(draftName) - ?: error( - "neither $TEST_SUITES_DIR or $TEST_SUITES_DIR_FROM_ROOT exist " + - "(current dir: ${fs.canonicalize(".".toPath())}, env: ${env(TEST_SUITES_DIR_ENV_VAR)})", - ) - val remoteSchemasDefinitions = - env(REMOTE_SCHEMAS_JSON_ENV_VAR)?.toPath() - ?: error("cannot resolve file with remote schemas from $REMOTE_SCHEMAS_JSON_ENV_VAR env variable") - - require(fs.exists(remoteSchemasDefinitions)) { "file $remoteSchemasDefinitions with remote schemas does not exist" } - - val remoteSchemas: Map = loadRemoteSchemas(fs, remoteSchemasDefinitions) - - require(fs.exists(testSuiteDir)) { "folder $testSuiteDir does not exist" } - - executeFromDirectory(fs, testSuiteDir, filter.excludeSuites, filter.excludeTests, schemaType, remoteSchemas) - - val optionalTestSuites = testSuiteDir / "optional" - optionalFilter?.also { - if (fs.exists(optionalTestSuites)) { - executeFromDirectory( - fs, - optionalTestSuites, - it.excludeSuites, - it.excludeTests, - schemaType, - ) - } - } - - val formatTestSuites = optionalTestSuites / "format" - formatFilter?.also { - if (fs.exists(formatTestSuites)) { - executeFromDirectory( - fs, - formatTestSuites, - it.excludeSuites, - it.excludeTests, - schemaType, - formatBehavior = ANNOTATION_AND_ASSERTION, - ) - } - } -} - -@OptIn(ExperimentalSerializationApi::class) -private fun loadRemoteSchemas( - fs: FileSystem, - remoteSchemasDefinitions: Path, -): Map = - fs.openReadOnly(remoteSchemasDefinitions).use { fh -> - fh.source().use { - Json.decodeFromBufferedSource( - MapSerializer(UriSerializer, JsonElement.serializer()), - it.buffer(), - ) - } - } - -private object UriSerializer : KSerializer { - override val descriptor: SerialDescriptor - get() = - PrimitiveSerialDescriptor( - "com.eygraber.uri.Uri", - kind = PrimitiveKind.STRING, - ) - - override fun deserialize(decoder: Decoder): Uri = Uri.parse(decoder.decodeString()) - - override fun serialize( - encoder: Encoder, - value: Uri, - ) { - encoder.encodeString(value.toString()) - } -} - -@OptIn(ExperimentalSerializationApi::class) -private fun FunSpec.executeFromDirectory( - fs: FileSystem, - testSuiteDir: Path, - excludeSuites: Map>, - excludeTests: Map>, - schemaType: SchemaType?, - remoteSchemas: Map = emptyMap(), - formatBehavior: FormatBehavior? = null, -) { - fs.list(testSuiteDir).forEach { testSuiteFile -> - if (fs.metadata(testSuiteFile).isDirectory) { - // skip if not a file - return@forEach - } - val testSuiteID = testSuiteFile.name.substringBeforeLast(".") - val excludeTestSuitesWithDescription: Set? = excludeSuites[testSuiteID] - if (excludeTestSuitesWithDescription?.isEmpty() == true) { - // exclude all test cases - return@forEach - } - - val testSuites: List = - fs.openReadOnly(testSuiteFile).use { fh -> - fh.source().use { - Json.decodeFromBufferedSource(ListSerializer(TestSuite.serializer()), it.buffer()) - } - } - val schemaLoader = - JsonSchemaLoader - .create() - .apply { - formatBehavior?.also { - withSchemaOption(SchemaOption.FORMAT_BEHAVIOR_OPTION, it) - } - SchemaType.entries.forEach(::registerWellKnown) - for ((uri, schema) in remoteSchemas) { - var remoteSchemaType: SchemaType? = null - // schema for draft 4 does not have $schema inside the definition - if (uri.toString().contains("draft4", ignoreCase = true)) { - remoteSchemaType = SchemaType.DRAFT_4 - } - if (schema is JsonObject && - schema["\$schema"]?.jsonPrimitive?.content.let { it != null && SchemaType.find(it) == null } - ) { - continue - } - try { - register(schema, uri, remoteSchemaType) - } catch (ex: Exception) { - throw IllegalStateException("cannot load schema with uri '$uri'", ex) - } - } - } - var testSuiteIndex = -1 - for (testSuite in testSuites) { - testSuiteIndex += 1 - if (excludeTestSuitesWithDescription != null && testSuite.description in excludeTestSuitesWithDescription) { - continue - } - val excludeTestWithDescription: Set? = excludeTests[testSuite.description] - var testIndex = -1 - for (test in testSuite.tests) { - testIndex += 1 - if (excludeTestWithDescription != null && test.description in excludeTestWithDescription) { - continue - } - test("$testSuiteID at index $testSuiteIndex test $testIndex") { - withClue(listOf(testSuite.description, testSuite.schema, test.description, test.data)) { - val schema: JsonSchema = - schemaLoader.fromJsonElement(testSuite.schema, schemaType) - schema.validate(test.data, ErrorCollector.EMPTY) shouldBe test.valid - } - } - } - } - } -} - -@Serializable -private class TestSuite( - val description: String, - val schema: JsonElement, - val tests: List, - val comment: String? = null, - val specification: JsonArray = EMPTY_JSON_ARRAY, -) - -@Serializable -private class SchemaTest( - val description: String, - val data: JsonElement, - val valid: Boolean, - val comment: String? = null, -) - -private val EMPTY_JSON_ARRAY: JsonArray = JsonArray(emptyList()) -private val TEST_SUITES_DIR: Path = "schema-test-suite/tests".toPath() -private val TEST_SUITES_DIR_FROM_ROOT: Path = "test-suites".toPath() / TEST_SUITES_DIR -private const val TEST_SUITES_DIR_ENV_VAR: String = "TEST_SUITES_DIR" -private const val REMOTE_SCHEMAS_JSON_ENV_VAR: String = "REMOTES_SCHEMAS_JSON" - -expect fun fileSystem(): FileSystem \ No newline at end of file diff --git a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft2019_09/TestSuite.kt b/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft2019_09/TestSuite.kt deleted file mode 100644 index e822571d..00000000 --- a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft2019_09/TestSuite.kt +++ /dev/null @@ -1,39 +0,0 @@ -package io.github.optimumcode.json.schema.suite.draft2019_09 - -import io.github.optimumcode.json.schema.SchemaType.DRAFT_2019_09 -import io.github.optimumcode.json.schema.suite.COMMON_FORMAT_FILTER -import io.github.optimumcode.json.schema.suite.TestFilter -import io.github.optimumcode.json.schema.suite.runTestSuites -import io.kotest.core.spec.style.FunSpec - -@Suppress("unused") -internal class TestSuite : FunSpec() { - init { - runTestSuites( - draftName = "draft2019-09", - schemaType = DRAFT_2019_09, - filter = - TestFilter( - excludeSuites = - mapOf( - // impl does not support referencing external schemas - "minContains" to - setOf( - // this is very questionable tests - the 'contains' should fail - // if there is no match to it according to spec - "minContains = 0 with no maxContains", - ), - ), - excludeTests = - mapOf( - // this is very questionable tests - the 'contains' should fail if there is no match to it according to spec - "minContains = 0 with maxContains" to - setOf( - "empty data", - ), - ), - ), - formatFilter = COMMON_FORMAT_FILTER, - ) - } -} \ No newline at end of file diff --git a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft2020_12/TestSuite.kt b/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft2020_12/TestSuite.kt deleted file mode 100644 index 370c7004..00000000 --- a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft2020_12/TestSuite.kt +++ /dev/null @@ -1,22 +0,0 @@ -package io.github.optimumcode.json.schema.suite.draft2020_12 - -import io.github.optimumcode.json.schema.suite.TestFilter -import io.github.optimumcode.json.schema.suite.runTestSuites -import io.kotest.core.spec.style.FunSpec - -@Suppress("unused") -internal class TestSuite : FunSpec() { - init { - runTestSuites( - draftName = "draft2020-12", - formatFilter = - TestFilter( - excludeSuites = - mapOf( - // Kotlin regex is not ECMA script - "ecmascript-regex" to setOf(), - ), - ), - ) - } -} \ No newline at end of file diff --git a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft4/TestSuite.kt b/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft4/TestSuite.kt deleted file mode 100644 index 9248c80b..00000000 --- a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft4/TestSuite.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.github.optimumcode.json.schema.suite.draft4 - -import io.github.optimumcode.json.schema.SchemaType.DRAFT_4 -import io.github.optimumcode.json.schema.suite.COMMON_FORMAT_FILTER -import io.github.optimumcode.json.schema.suite.runTestSuites -import io.kotest.core.spec.style.FunSpec - -@Suppress("unused") -internal class TestSuite : FunSpec() { - init { - runTestSuites( - draftName = "draft4", - schemaType = DRAFT_4, - formatFilter = COMMON_FORMAT_FILTER, - ) - } -} \ No newline at end of file diff --git a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft6/TestSuite.kt b/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft6/TestSuite.kt deleted file mode 100644 index 25bd7760..00000000 --- a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft6/TestSuite.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.github.optimumcode.json.schema.suite.draft6 - -import io.github.optimumcode.json.schema.SchemaType.DRAFT_6 -import io.github.optimumcode.json.schema.suite.COMMON_FORMAT_FILTER -import io.github.optimumcode.json.schema.suite.runTestSuites -import io.kotest.core.spec.style.FunSpec - -@Suppress("unused") -internal class TestSuite : FunSpec() { - init { - runTestSuites( - draftName = "draft6", - schemaType = DRAFT_6, - formatFilter = COMMON_FORMAT_FILTER, - ) - } -} \ No newline at end of file diff --git a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft7/TestSuite.kt b/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft7/TestSuite.kt deleted file mode 100644 index 5a1edf60..00000000 --- a/test-suites/src/commonTest/kotlin/io/github/optimumcode/json/schema/suite/draft7/TestSuite.kt +++ /dev/null @@ -1,17 +0,0 @@ -package io.github.optimumcode.json.schema.suite.draft7 - -import io.github.optimumcode.json.schema.SchemaType.DRAFT_7 -import io.github.optimumcode.json.schema.suite.COMMON_FORMAT_FILTER -import io.github.optimumcode.json.schema.suite.runTestSuites -import io.kotest.core.spec.style.FunSpec - -@Suppress("unused") -internal class TestSuite : FunSpec() { - init { - runTestSuites( - draftName = "draft7", - schemaType = DRAFT_7, - formatFilter = COMMON_FORMAT_FILTER, - ) - } -} \ No newline at end of file diff --git a/test-suites/src/jsTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt b/test-suites/src/jsTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt deleted file mode 100644 index 04d19b17..00000000 --- a/test-suites/src/jsTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt +++ /dev/null @@ -1,6 +0,0 @@ -package io.github.optimumcode.json.schema.suite - -import okio.FileSystem -import okio.NodeJsFileSystem - -actual fun fileSystem(): FileSystem = NodeJsFileSystem \ No newline at end of file diff --git a/test-suites/src/jvmTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt b/test-suites/src/jvmTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt deleted file mode 100644 index 9e2ff25d..00000000 --- a/test-suites/src/jvmTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.github.optimumcode.json.schema.suite - -import okio.FileSystem - -actual fun fileSystem(): FileSystem = FileSystem.SYSTEM \ No newline at end of file diff --git a/test-suites/src/nativeTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt b/test-suites/src/nativeTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt deleted file mode 100644 index 9e2ff25d..00000000 --- a/test-suites/src/nativeTest/kotlin/io/github/optimumcode/json/schema/suite/FileSystemForTest.kt +++ /dev/null @@ -1,5 +0,0 @@ -package io.github.optimumcode.json.schema.suite - -import okio.FileSystem - -actual fun fileSystem(): FileSystem = FileSystem.SYSTEM \ No newline at end of file