gitextract_hfo2xbb4/ ├── .eslintrc.js ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-or-error-report.md │ │ ├── change.md │ │ ├── compatibility.md │ │ ├── installation.md │ │ └── typescript.md │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── config.yml │ ├── dependabot.yml │ └── workflows/ │ ├── build.yml │ └── publish.yml ├── .gitignore ├── .gitmodules ├── .npmrc ├── .prettierignore ├── .runkit_example.js ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── benchmark/ │ ├── jtd.js │ └── package.json ├── bower.json ├── docs/ │ ├── .vuepress/ │ │ ├── components/ │ │ │ ├── Button.vue │ │ │ ├── Column.vue │ │ │ ├── Columns.vue │ │ │ ├── Contributors.vue │ │ │ ├── Feature.vue │ │ │ ├── Features.vue │ │ │ ├── FooterColumn.vue │ │ │ ├── FooterColumns.vue │ │ │ ├── GitHub.vue │ │ │ ├── HeroSection.vue │ │ │ ├── HomePage.vue │ │ │ ├── HomeSection.vue │ │ │ ├── NewsHome.vue │ │ │ ├── NewsIndex.vue │ │ │ ├── NewsPost.vue │ │ │ ├── NewsPostMeta.vue │ │ │ ├── Projects.vue │ │ │ ├── Sponsors.vue │ │ │ ├── Subscribe.vue │ │ │ ├── Testimonial.vue │ │ │ └── Testimonials.vue │ │ ├── config.js │ │ ├── styles/ │ │ │ ├── index.styl │ │ │ └── palette.styl │ │ └── theme/ │ │ ├── LICENSE │ │ ├── components/ │ │ │ ├── AlgoliaSearchBox.vue │ │ │ ├── DropdownLink.vue │ │ │ ├── DropdownTransition.vue │ │ │ ├── Home.vue │ │ │ ├── NavLink.vue │ │ │ ├── NavLinks.vue │ │ │ ├── Navbar.vue │ │ │ ├── Page.vue │ │ │ ├── PageEdit.vue │ │ │ ├── PageNav.vue │ │ │ ├── Sidebar.vue │ │ │ ├── SidebarButton.vue │ │ │ ├── SidebarGroup.vue │ │ │ ├── SidebarLink.vue │ │ │ └── SidebarLinks.vue │ │ ├── global-components/ │ │ │ ├── Badge.vue │ │ │ ├── CodeBlock.vue │ │ │ └── CodeGroup.vue │ │ ├── index.js │ │ ├── layouts/ │ │ │ ├── 404.vue │ │ │ └── Layout.vue │ │ ├── noopModule.js │ │ ├── styles/ │ │ │ ├── arrow.styl │ │ │ ├── code.styl │ │ │ ├── config.styl │ │ │ ├── custom-blocks.styl │ │ │ ├── index.styl │ │ │ ├── mobile.styl │ │ │ ├── toc.styl │ │ │ └── wrapper.styl │ │ └── util/ │ │ └── index.js │ ├── README.md │ ├── api.md │ ├── codegen.md │ ├── coercion.md │ ├── components.md │ ├── faq.md │ ├── guide/ │ │ ├── async-validation.md │ │ ├── combining-schemas.md │ │ ├── environments.md │ │ ├── formats.md │ │ ├── getting-started.md │ │ ├── managing-schemas.md │ │ ├── modifying-data.md │ │ ├── schema-language.md │ │ ├── typescript.md │ │ ├── user-keywords.md │ │ └── why-ajv.md │ ├── json-schema.md │ ├── json-type-definition.md │ ├── keywords.md │ ├── news/ │ │ ├── 2020-08-14-mozilla-grant-openjs-foundation.md │ │ ├── 2020-12-15-ajv-version-7-released.md │ │ ├── 2021-03-07-ajv-supports-json-type-definition.md │ │ ├── 2021-03-27-ajv-version-8-released.md │ │ ├── 2021-04-24-ajv-online-event.md │ │ ├── 2021-05-24-ajv-online-event-video.md │ │ ├── 2021-07-22-ajv-microsoft-foss-fund-award.md │ │ └── README.md │ ├── options.md │ ├── packages/ │ │ └── README.md │ ├── security.md │ ├── standalone.md │ ├── strict-mode.md │ ├── testimonials.md │ └── v6-to-v8-migration.md ├── karma.conf.js ├── lib/ │ ├── 2019.ts │ ├── 2020.ts │ ├── ajv.ts │ ├── compile/ │ │ ├── codegen/ │ │ │ ├── code.ts │ │ │ ├── index.ts │ │ │ └── scope.ts │ │ ├── errors.ts │ │ ├── index.ts │ │ ├── jtd/ │ │ │ ├── parse.ts │ │ │ ├── serialize.ts │ │ │ └── types.ts │ │ ├── names.ts │ │ ├── ref_error.ts │ │ ├── resolve.ts │ │ ├── rules.ts │ │ ├── util.ts │ │ └── validate/ │ │ ├── applicability.ts │ │ ├── boolSchema.ts │ │ ├── dataType.ts │ │ ├── defaults.ts │ │ ├── index.ts │ │ ├── keyword.ts │ │ └── subschema.ts │ ├── core.ts │ ├── jtd.ts │ ├── refs/ │ │ ├── data.json │ │ ├── json-schema-2019-09/ │ │ │ ├── index.ts │ │ │ ├── meta/ │ │ │ │ ├── applicator.json │ │ │ │ ├── content.json │ │ │ │ ├── core.json │ │ │ │ ├── format.json │ │ │ │ ├── meta-data.json │ │ │ │ └── validation.json │ │ │ └── schema.json │ │ ├── json-schema-2020-12/ │ │ │ ├── index.ts │ │ │ ├── meta/ │ │ │ │ ├── applicator.json │ │ │ │ ├── content.json │ │ │ │ ├── core.json │ │ │ │ ├── format-annotation.json │ │ │ │ ├── meta-data.json │ │ │ │ ├── unevaluated.json │ │ │ │ └── validation.json │ │ │ └── schema.json │ │ ├── json-schema-draft-06.json │ │ ├── json-schema-draft-07.json │ │ ├── json-schema-secure.json │ │ └── jtd-schema.ts │ ├── runtime/ │ │ ├── equal.ts │ │ ├── parseJson.ts │ │ ├── quote.ts │ │ ├── re2.ts │ │ ├── timestamp.ts │ │ ├── ucs2length.ts │ │ ├── uri.ts │ │ └── validation_error.ts │ ├── standalone/ │ │ ├── index.ts │ │ └── instance.ts │ ├── types/ │ │ ├── index.ts │ │ ├── json-schema.ts │ │ └── jtd-schema.ts │ └── vocabularies/ │ ├── applicator/ │ │ ├── additionalItems.ts │ │ ├── additionalProperties.ts │ │ ├── allOf.ts │ │ ├── anyOf.ts │ │ ├── contains.ts │ │ ├── dependencies.ts │ │ ├── dependentSchemas.ts │ │ ├── if.ts │ │ ├── index.ts │ │ ├── items.ts │ │ ├── items2020.ts │ │ ├── not.ts │ │ ├── oneOf.ts │ │ ├── patternProperties.ts │ │ ├── prefixItems.ts │ │ ├── properties.ts │ │ ├── propertyNames.ts │ │ └── thenElse.ts │ ├── code.ts │ ├── core/ │ │ ├── id.ts │ │ ├── index.ts │ │ └── ref.ts │ ├── discriminator/ │ │ ├── index.ts │ │ └── types.ts │ ├── draft2020.ts │ ├── draft7.ts │ ├── dynamic/ │ │ ├── dynamicAnchor.ts │ │ ├── dynamicRef.ts │ │ ├── index.ts │ │ ├── recursiveAnchor.ts │ │ └── recursiveRef.ts │ ├── errors.ts │ ├── format/ │ │ ├── format.ts │ │ └── index.ts │ ├── jtd/ │ │ ├── discriminator.ts │ │ ├── elements.ts │ │ ├── enum.ts │ │ ├── error.ts │ │ ├── index.ts │ │ ├── metadata.ts │ │ ├── nullable.ts │ │ ├── optionalProperties.ts │ │ ├── properties.ts │ │ ├── ref.ts │ │ ├── type.ts │ │ ├── union.ts │ │ └── values.ts │ ├── metadata.ts │ ├── next.ts │ ├── unevaluated/ │ │ ├── index.ts │ │ ├── unevaluatedItems.ts │ │ └── unevaluatedProperties.ts │ └── validation/ │ ├── const.ts │ ├── dependentRequired.ts │ ├── enum.ts │ ├── index.ts │ ├── limitContains.ts │ ├── limitItems.ts │ ├── limitLength.ts │ ├── limitNumber.ts │ ├── limitProperties.ts │ ├── multipleOf.ts │ ├── pattern.ts │ ├── required.ts │ └── uniqueItems.ts ├── package.json ├── rollup.config.js ├── scripts/ │ ├── .eslintrc.yml │ ├── bundle.js │ ├── get-ajv-packages │ ├── get-contributors.js │ ├── jsontests.js │ ├── prepare-site │ ├── prepare-tests │ ├── publish-bundles │ └── publish-site ├── spec/ │ ├── .eslintrc.yml │ ├── _json/ │ │ └── README.md │ ├── after_test.ts │ ├── ajv.spec.ts │ ├── ajv.ts │ ├── ajv2019.ts │ ├── ajv2020.ts │ ├── ajv_all_instances.ts │ ├── ajv_async_instances.ts │ ├── ajv_instances.ts │ ├── ajv_jtd.ts │ ├── ajv_options.ts │ ├── ajv_standalone.ts │ ├── async/ │ │ ├── boolean.json │ │ ├── compound.json │ │ ├── format.json │ │ ├── items.json │ │ ├── keyword.json │ │ ├── no_async.json │ │ └── properties.json │ ├── async.spec.ts │ ├── async_schemas.spec.ts │ ├── async_validate.spec.ts │ ├── boolean.spec.ts │ ├── chai.ts │ ├── chai_type.ts │ ├── codegen.spec.ts │ ├── coercion.spec.ts │ ├── discriminator.spec.ts │ ├── dynamic-ref.spec.ts │ ├── errors.spec.ts │ ├── extras/ │ │ ├── $data/ │ │ │ ├── absolute_ref.json │ │ │ ├── const.json │ │ │ ├── enum.json │ │ │ ├── exclusiveMaximum.json │ │ │ ├── exclusiveMinimum.json │ │ │ ├── format.json │ │ │ ├── maxItems.json │ │ │ ├── maxLength.json │ │ │ ├── maxProperties.json │ │ │ ├── maximum.json │ │ │ ├── minItems.json │ │ │ ├── minLength.json │ │ │ ├── minProperties.json │ │ │ ├── minimum.json │ │ │ ├── multipleOf.json │ │ │ ├── pattern.json │ │ │ ├── required.json │ │ │ └── uniqueItems.json │ │ ├── const.json │ │ ├── contains.json │ │ ├── exclusiveMaximum.json │ │ └── exclusiveMinimum.json │ ├── extras.spec.ts │ ├── issues/ │ │ ├── 1001_addKeyword_and_schema_without_id.spec.ts │ │ ├── 1344_non_root_recursive_ref_standalone.spec.ts │ │ ├── 1414_base_uri_change.spec.ts │ │ ├── 1501_jtd_many_properties.spec.ts │ │ ├── 1515_evaluated_properties_nested_anyof.spec.ts │ │ ├── 1539_add_keyword_name_to_validation_error.spec.ts │ │ ├── 1625_evaluated_truthy_pattern_properties.spec.ts │ │ ├── 1683_re2_engine.spec.ts │ │ ├── 1819_mincontains.spec.ts │ │ ├── 181_allErrors_custom_keyword_skipped.spec.ts │ │ ├── 182_nan_validation.spec.ts │ │ ├── 1935_integer_narrowing_subschema.spec.ts │ │ ├── 1949_jtd_empty_values.spec.ts │ │ ├── 1971_jtd_discriminator.spec.ts │ │ ├── 2001_jtd_only_optional_properties.spec.ts │ │ ├── 204_options_schemas_data_together.spec.ts │ │ ├── 210_mutual_recur_frags.spec.ts │ │ ├── 240_mutual_recur_frags_common_ref.spec.ts │ │ ├── 259_validate_meta_against_itself.spec.ts │ │ ├── 273_error_schemaPath_refd_schema.spec.ts │ │ ├── 342_uniqueItems_non-json_objects.spec.ts │ │ ├── 485_type_validation_priority.spec.ts │ │ ├── 50_refs_with_definitions.spec.ts │ │ ├── 521_wrong_warning_id_property.spec.ts │ │ ├── 743_removeAdditional_to_remove_proto.spec.ts │ │ ├── 768_passContext_recursive_ref.spec.ts │ │ ├── 815_id_updates_ref_base.spec.ts │ │ ├── 8_shared_refs.spec.ts │ │ ├── 955_removeAdditional_custom_keywords.spec.ts │ │ ├── cve_2025_69873_redos_attack.spec.ts │ │ └── re2.ts │ ├── javacript.spec.js │ ├── json-schema.spec.ts │ ├── json_parse_tests.json │ ├── jtd-schema.spec.ts │ ├── jtd-timestamps.spec.ts │ ├── keyword.spec.ts │ ├── options/ │ │ ├── comment.spec.ts │ │ ├── int32range.spec.ts │ │ ├── meta_validateSchema.spec.ts │ │ ├── nullable.spec.ts │ │ ├── options_add_schemas.spec.ts │ │ ├── options_code.spec.ts │ │ ├── options_refs.spec.ts │ │ ├── options_reporting.spec.ts │ │ ├── options_validation.spec.ts │ │ ├── ownProperties.spec.ts │ │ ├── removeAdditional.spec.ts │ │ ├── schemaId.spec.ts │ │ ├── strict.spec.ts │ │ ├── strictDefaults.spec.ts │ │ ├── strictKeywords.spec.ts │ │ ├── strictNumbers.spec.ts │ │ ├── unicodeRegExp.spec.ts │ │ ├── unknownFormats.spec.ts │ │ └── useDefaults.spec.ts │ ├── remotes/ │ │ ├── bar.json │ │ ├── buu.json │ │ ├── first.json │ │ ├── foo.json │ │ ├── hyper-schema.json │ │ ├── name.json │ │ ├── node.json │ │ ├── scope_change.json │ │ ├── second.json │ │ └── tree.json │ ├── resolve.spec.ts │ ├── schema-tests.spec.ts │ ├── security/ │ │ ├── array.json │ │ ├── object.json │ │ └── string.json │ ├── security.spec.ts │ ├── standalone.spec.ts │ ├── tests/ │ │ ├── issues/ │ │ │ ├── 12_restoring_root_after_resolve.json │ │ │ ├── 13_root_ref_in_ref_in_remote_ref.json │ │ │ ├── 14_ref_in_remote_ref_with_id.json │ │ │ ├── 1668_not_with_other_keywords.json │ │ │ ├── 170_ref_and_id_in_sibling.json │ │ │ ├── 17_escaping_pattern_property.json │ │ │ ├── 19_required_many_properties.json │ │ │ ├── 1_ids_in_refs.json │ │ │ ├── 20_failing_to_parse_schema.json │ │ │ ├── 226_json_with_control_chars.json │ │ │ ├── 27_1_recursive_raml_schema.json │ │ │ ├── 27_recursive_reference.json │ │ │ ├── 28_escaping_pattern_error.json │ │ │ ├── 2_root_ref_in_ref.json │ │ │ ├── 311_quotes_in_refs.json │ │ │ ├── 33_json_schema_latest.json │ │ │ ├── 413_dependencies_with_quote.json │ │ │ ├── 490_integer_validation.json │ │ │ ├── 502_contains_empty_array_with_ref_in_another_property.json │ │ │ ├── 5_adding_dependency_after.json │ │ │ ├── 5_recursive_references.json │ │ │ ├── 62_resolution_scope_change.json │ │ │ ├── 63_id_property_not_in_schema.json │ │ │ ├── 70_1_recursive_hash_ref_in_remote_ref.json │ │ │ ├── 70_swagger_schema.json │ │ │ ├── 861_empty_propertynames.json │ │ │ ├── 87_$_property.json │ │ │ └── 94_dependencies_fail.json │ │ ├── rules/ │ │ │ ├── allOf.json │ │ │ ├── anyOf.json │ │ │ ├── comment.json │ │ │ ├── dependencies.json │ │ │ ├── format.json │ │ │ ├── if.json │ │ │ ├── items.json │ │ │ ├── oneOf.json │ │ │ ├── required.json │ │ │ ├── type.json │ │ │ └── uniqueItems.json │ │ └── schemas/ │ │ ├── advanced.json │ │ ├── basic.json │ │ ├── complex.json │ │ ├── complex2.json │ │ ├── complex3.json │ │ ├── cosmicrealms.json │ │ └── medium.json │ ├── tsconfig.json │ └── types/ │ ├── async-validate.spec.ts │ ├── error-parameters.spec.ts │ ├── json-schema.spec.ts │ └── jtd-schema.spec.ts └── tsconfig.json