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.
- value_object_pattern/__init__.py +3 -2
- value_object_pattern/models/__init__.py +5 -1
- value_object_pattern/models/enumeration_value_object.py +169 -0
- value_object_pattern/usables/identifiers/countries/__init__.py +0 -0
- value_object_pattern/usables/identifiers/{country_ids → countries}/spain/dni_value_object.py +16 -3
- value_object_pattern/usables/identifiers/string_uuid_value_object.py +15 -4
- value_object_pattern/usables/identifiers/uuid_value_object.py +14 -1
- value_object_pattern/usables/internet/__init__.py +0 -12
- value_object_pattern/usables/primitives/boolean/boolean_value_object.py +15 -1
- value_object_pattern/usables/primitives/boolean/false_value_object.py +15 -1
- value_object_pattern/usables/primitives/boolean/true_value_object.py +15 -1
- value_object_pattern/usables/primitives/bytes/bytes_value_object.py +15 -1
- value_object_pattern/usables/primitives/float/float_value_object.py +15 -1
- value_object_pattern/usables/primitives/float/negative_float_value_object.py +15 -1
- value_object_pattern/usables/primitives/float/positive_float_value_object.py +15 -1
- value_object_pattern/usables/primitives/integer/even_integer_value_object.py +15 -1
- value_object_pattern/usables/primitives/integer/integer_value_object.py +15 -1
- value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +15 -1
- value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +15 -1
- value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/alpha_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/digit_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/printable_string_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/string_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +15 -1
- value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +15 -1
- {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/METADATA +1 -1
- {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/RECORD +34 -39
- value_object_pattern/usables/identifiers/country_ids/__init__.py +0 -3
- value_object_pattern/usables/internet/api_keys/__init__.py +0 -13
- value_object_pattern/usables/internet/api_keys/aws_access_key_id_value_object.py +0 -40
- value_object_pattern/usables/internet/api_keys/aws_secret_access_key_value_object.py +0 -40
- value_object_pattern/usables/internet/api_keys/github_personal_access_token_value_object.py +0 -41
- value_object_pattern/usables/internet/api_keys/openai_api_key_value_object.py +0 -40
- value_object_pattern/usables/internet/api_keys/resend_api_key_value_object.py +0 -40
- /value_object_pattern/usables/identifiers/{country_ids → countries}/spain/__init__.py +0 -0
- {value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/WHEEL +0 -0
- {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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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.
|
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=
|
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=
|
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=
|
18
|
-
value_object_pattern/usables/identifiers/uuid_value_object.py,sha256=
|
19
|
-
value_object_pattern/usables/identifiers/
|
20
|
-
value_object_pattern/usables/identifiers/
|
21
|
-
value_object_pattern/usables/identifiers/
|
22
|
-
value_object_pattern/usables/internet/__init__.py,sha256=
|
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
|
46
|
-
value_object_pattern/usables/primitives/boolean/false_value_object.py,sha256=
|
47
|
-
value_object_pattern/usables/primitives/boolean/true_value_object.py,sha256=
|
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=
|
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=
|
52
|
-
value_object_pattern/usables/primitives/float/negative_float_value_object.py,sha256=
|
53
|
-
value_object_pattern/usables/primitives/float/positive_float_value_object.py,sha256=
|
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=
|
56
|
-
value_object_pattern/usables/primitives/integer/integer_value_object.py,sha256=
|
57
|
-
value_object_pattern/usables/primitives/integer/negative_integer_value_object.py,sha256=
|
58
|
-
value_object_pattern/usables/primitives/integer/odd_integer_value_object.py,sha256=
|
59
|
-
value_object_pattern/usables/primitives/integer/positive_integer_value_object.py,sha256=
|
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
|
62
|
-
value_object_pattern/usables/primitives/string/alphanumeric_value_object.py,sha256=
|
63
|
-
value_object_pattern/usables/primitives/string/digit_value_object.py,sha256=
|
64
|
-
value_object_pattern/usables/primitives/string/lowercase_string_value_object.py,sha256=
|
65
|
-
value_object_pattern/usables/primitives/string/non_empty_string_value_object.py,sha256=
|
66
|
-
value_object_pattern/usables/primitives/string/printable_string_value_object.py,sha256=
|
67
|
-
value_object_pattern/usables/primitives/string/string_value_object.py,sha256=
|
68
|
-
value_object_pattern/usables/primitives/string/trimmed_string_value_object.py,sha256=
|
69
|
-
value_object_pattern/usables/primitives/string/uppercase_string_value_object.py,sha256=
|
70
|
-
value_object_pattern-0.
|
71
|
-
value_object_pattern-0.
|
72
|
-
value_object_pattern-0.
|
73
|
-
value_object_pattern-0.
|
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,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.')
|
File without changes
|
File without changes
|
{value_object_pattern-0.1.0.dist-info → value_object_pattern-0.3.0.dist-info}/licenses/LICENSE.md
RENAMED
File without changes
|