|
Arachne 1.0
Arachne - the perpetual stitcher of Wikidata entities.
|
Typedefs | |
| using | json = nlohmann::json |
Functions | |
| void | add (validation_result &result, std::string path, std::string code, std::string message) |
| std::string | child_path (const std::string_view parent, const std::string_view key) |
| const json * | field (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | reject_unknown_fields (const json &object, const std::string_view path, const std::initializer_list< std::string_view > allowed, validation_result &result) |
| const json * | require_object (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| const json * | require_array (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| const json * | optional_object (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| const json * | optional_array (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| const json * | require_string (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| const json * | optional_string (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| bool | string_is_one_of (const json *value, const std::initializer_list< std::string_view > choices) |
| void | require_enum (const json &object, const std::string_view key, const std::string_view path, const std::initializer_list< std::string_view > choices, validation_result &result) |
| bool | matches (const json *value, const std::regex &expression) |
| void | require_stable_id (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | require_sha256 (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | require_timestamp (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | require_nonnegative_integer (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | require_boolean (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | optional_integer_range (const json &object, const std::string_view key, const std::string_view path, const std::int64_t minimum, const std::int64_t maximum, validation_result &result) |
| void | require_integer_range (const json &object, const std::string_view key, const std::string_view path, const std::int64_t minimum, const std::int64_t maximum, validation_result &result) |
| void | optional_number_range (const json &object, const std::string_view key, const std::string_view path, const double minimum, const double maximum, validation_result &result) |
| void | require_number_range (const json &object, const std::string_view key, const std::string_view path, const double minimum, const double maximum, validation_result &result) |
| void | optional_enum (const json &object, const std::string_view key, const std::string_view path, const std::initializer_list< std::string_view > choices, validation_result &result) |
| void | require_pattern (const json &object, const std::string_view key, const std::string_view path, const std::regex &expression, validation_result &result) |
| void | optional_pattern (const json &object, const std::string_view key, const std::string_view path, const std::regex &expression, validation_result &result) |
| void | optional_bounded_integer (const json &object, const std::string_view key, const std::string_view path, const std::uint64_t minimum, const std::uint64_t maximum, validation_result &result) |
| void | validate_extensions (const json &object, const std::string_view path, validation_result &result) |
| void | validate_artifact (const json &artifact, const std::string_view path, validation_result &result) |
| void | validate_artifact_field (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | validate_artifact_array (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | validate_string_array (const json &object, const std::string_view key, const std::string_view path, const bool require_nonempty, validation_result &result) |
| std::optional< unsigned int > | declared_major (const std::string_view name) |
| bool | known_contract_base (const std::string_view name) |
| std::optional< contract_name > | inspect_contract (const json &document, validation_result &result) |
| void | validate_header (const contract_name expected, const json &document, validation_result &result) |
| void | validate_stable_reference (const json &value, const std::string_view path, validation_result &result) |
| void | validate_database_or_local_reference (const json &value, const std::string_view path, validation_result &result) |
| void | validate_unique_items (const json &array, const std::string_view path, validation_result &result) |
| template<typename Validator> | |
| void | validate_optional_object_array (const json &object, const std::string_view key, const std::string_view path, validation_result &result, Validator &&validator) |
| void | validate_nonempty_optional_strings (const json &object, const std::string_view path, const std::initializer_list< std::string_view > keys, validation_result &result) |
| void | validate_year_fields (const json &object, const std::string_view path, const std::initializer_list< std::string_view > keys, validation_result &result) |
| void | validate_entity_id (const json &object, const std::string_view key, const std::string_view path, const std::string_view family, validation_result &result) |
| void | validate_positive_id_array (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | validate_evidence_references (const json &object, const std::string_view key, const std::string_view path, validation_result &result) |
| void | validate_create_operations (const json &create, const std::string_view path, validation_result &result) |
| void | validate_update_fields (const json &item, const std::string_view item_path, const std::string_view family, const std::initializer_list< std::string_view > set_fields, const std::initializer_list< std::string_view > unset_fields, validation_result &result) |
| void | validate_work_set (const json &set, const std::string_view path, validation_result &result) |
| void | validate_update_operations (const json &update, const std::string_view path, validation_result &result) |
| void | validate_merge_operations (const json &merge, const std::string_view path, validation_result &result) |
| void | validate_arachne_batch (const json &document, validation_result &result) |
| void | validate_batch_envelope (const json &document, validation_result &result) |
| void | validate_fetch_plan (const json &document, validation_result &result) |
| void | validate_fetch_request (const json &document, validation_result &result) |
| void | validate_acquired_artifact (const json &document, validation_result &result) |
| void | validate_candidate_plan (const json &document, validation_result &result) |
| void | validate_structural_validation (const json &value, const std::string_view path, validation_result &result) |
| void | validate_snapshot_common (const json &document, const std::initializer_list< std::string_view > allowed, validation_result &result) |
| void | validate_product_snapshot (const json &document, validation_result &result) |
| void | validate_candidate_snapshot (const json &document, validation_result &result) |
| void | validate_viewer_projection (const json &document, validation_result &result) |
| void | validate_site_bundle (const json &document, validation_result &result) |
| void | validate_body (const contract_name name, const json &document, validation_result &result) |
| void | reject_non_finite (const json &value, const std::string &path) |
Variables | |
| constexpr std::array< std::pair< std::string_view, contract_name >, 10 > | contract_names |
| using arachnespace::contracts::anonymous_namespace{contracts.cpp}::json = nlohmann::json |
Definition at line 22 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::add | ( | validation_result & | result, |
| std::string | path, | ||
| std::string | code, | ||
| std::string | message ) |
Definition at line 42 of file contracts.cpp.
| std::string arachnespace::contracts::anonymous_namespace{contracts.cpp}::child_path | ( | const std::string_view | parent, |
| const std::string_view | key ) |
Definition at line 50 of file contracts.cpp.
| std::optional< unsigned int > arachnespace::contracts::anonymous_namespace{contracts.cpp}::declared_major | ( | const std::string_view | name | ) |
Definition at line 535 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::field | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 57 of file contracts.cpp.
| std::optional< contract_name > arachnespace::contracts::anonymous_namespace{contracts.cpp}::inspect_contract | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 565 of file contracts.cpp.
References arachnespace::contracts::arachne_batch.
| bool arachnespace::contracts::anonymous_namespace{contracts.cpp}::known_contract_base | ( | const std::string_view | name | ) |
Definition at line 551 of file contracts.cpp.
| bool arachnespace::contracts::anonymous_namespace{contracts.cpp}::matches | ( | const json * | value, |
| const std::regex & | expression ) |
Definition at line 211 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_array | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 129 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_bounded_integer | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::uint64_t | minimum, | ||
| const std::uint64_t | maximum, | ||
| validation_result & | result ) |
Definition at line 405 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_enum | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::initializer_list< std::string_view > | choices, | ||
| validation_result & | result ) |
Definition at line 368 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_integer_range | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::int64_t | minimum, | ||
| const std::int64_t | maximum, | ||
| validation_result & | result ) |
Definition at line 299 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_number_range | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const double | minimum, | ||
| const double | maximum, | ||
| validation_result & | result ) |
Definition at line 336 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_object | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 113 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_pattern | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::regex & | expression, | ||
| validation_result & | result ) |
Definition at line 393 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::optional_string | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 166 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::reject_non_finite | ( | const json & | value, |
| const std::string & | path ) |
Definition at line 2465 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::reject_unknown_fields | ( | const json & | object, |
| const std::string_view | path, | ||
| const std::initializer_list< std::string_view > | allowed, | ||
| validation_result & | result ) |
Definition at line 70 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_array | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 101 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_boolean | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 288 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_enum | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::initializer_list< std::string_view > | choices, | ||
| validation_result & | result ) |
Definition at line 198 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_integer_range | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::int64_t | minimum, | ||
| const std::int64_t | maximum, | ||
| validation_result & | result ) |
Definition at line 322 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_nonnegative_integer | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 269 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_number_range | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const double | minimum, | ||
| const double | maximum, | ||
| validation_result & | result ) |
Definition at line 356 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_object | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 88 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_pattern | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::regex & | expression, | ||
| validation_result & | result ) |
Definition at line 381 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_sha256 | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 243 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_stable_id | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 220 of file contracts.cpp.
| const json * arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_string | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 145 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::require_timestamp | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 255 of file contracts.cpp.
| bool arachnespace::contracts::anonymous_namespace{contracts.cpp}::string_is_one_of | ( | const json * | value, |
| const std::initializer_list< std::string_view > | choices ) |
Definition at line 187 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_acquired_artifact | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 2110 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_arachne_batch | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 1837 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_artifact | ( | const json & | artifact, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 457 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_artifact_array | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 486 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_artifact_field | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 476 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_batch_envelope | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 1863 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_body | ( | const contract_name | name, |
| const json & | document, | ||
| validation_result & | result ) |
Definition at line 2427 of file contracts.cpp.
References arachnespace::contracts::acquired_artifact, arachnespace::contracts::arachne_batch, arachnespace::contracts::batch_envelope, arachnespace::contracts::fetch_plan, arachnespace::contracts::fetch_request, arachnespace::contracts::product_graph_snapshot, arachnespace::contracts::research_candidate_graph_plan, arachnespace::contracts::research_candidate_graph_snapshot, arachnespace::contracts::site_bundle, and arachnespace::contracts::viewer_projection.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_candidate_plan | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 2244 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_candidate_snapshot | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 2360 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_create_operations | ( | const json & | create, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 819 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_database_or_local_reference | ( | const json & | value, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 680 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_entity_id | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const std::string_view | family, | ||
| validation_result & | result ) |
Definition at line 763 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_evidence_references | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 797 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_extensions | ( | const json & | object, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 433 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_fetch_plan | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 1887 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_fetch_request | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 1925 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_header | ( | const contract_name | expected, |
| const json & | document, | ||
| validation_result & | result ) |
Definition at line 613 of file contracts.cpp.
References arachnespace::contracts::arachne_batch.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_merge_operations | ( | const json & | merge, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 1666 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_nonempty_optional_strings | ( | const json & | object, |
| const std::string_view | path, | ||
| const std::initializer_list< std::string_view > | keys, | ||
| validation_result & | result ) |
Definition at line 743 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_optional_object_array | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result, | ||
| Validator && | validator ) |
Definition at line 721 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_positive_id_array | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 774 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_product_snapshot | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 2346 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_site_bundle | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 2408 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_snapshot_common | ( | const json & | document, |
| const std::initializer_list< std::string_view > | allowed, | ||
| validation_result & | result ) |
Definition at line 2322 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_stable_reference | ( | const json & | value, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 651 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_string_array | ( | const json & | object, |
| const std::string_view | key, | ||
| const std::string_view | path, | ||
| const bool | require_nonempty, | ||
| validation_result & | result ) |
Definition at line 514 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_structural_validation | ( | const json & | value, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 2309 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_unique_items | ( | const json & | array, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 706 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_update_fields | ( | const json & | item, |
| const std::string_view | item_path, | ||
| const std::string_view | family, | ||
| const std::initializer_list< std::string_view > | set_fields, | ||
| const std::initializer_list< std::string_view > | unset_fields, | ||
| validation_result & | result ) |
Definition at line 1340 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_update_operations | ( | const json & | update, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 1409 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_viewer_projection | ( | const json & | document, |
| validation_result & | result ) |
Definition at line 2375 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_work_set | ( | const json & | set, |
| const std::string_view | path, | ||
| validation_result & | result ) |
Definition at line 1384 of file contracts.cpp.
| void arachnespace::contracts::anonymous_namespace{contracts.cpp}::validate_year_fields | ( | const json & | object, |
| const std::string_view | path, | ||
| const std::initializer_list< std::string_view > | keys, | ||
| validation_result & | result ) |
Definition at line 753 of file contracts.cpp.
|
constexpr |
Definition at line 25 of file contracts.cpp.