value-object-pattern 1.27.0__tar.gz → 1.28.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.27.0 → value_object_pattern-1.28.0}/PKG-INFO +1 -1
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/pyproject.toml +0 -2
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/__init__.py +1 -1
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/__init__.py +2 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/utils/tld_domains.txt +2 -1
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/__init__.py +2 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/__init__.py +2 -0
- value_object_pattern-1.28.0/value_object_pattern/usables/primitives/string/pascal_case_string_value_object.py +55 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/.gitignore +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/LICENSE.md +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/README.md +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/decorators/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/decorators/classproperty.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/decorators/value_object_process.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/decorators/value_object_validation.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/base_model.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/collections/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/collections/dict_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/collections/list_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/enumeration_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/primitive_conversion.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/type_matching.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/union_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/py.typed +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/date/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/date/date_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/date/string_date_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/datetime/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/datetime/datetime_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/datetime/string_datetime_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/timezone/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/timezone/string_timezone_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/dates/timezone/timezone_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v1_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v3_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v4_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v5_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v6_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v7_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_v8_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/string_uuid_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v1_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v3_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v4_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v5_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v6_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v7_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_v8_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/uuid/uuid_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/country_tld_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/dni_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/nie_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/nif_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/nuss_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/passport_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/phone_number_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/administrative_technician_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/air_force_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/army_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/canarias_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/catalan_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/civil_guard_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/consular_corps_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/diplomatic_corps_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/especial_plate_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/historical_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/international_organization_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_development_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_environment_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/national_police_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/navy_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_truck_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/provincial_system_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/state_motor_pool_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.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.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_registered_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_private_individual_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/two_wheels_vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/provincial_plate_codes.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/utils/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/utils/provincial_codes.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/europe/spain/vehicle_plate_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/iso3166_alpha2_code_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/iso3166_alpha3_code_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/iso3166_numeric_code_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/phone_code_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_codes.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_alpha3_mapping.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_numeric_mapping.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_phone_code_mapping.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_tld_mapping.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha3_codes.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/utils/iso3166_numeric_codes.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/identifiers/world/vin_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/aws_cloud_region_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/domain_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/email_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/host_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/ip_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/ipv4_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/ipv4_network_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/ipv6_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/ipv6_network_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/keys/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/keys/kebab_case_key_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/keys/snake_case_key_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_addresses/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_addresses/cisco_mac_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_addresses/raw_mac_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_addresses/space_mac_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_addresses/universal_mac_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mac_addresses/windows_mac_address_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mobile/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/mobile/imei_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/port_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/slug_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/uri/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/uri/http_https_url_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/uri/http_url_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/uri/https_url_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/uri/url_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/user_agent_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/utils/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/internet/utils/aws_regions.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/credit_card_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/credit_cards/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/credit_cards/amex_credit_card_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/credit_cards/discover_credit_card_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/credit_cards/mastercard_credit_card_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/credit_cards/visa_credit_card_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/iban_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/utils/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/money/utils/iban_lengths.txt +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/boolean/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/boolean/boolean_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/boolean/false_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/boolean/true_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/bytes/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/bytes/bytes_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/float/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/float/float_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/float/negative_float_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/float/negative_or_zero_float_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/float/positive_float_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/float/positive_or_zero_float_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/even_integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/negative_or_zero_integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/integer/positive_or_zero_integer_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/none/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/none/none_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/none/not_none_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/alpha_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/camel_case_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/digit_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/kebab_case_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/printable_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/screaming_snake_case_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/snake_case_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/utils/__init__.py +0 -0
- {value_object_pattern-1.27.0 → value_object_pattern-1.28.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.28.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
|
|
@@ -50,7 +50,6 @@ Issues = 'https://github.com/adriamontoto/value-object-pattern/issues'
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
[dependency-groups]
|
|
53
|
-
audit = ['pip-audit>=2.9.0']
|
|
54
53
|
coverage = ['coverage[toml]>=7.0.0', 'smokeshow>=0.5.0']
|
|
55
54
|
develop = ['pre-commit>=3.0.0']
|
|
56
55
|
format = ['ruff>=0.11.10']
|
|
@@ -69,7 +68,6 @@ test = [
|
|
|
69
68
|
]
|
|
70
69
|
types = ['types-python-dateutil>=2.9.0.20241206']
|
|
71
70
|
all = [
|
|
72
|
-
{ include-group = 'audit' },
|
|
73
71
|
{ include-group = 'coverage' },
|
|
74
72
|
{ include-group = 'develop' },
|
|
75
73
|
{ include-group = 'format' },
|
{value_object_pattern-1.27.0 → value_object_pattern-1.28.0}/value_object_pattern/usables/__init__.py
RENAMED
|
@@ -19,6 +19,7 @@ from .primitives import (
|
|
|
19
19
|
NotEmptyStringValueObject,
|
|
20
20
|
NotNoneValueObject,
|
|
21
21
|
OddIntegerValueObject,
|
|
22
|
+
PascalCaseStringValueObject,
|
|
22
23
|
PositiveFloatValueObject,
|
|
23
24
|
PositiveIntegerValueObject,
|
|
24
25
|
PositiveOrZeroFloatValueObject,
|
|
@@ -55,6 +56,7 @@ __all__ = (
|
|
|
55
56
|
'NotEmptyStringValueObject',
|
|
56
57
|
'NotNoneValueObject',
|
|
57
58
|
'OddIntegerValueObject',
|
|
59
|
+
'PascalCaseStringValueObject',
|
|
58
60
|
'PositiveFloatValueObject',
|
|
59
61
|
'PositiveIntegerValueObject',
|
|
60
62
|
'PositiveOrZeroFloatValueObject',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# This file was automatically updated using "update_lists.py" on 2026-
|
|
1
|
+
# This file was automatically updated using "update_lists.py" on 2026-04-19T04:07:29.141154+00:00
|
|
2
2
|
|
|
3
3
|
aaa
|
|
4
4
|
aarp
|
|
@@ -742,6 +742,7 @@ meme
|
|
|
742
742
|
memorial
|
|
743
743
|
men
|
|
744
744
|
menu
|
|
745
|
+
merck
|
|
745
746
|
merckmsd
|
|
746
747
|
mg
|
|
747
748
|
mh
|
|
@@ -25,6 +25,7 @@ from .string import (
|
|
|
25
25
|
KebabCaseStringValueObject,
|
|
26
26
|
LowercaseStringValueObject,
|
|
27
27
|
NotEmptyStringValueObject,
|
|
28
|
+
PascalCaseStringValueObject,
|
|
28
29
|
PrintableStringValueObject,
|
|
29
30
|
ScreamingSnakeCaseStringValueObject,
|
|
30
31
|
SnakeCaseStringValueObject,
|
|
@@ -54,6 +55,7 @@ __all__ = (
|
|
|
54
55
|
'NotEmptyStringValueObject',
|
|
55
56
|
'NotNoneValueObject',
|
|
56
57
|
'OddIntegerValueObject',
|
|
58
|
+
'PascalCaseStringValueObject',
|
|
57
59
|
'PositiveFloatValueObject',
|
|
58
60
|
'PositiveIntegerValueObject',
|
|
59
61
|
'PositiveOrZeroFloatValueObject',
|
|
@@ -5,6 +5,7 @@ from .digit_value_object import DigitStringValueObject
|
|
|
5
5
|
from .kebab_case_string_value_object import KebabCaseStringValueObject
|
|
6
6
|
from .lowercase_string_value_object import LowercaseStringValueObject
|
|
7
7
|
from .non_empty_string_value_object import NotEmptyStringValueObject
|
|
8
|
+
from .pascal_case_string_value_object import PascalCaseStringValueObject
|
|
8
9
|
from .printable_string_value_object import PrintableStringValueObject
|
|
9
10
|
from .screaming_snake_case_string_value_object import ScreamingSnakeCaseStringValueObject
|
|
10
11
|
from .snake_case_string_value_object import SnakeCaseStringValueObject
|
|
@@ -20,6 +21,7 @@ __all__ = (
|
|
|
20
21
|
'KebabCaseStringValueObject',
|
|
21
22
|
'LowercaseStringValueObject',
|
|
22
23
|
'NotEmptyStringValueObject',
|
|
24
|
+
'PascalCaseStringValueObject',
|
|
23
25
|
'PrintableStringValueObject',
|
|
24
26
|
'ScreamingSnakeCaseStringValueObject',
|
|
25
27
|
'SnakeCaseStringValueObject',
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"""
|
|
2
|
+
PascalCaseStringValueObject value object.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from re import Pattern, compile as re_compile
|
|
6
|
+
from typing import NoReturn
|
|
7
|
+
|
|
8
|
+
from value_object_pattern.decorators import validation
|
|
9
|
+
|
|
10
|
+
from .non_empty_string_value_object import NotEmptyStringValueObject
|
|
11
|
+
from .trimmed_string_value_object import TrimmedStringValueObject
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class PascalCaseStringValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
|
|
15
|
+
"""
|
|
16
|
+
PascalCaseStringValueObject value object ensures the provided value is PascalCase.
|
|
17
|
+
|
|
18
|
+
Example:
|
|
19
|
+
```python
|
|
20
|
+
from value_object_pattern.usables import PascalCaseStringValueObject
|
|
21
|
+
|
|
22
|
+
string = PascalCaseStringValueObject(value='Abcd1234Word')
|
|
23
|
+
|
|
24
|
+
print(repr(string))
|
|
25
|
+
# >>> PascalCaseStringValueObject(value='Abcd1234Word')
|
|
26
|
+
```
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
_VALIDATION_REGEX: Pattern[str] = re_compile(pattern=r'^[A-Z][a-z0-9]*(?:[A-Z][a-z0-9]*)*$')
|
|
30
|
+
|
|
31
|
+
@validation(order=0)
|
|
32
|
+
def _ensure_value_is_pascal_case(self, value: str) -> None:
|
|
33
|
+
"""
|
|
34
|
+
Ensures the value object `value` is PascalCase.
|
|
35
|
+
|
|
36
|
+
Args:
|
|
37
|
+
value (str): The provided value.
|
|
38
|
+
|
|
39
|
+
Raises:
|
|
40
|
+
ValueError: If the `value` is not PascalCase.
|
|
41
|
+
"""
|
|
42
|
+
if not self._VALIDATION_REGEX.fullmatch(string=value):
|
|
43
|
+
self._raise_value_is_not_pascal_case(value=value)
|
|
44
|
+
|
|
45
|
+
def _raise_value_is_not_pascal_case(self, value: str) -> NoReturn:
|
|
46
|
+
"""
|
|
47
|
+
Raises a ValueError if the value object `value` is PascalCase.
|
|
48
|
+
|
|
49
|
+
Args:
|
|
50
|
+
value (str): The provided value.
|
|
51
|
+
|
|
52
|
+
Raises:
|
|
53
|
+
ValueError: If the `value` is not PascalCase.
|
|
54
|
+
"""
|
|
55
|
+
raise ValueError(f'PascalCaseStringValueObject value <<<{value}>>> has invalid format. Only PascalCase strings starting with an uppercase letter and continuing with alphanumeric words are allowed.') # noqa: E501 # fmt: skip
|
|
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.27.0 → value_object_pattern-1.28.0}/value_object_pattern/models/__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
|
|
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
|