value-object-pattern 0.1.0__py3-none-any.whl → 0.3.0__py3-none-any.whl

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 (41) hide show
  1. value_object_pattern/__init__.py +3 -2
  2. value_object_pattern/models/__init__.py +5 -1
  3. value_object_pattern/models/enumeration_value_object.py +169 -0
  4. value_object_pattern/usables/identifiers/countries/__init__.py +0 -0
  5. value_object_pattern/usables/identifiers/{country_ids → countries}/spain/dni_value_object.py +16 -3
  6. value_object_pattern/usables/identifiers/string_uuid_value_object.py +15 -4
  7. value_object_pattern/usables/identifiers/uuid_value_object.py +14 -1
  8. value_object_pattern/usables/internet/__init__.py +0 -12
  9. value_object_pattern/usables/primitives/boolean/boolean_value_object.py +15 -1
  10. value_object_pattern/usables/primitives/boolean/false_value_object.py +15 -1
  11. value_object_pattern/usables/primitives/boolean/true_value_object.py +15 -1
  12. value_object_pattern/usables/primitives/bytes/bytes_value_object.py +15 -1
  13. value_object_pattern/usables/primitives/float/float_value_object.py +15 -1
  14. value_object_pattern/usables/primitives/float/negative_float_value_object.py +15 -1
  15. value_object_pattern/usables/primitives/float/positive_float_value_object.py +15 -1
  16. value_object_pattern/usables/primitives/integer/even_integer_value_object.py +15 -1
  17. value_object_pattern/usables/primitives/integer/integer_value_object.py +15 -1
  18. value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +15 -1
  19. value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +15 -1
  20. value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +15 -1
  21. value_object_pattern/usables/primitives/string/alpha_value_object.py +15 -1
  22. value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +15 -1
  23. value_object_pattern/usables/primitives/string/digit_value_object.py +15 -1
  24. value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +15 -1
  25. value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +15 -1
  26. value_object_pattern/usables/primitives/string/printable_string_value_object.py +15 -1
  27. value_object_pattern/usables/primitives/string/string_value_object.py +15 -1
  28. value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +15 -1
  29. value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +15 -1
  30. {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/METADATA +1 -1
  31. {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/RECORD +34 -39
  32. value_object_pattern/usables/identifiers/country_ids/__init__.py +0 -3
  33. value_object_pattern/usables/internet/api_keys/__init__.py +0 -13
  34. value_object_pattern/usables/internet/api_keys/aws_access_key_id_value_object.py +0 -40
  35. value_object_pattern/usables/internet/api_keys/aws_secret_access_key_value_object.py +0 -40
  36. value_object_pattern/usables/internet/api_keys/github_personal_access_token_value_object.py +0 -41
  37. value_object_pattern/usables/internet/api_keys/openai_api_key_value_object.py +0 -40
  38. value_object_pattern/usables/internet/api_keys/resend_api_key_value_object.py +0 -40
  39. /value_object_pattern/usables/identifiers/{country_ids → countries}/spain/__init__.py +0 -0
  40. {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/WHEEL +0 -0
  41. {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/licenses/LICENSE.md +0 -0
@@ -2,6 +2,8 @@
2
2
  AlphaStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class AlphaStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not alpha.
35
37
  """
36
38
  if not value.isalpha():
37
- raise ValueError(f'AlphaStringValueObject value <<<{value}>>> contains invalid characters. Only alpha characters are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_alpha(value=value)
40
+
41
+ def _raise_value_is_not_alpha(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not alpha.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not alpha.
50
+ """
51
+ raise ValueError(f'AlphaStringValueObject value <<<{value}>>> contains invalid characters. Only alpha characters are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  AlphanumericStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class AlphanumericStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not alphanumeric.
35
37
  """
36
38
  if not value.isalnum():
37
- raise ValueError(f'AlphanumericStringValueObject value <<<{value}>>> contains invalid characters. Only alphanumeric characters are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_alphanumeric(value=value)
40
+
41
+ def _raise_value_is_not_alphanumeric(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not alphanumeric.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not alphanumeric.
50
+ """
51
+ raise ValueError(f'AlphanumericStringValueObject value <<<{value}>>> contains invalid characters. Only alphanumeric characters are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  DigitStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class DigitStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not digit.
35
37
  """
36
38
  if not value.isdigit():
37
- raise ValueError(f'DigitStringValueObject value <<<{value}>>> contains invalid characters. Only digit characters are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_digit(value=value)
40
+
41
+ def _raise_value_is_not_digit(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not digit.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not digit.
50
+ """
51
+ raise ValueError(f'DigitStringValueObject value <<<{value}>>> contains invalid characters. Only digit characters are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  LowercaseStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class LowercaseStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not lowercase.
35
37
  """
36
38
  if not value.islower():
37
- raise ValueError(f'LowercaseStringValueObject value <<<{value}>>> contains uppercase characters. Only lowercase characters are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_lowercase(value=value)
40
+
41
+ def _raise_value_is_not_lowercase(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not lowercase.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not lowercase.
50
+ """
51
+ raise ValueError(f'LowercaseStringValueObject value <<<{value}>>> contains uppercase characters. Only lowercase characters are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  NotEmptyStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class NotEmptyStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is an empty string.
35
37
  """
36
38
  if not value:
37
- raise ValueError(f'NotEmptyStringValueObject value <<<{value}>>> is an empty string. Only non-empty strings are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_empty_string(value=value)
40
+
41
+ def _raise_value_is_empty_string(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is an empty string.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is an empty string.
50
+ """
51
+ raise ValueError(f'NotEmptyStringValueObject value <<<{value}>>> is an empty string. Only non-empty strings are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  PrintableStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class PrintableStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not printable.
35
37
  """
36
38
  if not value.isprintable():
37
- raise ValueError(f'PrintableStringValueObject value <<<{value}>>> contains invalid characters. Only printable characters are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_printable(value=value)
40
+
41
+ def _raise_value_is_not_printable(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not printable.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not printable.
50
+ """
51
+ raise ValueError(f'PrintableStringValueObject value <<<{value}>>> contains invalid characters. Only printable characters are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  StringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import Any, NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
  from value_object_pattern.models import ValueObject
7
9
 
@@ -33,4 +35,16 @@ class StringValueObject(ValueObject[str]):
33
35
  TypeError: If the `value` is not a string.
34
36
  """
35
37
  if type(value) is not str:
36
- raise TypeError(f'StringValueObject value <<<{value}>>> must be a string. Got <<<{type(value).__name__}>>> type.') # noqa: E501 # fmt: skip
38
+ self._raise_value_is_not_string(value=value)
39
+
40
+ def _raise_value_is_not_string(self, value: Any) -> NoReturn:
41
+ """
42
+ Raises a TypeError if the value object `value` is not a string.
43
+
44
+ Args:
45
+ value (Any): The provided value.
46
+
47
+ Raises:
48
+ TypeError: If the `value` is not a string.
49
+ """
50
+ raise TypeError(f'StringValueObject value <<<{value}>>> must be a string. Got <<<{type(value).__name__}>>> type.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  TrimmedStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class TrimmedStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not trimmed.
35
37
  """
36
38
  if value != value.strip():
37
- raise ValueError(f'TrimmedStringValueObject value <<<{value}>>> contains leading or trailing whitespaces. Only trimmed values are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_trimmed(value=value)
40
+
41
+ def _raise_value_is_not_trimmed(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not trimmed.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not trimmed.
50
+ """
51
+ raise ValueError(f'TrimmedStringValueObject value <<<{value}>>> contains leading or trailing whitespaces. Only trimmed values are allowed.') # noqa: E501 # fmt: skip
@@ -2,6 +2,8 @@
2
2
  UppercaseStringValueObject value object.
3
3
  """
4
4
 
5
+ from typing import NoReturn
6
+
5
7
  from value_object_pattern.decorators import validation
6
8
 
7
9
  from .string_value_object import StringValueObject
@@ -34,4 +36,16 @@ class UppercaseStringValueObject(StringValueObject):
34
36
  ValueError: If the `value` is not uppercase.
35
37
  """
36
38
  if not value.isupper():
37
- raise ValueError(f'UppercaseStringValueObject value <<<{value}>>> contains lowercase characters. Only uppercase characters are allowed.') # noqa: E501 # fmt: skip
39
+ self._raise_value_is_not_uppercase(value=value)
40
+
41
+ def _raise_value_is_not_uppercase(self, value: str) -> NoReturn:
42
+ """
43
+ Raises a ValueError if the value object `value` is not uppercase.
44
+
45
+ Args:
46
+ value (str): The provided value.
47
+
48
+ Raises:
49
+ ValueError: If the `value` is not uppercase.
50
+ """
51
+ raise ValueError(f'UppercaseStringValueObject value <<<{value}>>> contains lowercase characters. Only uppercase characters are allowed.') # noqa: E501 # fmt: skip
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: value-object-pattern
3
- Version: 0.1.0
3
+ Version: 0.3.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
@@ -1,9 +1,10 @@
1
- value_object_pattern/__init__.py,sha256=0sYs7FT_KZf91Pqw1MKimsy-xZ2ltZOb51Cv28Ko-wA,166
1
+ value_object_pattern/__init__.py,sha256=iE3OdRJ2CJzN-FGEyoj4QdmEE6s4MbMHKEoRGU8whbA,220
2
2
  value_object_pattern/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  value_object_pattern/decorators/__init__.py,sha256=Ze0c0z3x5sdmV-KB7nljPsybpoTXAgjJDGfR8FCIxUQ,138
4
4
  value_object_pattern/decorators/value_object_process.py,sha256=Q_0w26XolcfZOE6avveA5OGs1yIMNAVC_AxsBV8F5D0,2621
5
5
  value_object_pattern/decorators/value_object_validation.py,sha256=ENAQuOLalc-dDzVEpRolbBg8Y0g7--4DRimHTPDD12U,2793
6
- value_object_pattern/models/__init__.py,sha256=Dx-VEvvCNyKmso8xWM69kz2pfTYuGxgZYD08VQPw1io,66
6
+ value_object_pattern/models/__init__.py,sha256=1BsXKFnX_0EufuHurfgdpbMUvnrjF8HLz46saTcmNr4,163
7
+ value_object_pattern/models/enumeration_value_object.py,sha256=RNw7H1FbgungKdk4sZ39TIMigRpbmYovv9HoRUM-zAc,4871
7
8
  value_object_pattern/models/value_object.py,sha256=nnMNv34An6nDMc215oDEAbhtDhkNoerbIJ9WAapwOuQ,11647
8
9
  value_object_pattern/usables/__init__.py,sha256=LsHh5uSECizrDXPogZC3zRMzcBIBPyiWXpqSrG2qHrg,1483
9
10
  value_object_pattern/usables/dates/__init__.py,sha256=x4MafCtJ1S9WN36cVGOfPdXeKgfptlg4QkcH9fPV4tA,253
@@ -14,12 +15,12 @@ value_object_pattern/usables/dates/datetime/__init__.py,sha256=5WY9lBtGPf3p7Kb_0
14
15
  value_object_pattern/usables/dates/datetime/datetime_value_object.py,sha256=-HvQz1ixAesh9HVafzejSOti88eORJ3aH8502kgqXhY,6759
15
16
  value_object_pattern/usables/dates/datetime/string_datetime_value_object.py,sha256=fm9t4N1oxfHPUgmw2RwVWq3W_NaOkpqwvSJapfNgjNM,8334
16
17
  value_object_pattern/usables/identifiers/__init__.py,sha256=0-JdvoXEqs_Y-XwVc-Jl2ak5wF4fp3XJXjUp0Z0qOxs,174
17
- value_object_pattern/usables/identifiers/string_uuid_value_object.py,sha256=Ph5gOFgFwr8T3zrgPT2oM1UVydcsLlTOidjzaCBWA-0,1538
18
- value_object_pattern/usables/identifiers/uuid_value_object.py,sha256=wL4yBVQSUvPb1cNy51_jswOgyQNJpDOTERUG0sSJS0E,1056
19
- value_object_pattern/usables/identifiers/country_ids/__init__.py,sha256=LppR-lkhPbYjK72x2cclB8fStBKQ7t8ZapSatISvBhk,65
20
- value_object_pattern/usables/identifiers/country_ids/spain/__init__.py,sha256=yye30yz-WsKCQyHd-mevxhMhLRPD5VBiZK8WjfCb8a4,76
21
- value_object_pattern/usables/identifiers/country_ids/spain/dni_value_object.py,sha256=gl3lhgJmmVKG1PdoTdsnjd12p0IqYdloM9oef9CaToY,2097
22
- value_object_pattern/usables/internet/__init__.py,sha256=rXh8kyX622qbOw_c8niU4SVW0mvV72e_hNrEIxnQxyQ,1358
18
+ value_object_pattern/usables/identifiers/string_uuid_value_object.py,sha256=l5itu12JycSS8qQKg-Fou6Sj0mKxKFZEQx3Zq4iAZtE,1852
19
+ value_object_pattern/usables/identifiers/uuid_value_object.py,sha256=BxvvSQXrHngExB8opsxZC8bgcYGLlpNeCug7iOg2IoQ,1402
20
+ value_object_pattern/usables/identifiers/countries/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ value_object_pattern/usables/identifiers/countries/spain/__init__.py,sha256=yye30yz-WsKCQyHd-mevxhMhLRPD5VBiZK8WjfCb8a4,76
22
+ value_object_pattern/usables/identifiers/countries/spain/dni_value_object.py,sha256=UHZrVnQuI-DGwRTFr99tt0SaAlij1kqZx9OEobTcqDk,2441
23
+ value_object_pattern/usables/internet/__init__.py,sha256=w3gK6Eiz3MTRUmFeA97UwAEIjGsz9CZ1B2JRzUWpfx0,994
23
24
  value_object_pattern/usables/internet/aws_cloud_region_value_object.py,sha256=XcO1upRhRc8X78kDYIggEXIpYgwS7v89Xlq1D7gIsPg,2404
24
25
  value_object_pattern/usables/internet/domain_value_object.py,sha256=9b8MyTWcLW1m9rOK2THkJ3oaFYPNB_kEq-feMpnluz4,5728
25
26
  value_object_pattern/usables/internet/host_value_object.py,sha256=P5YFSkrwM87WMs_9AhRE997UVg8t5oZCYGFSGwo1JKc,3890
@@ -29,12 +30,6 @@ value_object_pattern/usables/internet/ipv6_address_value_object.py,sha256=aeq4ap
29
30
  value_object_pattern/usables/internet/ipv6_network_value_object.py,sha256=oERZ4Qgx8IhtiOulH_fH8_ce8BmQm5_oUlZvbjzjZvc,4242
30
31
  value_object_pattern/usables/internet/mac_address_value_object.py,sha256=ysI5ZdY2SzCJUY2D2ZNv_bzdrRM4zSC8RFoQdikFzCo,11771
31
32
  value_object_pattern/usables/internet/port_value_object.py,sha256=qQMX1fJC7ij60T41aV40VXu6AhqUARpzMy4ZoiSMiqI,15959
32
- value_object_pattern/usables/internet/api_keys/__init__.py,sha256=2wR-9WqSlJlF_AEMac5jt8fhqQqz0io2TFY8qABC6tY,557
33
- value_object_pattern/usables/internet/api_keys/aws_access_key_id_value_object.py,sha256=WVKAVa4Q7X14CsLrAnZWbqess8Ao85u1S93L3F8owd4,1366
34
- value_object_pattern/usables/internet/api_keys/aws_secret_access_key_value_object.py,sha256=JqX05Idd7kRHH8slIf_xXYJ_kIXyOoG_YYIWFUaj9Fs,1480
35
- value_object_pattern/usables/internet/api_keys/github_personal_access_token_value_object.py,sha256=YuNucb2XwUgDy6cLwn6evkfKB_jBv-z4G4oYY0AY9KQ,1591
36
- value_object_pattern/usables/internet/api_keys/openai_api_key_value_object.py,sha256=d70JRTeauV5hTRVOprszkR8ZeqZ_ixbV8UwNZEoyBxQ,1461
37
- value_object_pattern/usables/internet/api_keys/resend_api_key_value_object.py,sha256=qLyRtNwHPC1rKqFdWRdWVy-wRIKOm3j2x2CFEZ8ZNFQ,1384
38
33
  value_object_pattern/usables/internet/uri/__init__.py,sha256=se4zoQXVytMWGgqHRHQ_3XSDQlPPZ9_cPGgUJTMoV9o,341
39
34
  value_object_pattern/usables/internet/uri/http_https_url_value_object.py,sha256=0dGfi4pbRnI6DOudgasG9a4paSJb4lNtSTa9uE1Jv_o,1127
40
35
  value_object_pattern/usables/internet/uri/http_url_value_object.py,sha256=nU1IjKRmYAV2JWe-Fvji_PGti5qM540OWHf_qtDLiGw,1033
@@ -42,32 +37,32 @@ value_object_pattern/usables/internet/uri/https_url_value_object.py,sha256=SpbIv
42
37
  value_object_pattern/usables/internet/uri/url_value_object.py,sha256=03jHtGBCPjqhbGkSXtb8qoIv5QUF3ze-cC27-kEIWqA,12419
43
38
  value_object_pattern/usables/primitives/__init__.py,sha256=j4AatSdlRIUyQlwZuKMtGhtzgTI4F3lQXw1cC38--2w,1304
44
39
  value_object_pattern/usables/primitives/boolean/__init__.py,sha256=WhOVH2JAoQnhevx9pW1OsJh-nUF9qKpB4ZGybfSI0U4,237
45
- value_object_pattern/usables/primitives/boolean/boolean_value_object.py,sha256=-u6-C5JCPzik6KfrlpJRxMdWeeOCrcalhSf9wtcva20,994
46
- value_object_pattern/usables/primitives/boolean/false_value_object.py,sha256=fPnQLhCYtEOHVzrEm0yNyYwq-wH5Xiv5MYJyMwx_J5w,891
47
- value_object_pattern/usables/primitives/boolean/true_value_object.py,sha256=UmIcpgumLsjq5jeUPtTSG3g4z2MF4EY28YmPefU9QKM,884
40
+ value_object_pattern/usables/primitives/boolean/boolean_value_object.py,sha256=CV8UWwQwxcMXOPfuWouePA2ce17_t0S6YxE3gH8mVj8,1380
41
+ value_object_pattern/usables/primitives/boolean/false_value_object.py,sha256=bQRyyjYrjcAXTlStiJSC2aKpTUFWG3foASOfkMk3Kwo,1264
42
+ value_object_pattern/usables/primitives/boolean/true_value_object.py,sha256=PymHByY4fBrD6yl6yzvhpbZNN-gRyldnU3Pnq0oSUNU,1253
48
43
  value_object_pattern/usables/primitives/bytes/__init__.py,sha256=QRqBTEXxNaKWDgusLCyW5OG_uFCfueV0WMm9pB7V8bk,82
49
- value_object_pattern/usables/primitives/bytes/bytes_value_object.py,sha256=sUmxZjTdDKjCKAV7p80xfSe9N4a5ZVIwvGmzM809Deo,1014
44
+ value_object_pattern/usables/primitives/bytes/bytes_value_object.py,sha256=Si02aP2I62ZrArec9yGOY4Ui9923Hr8E5DZ9lHhlwIk,1388
50
45
  value_object_pattern/usables/primitives/float/__init__.py,sha256=N28h_ApJgiqZKSHl-_57CZ1zj4b8y1UoHpolblv5dOI,284
51
- value_object_pattern/usables/primitives/float/float_value_object.py,sha256=6qFyCLZnQ0NBolVkYCW_9HAdIwj4VvwkKvcLpL8QJZY,970
52
- value_object_pattern/usables/primitives/float/negative_float_value_object.py,sha256=gfJD_LW2-iVh249S1cS84P5Xmk1ACVZCVNDm0UV_Wxk,967
53
- value_object_pattern/usables/primitives/float/positive_float_value_object.py,sha256=_gPQLGh3MxZ2DEf7t8RyWHZowLUu832xP9DbOS1RM6A,965
46
+ value_object_pattern/usables/primitives/float/float_value_object.py,sha256=erRGRUsgaZ6PKt9xYC-G6jPTk3vkMtKw7ezpUAKAv7M,1348
47
+ value_object_pattern/usables/primitives/float/negative_float_value_object.py,sha256=DVZnWoIURpisUyBVaTNwDnlSIULJ4eAMbO9pzTnzytY,1382
48
+ value_object_pattern/usables/primitives/float/positive_float_value_object.py,sha256=RH2TVmoPOT40LUYHRh9oBSO6Acw7WqbmOai8TeQSJYQ,1380
54
49
  value_object_pattern/usables/primitives/integer/__init__.py,sha256=IUtVH9mof3SSBH8v9KYJlgCcw85cOljBgsnRcoiE33s,483
55
- value_object_pattern/usables/primitives/integer/even_integer_value_object.py,sha256=c9DsRAIA2hnuoWyuFfZOHb8a0cBJVgZ12x_UhP5NExc,969
56
- value_object_pattern/usables/primitives/integer/integer_value_object.py,sha256=gR6Ua94tud92zaX2EblDdHOQIIqlQrPNPa_b9v2WBwQ,988
57
- value_object_pattern/usables/primitives/integer/negative_integer_value_object.py,sha256=uSUz-wOcKemwdcAwrpQUZc-vYeKIYCWM7lgbUZ4EEjw,991
58
- value_object_pattern/usables/primitives/integer/odd_integer_value_object.py,sha256=pE41h-FtXSe7rFQhFJeCd40yptNJHlbmNyEEW41Brvk,948
59
- value_object_pattern/usables/primitives/integer/positive_integer_value_object.py,sha256=e1OHlzaKkaFAJ_LVxdtxA1AqL4MF1pwZUL22s6vWyi0,1013
50
+ value_object_pattern/usables/primitives/integer/even_integer_value_object.py,sha256=tmyaPpCEF05sWUc39dhTU-mrnxvY9lZhpuOnDhu0F1o,1370
51
+ value_object_pattern/usables/primitives/integer/integer_value_object.py,sha256=JUUqhStUEYNTmIYWHmKKVQmMIzqquXPQ_l8SUNSI_WM,1376
52
+ value_object_pattern/usables/primitives/integer/negative_integer_value_object.py,sha256=2dYhMs421Oxmt73Hmd8wa2_Er9fNTlGdiuLtf3JasNM,1410
53
+ value_object_pattern/usables/primitives/integer/odd_integer_value_object.py,sha256=fiFJlPJf4aG9CDfyUpxkGqsBPMQuRQuKA7bAZUDz8Fo,1345
54
+ value_object_pattern/usables/primitives/integer/positive_integer_value_object.py,sha256=PDaGwCnGWnARbrYfCIHcLFKJAqSQ90A_8q-6HG91L0I,1432
60
55
  value_object_pattern/usables/primitives/string/__init__.py,sha256=exdLDLKtfF4QNl5XdA916JqJd-5whAVDQfQcrRrDTzc,879
61
- value_object_pattern/usables/primitives/string/alpha_value_object.py,sha256=c26o-wTeTAEaEIoqkpAVOW5FZybb7Cft-IjtEvf2cew,1012
62
- value_object_pattern/usables/primitives/string/alphanumeric_value_object.py,sha256=_tSwQn1k7aCHPsiuS7w8qb8K4IxmC9PQRLs_RAj18S8,1104
63
- value_object_pattern/usables/primitives/string/digit_value_object.py,sha256=cFlEtXnA3tFGgIlz-6RJPnPcCP1Lme1xwVv2hNdVFs0,1012
64
- value_object_pattern/usables/primitives/string/lowercase_string_value_object.py,sha256=SD0ImkxALDDxLMTysy3rgM_jVqDEtNse8lSfEW3oDWg,1070
65
- value_object_pattern/usables/primitives/string/non_empty_string_value_object.py,sha256=F_nckagHDO17bnHvtks8Plso7mEjEtg9YasKB_BUfUY,1068
66
- value_object_pattern/usables/primitives/string/printable_string_value_object.py,sha256=pu5JoLUrxxELr_-r2b_uj-PRCeQQF7DfQSGmZevUdSs,1072
67
- value_object_pattern/usables/primitives/string/string_value_object.py,sha256=rHoKV4wAJheJuB2PG6jU56SPKq81fBhH_kvo8WaR0Os,988
68
- value_object_pattern/usables/primitives/string/trimmed_string_value_object.py,sha256=6mwcRz3zb0S48Q_6URtdKJy3-tPVOrujmOFSITO8iTs,1056
69
- value_object_pattern/usables/primitives/string/uppercase_string_value_object.py,sha256=SlLY1WMacc65fc7qgvLmAgL_FZKYDXCMogmPYYDis-k,1070
70
- value_object_pattern-0.1.0.dist-info/METADATA,sha256=Iwf18G4cZo9TM0Fs_2CBu03Xxagoa0e2kFF0Nx0KwU4,4018
71
- value_object_pattern-0.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
72
- value_object_pattern-0.1.0.dist-info/licenses/LICENSE.md,sha256=6E0wpVdiB-k3oJ9cvVG9BPZ07yIevD3IuOECHKveFkM,1076
73
- value_object_pattern-0.1.0.dist-info/RECORD,,
56
+ value_object_pattern/usables/primitives/string/alpha_value_object.py,sha256=-wB24ZG3LlZjKmlVZt3tfkTeDeFqdlV9cGmYpVkYgKc,1383
57
+ value_object_pattern/usables/primitives/string/alphanumeric_value_object.py,sha256=rXDAgezOC57hPcIcZWmsleIuWPh5XNvjjr7vi02kwUw,1503
58
+ value_object_pattern/usables/primitives/string/digit_value_object.py,sha256=xD2gr1cwSvl9Luj7E6H1bWM-2n7fWR82PHQghcFVBgs,1383
59
+ value_object_pattern/usables/primitives/string/lowercase_string_value_object.py,sha256=wL4gyvJnjn7qGOhDqgXAR4N3J389TtMD6dPH5QmOfrI,1457
60
+ value_object_pattern/usables/primitives/string/non_empty_string_value_object.py,sha256=X58BLFTdscN07YOqiGnA7G2MgfiyLD6p7z0TSr2yMEY,1457
61
+ value_object_pattern/usables/primitives/string/printable_string_value_object.py,sha256=HwqymoAW1tW1rB75LcjsEehbm5Rb3bXpghNbhh8uoJI,1459
62
+ value_object_pattern/usables/primitives/string/string_value_object.py,sha256=6u98oMzz5qsVNEWna-UpziDmzFhaLFW7J5NBoJnbKWk,1370
63
+ value_object_pattern/usables/primitives/string/trimmed_string_value_object.py,sha256=WMp4IBA74cEli-N_9Q7qU_oMszHtk5tgCr6o2y99HMs,1435
64
+ value_object_pattern/usables/primitives/string/uppercase_string_value_object.py,sha256=yZajkdq09zb56_UHs4nc0sIeTV4K74ek26JcoHYhM64,1457
65
+ value_object_pattern-0.3.0.dist-info/METADATA,sha256=pRiBnkMGd7wnz1kh9myl8TOfB9WAIg9oTEeZoT_XBbw,4018
66
+ value_object_pattern-0.3.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
67
+ value_object_pattern-0.3.0.dist-info/licenses/LICENSE.md,sha256=6E0wpVdiB-k3oJ9cvVG9BPZ07yIevD3IuOECHKveFkM,1076
68
+ value_object_pattern-0.3.0.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- from .spain import DniValueObject
2
-
3
- __all__ = ('DniValueObject',)
@@ -1,13 +0,0 @@
1
- from .aws_access_key_id_value_object import AwsAccessKeyValueObject
2
- from .aws_secret_access_key_value_object import AwsSecretAccessKeyValueObject
3
- from .github_personal_access_token_value_object import GitHubPersonalAccessTokenValueObject
4
- from .openai_api_key_value_object import OpenaiApiKeyValueObject
5
- from .resend_api_key_value_object import ResendApiKeyValueObject
6
-
7
- __all__ = (
8
- 'AwsAccessKeyValueObject',
9
- 'AwsSecretAccessKeyValueObject',
10
- 'GitHubPersonalAccessTokenValueObject',
11
- 'OpenaiApiKeyValueObject',
12
- 'ResendApiKeyValueObject',
13
- )
@@ -1,40 +0,0 @@
1
- """
2
- AwsAccessKeyValueObject value object.
3
- """
4
-
5
- from re import Pattern, compile as re_compile
6
-
7
- from value_object_pattern.decorators import validation
8
- from value_object_pattern.usables import NotEmptyStringValueObject, TrimmedStringValueObject
9
-
10
-
11
- class AwsAccessKeyValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
12
- """
13
- AwsAccessKeyValueObject value object ensures the provided value is a valid AWS Access Key ID.
14
-
15
- Example:
16
- ```python
17
- from value_object_pattern.usables.internet import AwsAccessKeyValueObject
18
-
19
- key = AwsAccessKeyValueObject(value='AKIAIOSFODNN7EXAMPLE') # gitleaks:allow
20
-
21
- print(repr(key))
22
- # >>> AwsAccessKeyValueObject(value=AKIAIOSFODNN7EXAMPLE) # gitleaks:allow
23
- ```
24
- """
25
-
26
- __AWS_ACCESS_KEY_VALUE_OBJECT_REGEX: Pattern[str] = re_compile(pattern=r'^(AKIA|ASIA)[A-Z0-9]{16}$')
27
-
28
- @validation(order=0)
29
- def _ensure_value_is_valid_aws_access_key(self, value: str) -> None:
30
- """
31
- Ensures the value object value is a valid AWS Access Key ID.
32
-
33
- Args:
34
- value (str): Value.
35
-
36
- Raises:
37
- ValueError: If the value is not a valid AWS Access Key ID.
38
- """
39
- if not self.__AWS_ACCESS_KEY_VALUE_OBJECT_REGEX.fullmatch(string=value):
40
- raise ValueError(f'AwsAccessKeyValueObject value <<<{value}>>> is not a valid AWS Access Key ID.')
@@ -1,40 +0,0 @@
1
- """
2
- AwsSecretAccessKeyValueObject value object.
3
- """
4
-
5
- from re import Pattern, compile as re_compile
6
-
7
- from value_object_pattern.decorators import validation
8
- from value_object_pattern.usables import NotEmptyStringValueObject, TrimmedStringValueObject
9
-
10
-
11
- class AwsSecretAccessKeyValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
12
- """
13
- AwsSecretAccessKeyValueObject value object ensures the provided value is a valid AWS Secret Access Key.
14
-
15
- Example:
16
- ```python
17
- from value_object_pattern.usables.internet import AwsSecretAccessKeyValueObject
18
-
19
- key = AwsSecretAccessKeyValueObject(value='wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY') # gitleaks:allow
20
-
21
- print(repr(key))
22
- # >>> AwsSecretAccessKeyValueObject(value=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) # gitleaks:allow
23
- ```
24
- """
25
-
26
- __AWS_SECRET_ACCESS_KEY_VALUE_OBJECT_REGEX: Pattern[str] = re_compile(pattern=r'^[a-zA-Z0-9/+=]{40}$')
27
-
28
- @validation(order=0)
29
- def _ensure_value_is_valid_aws_secret_access_key(self, value: str) -> None:
30
- """
31
- Ensures the value object value is a valid AWS Secret Access Key.
32
-
33
- Args:
34
- value (str): Value.
35
-
36
- Raises:
37
- ValueError: If the value is not a valid AWS Secret Access Key.
38
- """
39
- if not self.__AWS_SECRET_ACCESS_KEY_VALUE_OBJECT_REGEX.fullmatch(string=value):
40
- raise ValueError(f'AwsSecretAccessKeyValueObject value <<<{value}>>> is not a valid AWS Secret Access Key.')
@@ -1,41 +0,0 @@
1
- """
2
- GitHubPersonalAccessTokenValueObject value object.
3
- """
4
-
5
- from re import Pattern, compile as re_compile
6
-
7
- from value_object_pattern.decorators import validation
8
- from value_object_pattern.usables import NotEmptyStringValueObject, TrimmedStringValueObject
9
-
10
-
11
- class GitHubPersonalAccessTokenValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
12
- """
13
- GitHubPersonalAccessTokenValueObject value object ensures the provided value is a valid GitHub Personal Access
14
- Token.
15
-
16
- Example:
17
- ```python
18
- from value_object_pattern.usables.internet import GitHubPersonalAccessTokenValueObject
19
-
20
- key = GitHubPersonalAccessTokenValueObject(value='ghp_cgq4ZrHmFu0lLPl7ajKAwgMPnT5zhF000000') # gitleaks:allow
21
-
22
- print(repr(key))
23
- # >>> GitHubPersonalAccessTokenValueObject(value=ghp_cgq4ZrHmFu0lLPl7ajKAwgMPnT5zhF000000) # gitleaks:allow
24
- ```
25
- """
26
-
27
- __GITHUB_PERSONAL_ACCESS_TOKEN_VALUE_OBJECT_REGEX: Pattern[str] = re_compile(pattern=r'^ghp_[a-zA-Z0-9]{36}$')
28
-
29
- @validation(order=0)
30
- def _ensure_value_is_valid_github_pat(self, value: str) -> None:
31
- """
32
- Ensures the value object value is a valid GitHub Personal Access Token.
33
-
34
- Args:
35
- value (str): Value.
36
-
37
- Raises:
38
- ValueError: If the value is not a valid GitHub Personal Access Token
39
- """
40
- if not self.__GITHUB_PERSONAL_ACCESS_TOKEN_VALUE_OBJECT_REGEX.fullmatch(string=value):
41
- raise ValueError(f'GitHubPersonalAccessTokenValueObject value <<<{value}>>> is not a valid GitHub Personal Access Token.') # noqa: E501 # fmt: skip
@@ -1,40 +0,0 @@
1
- """
2
- OpenaiApiKeyValueObject value object.
3
- """
4
-
5
- from re import Pattern, compile as re_compile
6
-
7
- from value_object_pattern.decorators import validation
8
- from value_object_pattern.usables import NotEmptyStringValueObject, TrimmedStringValueObject
9
-
10
-
11
- class OpenaiApiKeyValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
12
- """
13
- OpenaiApiKeyValueObject value object ensures the provided value is a valid OpenAI API Key.
14
-
15
- Example:
16
- ```python
17
- from value_object_pattern.usables.internet import OpenaiApiKeyValueObject
18
-
19
- key = OpenaiApiKeyValueObject(value='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') # gitleaks:allow
20
-
21
- print(repr(key))
22
- # >>> OpenaiApiKeyValueObject(value=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) # gitleaks:allow
23
- ```
24
- """
25
-
26
- __OPENAI_API_KEY_VALUE_OBJECT_REGEX: Pattern[str] = re_compile(pattern=r'^sk-[a-zA-Z0-9]{20}T3BlbkFJ[a-zA-Z0-9]{20}$') # noqa: E501 # fmt: skip
27
-
28
- @validation(order=0)
29
- def _ensure_value_is_valid_openai_api_key(self, value: str) -> None:
30
- """
31
- Ensures the value object value is a valid OpenAI API Key.
32
-
33
- Args:
34
- value (str): Value.
35
-
36
- Raises:
37
- ValueError: If the value is not a valid OpenAI API Key.
38
- """
39
- if not self.__OPENAI_API_KEY_VALUE_OBJECT_REGEX.fullmatch(string=value):
40
- raise ValueError(f'OpenaiApiKeyValueObject value <<<{value}>>> is not a valid OpenAI API Key.')
@@ -1,40 +0,0 @@
1
- """
2
- ResendApiKeyValueObject value object.
3
- """
4
-
5
- from re import Pattern, compile as re_compile
6
-
7
- from value_object_pattern.decorators import validation
8
- from value_object_pattern.usables import NotEmptyStringValueObject, TrimmedStringValueObject
9
-
10
-
11
- class ResendApiKeyValueObject(NotEmptyStringValueObject, TrimmedStringValueObject):
12
- """
13
- ResendApiKeyValueObject value object ensures the provided value is a valid Resend API Key.
14
-
15
- Example:
16
- ```python
17
- from value_object_pattern.usables.internet import ResendApiKeyValueObject
18
-
19
- key = ResendApiKeyValueObject(value='re_c1tpEyD8_NKFusih9vKVQknRAQfmFcWCv') # gitleaks:allow
20
-
21
- print(repr(key))
22
- # >>> ResendApiKeyValueObject(value=re_c1tpEyD8_NKFusih9vKVQknRAQfmFcWCv) # gitleaks:allow
23
- ```
24
- """
25
-
26
- __RESEND_API_KEY_VALUE_OBJECT_REGEX: Pattern[str] = re_compile(pattern=r'^re_[a-zA-Z0-9-_]{30,}$')
27
-
28
- @validation(order=0)
29
- def _ensure_value_is_valid_resend_api_key(self, value: str) -> None:
30
- """
31
- Ensures the value object value is a valid Resend API Key.
32
-
33
- Args:
34
- value (str): Value.
35
-
36
- Raises:
37
- ValueError: If the value is not a valid Resend API Key.
38
- """
39
- if not self.__RESEND_API_KEY_VALUE_OBJECT_REGEX.fullmatch(string=value):
40
- raise ValueError(f'ResendApiKeyValueObject value <<<{value}>>> is not a valid Resend API Key.')