value-object-pattern 0.1.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 (73) hide show
  1. value_object_pattern/__init__.py +10 -0
  2. value_object_pattern/decorators/__init__.py +7 -0
  3. value_object_pattern/decorators/value_object_process.py +83 -0
  4. value_object_pattern/decorators/value_object_validation.py +78 -0
  5. value_object_pattern/models/__init__.py +3 -0
  6. value_object_pattern/models/value_object.py +383 -0
  7. value_object_pattern/py.typed +0 -0
  8. value_object_pattern/usables/__init__.py +54 -0
  9. value_object_pattern/usables/dates/__init__.py +9 -0
  10. value_object_pattern/usables/dates/date/__init__.py +7 -0
  11. value_object_pattern/usables/dates/date/date_value_object.py +162 -0
  12. value_object_pattern/usables/dates/date/string_date_value_object.py +201 -0
  13. value_object_pattern/usables/dates/datetime/__init__.py +7 -0
  14. value_object_pattern/usables/dates/datetime/datetime_value_object.py +193 -0
  15. value_object_pattern/usables/dates/datetime/string_datetime_value_object.py +237 -0
  16. value_object_pattern/usables/identifiers/__init__.py +7 -0
  17. value_object_pattern/usables/identifiers/country_ids/__init__.py +3 -0
  18. value_object_pattern/usables/identifiers/country_ids/spain/__init__.py +3 -0
  19. value_object_pattern/usables/identifiers/country_ids/spain/dni_value_object.py +63 -0
  20. value_object_pattern/usables/identifiers/string_uuid_value_object.py +56 -0
  21. value_object_pattern/usables/identifiers/uuid_value_object.py +40 -0
  22. value_object_pattern/usables/internet/__init__.py +38 -0
  23. value_object_pattern/usables/internet/api_keys/__init__.py +13 -0
  24. value_object_pattern/usables/internet/api_keys/aws_access_key_id_value_object.py +40 -0
  25. value_object_pattern/usables/internet/api_keys/aws_secret_access_key_value_object.py +40 -0
  26. value_object_pattern/usables/internet/api_keys/github_personal_access_token_value_object.py +41 -0
  27. value_object_pattern/usables/internet/api_keys/openai_api_key_value_object.py +40 -0
  28. value_object_pattern/usables/internet/api_keys/resend_api_key_value_object.py +40 -0
  29. value_object_pattern/usables/internet/aws_cloud_region_value_object.py +77 -0
  30. value_object_pattern/usables/internet/domain_value_object.py +149 -0
  31. value_object_pattern/usables/internet/host_value_object.py +143 -0
  32. value_object_pattern/usables/internet/ipv4_address_value_object.py +305 -0
  33. value_object_pattern/usables/internet/ipv4_network_value_object.py +165 -0
  34. value_object_pattern/usables/internet/ipv6_address_value_object.py +288 -0
  35. value_object_pattern/usables/internet/ipv6_network_value_object.py +145 -0
  36. value_object_pattern/usables/internet/mac_address_value_object.py +390 -0
  37. value_object_pattern/usables/internet/port_value_object.py +682 -0
  38. value_object_pattern/usables/internet/uri/__init__.py +11 -0
  39. value_object_pattern/usables/internet/uri/http_https_url_value_object.py +39 -0
  40. value_object_pattern/usables/internet/uri/http_url_value_object.py +39 -0
  41. value_object_pattern/usables/internet/uri/https_url_value_object.py +39 -0
  42. value_object_pattern/usables/internet/uri/url_value_object.py +396 -0
  43. value_object_pattern/usables/primitives/__init__.py +45 -0
  44. value_object_pattern/usables/primitives/boolean/__init__.py +9 -0
  45. value_object_pattern/usables/primitives/boolean/boolean_value_object.py +36 -0
  46. value_object_pattern/usables/primitives/boolean/false_value_object.py +37 -0
  47. value_object_pattern/usables/primitives/boolean/true_value_object.py +37 -0
  48. value_object_pattern/usables/primitives/bytes/__init__.py +3 -0
  49. value_object_pattern/usables/primitives/bytes/bytes_value_object.py +36 -0
  50. value_object_pattern/usables/primitives/float/__init__.py +9 -0
  51. value_object_pattern/usables/primitives/float/float_value_object.py +36 -0
  52. value_object_pattern/usables/primitives/float/negative_float_value_object.py +37 -0
  53. value_object_pattern/usables/primitives/float/positive_float_value_object.py +37 -0
  54. value_object_pattern/usables/primitives/integer/__init__.py +13 -0
  55. value_object_pattern/usables/primitives/integer/even_integer_value_object.py +37 -0
  56. value_object_pattern/usables/primitives/integer/integer_value_object.py +36 -0
  57. value_object_pattern/usables/primitives/integer/negative_integer_value_object.py +37 -0
  58. value_object_pattern/usables/primitives/integer/odd_integer_value_object.py +37 -0
  59. value_object_pattern/usables/primitives/integer/positive_integer_value_object.py +37 -0
  60. value_object_pattern/usables/primitives/string/__init__.py +21 -0
  61. value_object_pattern/usables/primitives/string/alpha_value_object.py +37 -0
  62. value_object_pattern/usables/primitives/string/alphanumeric_value_object.py +37 -0
  63. value_object_pattern/usables/primitives/string/digit_value_object.py +37 -0
  64. value_object_pattern/usables/primitives/string/lowercase_string_value_object.py +37 -0
  65. value_object_pattern/usables/primitives/string/non_empty_string_value_object.py +37 -0
  66. value_object_pattern/usables/primitives/string/printable_string_value_object.py +37 -0
  67. value_object_pattern/usables/primitives/string/string_value_object.py +36 -0
  68. value_object_pattern/usables/primitives/string/trimmed_string_value_object.py +37 -0
  69. value_object_pattern/usables/primitives/string/uppercase_string_value_object.py +37 -0
  70. value_object_pattern-0.1.0.dist-info/METADATA +95 -0
  71. value_object_pattern-0.1.0.dist-info/RECORD +73 -0
  72. value_object_pattern-0.1.0.dist-info/WHEEL +4 -0
  73. value_object_pattern-0.1.0.dist-info/licenses/LICENSE.md +21 -0
@@ -0,0 +1,682 @@
1
+ # ruff: noqa: N802
2
+ """
3
+ PortValueObject value object.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from value_object_pattern.decorators import validation
9
+ from value_object_pattern.usables import IntegerValueObject
10
+
11
+
12
+ class PortValueObject(IntegerValueObject):
13
+ """
14
+ PortValueObject value object ensures the provided value is a valid port.
15
+
16
+ Example:
17
+ ```python
18
+ from value_object_pattern.usables.internet import PortValueObject
19
+
20
+ port = PortValueObject(value=443)
21
+
22
+ print(repr(port))
23
+ # >>> PortValueObject(value=443)
24
+ ```
25
+ """
26
+
27
+ __PORT_VALUE_OBJECT_MIN_PORT: int = 0
28
+ __PORT_VALUE_OBJECT_MAX_PORT: int = 65535
29
+
30
+ @validation(order=0)
31
+ def _ensure_value_is_valid_port(self, value: int) -> None:
32
+ """
33
+ Ensures the value object value is a valid port.
34
+
35
+ Args:
36
+ value (int): Value.
37
+
38
+ Raises:
39
+ ValueError: If the value is not a valid port.
40
+ """
41
+ if value < self.__PORT_VALUE_OBJECT_MIN_PORT or value > self.__PORT_VALUE_OBJECT_MAX_PORT:
42
+ raise ValueError(f'PortValueObject value <<<{value}>>> must be between {self.__PORT_VALUE_OBJECT_MIN_PORT} and {self.__PORT_VALUE_OBJECT_MAX_PORT}.') # noqa: E501 # fmt: skip
43
+
44
+ @classmethod
45
+ def FTP_DATA(cls) -> PortValueObject:
46
+ """
47
+ Returns FTP data port value object.
48
+
49
+ Returns:
50
+ PortValueObject: FTP data port value object.
51
+
52
+ Example:
53
+ ```python
54
+ from value_object_pattern.usables.internet import PortValueObject
55
+
56
+ port = PortValueObject.FTP_DATA()
57
+
58
+ print(repr(port))
59
+ # >>> PortValueObject(value=20)
60
+ ```
61
+ """
62
+ return cls(value=20)
63
+
64
+ @classmethod
65
+ def FTP_CONTROL(cls) -> PortValueObject:
66
+ """
67
+ Returns FTP control port value object.
68
+
69
+ Returns:
70
+ PortValueObject: FTP control port value object.
71
+
72
+ Example:
73
+ ```python
74
+ from value_object_pattern.usables.internet import PortValueObject
75
+
76
+ port = PortValueObject.FTP_DATA()
77
+
78
+ print(repr(port))
79
+ # >>> PortValueObject(value=21)
80
+ ```
81
+ """
82
+ return cls(value=21)
83
+
84
+ @classmethod
85
+ def SSH(cls) -> PortValueObject:
86
+ """
87
+ Returns SSH port value object.
88
+
89
+ Returns:
90
+ PortValueObject: SSH port value object.
91
+
92
+ Example:
93
+ ```python
94
+ from value_object_pattern.usables.internet import PortValueObject
95
+
96
+ port = PortValueObject.SSH()
97
+
98
+ print(repr(port))
99
+ # >>> PortValueObject(value=22)
100
+ ```
101
+ """
102
+ return cls(value=22)
103
+
104
+ @classmethod
105
+ def TELNET(cls) -> PortValueObject:
106
+ """
107
+ Returns Telnet port value object.
108
+
109
+ Returns:
110
+ PortValueObject: Telnet port value object.
111
+
112
+ Example:
113
+ ```python
114
+ from value_object_pattern.usables.internet import PortValueObject
115
+
116
+ port = PortValueObject.TELNET()
117
+
118
+ print(repr(port))
119
+ # >>> PortValueObject(value=23)
120
+ ```
121
+ """
122
+ return cls(value=23)
123
+
124
+ @classmethod
125
+ def SMTP(cls) -> PortValueObject:
126
+ """
127
+ Returns SMTP port value object.
128
+
129
+ Returns:
130
+ PortValueObject: SMTP port value object.
131
+
132
+ Example:
133
+ ```python
134
+ from value_object_pattern.usables.internet import PortValueObject
135
+
136
+ port = PortValueObject.SMTP()
137
+
138
+ print(repr(port))
139
+ # >>> PortValueObject(value=25)
140
+ ```
141
+ """
142
+ return cls(value=25)
143
+
144
+ @classmethod
145
+ def DNS(cls) -> PortValueObject:
146
+ """
147
+ Returns DNS port value object.
148
+
149
+ Returns:
150
+ PortValueObject: DNS port value object.
151
+
152
+ Example:
153
+ ```python
154
+ from value_object_pattern.usables.internet import PortValueObject
155
+
156
+ port = PortValueObject.DNS()
157
+
158
+ print(repr(port))
159
+ # >>> PortValueObject(value=53)
160
+ ```
161
+ """
162
+ return cls(value=53)
163
+
164
+ @classmethod
165
+ def DHCP_SERVER(cls) -> PortValueObject:
166
+ """
167
+ Returns DHCP server port value object.
168
+
169
+ Returns:
170
+ PortValueObject: DHCP server port value object.
171
+
172
+ Example:
173
+ ```python
174
+ from value_object_pattern.usables.internet import PortValueObject
175
+
176
+ port = PortValueObject.DHCP_SERVER()
177
+
178
+ print(repr(port))
179
+ # >>> PortValueObject(value=67)
180
+ ```
181
+ """
182
+ return cls(value=67)
183
+
184
+ @classmethod
185
+ def DHCP_CLIENT(cls) -> PortValueObject:
186
+ """
187
+ Returns DHCP client port value object.
188
+
189
+ Returns:
190
+ PortValueObject: DHCP client port value object.
191
+
192
+ Example:
193
+ ```python
194
+ from value_object_pattern.usables.internet import PortValueObject
195
+
196
+ port = PortValueObject.DHCP_CLIENT()
197
+
198
+ print(repr(port))
199
+ # >>> PortValueObject(value=68)
200
+ ```
201
+ """
202
+ return cls(value=68)
203
+
204
+ @classmethod
205
+ def HTTP(cls) -> PortValueObject:
206
+ """
207
+ Returns HTTP port value object.
208
+
209
+ Returns:
210
+ PortValueObject: HTTP port value object.
211
+
212
+ Example:
213
+ ```python
214
+ from value_object_pattern.usables.internet import PortValueObject
215
+
216
+ port = PortValueObject.HTTP()
217
+
218
+ print(repr(port))
219
+ # >>> PortValueObject(value=80)
220
+ ```
221
+ """
222
+ return cls(value=80)
223
+
224
+ @classmethod
225
+ def POP3(cls) -> PortValueObject:
226
+ """
227
+ Returns POP3 port value object.
228
+
229
+ Returns:
230
+ PortValueObject: POP3 port value object.
231
+
232
+ Example:
233
+ ```python
234
+ from value_object_pattern.usables.internet import PortValueObject
235
+
236
+ port = PortValueObject.POP3()
237
+
238
+ print(repr(port))
239
+ # >>> PortValueObject(value=110)
240
+ ```
241
+ """
242
+ return cls(value=110)
243
+
244
+ @classmethod
245
+ def NTP(cls) -> PortValueObject:
246
+ """
247
+ Returns NTP port value object.
248
+
249
+ Returns:
250
+ PortValueObject: NTP port value object.
251
+
252
+ Example:
253
+ ```python
254
+ from value_object_pattern.usables.internet import PortValueObject
255
+
256
+ port = PortValueObject.NTP()
257
+
258
+ print(repr(port))
259
+ # >>> PortValueObject(value=123)
260
+ ```
261
+ """
262
+ return cls(value=123)
263
+
264
+ @classmethod
265
+ def IMAP(cls) -> PortValueObject:
266
+ """
267
+ Returns IMAP port value object.
268
+
269
+ Returns:
270
+ PortValueObject: IMAP port value object.
271
+
272
+ Example:
273
+ ```python
274
+ from value_object_pattern.usables.internet import PortValueObject
275
+
276
+ port = PortValueObject.IMAP()
277
+
278
+ print(repr(port))
279
+ # >>> PortValueObject(value=143)
280
+ ```
281
+ """
282
+ return cls(value=143)
283
+
284
+ @classmethod
285
+ def SNMP_MONITOR(cls) -> PortValueObject:
286
+ """
287
+ Returns SNMP monitor port value object.
288
+
289
+ Returns:
290
+ PortValueObject: SNMP monitor port value object.
291
+
292
+ Example:
293
+ ```python
294
+ from value_object_pattern.usables.internet import PortValueObject
295
+
296
+ port = PortValueObject.SNMP_MONITOR()
297
+
298
+ print(repr(port))
299
+ # >>> PortValueObject(value=161)
300
+ ```
301
+ """
302
+ return cls(value=161)
303
+
304
+ @classmethod
305
+ def SNMP_TRAP(cls) -> PortValueObject:
306
+ """
307
+ Returns SNMP trap port value object.
308
+
309
+ Returns:
310
+ PortValueObject: SNMP trap port value object.
311
+
312
+ Example:
313
+ ```python
314
+ from value_object_pattern.usables.internet import PortValueObject
315
+
316
+ port = PortValueObject.SNMP_TRAP()
317
+
318
+ print(repr(port))
319
+ # >>> PortValueObject(value=162)
320
+ ```
321
+ """
322
+ return cls(value=162)
323
+
324
+ @classmethod
325
+ def LDAP(cls) -> PortValueObject:
326
+ """
327
+ Returns LDAP port value object.
328
+
329
+ Returns:
330
+ PortValueObject: LDAP port value object.
331
+
332
+ Example:
333
+ ```python
334
+ from value_object_pattern.usables.internet import PortValueObject
335
+
336
+ port = PortValueObject.LDAP()
337
+
338
+ print(repr(port))
339
+ # >>> PortValueObject(value=389)
340
+ ```
341
+ """
342
+ return cls(value=389)
343
+
344
+ @classmethod
345
+ def HTTPS(cls) -> PortValueObject:
346
+ """
347
+ Returns HTTPS port value object.
348
+
349
+ Returns:
350
+ PortValueObject: HTTPS port value object.
351
+
352
+ Example:
353
+ ```python
354
+ from value_object_pattern.usables.internet import PortValueObject
355
+
356
+ port = PortValueObject.HTTPS()
357
+
358
+ print(repr(port))
359
+ # >>> PortValueObject(value=443)
360
+ ```
361
+ """
362
+ return cls(value=443)
363
+
364
+ @classmethod
365
+ def DoH(cls) -> PortValueObject:
366
+ """
367
+ Returns DoH port value object.
368
+
369
+ Returns:
370
+ PortValueObject: DoH port value object.
371
+
372
+ Example:
373
+ ```python
374
+ from value_object_pattern.usables.internet import PortValueObject
375
+
376
+ port = PortValueObject.DoH()
377
+
378
+ print(repr(port))
379
+ # >>> PortValueObject(value=443)
380
+ ```
381
+ """
382
+ return cls(value=443)
383
+
384
+ @classmethod
385
+ def SMTPS(cls) -> PortValueObject:
386
+ """
387
+ Returns SMTPS port value object.
388
+
389
+ Returns:
390
+ PortValueObject: SMTPS port value object.
391
+
392
+ Example:
393
+ ```python
394
+ from value_object_pattern.usables.internet import PortValueObject
395
+
396
+ port = PortValueObject.SMTPS()
397
+
398
+ print(repr(port))
399
+ # >>> PortValueObject(value=465)
400
+ ```
401
+ """
402
+ return cls(value=465)
403
+
404
+ @classmethod
405
+ def DoT(cls) -> PortValueObject:
406
+ """
407
+ Returns DoT port value object.
408
+
409
+ Returns:
410
+ PortValueObject: DoT port value object.
411
+
412
+ Example:
413
+ ```python
414
+ from value_object_pattern.usables.internet import PortValueObject
415
+
416
+ port = PortValueObject.DoT()
417
+
418
+ print(repr(port))
419
+ # >>> PortValueObject(value=853)
420
+ ```
421
+ """
422
+ return cls(value=853)
423
+
424
+ @classmethod
425
+ def IMAPS(cls) -> PortValueObject:
426
+ """
427
+ Returns IMAPS port value object.
428
+
429
+ Returns:
430
+ PortValueObject: IMAPS port value object.
431
+
432
+ Example:
433
+ ```python
434
+ from value_object_pattern.usables.internet import PortValueObject
435
+
436
+ port = PortValueObject.IMAPS()
437
+
438
+ print(repr(port))
439
+ # >>> PortValueObject(value=993)
440
+ ```
441
+ """
442
+ return cls(value=993)
443
+
444
+ @classmethod
445
+ def POP3S(cls) -> PortValueObject:
446
+ """
447
+ Returns POP3S port value object.
448
+
449
+ Returns:
450
+ PortValueObject: POP3S port value object.
451
+
452
+ Example:
453
+ ```python
454
+ from value_object_pattern.usables.internet import PortValueObject
455
+
456
+ port = PortValueObject.POP3S()
457
+
458
+ print(repr(port))
459
+ # >>> PortValueObject(value=995)
460
+ ```
461
+ """
462
+ return cls(value=995)
463
+
464
+ @classmethod
465
+ def OPENVPN(cls) -> PortValueObject:
466
+ """
467
+ Returns OpenVPN port value object.
468
+
469
+ Returns:
470
+ PortValueObject: OpenVPN port value object.
471
+
472
+ Example:
473
+ ```python
474
+ from value_object_pattern.usables.internet import PortValueObject
475
+
476
+ port = PortValueObject.OPENVPN()
477
+
478
+ print(repr(port))
479
+ # >>> PortValueObject(value=1194)
480
+ ```
481
+ """
482
+ return cls(value=1194)
483
+
484
+ @classmethod
485
+ def MICROSOFT_SQL_SERVER(cls) -> PortValueObject:
486
+ """
487
+ Returns Microsoft SQL Server port value object.
488
+
489
+ Returns:
490
+ PortValueObject: Microsoft SQL Server port value object.
491
+
492
+ Example:
493
+ ```python
494
+ from value_object_pattern.usables.internet import PortValueObject
495
+
496
+ port = PortValueObject.MICROSOFT_SQL_SERVER()
497
+
498
+ print(repr(port))
499
+ # >>> PortValueObject(value=1433)
500
+ ```
501
+ """
502
+ return cls(value=1433)
503
+
504
+ @classmethod
505
+ def ORACLE(cls) -> PortValueObject:
506
+ """
507
+ Returns Oracle port value object.
508
+
509
+ Returns:
510
+ PortValueObject: Oracle port value object.
511
+
512
+ Example:
513
+ ```python
514
+ from value_object_pattern.usables.internet import PortValueObject
515
+
516
+ port = PortValueObject.ORACLE()
517
+
518
+ print(repr(port))
519
+ # >>> PortValueObject(value=1521)
520
+ ```
521
+ """
522
+ return cls(value=1521)
523
+
524
+ @classmethod
525
+ def MYSQL(cls) -> PortValueObject:
526
+ """
527
+ Returns MySQL port value object.
528
+
529
+ Returns:
530
+ PortValueObject: MySQL port value object.
531
+
532
+ Example:
533
+ ```python
534
+ from value_object_pattern.usables.internet import PortValueObject
535
+
536
+ port = PortValueObject.MYSQL()
537
+
538
+ print(repr(port))
539
+ # >>> PortValueObject(value=3306)
540
+ ```
541
+ """
542
+ return cls(value=3306)
543
+
544
+ @classmethod
545
+ def MARIADB(cls) -> PortValueObject:
546
+ """
547
+ Returns MariaDB port value object.
548
+
549
+ Returns:
550
+ PortValueObject: MariaDB port value object.
551
+
552
+ Example:
553
+ ```python
554
+ from value_object_pattern.usables.internet import PortValueObject
555
+
556
+ port = PortValueObject.MARIADB()
557
+
558
+ print(repr(port))
559
+ # >>> PortValueObject(value=3306)
560
+ ```
561
+ """
562
+ return cls(value=3306)
563
+
564
+ @classmethod
565
+ def RDP(cls) -> PortValueObject:
566
+ """
567
+ Returns RDP port value object.
568
+
569
+ Returns:
570
+ PortValueObject: RDP port value object.
571
+
572
+ Example:
573
+ ```python
574
+ from value_object_pattern.usables.internet import PortValueObject
575
+
576
+ port = PortValueObject.RDP()
577
+
578
+ print(repr(port))
579
+ # >>> PortValueObject(value=3389)
580
+ ```
581
+ """
582
+ return cls(value=3389)
583
+
584
+ @classmethod
585
+ def POSTGRESQL(cls) -> PortValueObject:
586
+ """
587
+ Returns PostgreSQL port value object.
588
+
589
+ Returns:
590
+ PortValueObject: PostgreSQL port value object.
591
+
592
+ Example:
593
+ ```python
594
+ from value_object_pattern.usables.internet import PortValueObject
595
+
596
+ port = PortValueObject.POSTGRESQL()
597
+
598
+ print(repr(port))
599
+ # >>> PortValueObject(value=5432)
600
+ ```
601
+ """
602
+ return cls(value=5432)
603
+
604
+ @classmethod
605
+ def REDIS(cls) -> PortValueObject:
606
+ """
607
+ Returns Redis port value object.
608
+
609
+ Returns:
610
+ PortValueObject: Redis port value object.
611
+
612
+ Example:
613
+ ```python
614
+ from value_object_pattern.usables.internet import PortValueObject
615
+
616
+ port = PortValueObject.REDIS()
617
+
618
+ print(repr(port))
619
+ # >>> PortValueObject(value=6379)
620
+ ```
621
+ """
622
+ return cls(value=6379)
623
+
624
+ @classmethod
625
+ def MINECRAFT(cls) -> PortValueObject:
626
+ """
627
+ Returns Minecraft port value object.
628
+
629
+ Returns:
630
+ PortValueObject: Minecraft port value object.
631
+
632
+ Example:
633
+ ```python
634
+ from value_object_pattern.usables.internet import PortValueObject
635
+
636
+ port = PortValueObject.MINECRAFT()
637
+
638
+ print(repr(port))
639
+ # >>> PortValueObject(value=25565)
640
+ ```
641
+ """
642
+ return cls(value=25565)
643
+
644
+ @classmethod
645
+ def MONGODB(cls) -> PortValueObject:
646
+ """
647
+ Returns MongoDB port value object.
648
+
649
+ Returns:
650
+ PortValueObject: MongoDB port value object.
651
+
652
+ Example:
653
+ ```python
654
+ from value_object_pattern.usables.internet import PortValueObject
655
+
656
+ port = PortValueObject.MONGODB()
657
+
658
+ print(repr(port))
659
+ # >>> PortValueObject(value=27017)
660
+ ```
661
+ """
662
+ return cls(value=27017)
663
+
664
+ @classmethod
665
+ def WIREGUARD(cls) -> PortValueObject:
666
+ """
667
+ Returns WireGuard port value object.
668
+
669
+ Returns:
670
+ PortValueObject: WireGuard port value object.
671
+
672
+ Example:
673
+ ```python
674
+ from value_object_pattern.usables.internet import PortValueObject
675
+
676
+ port = PortValueObject.WIREGUARD()
677
+
678
+ print(repr(port))
679
+ # >>> PortValueObject(value=51820)
680
+ ```
681
+ """
682
+ return cls(value=51820)
@@ -0,0 +1,11 @@
1
+ from .http_https_url_value_object import HttpHttpsUrlValueObject
2
+ from .http_url_value_object import HttpUrlValueObject
3
+ from .https_url_value_object import HttpsUrlValueObject
4
+ from .url_value_object import UrlValueObject
5
+
6
+ __all__ = (
7
+ 'HttpHttpsUrlValueObject',
8
+ 'HttpUrlValueObject',
9
+ 'HttpsUrlValueObject',
10
+ 'UrlValueObject',
11
+ )