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.
Files changed (168) hide show
  1. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/PKG-INFO +2 -1
  2. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/pyproject.toml +1 -0
  3. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/__init__.py +1 -1
  4. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/collections/list_value_object.py +68 -3
  5. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/enumeration_value_object.py +2 -2
  6. {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
  7. {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
  8. {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
  9. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/utils/aws_regions.txt +3 -1
  10. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/utils/tld_domains.txt +1 -6
  11. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/.gitignore +0 -0
  12. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/LICENSE.md +0 -0
  13. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/README.md +0 -0
  14. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/__init__.py +0 -0
  15. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/classproperty.py +0 -0
  16. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/value_object_process.py +0 -0
  17. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/decorators/value_object_validation.py +0 -0
  18. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/__init__.py +0 -0
  19. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/base_model.py +0 -0
  20. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/collections/__init__.py +0 -0
  21. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/models/value_object.py +0 -0
  22. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/py.typed +0 -0
  23. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/__init__.py +0 -0
  24. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/__init__.py +0 -0
  25. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/date/__init__.py +0 -0
  26. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/date/date_value_object.py +0 -0
  27. {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
  28. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/datetime/__init__.py +0 -0
  29. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/datetime/datetime_value_object.py +0 -0
  30. {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
  31. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/timezone/__init__.py +0 -0
  32. {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
  33. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/dates/timezone/timezone_value_object.py +0 -0
  34. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/__init__.py +0 -0
  35. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/__init__.py +0 -0
  36. {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
  37. {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
  38. {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
  39. {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
  40. {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
  41. {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
  42. {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
  43. {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
  44. {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
  45. {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
  46. {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
  47. {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
  48. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/uuid/uuid_value_object.py +0 -0
  49. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/__init__.py +0 -0
  50. {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
  51. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/__init__.py +0 -0
  52. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/europe/spain/__init__.py +0 -0
  53. {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
  54. {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
  55. {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
  56. {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
  57. {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
  58. {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
  59. {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
  60. {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
  61. {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
  62. {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
  63. {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
  64. {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
  65. {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
  66. {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
  67. {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
  68. {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
  69. {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
  70. {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
  71. {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
  72. {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
  73. {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
  74. {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
  75. {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
  76. {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
  77. {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
  78. {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
  79. {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
  80. {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
  81. {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
  82. {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
  83. {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
  84. {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
  85. {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
  86. {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
  87. {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
  88. {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
  89. {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
  90. {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
  91. {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
  92. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/utils/__init__.py +0 -0
  93. {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
  94. {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
  95. {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
  96. {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
  97. {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
  98. {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
  99. {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
  100. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/identifiers/world/vin_value_object.py +0 -0
  101. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/__init__.py +0 -0
  102. {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
  103. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/domain_value_object.py +0 -0
  104. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/email_address_value_object.py +0 -0
  105. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/host_value_object.py +0 -0
  106. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ip_address_value_object.py +0 -0
  107. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv4_address_value_object.py +0 -0
  108. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv4_network_value_object.py +0 -0
  109. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv6_address_value_object.py +0 -0
  110. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/ipv6_network_value_object.py +0 -0
  111. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_address_value_object.py +0 -0
  112. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mac_addresses/__init__.py +0 -0
  113. {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
  114. {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
  115. {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
  116. {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
  117. {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
  118. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mobile/__init__.py +0 -0
  119. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/mobile/imei_value_object.py +0 -0
  120. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/port_value_object.py +0 -0
  121. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/__init__.py +0 -0
  122. {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
  123. {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
  124. {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
  125. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/uri/url_value_object.py +0 -0
  126. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/internet/utils/__init__.py +0 -0
  127. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/__init__.py +0 -0
  128. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_card_value_object.py +0 -0
  129. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/credit_cards/__init__.py +0 -0
  130. {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
  131. {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
  132. {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
  133. {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
  134. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/iban_value_object.py +0 -0
  135. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/utils/__init__.py +0 -0
  136. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/money/utils/iban_lengths.txt +0 -0
  137. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/__init__.py +0 -0
  138. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/__init__.py +0 -0
  139. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/boolean_value_object.py +0 -0
  140. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/false_value_object.py +0 -0
  141. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/boolean/true_value_object.py +0 -0
  142. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/bytes/__init__.py +0 -0
  143. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/bytes/bytes_value_object.py +0 -0
  144. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/float/__init__.py +0 -0
  145. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/float/float_value_object.py +0 -0
  146. {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
  147. {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
  148. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/__init__.py +0 -0
  149. {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
  150. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/integer/integer_value_object.py +0 -0
  151. {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
  152. {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
  153. {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
  154. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/none/__init__.py +0 -0
  155. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/none/none_value_object.py +0 -0
  156. {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
  157. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/__init__.py +0 -0
  158. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/alpha_value_object.py +0 -0
  159. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +0 -0
  160. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/digit_value_object.py +0 -0
  161. {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
  162. {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
  163. {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
  164. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/primitives/string/string_value_object.py +0 -0
  165. {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
  166. {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
  167. {value_object_pattern-1.17.0 → value_object_pattern-1.19.0}/value_object_pattern/usables/utils/__init__.py +0 -0
  168. {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.17.0
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
@@ -26,6 +26,7 @@ classifiers = [
26
26
  'Programming Language :: Python :: 3.11',
27
27
  'Programming Language :: Python :: 3.12',
28
28
  'Programming Language :: Python :: 3.13',
29
+ 'Programming Language :: Python :: 3.14',
29
30
  ]
30
31
  keywords = [
31
32
  'python',
@@ -1,4 +1,4 @@
1
- __version__ = '1.17.0'
1
+ __version__ = '1.19.0'
2
2
 
3
3
  from .decorators import process, validation
4
4
  from .models import BaseModel, EnumerationValueObject, ValueObject
@@ -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 typing import Any, Generic, NoReturn, TypeVar, get_args, get_origin
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
- expected_type = get_origin(tp=self._type) or self._type
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._type.__name__}>>> type. Got <<<{type(value).__name__}>>> type.') # noqa: E501 # fmt: skip
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:
@@ -3,8 +3,7 @@ StringUuidV8ValueObject value object.
3
3
  """
4
4
 
5
5
  from typing import NoReturn
6
-
7
- from uuid6 import UUID
6
+ from uuid import UUID
8
7
 
9
8
  from value_object_pattern.decorators import validation
10
9
 
@@ -16,7 +16,7 @@ class UuidV7ValueObject(UuidValueObject):
16
16
 
17
17
  Example:
18
18
  ```python
19
- from uuid6 import uuid7
19
+ from uuid import uuid7
20
20
 
21
21
  from value_object_pattern.usables.identifiers import UuidV7ValueObject
22
22
 
@@ -16,7 +16,7 @@ class UuidV8ValueObject(UuidValueObject):
16
16
 
17
17
  Example:
18
18
  ```python
19
- from uuid6 import uuid8
19
+ from uuid import uuid8
20
20
 
21
21
  from value_object_pattern.usables.identifiers import UuidV8ValueObject
22
22
 
@@ -1,4 +1,4 @@
1
- # This file was automatically updated using "update_lists.py" on 2025-04-13T18:00:09.855219+00:00
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-04-13T18:00:10.014595+00:00
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