@sisques-labs/nestjs-kit 0.1.0

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 (294) hide show
  1. package/README.md +770 -0
  2. package/dist/index.d.ts +93 -0
  3. package/dist/index.js +110 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/shared/application/commands/base/base-command.handler.d.ts +6 -0
  6. package/dist/shared/application/commands/base/base-command.handler.js +14 -0
  7. package/dist/shared/application/commands/base/base-command.handler.js.map +1 -0
  8. package/dist/shared/application/commands/interfaces/base-command-handler.interface.d.ts +3 -0
  9. package/dist/shared/application/commands/interfaces/base-command-handler.interface.js +3 -0
  10. package/dist/shared/application/commands/interfaces/base-command-handler.interface.js.map +1 -0
  11. package/dist/shared/application/commands/update/base-update/base-update.command-handler.d.ts +9 -0
  12. package/dist/shared/application/commands/update/base-update/base-update.command-handler.js +25 -0
  13. package/dist/shared/application/commands/update/base-update/base-update.command-handler.js.map +1 -0
  14. package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.d.ts +5 -0
  15. package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.js +3 -0
  16. package/dist/shared/application/dtos/commands/field-changed/base-field-changed-command.dto.js.map +1 -0
  17. package/dist/shared/application/services/base-service/base-service.interface.d.ts +3 -0
  18. package/dist/shared/application/services/base-service/base-service.interface.js +3 -0
  19. package/dist/shared/application/services/base-service/base-service.interface.js.map +1 -0
  20. package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.d.ts +9 -0
  21. package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.js +19 -0
  22. package/dist/shared/domain/aggregates/base-aggregate/base.aggregate.js.map +1 -0
  23. package/dist/shared/domain/entities/criteria.d.ts +21 -0
  24. package/dist/shared/domain/entities/criteria.js +12 -0
  25. package/dist/shared/domain/entities/criteria.js.map +1 -0
  26. package/dist/shared/domain/entities/paginated-result.entity.d.ts +8 -0
  27. package/dist/shared/domain/entities/paginated-result.entity.js +16 -0
  28. package/dist/shared/domain/entities/paginated-result.entity.js.map +1 -0
  29. package/dist/shared/domain/enums/filter-operator.enum.d.ts +10 -0
  30. package/dist/shared/domain/enums/filter-operator.enum.js +15 -0
  31. package/dist/shared/domain/enums/filter-operator.enum.js.map +1 -0
  32. package/dist/shared/domain/enums/length-unit/length-unit.enum.d.ts +7 -0
  33. package/dist/shared/domain/enums/length-unit/length-unit.enum.js +12 -0
  34. package/dist/shared/domain/enums/length-unit/length-unit.enum.js.map +1 -0
  35. package/dist/shared/domain/enums/sort-direction.enum.d.ts +4 -0
  36. package/dist/shared/domain/enums/sort-direction.enum.js +9 -0
  37. package/dist/shared/domain/enums/sort-direction.enum.js.map +1 -0
  38. package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.d.ts +4 -0
  39. package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.js +9 -0
  40. package/dist/shared/domain/enums/user-context/user/user-role/user-role.enum.js.map +1 -0
  41. package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.d.ts +5 -0
  42. package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.js +10 -0
  43. package/dist/shared/domain/enums/user-context/user/user-status/user-status.enum.js.map +1 -0
  44. package/dist/shared/domain/events/base-event.interface.d.ts +13 -0
  45. package/dist/shared/domain/events/base-event.interface.js +21 -0
  46. package/dist/shared/domain/events/base-event.interface.js.map +1 -0
  47. package/dist/shared/domain/exceptions/base.exception.d.ts +6 -0
  48. package/dist/shared/domain/exceptions/base.exception.js +23 -0
  49. package/dist/shared/domain/exceptions/base.exception.js.map +1 -0
  50. package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.d.ts +4 -0
  51. package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.js +12 -0
  52. package/dist/shared/domain/exceptions/value-objects/invalid-boolean/invalid-boolean.exception.js.map +1 -0
  53. package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.d.ts +4 -0
  54. package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.js +11 -0
  55. package/dist/shared/domain/exceptions/value-objects/invalid-color/invalid-color.exception.js.map +1 -0
  56. package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.d.ts +4 -0
  57. package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.js +11 -0
  58. package/dist/shared/domain/exceptions/value-objects/invalid-dimensions/invalid-dimensions.exception.js.map +1 -0
  59. package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.d.ts +4 -0
  60. package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.js +11 -0
  61. package/dist/shared/domain/exceptions/value-objects/invalid-email/invalid-email.exception.js.map +1 -0
  62. package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.d.ts +4 -0
  63. package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.js +11 -0
  64. package/dist/shared/domain/exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception.js.map +1 -0
  65. package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.d.ts +4 -0
  66. package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.js +11 -0
  67. package/dist/shared/domain/exceptions/value-objects/invalid-hex/invalid-hex.exception.js.map +1 -0
  68. package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.d.ts +4 -0
  69. package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.js +11 -0
  70. package/dist/shared/domain/exceptions/value-objects/invalid-ip/invalid-ip.exception.js.map +1 -0
  71. package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.d.ts +4 -0
  72. package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.js +11 -0
  73. package/dist/shared/domain/exceptions/value-objects/invalid-json/invalid-json.exception.js.map +1 -0
  74. package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.d.ts +4 -0
  75. package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.js +12 -0
  76. package/dist/shared/domain/exceptions/value-objects/invalid-locale/invalid-locale.exception.js.map +1 -0
  77. package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.d.ts +4 -0
  78. package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.js +11 -0
  79. package/dist/shared/domain/exceptions/value-objects/invalid-number/invalid-number.exception.js.map +1 -0
  80. package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.d.ts +4 -0
  81. package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.js +11 -0
  82. package/dist/shared/domain/exceptions/value-objects/invalid-numeric-range/invalid-numeric-range.exception.js.map +1 -0
  83. package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.d.ts +4 -0
  84. package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.js +11 -0
  85. package/dist/shared/domain/exceptions/value-objects/invalid-password/invalid-password.exception.js.map +1 -0
  86. package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.d.ts +4 -0
  87. package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.js +11 -0
  88. package/dist/shared/domain/exceptions/value-objects/invalid-phone/invalid-phone.exception.js.map +1 -0
  89. package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.d.ts +4 -0
  90. package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.js +11 -0
  91. package/dist/shared/domain/exceptions/value-objects/invalid-string/invalid-string.exception.js.map +1 -0
  92. package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.d.ts +4 -0
  93. package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.js +12 -0
  94. package/dist/shared/domain/exceptions/value-objects/invalid-timezone/invalid-timezone.exception.js.map +1 -0
  95. package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.d.ts +4 -0
  96. package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.js +11 -0
  97. package/dist/shared/domain/exceptions/value-objects/invalid-url/invalid-url.exception.js.map +1 -0
  98. package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.d.ts +4 -0
  99. package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.js +11 -0
  100. package/dist/shared/domain/exceptions/value-objects/invalid-uuid/invalid-uuid.exception.js.map +1 -0
  101. package/dist/shared/domain/interfaces/base-aggregate-dto.interface.d.ts +5 -0
  102. package/dist/shared/domain/interfaces/base-aggregate-dto.interface.js +3 -0
  103. package/dist/shared/domain/interfaces/base-aggregate-dto.interface.js.map +1 -0
  104. package/dist/shared/domain/interfaces/base-view-model-dto.interface.d.ts +5 -0
  105. package/dist/shared/domain/interfaces/base-view-model-dto.interface.js +3 -0
  106. package/dist/shared/domain/interfaces/base-view-model-dto.interface.js.map +1 -0
  107. package/dist/shared/domain/interfaces/event-metadata.interface.d.ts +7 -0
  108. package/dist/shared/domain/interfaces/event-metadata.interface.js +3 -0
  109. package/dist/shared/domain/interfaces/event-metadata.interface.js.map +1 -0
  110. package/dist/shared/domain/interfaces/events/base-event-data.interface.d.ts +4 -0
  111. package/dist/shared/domain/interfaces/events/base-event-data.interface.js +3 -0
  112. package/dist/shared/domain/interfaces/events/base-event-data.interface.js.map +1 -0
  113. package/dist/shared/domain/interfaces/factories/read-factory.interface.d.ts +5 -0
  114. package/dist/shared/domain/interfaces/factories/read-factory.interface.js +3 -0
  115. package/dist/shared/domain/interfaces/factories/read-factory.interface.js.map +1 -0
  116. package/dist/shared/domain/interfaces/factories/write-factory.interface.d.ts +4 -0
  117. package/dist/shared/domain/interfaces/factories/write-factory.interface.js +3 -0
  118. package/dist/shared/domain/interfaces/factories/write-factory.interface.js.map +1 -0
  119. package/dist/shared/domain/interfaces/numeric-range.interface.d.ts +4 -0
  120. package/dist/shared/domain/interfaces/numeric-range.interface.js +3 -0
  121. package/dist/shared/domain/interfaces/numeric-range.interface.js.map +1 -0
  122. package/dist/shared/domain/interfaces/repository/base-read-repository.interface.d.ts +8 -0
  123. package/dist/shared/domain/interfaces/repository/base-read-repository.interface.js +3 -0
  124. package/dist/shared/domain/interfaces/repository/base-read-repository.interface.js.map +1 -0
  125. package/dist/shared/domain/interfaces/repository/base-write-repository.interface.d.ts +5 -0
  126. package/dist/shared/domain/interfaces/repository/base-write-repository.interface.js +3 -0
  127. package/dist/shared/domain/interfaces/repository/base-write-repository.interface.js.map +1 -0
  128. package/dist/shared/domain/interfaces/updated-field.interface.d.ts +5 -0
  129. package/dist/shared/domain/interfaces/updated-field.interface.js +3 -0
  130. package/dist/shared/domain/interfaces/updated-field.interface.js.map +1 -0
  131. package/dist/shared/domain/primitives/base-primitives/base.primitives.d.ts +4 -0
  132. package/dist/shared/domain/primitives/base-primitives/base.primitives.js +3 -0
  133. package/dist/shared/domain/primitives/base-primitives/base.primitives.js.map +1 -0
  134. package/dist/shared/domain/value-objects/base/value-object.base.d.ts +11 -0
  135. package/dist/shared/domain/value-objects/base/value-object.base.js +40 -0
  136. package/dist/shared/domain/value-objects/base/value-object.base.js.map +1 -0
  137. package/dist/shared/domain/value-objects/boolean/boolean.vo.d.ts +26 -0
  138. package/dist/shared/domain/value-objects/boolean/boolean.vo.js +102 -0
  139. package/dist/shared/domain/value-objects/boolean/boolean.vo.js.map +1 -0
  140. package/dist/shared/domain/value-objects/color/color.vo.d.ts +21 -0
  141. package/dist/shared/domain/value-objects/color/color.vo.js +127 -0
  142. package/dist/shared/domain/value-objects/color/color.vo.js.map +1 -0
  143. package/dist/shared/domain/value-objects/date/date.vo.d.ts +9 -0
  144. package/dist/shared/domain/value-objects/date/date.vo.js +23 -0
  145. package/dist/shared/domain/value-objects/date/date.vo.js.map +1 -0
  146. package/dist/shared/domain/value-objects/dimensions/dimensions.vo.d.ts +68 -0
  147. package/dist/shared/domain/value-objects/dimensions/dimensions.vo.js +182 -0
  148. package/dist/shared/domain/value-objects/dimensions/dimensions.vo.js.map +1 -0
  149. package/dist/shared/domain/value-objects/email/email.vo.d.ts +12 -0
  150. package/dist/shared/domain/value-objects/email/email.vo.js +48 -0
  151. package/dist/shared/domain/value-objects/email/email.vo.js.map +1 -0
  152. package/dist/shared/domain/value-objects/enum/enum.vo.d.ts +35 -0
  153. package/dist/shared/domain/value-objects/enum/enum.vo.js +137 -0
  154. package/dist/shared/domain/value-objects/enum/enum.vo.js.map +1 -0
  155. package/dist/shared/domain/value-objects/hex/hex.vo.d.ts +11 -0
  156. package/dist/shared/domain/value-objects/hex/hex.vo.js +38 -0
  157. package/dist/shared/domain/value-objects/hex/hex.vo.js.map +1 -0
  158. package/dist/shared/domain/value-objects/ip/ip.vo.d.ts +19 -0
  159. package/dist/shared/domain/value-objects/ip/ip.vo.js +90 -0
  160. package/dist/shared/domain/value-objects/ip/ip.vo.js.map +1 -0
  161. package/dist/shared/domain/value-objects/json/json.vo.d.ts +43 -0
  162. package/dist/shared/domain/value-objects/json/json.vo.js +224 -0
  163. package/dist/shared/domain/value-objects/json/json.vo.js.map +1 -0
  164. package/dist/shared/domain/value-objects/length-unit/length-unit.vo.d.ts +5 -0
  165. package/dist/shared/domain/value-objects/length-unit/length-unit.vo.js +12 -0
  166. package/dist/shared/domain/value-objects/length-unit/length-unit.vo.js.map +1 -0
  167. package/dist/shared/domain/value-objects/locale/locale.vo.d.ts +27 -0
  168. package/dist/shared/domain/value-objects/locale/locale.vo.js +292 -0
  169. package/dist/shared/domain/value-objects/locale/locale.vo.js.map +1 -0
  170. package/dist/shared/domain/value-objects/number/number.vo.d.ts +23 -0
  171. package/dist/shared/domain/value-objects/number/number.vo.js +77 -0
  172. package/dist/shared/domain/value-objects/number/number.vo.js.map +1 -0
  173. package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.d.ts +13 -0
  174. package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.js +35 -0
  175. package/dist/shared/domain/value-objects/numeric-range/numeric-range.vo.js.map +1 -0
  176. package/dist/shared/domain/value-objects/password/password.vo.d.ts +14 -0
  177. package/dist/shared/domain/value-objects/password/password.vo.js +90 -0
  178. package/dist/shared/domain/value-objects/password/password.vo.js.map +1 -0
  179. package/dist/shared/domain/value-objects/phone/phone.vo.d.ts +13 -0
  180. package/dist/shared/domain/value-objects/phone/phone.vo.js +56 -0
  181. package/dist/shared/domain/value-objects/phone/phone.vo.js.map +1 -0
  182. package/dist/shared/domain/value-objects/phone-code/phone-code.vo.d.ts +25 -0
  183. package/dist/shared/domain/value-objects/phone-code/phone-code.vo.js +344 -0
  184. package/dist/shared/domain/value-objects/phone-code/phone-code.vo.js.map +1 -0
  185. package/dist/shared/domain/value-objects/slug/slug.vo.d.ts +25 -0
  186. package/dist/shared/domain/value-objects/slug/slug.vo.js +87 -0
  187. package/dist/shared/domain/value-objects/slug/slug.vo.js.map +1 -0
  188. package/dist/shared/domain/value-objects/string/string.vo.d.ts +38 -0
  189. package/dist/shared/domain/value-objects/string/string.vo.js +146 -0
  190. package/dist/shared/domain/value-objects/string/string.vo.js.map +1 -0
  191. package/dist/shared/domain/value-objects/timezone/timezone.vo.d.ts +23 -0
  192. package/dist/shared/domain/value-objects/timezone/timezone.vo.js +116 -0
  193. package/dist/shared/domain/value-objects/timezone/timezone.vo.js.map +1 -0
  194. package/dist/shared/domain/value-objects/url/url.vo.d.ts +9 -0
  195. package/dist/shared/domain/value-objects/url/url.vo.js +31 -0
  196. package/dist/shared/domain/value-objects/url/url.vo.js.map +1 -0
  197. package/dist/shared/domain/value-objects/uuid/uuid.vo.d.ts +13 -0
  198. package/dist/shared/domain/value-objects/uuid/uuid.vo.js +49 -0
  199. package/dist/shared/domain/value-objects/uuid/uuid.vo.js.map +1 -0
  200. package/dist/shared/domain/view-models/base-view-model/base-view-model.d.ts +14 -0
  201. package/dist/shared/domain/view-models/base-view-model/base-view-model.js +24 -0
  202. package/dist/shared/domain/view-models/base-view-model/base-view-model.js.map +1 -0
  203. package/dist/shared/infrastructure/database/base-database.repository.d.ts +11 -0
  204. package/dist/shared/infrastructure/database/base-database.repository.js +14 -0
  205. package/dist/shared/infrastructure/database/base-database.repository.js.map +1 -0
  206. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.d.ts +9 -0
  207. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js +78 -0
  208. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-database.repository.js.map +1 -0
  209. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.d.ts +6 -0
  210. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.js +12 -0
  211. package/dist/shared/infrastructure/database/mongodb/base-mongo/base-mongo-master/base-mongo-master.repository.js.map +1 -0
  212. package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.d.ts +5 -0
  213. package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.js +3 -0
  214. package/dist/shared/infrastructure/database/mongodb/dtos/base-mongo.dto.js.map +1 -0
  215. package/dist/shared/infrastructure/database/mongodb/mongodb.module.d.ts +2 -0
  216. package/dist/shared/infrastructure/database/mongodb/mongodb.module.js +23 -0
  217. package/dist/shared/infrastructure/database/mongodb/mongodb.module.js.map +1 -0
  218. package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.d.ts +14 -0
  219. package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js +57 -0
  220. package/dist/shared/infrastructure/database/mongodb/services/mongo-master/mongo-master.service.js.map +1 -0
  221. package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.d.ts +9 -0
  222. package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.js +18 -0
  223. package/dist/shared/infrastructure/database/typeorm/base-typeorm/base-typeorm-master/base-typeorm-master.repository.js.map +1 -0
  224. package/dist/shared/infrastructure/database/typeorm/data-source.d.ts +4 -0
  225. package/dist/shared/infrastructure/database/typeorm/data-source.js +33 -0
  226. package/dist/shared/infrastructure/database/typeorm/data-source.js.map +1 -0
  227. package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.d.ts +4 -0
  228. package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.js +3 -0
  229. package/dist/shared/infrastructure/database/typeorm/dtos/base-typeorm.dto.js.map +1 -0
  230. package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.d.ts +6 -0
  231. package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.js +36 -0
  232. package/dist/shared/infrastructure/database/typeorm/entities/base-typeorm.entity.js.map +1 -0
  233. package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.d.ts +9 -0
  234. package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.js +42 -0
  235. package/dist/shared/infrastructure/database/typeorm/services/typeorm-master/typeorm-master.service.js.map +1 -0
  236. package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.d.ts +3 -0
  237. package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.js +32 -0
  238. package/dist/shared/infrastructure/database/typeorm/typeorm-module-options.factory.js.map +1 -0
  239. package/dist/shared/infrastructure/database/typeorm/typeorm.module.d.ts +2 -0
  240. package/dist/shared/infrastructure/database/typeorm/typeorm.module.js +34 -0
  241. package/dist/shared/infrastructure/database/typeorm/typeorm.module.js.map +1 -0
  242. package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.d.ts +6 -0
  243. package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.js +92 -0
  244. package/dist/shared/infrastructure/logging/factories/create-shared-winston-logger-options.js.map +1 -0
  245. package/dist/shared/infrastructure/logging/formats/shared-winston.formats.d.ts +3 -0
  246. package/dist/shared/infrastructure/logging/formats/shared-winston.formats.js +30 -0
  247. package/dist/shared/infrastructure/logging/formats/shared-winston.formats.js.map +1 -0
  248. package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.d.ts +21 -0
  249. package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.js +3 -0
  250. package/dist/shared/infrastructure/logging/interfaces/shared-winston-logger-factory-options.interface.js.map +1 -0
  251. package/dist/shared/shared.module.d.ts +3 -0
  252. package/dist/shared/shared.module.js +51 -0
  253. package/dist/shared/shared.module.js.map +1 -0
  254. package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.d.ts +6 -0
  255. package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.js +40 -0
  256. package/dist/shared/transport/graphql/dtos/requests/base-filter/base-filter.input.js.map +1 -0
  257. package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.d.ts +8 -0
  258. package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.js +56 -0
  259. package/dist/shared/transport/graphql/dtos/requests/base-find-by-criteria/base-find-by-criteria.input.js.map +1 -0
  260. package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.d.ts +4 -0
  261. package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.js +33 -0
  262. package/dist/shared/transport/graphql/dtos/requests/base-pagination/base-pagination.input.js.map +1 -0
  263. package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.d.ts +5 -0
  264. package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.js +34 -0
  265. package/dist/shared/transport/graphql/dtos/requests/base-sort/base-sort.input.js.map +1 -0
  266. package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.d.ts +4 -0
  267. package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.js +31 -0
  268. package/dist/shared/transport/graphql/dtos/requests/numeric-range/numeric-range.input.js.map +1 -0
  269. package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.d.ts +6 -0
  270. package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.js +36 -0
  271. package/dist/shared/transport/graphql/dtos/responses/base-paginated-result/base-paginated-result.dto.js.map +1 -0
  272. package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.d.ts +4 -0
  273. package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.js +31 -0
  274. package/dist/shared/transport/graphql/dtos/responses/numeric-range/numeric-range.dto.js.map +1 -0
  275. package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.d.ts +5 -0
  276. package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.js +32 -0
  277. package/dist/shared/transport/graphql/dtos/responses/success-response/success-response.dto.js.map +1 -0
  278. package/dist/shared/transport/graphql/dtos/success-response-array.dto.d.ts +5 -0
  279. package/dist/shared/transport/graphql/dtos/success-response-array.dto.js +32 -0
  280. package/dist/shared/transport/graphql/dtos/success-response-array.dto.js.map +1 -0
  281. package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.d.ts +1 -0
  282. package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.js +15 -0
  283. package/dist/shared/transport/graphql/enums/shared-registered-enums.graphql.js.map +1 -0
  284. package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.d.ts +6 -0
  285. package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.js +31 -0
  286. package/dist/shared/transport/graphql/mappers/mutation-response/mutation-response.mapper.js.map +1 -0
  287. package/dist/shared/transport/graphql/plugins/complexity.plugin.d.ts +4 -0
  288. package/dist/shared/transport/graphql/plugins/complexity.plugin.js +40 -0
  289. package/dist/shared/transport/graphql/plugins/complexity.plugin.js.map +1 -0
  290. package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.d.ts +1 -0
  291. package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.js +33 -0
  292. package/dist/shared/transport/graphql/registered-enums/registered-enums.graphql.js.map +1 -0
  293. package/dist/tsconfig.build.tsbuildinfo +1 -0
  294. package/package.json +152 -0
@@ -0,0 +1,12 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare class EmailValueObject extends ValueObject<string> {
3
+ private readonly _value;
4
+ constructor(value: string);
5
+ get value(): string;
6
+ equals(other: EmailValueObject): boolean;
7
+ getLocalPart(): string;
8
+ getDomain(): string;
9
+ protected validate(): void;
10
+ private checkIsEmpty;
11
+ private checkIsValidEmail;
12
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmailValueObject = void 0;
4
+ const invalid_email_exception_1 = require("../../exceptions/value-objects/invalid-email/invalid-email.exception");
5
+ const value_object_base_1 = require("../base/value-object.base");
6
+ class EmailValueObject extends value_object_base_1.ValueObject {
7
+ constructor(value) {
8
+ super();
9
+ this._value = (value ?? '').toLowerCase().trim();
10
+ this.validate();
11
+ }
12
+ get value() {
13
+ return this._value;
14
+ }
15
+ equals(other) {
16
+ return this._value === other._value;
17
+ }
18
+ getLocalPart() {
19
+ return this._value.split('@')[0];
20
+ }
21
+ getDomain() {
22
+ return this._value.split('@')[1];
23
+ }
24
+ validate() {
25
+ this.checkIsEmpty();
26
+ this.checkIsValidEmail();
27
+ }
28
+ checkIsEmpty() {
29
+ if (!this._value || this._value.trim() === '') {
30
+ throw new invalid_email_exception_1.InvalidEmailException('Email cannot be empty');
31
+ }
32
+ }
33
+ checkIsValidEmail() {
34
+ const emailPattern = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
35
+ if (!emailPattern.test(this._value)) {
36
+ throw new invalid_email_exception_1.InvalidEmailException('Invalid email format');
37
+ }
38
+ if (this._value.length > 254) {
39
+ throw new invalid_email_exception_1.InvalidEmailException('Email is too long (max 254 characters)');
40
+ }
41
+ const localPart = this._value.split('@')[0];
42
+ if (localPart.length > 64) {
43
+ throw new invalid_email_exception_1.InvalidEmailException('Local part of email is too long (max 64 characters)');
44
+ }
45
+ }
46
+ }
47
+ exports.EmailValueObject = EmailValueObject;
48
+ //# sourceMappingURL=email.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/email/email.vo.ts"],"names":[],"mappings":";;;AAAA,kHAAuH;AACvH,iEAAmF;AASnF,MAAa,gBAAiB,SAAQ,+BAAmB;IAGvD,YAAY,KAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,KAAuB;QACnC,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAMM,YAAY;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAMM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,+CAAqB,CAAC,uBAAuB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEO,iBAAiB;QAEvB,MAAM,YAAY,GAChB,sIAAsI,CAAC;QAEzI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,+CAAqB,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,+CAAqB,CAAC,wCAAwC,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,+CAAqB,CAC7B,qDAAqD,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAjED,4CAiEC"}
@@ -0,0 +1,35 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare abstract class EnumValueObject<T extends Record<string, string | number>> extends ValueObject<string> {
3
+ private readonly _value;
4
+ constructor(value: string);
5
+ get value(): string;
6
+ equals(other: EnumValueObject<T>): boolean;
7
+ is(enumValue: string | number): boolean;
8
+ isOneOf(enumValues: (string | number)[]): boolean;
9
+ isNotOneOf(enumValues: (string | number)[]): boolean;
10
+ getKey(): string | undefined;
11
+ getAllValues(): (string | number)[];
12
+ getAllKeys(): string[];
13
+ getAllEntries(): [string, string | number][];
14
+ isValidValue(value: string | number): boolean;
15
+ getRandomValue(): string | number;
16
+ getNextValue(): string | number;
17
+ getPreviousValue(): string | number;
18
+ getIndex(): number;
19
+ getCount(): number;
20
+ toDisplayString(): string;
21
+ toSlug(): string;
22
+ toConstant(): string;
23
+ withValue(value: string): this;
24
+ withNextValue(): this;
25
+ withPreviousValue(): this;
26
+ withRandomValue(): this;
27
+ toNumber(): number;
28
+ isNumeric(): boolean;
29
+ getDescription(): string;
30
+ toJSON(): string;
31
+ static fromJSON<T extends EnumValueObject<any>>(this: new (value: string) => T, json: string | object): T;
32
+ protected abstract get enumObject(): T;
33
+ protected validate(): void;
34
+ protected get enumValues(): (string | number)[];
35
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumValueObject = void 0;
4
+ const invalid_enum_value_exception_1 = require("../../exceptions/value-objects/invalid-enum-value/invalid-enum-value.exception");
5
+ const value_object_base_1 = require("../base/value-object.base");
6
+ class EnumValueObject extends value_object_base_1.ValueObject {
7
+ constructor(value) {
8
+ super();
9
+ this._value = value;
10
+ this.validate();
11
+ }
12
+ get value() {
13
+ return this._value;
14
+ }
15
+ equals(other) {
16
+ return this._value === other.value;
17
+ }
18
+ is(enumValue) {
19
+ return this._value === String(enumValue);
20
+ }
21
+ isOneOf(enumValues) {
22
+ return enumValues.some((val) => this._value === String(val));
23
+ }
24
+ isNotOneOf(enumValues) {
25
+ return !this.isOneOf(enumValues);
26
+ }
27
+ getKey() {
28
+ return Object.keys(this.enumObject).find((key) => this.enumObject[key] === this._value);
29
+ }
30
+ getAllValues() {
31
+ return Object.values(this.enumObject);
32
+ }
33
+ getAllKeys() {
34
+ return Object.keys(this.enumObject);
35
+ }
36
+ getAllEntries() {
37
+ return Object.entries(this.enumObject);
38
+ }
39
+ isValidValue(value) {
40
+ return Object.values(this.enumObject).includes(value);
41
+ }
42
+ getRandomValue() {
43
+ const values = Object.values(this.enumObject);
44
+ return values[Math.floor(Math.random() * values.length)];
45
+ }
46
+ getNextValue() {
47
+ const values = Object.values(this.enumObject);
48
+ const currentIndex = values.indexOf(this._value);
49
+ const nextIndex = (currentIndex + 1) % values.length;
50
+ return values[nextIndex];
51
+ }
52
+ getPreviousValue() {
53
+ const values = Object.values(this.enumObject);
54
+ const currentIndex = values.indexOf(this._value);
55
+ const previousIndex = currentIndex === 0 ? values.length - 1 : currentIndex - 1;
56
+ return values[previousIndex];
57
+ }
58
+ getIndex() {
59
+ return Object.values(this.enumObject).indexOf(this._value);
60
+ }
61
+ getCount() {
62
+ return Object.keys(this.enumObject).length;
63
+ }
64
+ toDisplayString() {
65
+ const key = this.getKey();
66
+ if (!key)
67
+ return this._value;
68
+ return key
69
+ .replace(/([A-Z])/g, ' $1')
70
+ .replace(/^./, (str) => str.toUpperCase())
71
+ .trim();
72
+ }
73
+ toSlug() {
74
+ const key = this.getKey();
75
+ if (!key)
76
+ return this._value.toLowerCase();
77
+ return key
78
+ .replace(/([A-Z])/g, '-$1')
79
+ .toLowerCase()
80
+ .replace(/^-/, '');
81
+ }
82
+ toConstant() {
83
+ const key = this.getKey();
84
+ if (!key)
85
+ return this._value.toUpperCase();
86
+ return key
87
+ .replace(/([A-Z])/g, '_$1')
88
+ .toUpperCase()
89
+ .replace(/^_/, '');
90
+ }
91
+ withValue(value) {
92
+ return new this.constructor(value);
93
+ }
94
+ withNextValue() {
95
+ return this.withValue(String(this.getNextValue()));
96
+ }
97
+ withPreviousValue() {
98
+ return this.withValue(String(this.getPreviousValue()));
99
+ }
100
+ withRandomValue() {
101
+ return this.withValue(String(this.getRandomValue()));
102
+ }
103
+ toNumber() {
104
+ return Number(this._value);
105
+ }
106
+ isNumeric() {
107
+ return !isNaN(Number(this._value));
108
+ }
109
+ getDescription() {
110
+ return `${this.constructor.name}.${this.getKey() || this._value}`;
111
+ }
112
+ toJSON() {
113
+ return JSON.stringify({
114
+ type: this.constructor.name,
115
+ value: this._value,
116
+ key: this.getKey(),
117
+ });
118
+ }
119
+ static fromJSON(json) {
120
+ const data = typeof json === 'string' ? JSON.parse(json) : json;
121
+ return new this(data.value);
122
+ }
123
+ validate() {
124
+ if (!this._value || this._value.trim() === '') {
125
+ throw new invalid_enum_value_exception_1.InvalidEnumValueException(`Enum value cannot be empty for ${this.constructor.name}`);
126
+ }
127
+ const enumValues = Object.values(this.enumObject);
128
+ if (!enumValues.includes(this._value)) {
129
+ throw new invalid_enum_value_exception_1.InvalidEnumValueException(`Invalid value for ${this.constructor.name}: ${this._value}. Valid values are: ${enumValues.join(', ')}`);
130
+ }
131
+ }
132
+ get enumValues() {
133
+ return Object.values(this.enumObject);
134
+ }
135
+ }
136
+ exports.EnumValueObject = EnumValueObject;
137
+ //# sourceMappingURL=enum.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/enum/enum.vo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare class HexValueObject extends ValueObject<string> {
3
+ private readonly _value;
4
+ constructor(value: string);
5
+ get value(): string;
6
+ toNumber(): number;
7
+ toBuffer(): Buffer;
8
+ protected validate(): void;
9
+ private checkIsEmpty;
10
+ private checkIsHex;
11
+ }
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HexValueObject = void 0;
4
+ const invalid_hex_exception_1 = require("../../exceptions/value-objects/invalid-hex/invalid-hex.exception");
5
+ const value_object_base_1 = require("../base/value-object.base");
6
+ class HexValueObject extends value_object_base_1.ValueObject {
7
+ constructor(value) {
8
+ super();
9
+ this._value = (value ?? '').toLowerCase();
10
+ this.validate();
11
+ }
12
+ get value() {
13
+ return this._value;
14
+ }
15
+ toNumber() {
16
+ return parseInt(this._value, 16);
17
+ }
18
+ toBuffer() {
19
+ return Buffer.from(this._value, 'hex');
20
+ }
21
+ validate() {
22
+ this.checkIsEmpty();
23
+ this.checkIsHex();
24
+ }
25
+ checkIsEmpty() {
26
+ if (!this._value || this._value.trim() === '') {
27
+ throw new invalid_hex_exception_1.InvalidHexException('Hex value cannot be empty');
28
+ }
29
+ }
30
+ checkIsHex() {
31
+ const hexPattern = /^[0-9a-fA-F]+$/;
32
+ if (!hexPattern.test(this._value)) {
33
+ throw new invalid_hex_exception_1.InvalidHexException('Value must be a valid hexadecimal string');
34
+ }
35
+ }
36
+ }
37
+ exports.HexValueObject = HexValueObject;
38
+ //# sourceMappingURL=hex.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/hex/hex.vo.ts"],"names":[],"mappings":";;;AAAA,4GAAiH;AACjH,iEAAmF;AASnF,MAAa,cAAe,SAAQ,+BAAmB;IAGrD,YAAY,KAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAMM,QAAQ;QACb,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAMM,QAAQ;QACb,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAES,QAAQ;QAChB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,2CAAmB,CAAC,2BAA2B,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,MAAM,UAAU,GAAG,gBAAgB,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,2CAAmB,CAAC,0CAA0C,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;CACF;AA9CD,wCA8CC"}
@@ -0,0 +1,19 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare class IpValueObject extends ValueObject<string> {
3
+ private readonly _value;
4
+ constructor(value: string);
5
+ get value(): string;
6
+ equals(other: IpValueObject): boolean;
7
+ isIPv4(): boolean;
8
+ isIPv6(): boolean;
9
+ isPrivate(): boolean;
10
+ isLoopback(): boolean;
11
+ getVersion(): 4 | 6;
12
+ protected validate(): void;
13
+ private checkIsEmpty;
14
+ private checkIsValidIp;
15
+ private isValidIPv4;
16
+ private isValidIPv6;
17
+ private isPrivateIPv4;
18
+ private isPrivateIPv6;
19
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IpValueObject = void 0;
4
+ const invalid_ip_exception_1 = require("../../exceptions/value-objects/invalid-ip/invalid-ip.exception");
5
+ const value_object_base_1 = require("../base/value-object.base");
6
+ class IpValueObject extends value_object_base_1.ValueObject {
7
+ constructor(value) {
8
+ super();
9
+ this._value = (value ?? '').trim();
10
+ this.validate();
11
+ }
12
+ get value() {
13
+ return this._value;
14
+ }
15
+ equals(other) {
16
+ return this._value === other._value;
17
+ }
18
+ isIPv4() {
19
+ return this._value.includes('.') && !this._value.includes(':');
20
+ }
21
+ isIPv6() {
22
+ return this._value.includes(':');
23
+ }
24
+ isPrivate() {
25
+ if (this.isIPv4()) {
26
+ return this.isPrivateIPv4();
27
+ }
28
+ if (this.isIPv6()) {
29
+ return this.isPrivateIPv6();
30
+ }
31
+ return false;
32
+ }
33
+ isLoopback() {
34
+ if (this.isIPv4()) {
35
+ return this._value.startsWith('127.') || this._value === '::1';
36
+ }
37
+ if (this.isIPv6()) {
38
+ return this._value === '::1';
39
+ }
40
+ return false;
41
+ }
42
+ getVersion() {
43
+ return this.isIPv4() ? 4 : 6;
44
+ }
45
+ validate() {
46
+ this.checkIsEmpty();
47
+ this.checkIsValidIp();
48
+ }
49
+ checkIsEmpty() {
50
+ if (!this._value || this._value.trim() === '') {
51
+ throw new invalid_ip_exception_1.InvalidIpException('IP address cannot be empty');
52
+ }
53
+ }
54
+ checkIsValidIp() {
55
+ if (this.isValidIPv4(this._value) || this.isValidIPv6(this._value)) {
56
+ return;
57
+ }
58
+ throw new invalid_ip_exception_1.InvalidIpException('Invalid IP address format');
59
+ }
60
+ isValidIPv4(ip) {
61
+ const ipv4Pattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;
62
+ const match = ip.match(ipv4Pattern);
63
+ if (!match)
64
+ return false;
65
+ return match.slice(1).every((octet) => {
66
+ const num = parseInt(octet, 10);
67
+ return num >= 0 && num <= 255;
68
+ });
69
+ }
70
+ isValidIPv6(ip) {
71
+ const ipv6Pattern = /^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$/;
72
+ const ipv6CompressedPattern = /^([0-9a-fA-F]{1,4}:)*::([0-9a-fA-F]{1,4}:)*[0-9a-fA-F]{1,4}$/;
73
+ return ipv6Pattern.test(ip) || ipv6CompressedPattern.test(ip);
74
+ }
75
+ isPrivateIPv4() {
76
+ const parts = this._value.split('.').map(Number);
77
+ if (parts[0] === 10)
78
+ return true;
79
+ if (parts[0] === 172 && parts[1] >= 16 && parts[1] <= 31)
80
+ return true;
81
+ if (parts[0] === 192 && parts[1] === 168)
82
+ return true;
83
+ return false;
84
+ }
85
+ isPrivateIPv6() {
86
+ return this._value.startsWith('fc') || this._value.startsWith('fd');
87
+ }
88
+ }
89
+ exports.IpValueObject = IpValueObject;
90
+ //# sourceMappingURL=ip.vo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip.vo.js","sourceRoot":"","sources":["../../../../../src/shared/domain/value-objects/ip/ip.vo.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { ValueObject } from '@/shared/domain/value-objects/base/value-object.base';
2
+ export declare class JsonValueObject extends ValueObject<Record<string, any>> {
3
+ private readonly options;
4
+ private readonly _value;
5
+ constructor(value?: Record<string, any> | string, options?: {
6
+ allowEmpty?: boolean;
7
+ maxDepth?: number;
8
+ requiredKeys?: string[];
9
+ allowedKeys?: string[];
10
+ schema?: Record<string, any>;
11
+ });
12
+ get value(): Record<string, any>;
13
+ toString(pretty?: boolean): string;
14
+ equals(other: JsonValueObject): boolean;
15
+ isEmpty(): boolean;
16
+ isNotEmpty(): boolean;
17
+ size(): number;
18
+ hasKey(key: string): boolean;
19
+ get(key: string): any;
20
+ getOrDefault(key: string, defaultValue: any): any;
21
+ keys(): string[];
22
+ values(): any[];
23
+ entries(): [string, any][];
24
+ merge(other: JsonValueObject, deep?: boolean): JsonValueObject;
25
+ pick(keys: string[]): JsonValueObject;
26
+ omit(keys: string[]): JsonValueObject;
27
+ transform(transformer: (key: string, value: any) => [string, any]): JsonValueObject;
28
+ filter(predicate: (key: string, value: any) => boolean): JsonValueObject;
29
+ validateSchema(schema: Record<string, any>): boolean;
30
+ getNested(path: string): any;
31
+ setNested(path: string, value: any): JsonValueObject;
32
+ clone(deep?: boolean): JsonValueObject;
33
+ private processValue;
34
+ protected validate(): void;
35
+ private checkEmpty;
36
+ private checkDepth;
37
+ private checkRequiredKeys;
38
+ private checkAllowedKeys;
39
+ private checkSchema;
40
+ private getDepth;
41
+ private deepMerge;
42
+ private validateAgainstSchema;
43
+ }