value-object-pattern 1.33.0__tar.gz → 1.33.1__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.
Files changed (189) hide show
  1. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/PKG-INFO +1 -1
  2. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/__init__.py +1 -1
  3. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/email_address_value_object.py +1 -2
  4. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/uri/http_https_url_value_object.py +16 -1
  5. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/uri/https_url_value_object.py +16 -1
  6. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/uri/url_value_object.py +126 -18
  7. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/.gitignore +0 -0
  8. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/LICENSE.md +0 -0
  9. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/README.md +0 -0
  10. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/pyproject.toml +0 -0
  11. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/decorators/__init__.py +0 -0
  12. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/decorators/classproperty.py +0 -0
  13. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/decorators/value_object_process.py +0 -0
  14. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/decorators/value_object_validation.py +0 -0
  15. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/__init__.py +0 -0
  16. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/base_model.py +0 -0
  17. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/collections/__init__.py +0 -0
  18. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/collections/dict_value_object.py +0 -0
  19. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/collections/list_value_object.py +0 -0
  20. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/enumeration_value_object.py +0 -0
  21. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/primitive_conversion.py +0 -0
  22. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/type_matching.py +0 -0
  23. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/union_value_object.py +0 -0
  24. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/models/value_object.py +0 -0
  25. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/py.typed +0 -0
  26. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/__init__.py +0 -0
  27. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/__init__.py +0 -0
  28. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/date/__init__.py +0 -0
  29. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/date/date_value_object.py +0 -0
  30. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/date/string_date_value_object.py +0 -0
  31. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/datetime/__init__.py +0 -0
  32. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/datetime/datetime_value_object.py +0 -0
  33. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/datetime/string_datetime_value_object.py +0 -0
  34. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/timezone/__init__.py +0 -0
  35. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/timezone/string_timezone_value_object.py +0 -0
  36. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/dates/timezone/timezone_value_object.py +0 -0
  37. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/__init__.py +0 -0
  38. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/__init__.py +0 -0
  39. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v1_value_object.py +0 -0
  40. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v3_value_object.py +0 -0
  41. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v4_value_object.py +0 -0
  42. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v5_value_object.py +0 -0
  43. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v6_value_object.py +0 -0
  44. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v7_value_object.py +0 -0
  45. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_v8_value_object.py +0 -0
  46. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/string_uuid_value_object.py +0 -0
  47. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v1_value_object.py +0 -0
  48. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v3_value_object.py +0 -0
  49. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v4_value_object.py +0 -0
  50. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v5_value_object.py +0 -0
  51. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v6_value_object.py +0 -0
  52. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v7_value_object.py +0 -0
  53. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_v8_value_object.py +0 -0
  54. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/uuid/uuid_value_object.py +0 -0
  55. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/__init__.py +0 -0
  56. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/country_tld_value_object.py +0 -0
  57. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/__init__.py +0 -0
  58. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/__init__.py +0 -0
  59. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/dni_value_object.py +0 -0
  60. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/nie_value_object.py +0 -0
  61. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/nif_value_object.py +0 -0
  62. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/nuss_value_object.py +0 -0
  63. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/passport_value_object.py +0 -0
  64. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/phone_number_value_object.py +0 -0
  65. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/__init__.py +0 -0
  66. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/administrative_technician_vehicle_plate_value_object.py +0 -0
  67. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/air_force_vehicle_plate_value_object.py +0 -0
  68. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/army_vehicle_plate_value_object.py +0 -0
  69. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/canarias_police_vehicle_plate_value_object.py +0 -0
  70. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/catalan_police_vehicle_plate_value_object.py +0 -0
  71. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/civil_guard_vehicle_plate_value_object.py +0 -0
  72. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/consular_corps_vehicle_plate_value_object.py +0 -0
  73. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/diplomatic_corps_vehicle_plate_value_object.py +0 -0
  74. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/especial_plate_vehicle_plate_value_object.py +0 -0
  75. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/historical_vehicle_plate_value_object.py +0 -0
  76. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/international_organization_vehicle_plate_value_object.py +0 -0
  77. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_development_vehicle_plate_value_object.py +0 -0
  78. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ministry_environment_vehicle_plate_value_object.py +0 -0
  79. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/national_police_vehicle_plate_value_object.py +0 -0
  80. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/navy_vehicle_plate_value_object.py +0 -0
  81. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_truck_vehicle_plate_value_object.py +0 -0
  82. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/ordinary_vehicle_plate_value_object.py +0 -0
  83. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/provincial_system_vehicle_plate_value_object.py +0 -0
  84. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/state_motor_pool_vehicle_plate_value_object.py +0 -0
  85. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_not_registered_vehicle_plate_value_object.py +0 -0
  86. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_company_registered_vehicle_plate_value_object.py +0 -0
  87. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/temporal_private_individual_vehicle_plate_value_object.py +0 -0
  88. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/two_wheels_vehicle_plate_value_object.py +0 -0
  89. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/__init__.py +0 -0
  90. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/plates/utils/provincial_plate_codes.txt +0 -0
  91. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/utils/__init__.py +0 -0
  92. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/utils/provincial_codes.txt +0 -0
  93. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/europe/spain/vehicle_plate_value_object.py +0 -0
  94. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/iso3166_alpha2_code_value_object.py +0 -0
  95. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/iso3166_alpha3_code_value_object.py +0 -0
  96. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/iso3166_numeric_code_value_object.py +0 -0
  97. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/phone_code_value_object.py +0 -0
  98. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/__init__.py +0 -0
  99. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_codes.txt +0 -0
  100. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_alpha3_mapping.txt +0 -0
  101. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_numeric_mapping.txt +0 -0
  102. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_phone_code_mapping.txt +0 -0
  103. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha2_to_tld_mapping.txt +0 -0
  104. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_alpha3_codes.txt +0 -0
  105. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/utils/iso3166_numeric_codes.txt +0 -0
  106. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/identifiers/world/vin_value_object.py +0 -0
  107. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/__init__.py +0 -0
  108. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/aws_cloud_region_value_object.py +0 -0
  109. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/domain_or_localhost_value_object.py +0 -0
  110. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/domain_value_object.py +0 -0
  111. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/host_value_object.py +0 -0
  112. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/ip_address_value_object.py +0 -0
  113. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/ipv4_address_value_object.py +0 -0
  114. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/ipv4_network_value_object.py +0 -0
  115. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/ipv6_address_value_object.py +0 -0
  116. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/ipv6_network_value_object.py +0 -0
  117. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/keys/__init__.py +0 -0
  118. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/keys/kebab_case_key_value_object.py +0 -0
  119. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/keys/snake_case_key_value_object.py +0 -0
  120. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_address_value_object.py +0 -0
  121. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_addresses/__init__.py +0 -0
  122. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_addresses/cisco_mac_address_value_object.py +0 -0
  123. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_addresses/raw_mac_address_value_object.py +0 -0
  124. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_addresses/space_mac_address_value_object.py +0 -0
  125. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_addresses/universal_mac_address_value_object.py +0 -0
  126. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mac_addresses/windows_mac_address_value_object.py +0 -0
  127. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mobile/__init__.py +0 -0
  128. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/mobile/imei_value_object.py +0 -0
  129. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/port_value_object.py +0 -0
  130. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/slug_value_object.py +0 -0
  131. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/uri/__init__.py +0 -0
  132. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/uri/http_url_value_object.py +0 -0
  133. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/user_agent_value_object.py +0 -0
  134. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/utils/__init__.py +0 -0
  135. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/utils/aws_regions.txt +0 -0
  136. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/internet/utils/tld_domains.txt +0 -0
  137. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/__init__.py +0 -0
  138. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/credit_card_value_object.py +0 -0
  139. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/credit_cards/__init__.py +0 -0
  140. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/credit_cards/amex_credit_card_value_object.py +0 -0
  141. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/credit_cards/discover_credit_card_value_object.py +0 -0
  142. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/credit_cards/mastercard_credit_card_value_object.py +0 -0
  143. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/credit_cards/visa_credit_card_value_object.py +0 -0
  144. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/iban_value_object.py +0 -0
  145. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/utils/__init__.py +0 -0
  146. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/money/utils/iban_lengths.txt +0 -0
  147. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/__init__.py +0 -0
  148. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/boolean/__init__.py +0 -0
  149. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/boolean/boolean_value_object.py +0 -0
  150. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/boolean/false_value_object.py +0 -0
  151. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/boolean/true_value_object.py +0 -0
  152. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/bytes/__init__.py +0 -0
  153. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/bytes/bytes_value_object.py +0 -0
  154. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/float/__init__.py +0 -0
  155. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/float/float_value_object.py +0 -0
  156. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/float/negative_float_value_object.py +0 -0
  157. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/float/negative_or_zero_float_value_object.py +0 -0
  158. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/float/positive_float_value_object.py +0 -0
  159. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/float/positive_or_zero_float_value_object.py +0 -0
  160. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/__init__.py +0 -0
  161. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/even_integer_value_object.py +0 -0
  162. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/integer_value_object.py +0 -0
  163. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +0 -0
  164. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/negative_or_zero_integer_value_object.py +0 -0
  165. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +0 -0
  166. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +0 -0
  167. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/integer/positive_or_zero_integer_value_object.py +0 -0
  168. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/none/__init__.py +0 -0
  169. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/none/none_value_object.py +0 -0
  170. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/none/not_none_value_object.py +0 -0
  171. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/__init__.py +0 -0
  172. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/alpha_value_object.py +0 -0
  173. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +0 -0
  174. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/base64_value_object.py +0 -0
  175. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/camel_case_string_value_object.py +0 -0
  176. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/digit_value_object.py +0 -0
  177. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/kebab_case_string_value_object.py +0 -0
  178. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +0 -0
  179. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +0 -0
  180. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/pascal_case_string_value_object.py +0 -0
  181. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/printable_string_value_object.py +0 -0
  182. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/screaming_snake_case_string_value_object.py +0 -0
  183. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/secret_string_value_object.py +0 -0
  184. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/snake_case_string_value_object.py +0 -0
  185. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/string_value_object.py +0 -0
  186. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +0 -0
  187. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +0 -0
  188. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/value_object_pattern/usables/utils/__init__.py +0 -0
  189. {value_object_pattern-1.33.0 → value_object_pattern-1.33.1}/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.33.0
3
+ Version: 1.33.1
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
@@ -1,4 +1,4 @@
1
- __version__ = '1.33.0'
1
+ __version__ = '1.33.1'
2
2
 
3
3
  from .decorators import process, validation
4
4
  from .models import BaseModel, EnumerationValueObject, UnionValueObject, ValueObject
@@ -214,8 +214,7 @@ class EmailAddressValueObject(NotEmptyStringValueObject, TrimmedStringValueObjec
214
214
  try:
215
215
  self._internal_domain_part = DomainValueObject(value=self._internal_domain_part).value
216
216
 
217
- except Exception as exception:
218
- print(f'{exception}')
217
+ except (TypeError, ValueError):
219
218
  self._raise_value_invalid_domain_error(value=value, domain_part=self._internal_domain_part)
220
219
 
221
220
  def _raise_email_address_domain_contains_invalid_characters_error(self, value: str, domain_part: str) -> NoReturn:
@@ -2,6 +2,8 @@
2
2
  HttpHttpsUrlValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern import validation
6
8
 
7
9
  from .url_value_object import UrlValueObject, split_url
@@ -36,4 +38,17 @@ class HttpHttpsUrlValueObject(UrlValueObject):
36
38
  scheme, *_ = split_url(value=value)
37
39
 
38
40
  if scheme not in ('http', 'https'):
39
- raise ValueError(f'HttpHttpsUrlValueObject value <<<{value}>>> scheme is not HTTP or HTTPS')
41
+ self._raise_value_is_not_http_https_url(value=value, scheme=scheme)
42
+
43
+ def _raise_value_is_not_http_https_url(self, value: str, scheme: str) -> NoReturn:
44
+ """
45
+ Raise an error if the URL scheme is not HTTP or HTTPS.
46
+
47
+ Args:
48
+ value (str): The URL value.
49
+ scheme (str): The invalid scheme.
50
+
51
+ Raises:
52
+ ValueError: If the URL scheme is not HTTP or HTTPS.
53
+ """
54
+ raise ValueError(f'HttpHttpsUrlValueObject value <<<{value}>>> scheme is not HTTP or HTTPS')
@@ -2,6 +2,8 @@
2
2
  HttpsUrlValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern import validation
6
8
 
7
9
  from .url_value_object import UrlValueObject, split_url
@@ -36,4 +38,17 @@ class HttpsUrlValueObject(UrlValueObject):
36
38
  scheme, *_ = split_url(value=value)
37
39
 
38
40
  if scheme != 'https':
39
- raise ValueError(f'HttpsUrlValueObject value <<<{value}>>> scheme is not HTTPS')
41
+ self._raise_value_is_not_https_url(value=value, scheme=scheme)
42
+
43
+ def _raise_value_is_not_https_url(self, value: str, scheme: str) -> NoReturn:
44
+ """
45
+ Raise an error if the URL scheme is not HTTPS.
46
+
47
+ Args:
48
+ value (str): The URL value.
49
+ scheme (str): The invalid scheme.
50
+
51
+ Raises:
52
+ ValueError: If the URL scheme is not HTTPS.
53
+ """
54
+ raise ValueError(f'HttpsUrlValueObject value <<<{value}>>> scheme is not HTTPS')
@@ -4,6 +4,7 @@ UrlValueObject value object.
4
4
 
5
5
  from functools import lru_cache
6
6
  from re import Pattern, compile as re_compile
7
+ from typing import NoReturn
7
8
  from urllib.parse import parse_qs, urlsplit
8
9
 
9
10
  from value_object_pattern import process, validation
@@ -178,11 +179,23 @@ class UrlValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
178
179
  try:
179
180
  scheme, netloc, path, query, fragment = split_url(value=value)
180
181
 
181
- except ValueError as error:
182
- raise ValueError(f'UrlValueObject value <<<{value}>>> is not a valid url.') from error
182
+ except ValueError:
183
+ self._raise_value_is_not_valid_url(value=value)
183
184
 
184
185
  if not scheme and not netloc and not path and not query and not fragment:
185
- raise ValueError(f'UrlValueObject value <<<{value}>>> is not a valid url.')
186
+ self._raise_value_is_not_valid_url(value=value)
187
+
188
+ def _raise_value_is_not_valid_url(self, value: str) -> NoReturn:
189
+ """
190
+ Raise an error if the value is not a valid URL.
191
+
192
+ Args:
193
+ value (str): The invalid URL value.
194
+
195
+ Raises:
196
+ ValueError: If the value is not a valid URL.
197
+ """
198
+ raise ValueError(f'UrlValueObject value <<<{value}>>> is not a valid url.')
186
199
 
187
200
  @validation(order=1)
188
201
  def _validate_url_scheme(self, value: str) -> None:
@@ -200,7 +213,20 @@ class UrlValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
200
213
  """
201
214
  scheme, *_ = split_url(value=value)
202
215
  if not self._URL_SCHEME_REGEX.match(string=scheme):
203
- raise ValueError(f'UrlValueObject value <<<{value}>>> contains an invalid scheme <<<{scheme}>>>.')
216
+ self._raise_value_has_not_valid_scheme(value=value, scheme=scheme)
217
+
218
+ def _raise_value_has_not_valid_scheme(self, value: str, scheme: str) -> NoReturn:
219
+ """
220
+ Raise an error if the URL scheme is invalid.
221
+
222
+ Args:
223
+ value (str): The URL value.
224
+ scheme (str): The invalid scheme.
225
+
226
+ Raises:
227
+ ValueError: If the URL scheme is invalid.
228
+ """
229
+ raise ValueError(f'UrlValueObject value <<<{value}>>> contains an invalid scheme <<<{scheme}>>>.')
204
230
 
205
231
  @validation(order=2)
206
232
  def _validate_url_netloc(self, value: str) -> None:
@@ -222,24 +248,67 @@ class UrlValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
222
248
  try:
223
249
  user_information, host, port = split_netloc(value=netloc)
224
250
 
225
- except ValueError as error:
226
- raise ValueError(f'UrlValueObject value <<<{value}>>> is not a valid url.') from error
251
+ except ValueError:
252
+ if netloc.count(':') > 1 and not netloc.startswith('['):
253
+ self._raise_value_is_not_valid_url(value=value)
254
+
255
+ invalid_port = netloc.rsplit(sep=':', maxsplit=1)[-1]
256
+ self._raise_value_has_not_valid_port(value=value, port=invalid_port)
227
257
 
228
258
  if user_information is not None and not self._URL_USER_INFORMATION_REGEX.match(string=user_information): # noqa: E501 # fmt: skip
229
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid user information <<<{user_information}>>>.') # noqa: E501 # fmt: skip
259
+ self._raise_value_has_not_valid_user_information(value=value, user_information=user_information)
230
260
 
231
261
  try:
232
262
  HostValueObject(value=host)
233
263
 
234
- except ValueError as error:
235
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid host <<<{host}>>>.') from error
264
+ except (TypeError, ValueError):
265
+ self._raise_value_has_not_valid_host(value=value, host=host)
236
266
 
237
- try:
238
- if port is not None:
267
+ if port is not None:
268
+ try:
239
269
  PortValueObject(value=port)
240
270
 
241
- except ValueError as error:
242
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid port <<<{port}>>>.') from error
271
+ except (TypeError, ValueError):
272
+ self._raise_value_has_not_valid_port(value=value, port=port)
273
+
274
+ def _raise_value_has_not_valid_user_information(self, value: str, user_information: str) -> NoReturn:
275
+ """
276
+ Raise an error if the URL user information is invalid.
277
+
278
+ Args:
279
+ value (str): The URL value.
280
+ user_information (str): The invalid user information.
281
+
282
+ Raises:
283
+ ValueError: If the URL user information is invalid.
284
+ """
285
+ raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid user information <<<{user_information}>>>.') # noqa: E501 # fmt: skip
286
+
287
+ def _raise_value_has_not_valid_host(self, value: str, host: str) -> NoReturn:
288
+ """
289
+ Raise an error if the URL host is invalid.
290
+
291
+ Args:
292
+ value (str): The URL value.
293
+ host (str): The invalid host.
294
+
295
+ Raises:
296
+ ValueError: If the URL host is invalid.
297
+ """
298
+ raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid host <<<{host}>>>.')
299
+
300
+ def _raise_value_has_not_valid_port(self, value: str, port: int | str) -> NoReturn:
301
+ """
302
+ Raise an error if the URL port is invalid.
303
+
304
+ Args:
305
+ value (str): The URL value.
306
+ port (int | str): The invalid port.
307
+
308
+ Raises:
309
+ ValueError: If the URL port is invalid.
310
+ """
311
+ raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid port <<<{port}>>>.')
243
312
 
244
313
  @validation(order=3)
245
314
  def _validate_url_path(self, value: str) -> None:
@@ -260,7 +329,20 @@ class UrlValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
260
329
  return
261
330
 
262
331
  if not self._URL_PATH_REGEX.match(string=path):
263
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid path <<<{path}>>>.')
332
+ self._raise_value_has_not_valid_path(value=value, path=path)
333
+
334
+ def _raise_value_has_not_valid_path(self, value: str, path: str) -> NoReturn:
335
+ """
336
+ Raise an error if the URL path is invalid.
337
+
338
+ Args:
339
+ value (str): The URL value.
340
+ path (str): The invalid path.
341
+
342
+ Raises:
343
+ ValueError: If the URL path is invalid.
344
+ """
345
+ raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid path <<<{path}>>>.')
264
346
 
265
347
  @validation(order=4)
266
348
  def _validate_url_query(self, value: str) -> None:
@@ -283,11 +365,24 @@ class UrlValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
283
365
  try:
284
366
  parse_qs(qs=query)
285
367
 
286
- except ValueError as error:
287
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid query <<<{query}>>>.') from error
368
+ except ValueError:
369
+ self._raise_value_has_not_valid_query(value=value, query=query)
288
370
 
289
371
  if not self._URL_QUERY_REGEX.match(string=query):
290
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid query <<<{query}>>>.')
372
+ self._raise_value_has_not_valid_query(value=value, query=query)
373
+
374
+ def _raise_value_has_not_valid_query(self, value: str, query: str) -> NoReturn:
375
+ """
376
+ Raise an error if the URL query is invalid.
377
+
378
+ Args:
379
+ value (str): The URL value.
380
+ query (str): The invalid query.
381
+
382
+ Raises:
383
+ ValueError: If the URL query is invalid.
384
+ """
385
+ raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid query <<<{query}>>>.')
291
386
 
292
387
  @validation(order=5)
293
388
  def _validate_url_fragment(self, value: str) -> None:
@@ -308,7 +403,20 @@ class UrlValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
308
403
  return
309
404
 
310
405
  if not self._URL_FRAGMENT_REGEX.match(string=fragment):
311
- raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid fragment <<<{fragment}>>>.')
406
+ self._raise_value_has_not_valid_fragment(value=value, fragment=fragment)
407
+
408
+ def _raise_value_has_not_valid_fragment(self, value: str, fragment: str) -> NoReturn:
409
+ """
410
+ Raise an error if the URL fragment is invalid.
411
+
412
+ Args:
413
+ value (str): The URL value.
414
+ fragment (str): The invalid fragment.
415
+
416
+ Raises:
417
+ ValueError: If the URL fragment is invalid.
418
+ """
419
+ raise ValueError(f'UrlValueObject value <<<{value}>>> has not a valid fragment <<<{fragment}>>>.')
312
420
 
313
421
  @property
314
422
  def scheme(self) -> str: