value-object-pattern 1.17.0__tar.gz → 1.19.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/PKG-INFO +2 -1
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/pyproject.toml +1 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/__init__.py +1 -1
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/collections/list_value_object.py +68 -3
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/enumeration_value_object.py +2 -2
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v8_value_object.py +1 -2
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v7_value_object.py +1 -1
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v8_value_object.py +1 -1
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/utils/aws_regions.txt +3 -1
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/utils/tld_domains.txt +1 -6
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/.gitignore +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/LICENSE.md +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/README.md +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/classproperty.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/value_object_process.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/value_object_validation.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/base_model.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/collections/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/py.typed +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/date/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/date/date_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/date/string_date_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/datetime/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/datetime/datetime_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/datetime/string_datetime_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/timezone/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/timezone/string_timezone_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/timezone/timezone_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v1_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v3_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v4_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v5_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v6_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v7_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v1_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v3_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v4_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v5_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_v6_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/country_tld_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/dni_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/nie_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/nif_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/nuss_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/passport_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/phone_number_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/administrative_technician_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/air_force_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/army_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/canarias_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/catalan_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/civil_guard_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/consular_corps_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/diplomatic_corps_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/especial_plate_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/historical_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/international_organization_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_development_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_environment_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/national_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/navy_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_truck_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/provincial_system_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/state_motor_pool_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_not_registered_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_registered_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_private_individual_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/two_wheels_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/provincial_plate_codes.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/utils/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/utils/provincial_codes.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/iso3166_alpha2_code_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/iso3166_alpha3_code_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/iso3166_numeric_code_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/phone_code_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_codes.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_alpha3_mapping.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_numeric_mapping.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_phone_code_mapping.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_tld_mapping.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha3_codes.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_numeric_codes.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/vin_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/aws_cloud_region_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/domain_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/email_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/host_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ip_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv4_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv4_network_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv6_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv6_network_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/cisco_mac_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/raw_mac_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/space_mac_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/universal_mac_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/windows_mac_address_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mobile/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mobile/imei_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/port_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/http_https_url_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/http_url_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/https_url_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/url_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/utils/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_card_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_cards/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_cards/amex_credit_card_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_cards/discover_credit_card_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_cards/mastercard_credit_card_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_cards/visa_credit_card_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/iban_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/utils/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/utils/iban_lengths.txt +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/boolean_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/false_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/true_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/bytes/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/bytes/bytes_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/float/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/float/float_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/float/negative_float_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/float/positive_float_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/even_integer_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/integer_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/none/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/none/none_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/none/not_none_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/alpha_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/digit_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/printable_string_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/string_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/utils/__init__.py +0 -0
- {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/utils/luhn_validation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: value-object-pattern
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.19.0
|
|
4
4
|
Summary: The Value Object Pattern is a Python package that streamlines the creation and management of value objects in your projects.
|
|
5
5
|
Project-URL: Homepage, https://github.com/adriamontoto/value-object-pattern
|
|
6
6
|
Project-URL: Repository, https://github.com/adriamontoto/value-object-pattern
|
|
@@ -17,6 +17,7 @@ Classifier: Programming Language :: Python :: 3
|
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
20
21
|
Classifier: Typing :: Typed
|
|
21
22
|
Requires-Python: >=3.11
|
|
22
23
|
Requires-Dist: python-dateutil>=2.9.0
|
|
@@ -14,7 +14,8 @@ else:
|
|
|
14
14
|
from collections.abc import Iterator
|
|
15
15
|
from enum import Enum
|
|
16
16
|
from inspect import isclass
|
|
17
|
-
from
|
|
17
|
+
from types import UnionType
|
|
18
|
+
from typing import Any, Generic, NoReturn, TypeVar, Union, get_args, get_origin
|
|
18
19
|
|
|
19
20
|
from value_object_pattern.decorators import validation
|
|
20
21
|
from value_object_pattern.models import BaseModel, ValueObject
|
|
@@ -312,7 +313,23 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
312
313
|
if self._type is Any:
|
|
313
314
|
return
|
|
314
315
|
|
|
315
|
-
|
|
316
|
+
origin = get_origin(tp=self._type)
|
|
317
|
+
if origin in (Union, UnionType):
|
|
318
|
+
allowed_types: list[type[Any] | UnionType] = []
|
|
319
|
+
for allowed in get_args(self._type):
|
|
320
|
+
if allowed is Any:
|
|
321
|
+
return
|
|
322
|
+
|
|
323
|
+
allowed_origin = get_origin(tp=allowed)
|
|
324
|
+
allowed_types.append(allowed_origin or allowed)
|
|
325
|
+
|
|
326
|
+
for item in value:
|
|
327
|
+
if not any(isinstance(item, allowed) for allowed in allowed_types):
|
|
328
|
+
self._raise_value_is_not_of_type(value=item)
|
|
329
|
+
|
|
330
|
+
return
|
|
331
|
+
|
|
332
|
+
expected_type = origin or self._type
|
|
316
333
|
for item in value:
|
|
317
334
|
if not isinstance(item, expected_type):
|
|
318
335
|
self._raise_value_is_not_of_type(value=item)
|
|
@@ -327,7 +344,7 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
327
344
|
Raises:
|
|
328
345
|
TypeError: If the `value` is not of type `T`.
|
|
329
346
|
"""
|
|
330
|
-
raise TypeError(f'ListValueObject value <<<{value}>>> must be of type <<<{self.
|
|
347
|
+
raise TypeError(f'ListValueObject value <<<{value}>>> must be of type <<<{self._type_label()}>>> type. Got <<<{type(value).__name__}>>> type.') # fmt: skip # noqa: E501
|
|
331
348
|
|
|
332
349
|
def is_empty(self) -> bool:
|
|
333
350
|
"""
|
|
@@ -359,6 +376,9 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
359
376
|
Args:
|
|
360
377
|
item (T): The item to add.
|
|
361
378
|
|
|
379
|
+
Raises:
|
|
380
|
+
TypeError: If the item is not of type T.
|
|
381
|
+
|
|
362
382
|
Returns:
|
|
363
383
|
ListValueObject[T]: A new ListValueObject with the item added.
|
|
364
384
|
|
|
@@ -388,6 +408,9 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
388
408
|
Args:
|
|
389
409
|
item (Any): The primitives item to convert and add.
|
|
390
410
|
|
|
411
|
+
Raises:
|
|
412
|
+
TypeError: If the item is not of type T.
|
|
413
|
+
|
|
391
414
|
Returns:
|
|
392
415
|
ListValueObject[T]: A new ListValueObject with the item added.
|
|
393
416
|
|
|
@@ -424,6 +447,9 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
424
447
|
Args:
|
|
425
448
|
items (list[T]): The items to add.
|
|
426
449
|
|
|
450
|
+
Raises:
|
|
451
|
+
TypeError: If the items are not of the correct type.
|
|
452
|
+
|
|
427
453
|
Returns:
|
|
428
454
|
ListValueObject[T]: A new ListValueObject with the items added.
|
|
429
455
|
|
|
@@ -453,6 +479,9 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
453
479
|
Args:
|
|
454
480
|
items (list[Any]): The primitive items to convert and add.
|
|
455
481
|
|
|
482
|
+
Raises:
|
|
483
|
+
TypeError: If the items are not of the correct type.
|
|
484
|
+
|
|
456
485
|
Returns:
|
|
457
486
|
ListValueObject[T]: A new ListValueObject with the items added.
|
|
458
487
|
|
|
@@ -663,11 +692,47 @@ class ListValueObject(ValueObject[list[T]], Generic[T]): # noqa: UP046
|
|
|
663
692
|
if hasattr(self._type, 'from_primitives'):
|
|
664
693
|
return self._type.from_primitives(value) # type: ignore[no-any-return]
|
|
665
694
|
|
|
695
|
+
if get_origin(tp=self._type) in (Union, UnionType):
|
|
696
|
+
return value # type: ignore[no-any-return]
|
|
697
|
+
|
|
666
698
|
if hasattr(self._type, 'value'):
|
|
667
699
|
return self._type(value=value) # type: ignore[no-any-return]
|
|
668
700
|
|
|
669
701
|
return value # type: ignore[no-any-return]
|
|
670
702
|
|
|
703
|
+
def _type_label(self) -> str:
|
|
704
|
+
"""
|
|
705
|
+
Returns a readable label for the configured type, including unions.
|
|
706
|
+
|
|
707
|
+
Returns:
|
|
708
|
+
str: The type label.
|
|
709
|
+
"""
|
|
710
|
+
origin = get_origin(tp=self._type)
|
|
711
|
+
if origin in (Union, UnionType):
|
|
712
|
+
parts = [self._format_single_type(type=type) for type in get_args(self._type)]
|
|
713
|
+
return ' | '.join(parts)
|
|
714
|
+
|
|
715
|
+
return self._format_single_type(type=self._type)
|
|
716
|
+
|
|
717
|
+
@staticmethod
|
|
718
|
+
def _format_single_type(*, type: Any) -> str:
|
|
719
|
+
"""
|
|
720
|
+
Formats a single type for error messages.
|
|
721
|
+
|
|
722
|
+
Args:
|
|
723
|
+
type (Any): The type to format.
|
|
724
|
+
|
|
725
|
+
Returns:
|
|
726
|
+
str: The formatted type.
|
|
727
|
+
"""
|
|
728
|
+
if type is Any:
|
|
729
|
+
return 'Any'
|
|
730
|
+
|
|
731
|
+
if hasattr(type, '__name__'):
|
|
732
|
+
return type.__name__ # type: ignore[no-any-return]
|
|
733
|
+
|
|
734
|
+
return str(type).replace('typing.', '')
|
|
735
|
+
|
|
671
736
|
@classmethod
|
|
672
737
|
def from_primitives(cls, value: list[Any]) -> ListValueObject[T]:
|
|
673
738
|
"""
|
|
@@ -96,11 +96,11 @@ class EnumerationValueObject(ValueObject[Any | E], Generic[E]): # noqa: UP046
|
|
|
96
96
|
if isinstance(value, self._enumeration):
|
|
97
97
|
return value
|
|
98
98
|
|
|
99
|
-
for member in self._enumeration:
|
|
99
|
+
for member in self._enumeration: # pragma: no cover
|
|
100
100
|
if member.value == value:
|
|
101
101
|
return member
|
|
102
102
|
|
|
103
|
-
self._raise_value_is_not_from_enumeration(value=value)
|
|
103
|
+
self._raise_value_is_not_from_enumeration(value=value) # pragma: no cover
|
|
104
104
|
|
|
105
105
|
@validation(order=0)
|
|
106
106
|
def _ensure_value_is_from_enumeration(self, value: Any | E) -> None:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# This file was automatically updated using "update_lists.py" on 2025-
|
|
1
|
+
# This file was automatically updated using "update_lists.py" on 2025-12-09T16:29:57.625046+00:00
|
|
2
2
|
|
|
3
3
|
us-east-1
|
|
4
4
|
us-east-2
|
|
@@ -11,10 +11,12 @@ ap-southeast-3
|
|
|
11
11
|
ap-southeast-5
|
|
12
12
|
ap-southeast-4
|
|
13
13
|
ap-south-1
|
|
14
|
+
ap-southeast-6
|
|
14
15
|
ap-northeast-3
|
|
15
16
|
ap-northeast-2
|
|
16
17
|
ap-southeast-1
|
|
17
18
|
ap-southeast-2
|
|
19
|
+
ap-east-2
|
|
18
20
|
ap-southeast-7
|
|
19
21
|
ap-northeast-1
|
|
20
22
|
ca-central-1
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# This file was automatically updated using "update_lists.py" on 2025-
|
|
1
|
+
# This file was automatically updated using "update_lists.py" on 2025-12-09T16:29:57.669510+00:00
|
|
2
2
|
|
|
3
3
|
aaa
|
|
4
4
|
aarp
|
|
@@ -119,7 +119,6 @@ be
|
|
|
119
119
|
beats
|
|
120
120
|
beauty
|
|
121
121
|
beer
|
|
122
|
-
bentley
|
|
123
122
|
berlin
|
|
124
123
|
best
|
|
125
124
|
bestbuy
|
|
@@ -346,7 +345,6 @@ download
|
|
|
346
345
|
drive
|
|
347
346
|
dtv
|
|
348
347
|
dubai
|
|
349
|
-
dunlop
|
|
350
348
|
dupont
|
|
351
349
|
durban
|
|
352
350
|
dvag
|
|
@@ -659,7 +657,6 @@ la
|
|
|
659
657
|
lacaixa
|
|
660
658
|
lamborghini
|
|
661
659
|
lamer
|
|
662
|
-
lancaster
|
|
663
660
|
land
|
|
664
661
|
landrover
|
|
665
662
|
lanxess
|
|
@@ -915,7 +912,6 @@ politie
|
|
|
915
912
|
porn
|
|
916
913
|
post
|
|
917
914
|
pr
|
|
918
|
-
pramerica
|
|
919
915
|
praxi
|
|
920
916
|
press
|
|
921
917
|
prime
|
|
@@ -949,7 +945,6 @@ realtor
|
|
|
949
945
|
realty
|
|
950
946
|
recipes
|
|
951
947
|
red
|
|
952
|
-
redstone
|
|
953
948
|
redumbrella
|
|
954
949
|
rehab
|
|
955
950
|
reise
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|