@temboplus/afloat 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 (335) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +21 -0
  3. package/esm/_dnt.test_shims.d.ts.map +1 -0
  4. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  5. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  6. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  7. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  8. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  9. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  10. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  33. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  35. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  38. package/esm/mod.d.ts +7 -0
  39. package/esm/mod.d.ts.map +1 -0
  40. package/esm/mod.js +6 -0
  41. package/esm/package.json +3 -0
  42. package/esm/src/errors/api_error.d.ts +63 -0
  43. package/esm/src/errors/api_error.d.ts.map +1 -0
  44. package/esm/src/errors/api_error.js +90 -0
  45. package/esm/src/errors/index.d.ts +3 -0
  46. package/esm/src/errors/index.d.ts.map +1 -0
  47. package/esm/src/errors/index.js +2 -0
  48. package/esm/src/errors/permission_error.d.ts +48 -0
  49. package/esm/src/errors/permission_error.d.ts.map +1 -0
  50. package/esm/src/errors/permission_error.js +70 -0
  51. package/esm/src/features/auth/contract.d.ts +123 -0
  52. package/esm/src/features/auth/contract.d.ts.map +1 -0
  53. package/esm/src/features/auth/contract.js +50 -0
  54. package/esm/src/features/auth/index.d.ts +2 -0
  55. package/esm/src/features/auth/index.d.ts.map +1 -0
  56. package/esm/src/features/auth/index.js +1 -0
  57. package/esm/src/features/auth/manager.d.ts +71 -0
  58. package/esm/src/features/auth/manager.d.ts.map +1 -0
  59. package/esm/src/features/auth/manager.js +118 -0
  60. package/esm/src/features/auth/repository.d.ts +30 -0
  61. package/esm/src/features/auth/repository.d.ts.map +1 -0
  62. package/esm/src/features/auth/repository.js +94 -0
  63. package/esm/src/features/contact/contract.d.ts +170 -0
  64. package/esm/src/features/contact/contract.d.ts.map +1 -0
  65. package/esm/src/features/contact/contract.js +49 -0
  66. package/esm/src/features/contact/index.d.ts +2 -0
  67. package/esm/src/features/contact/index.d.ts.map +1 -0
  68. package/esm/src/features/contact/index.js +1 -0
  69. package/esm/src/features/contact/repository.d.ts +47 -0
  70. package/esm/src/features/contact/repository.d.ts.map +1 -0
  71. package/esm/src/features/contact/repository.js +94 -0
  72. package/esm/src/features/files-gen/contract.d.ts +67 -0
  73. package/esm/src/features/files-gen/contract.d.ts.map +1 -0
  74. package/esm/src/features/files-gen/contract.js +40 -0
  75. package/esm/src/features/files-gen/repository.d.ts +47 -0
  76. package/esm/src/features/files-gen/repository.d.ts.map +1 -0
  77. package/esm/src/features/files-gen/repository.js +48 -0
  78. package/esm/src/features/payout/contract.d.ts +623 -0
  79. package/esm/src/features/payout/contract.d.ts.map +1 -0
  80. package/esm/src/features/payout/contract.js +75 -0
  81. package/esm/src/features/payout/index.d.ts +2 -0
  82. package/esm/src/features/payout/index.d.ts.map +1 -0
  83. package/esm/src/features/payout/index.js +1 -0
  84. package/esm/src/features/payout/repository.d.ts +62 -0
  85. package/esm/src/features/payout/repository.d.ts.map +1 -0
  86. package/esm/src/features/payout/repository.js +158 -0
  87. package/esm/src/features/wallet/contract.d.ts +103 -0
  88. package/esm/src/features/wallet/contract.d.ts.map +1 -0
  89. package/esm/src/features/wallet/contract.js +35 -0
  90. package/esm/src/features/wallet/index.d.ts +2 -0
  91. package/esm/src/features/wallet/index.d.ts.map +1 -0
  92. package/esm/src/features/wallet/index.js +1 -0
  93. package/esm/src/features/wallet/repository.d.ts +74 -0
  94. package/esm/src/features/wallet/repository.d.ts.map +1 -0
  95. package/esm/src/features/wallet/repository.js +132 -0
  96. package/esm/src/models/contact/derivatives/contact.d.ts +168 -0
  97. package/esm/src/models/contact/derivatives/contact.d.ts.map +1 -0
  98. package/esm/src/models/contact/derivatives/contact.js +260 -0
  99. package/esm/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  100. package/esm/src/models/contact/derivatives/contact_info.d.ts +188 -0
  101. package/esm/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  102. package/esm/src/models/contact/derivatives/contact_info.js +255 -0
  103. package/esm/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  104. package/esm/src/models/contact/index.d.ts +5 -0
  105. package/esm/src/models/contact/index.d.ts.map +1 -0
  106. package/esm/src/models/contact/index.js +4 -0
  107. package/esm/src/models/contact/schemas.d.ts +66 -0
  108. package/esm/src/models/contact/schemas.d.ts.map +1 -0
  109. package/esm/src/models/contact/schemas.js +64 -0
  110. package/esm/src/models/contact/validation.d.ts +37 -0
  111. package/esm/src/models/contact/validation.d.ts.map +1 -0
  112. package/esm/src/models/contact/validation.js +139 -0
  113. package/esm/src/models/contact/validation.test.d.ts.map +1 -0
  114. package/esm/src/models/index.d.ts +6 -0
  115. package/esm/src/models/index.d.ts.map +1 -0
  116. package/esm/src/models/index.js +5 -0
  117. package/esm/src/models/payout/api.d.ts +29 -0
  118. package/esm/src/models/payout/api.d.ts.map +1 -0
  119. package/esm/src/models/payout/api.js +1 -0
  120. package/esm/src/models/payout/channel.d.ts +58 -0
  121. package/esm/src/models/payout/channel.d.ts.map +1 -0
  122. package/esm/src/models/payout/channel.js +46 -0
  123. package/esm/src/models/payout/derivatives/payout.d.ts +156 -0
  124. package/esm/src/models/payout/derivatives/payout.d.ts.map +1 -0
  125. package/esm/src/models/payout/derivatives/payout.js +261 -0
  126. package/esm/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  127. package/esm/src/models/payout/index.d.ts +6 -0
  128. package/esm/src/models/payout/index.d.ts.map +1 -0
  129. package/esm/src/models/payout/index.js +5 -0
  130. package/esm/src/models/payout/schemas.d.ts +154 -0
  131. package/esm/src/models/payout/schemas.d.ts.map +1 -0
  132. package/esm/src/models/payout/schemas.js +103 -0
  133. package/esm/src/models/payout/status.d.ts +31 -0
  134. package/esm/src/models/payout/status.d.ts.map +1 -0
  135. package/esm/src/models/payout/status.js +32 -0
  136. package/esm/src/models/permission.d.ts +42 -0
  137. package/esm/src/models/permission.d.ts.map +1 -0
  138. package/esm/src/models/permission.js +37 -0
  139. package/esm/src/models/user/index.d.ts +3 -0
  140. package/esm/src/models/user/index.d.ts.map +1 -0
  141. package/esm/src/models/user/index.js +2 -0
  142. package/esm/src/models/user/profile.d.ts +38 -0
  143. package/esm/src/models/user/profile.d.ts.map +1 -0
  144. package/esm/src/models/user/profile.js +25 -0
  145. package/esm/src/models/user/user.d.ts +80 -0
  146. package/esm/src/models/user/user.d.ts.map +1 -0
  147. package/esm/src/models/user/user.js +149 -0
  148. package/esm/src/models/wallet/guards.d.ts +11 -0
  149. package/esm/src/models/wallet/guards.d.ts.map +1 -0
  150. package/esm/src/models/wallet/guards.js +14 -0
  151. package/esm/src/models/wallet/index.d.ts +4 -0
  152. package/esm/src/models/wallet/index.d.ts.map +1 -0
  153. package/esm/src/models/wallet/index.js +3 -0
  154. package/esm/src/models/wallet/schemas.d.ts +50 -0
  155. package/esm/src/models/wallet/schemas.d.ts.map +1 -0
  156. package/esm/src/models/wallet/schemas.js +64 -0
  157. package/esm/src/models/wallet/statement.d.ts +27 -0
  158. package/esm/src/models/wallet/statement.d.ts.map +1 -0
  159. package/esm/src/models/wallet/statement.js +13 -0
  160. package/esm/src/shared/base_repository.d.ts +56 -0
  161. package/esm/src/shared/base_repository.d.ts.map +1 -0
  162. package/esm/src/shared/base_repository.js +95 -0
  163. package/esm/src/shared/common_responses.d.ts +13 -0
  164. package/esm/src/shared/common_responses.d.ts.map +1 -0
  165. package/esm/src/shared/common_responses.js +10 -0
  166. package/esm/src/shared/index.d.ts +3 -0
  167. package/esm/src/shared/index.d.ts.map +1 -0
  168. package/esm/src/shared/index.js +2 -0
  169. package/package.json +40 -0
  170. package/script/_dnt.test_shims.d.ts.map +1 -0
  171. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +1 -0
  172. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +1 -0
  173. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +1 -0
  174. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +1 -0
  175. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +1 -0
  176. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +1 -0
  177. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +1 -0
  178. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +1 -0
  179. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +1 -0
  180. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +1 -0
  181. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +1 -0
  182. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +1 -0
  183. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +1 -0
  184. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +1 -0
  185. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +1 -0
  186. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +1 -0
  187. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +1 -0
  188. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +1 -0
  189. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +1 -0
  190. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +1 -0
  191. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +1 -0
  192. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +1 -0
  193. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +1 -0
  194. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +1 -0
  195. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +1 -0
  196. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +1 -0
  197. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +1 -0
  198. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +1 -0
  199. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +1 -0
  200. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +1 -0
  201. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +1 -0
  202. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +1 -0
  203. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +1 -0
  204. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +1 -0
  205. package/script/mod.d.ts +7 -0
  206. package/script/mod.d.ts.map +1 -0
  207. package/script/mod.js +22 -0
  208. package/script/package.json +3 -0
  209. package/script/src/errors/api_error.d.ts +63 -0
  210. package/script/src/errors/api_error.d.ts.map +1 -0
  211. package/script/src/errors/api_error.js +94 -0
  212. package/script/src/errors/index.d.ts +3 -0
  213. package/script/src/errors/index.d.ts.map +1 -0
  214. package/script/src/errors/index.js +18 -0
  215. package/script/src/errors/permission_error.d.ts +48 -0
  216. package/script/src/errors/permission_error.d.ts.map +1 -0
  217. package/script/src/errors/permission_error.js +74 -0
  218. package/script/src/features/auth/contract.d.ts +123 -0
  219. package/script/src/features/auth/contract.d.ts.map +1 -0
  220. package/script/src/features/auth/contract.js +53 -0
  221. package/script/src/features/auth/index.d.ts +2 -0
  222. package/script/src/features/auth/index.d.ts.map +1 -0
  223. package/script/src/features/auth/index.js +17 -0
  224. package/script/src/features/auth/manager.d.ts +71 -0
  225. package/script/src/features/auth/manager.d.ts.map +1 -0
  226. package/script/src/features/auth/manager.js +122 -0
  227. package/script/src/features/auth/repository.d.ts +30 -0
  228. package/script/src/features/auth/repository.d.ts.map +1 -0
  229. package/script/src/features/auth/repository.js +98 -0
  230. package/script/src/features/contact/contract.d.ts +170 -0
  231. package/script/src/features/contact/contract.d.ts.map +1 -0
  232. package/script/src/features/contact/contract.js +52 -0
  233. package/script/src/features/contact/index.d.ts +2 -0
  234. package/script/src/features/contact/index.d.ts.map +1 -0
  235. package/script/src/features/contact/index.js +17 -0
  236. package/script/src/features/contact/repository.d.ts +47 -0
  237. package/script/src/features/contact/repository.d.ts.map +1 -0
  238. package/script/src/features/contact/repository.js +98 -0
  239. package/script/src/features/files-gen/contract.d.ts +67 -0
  240. package/script/src/features/files-gen/contract.d.ts.map +1 -0
  241. package/script/src/features/files-gen/contract.js +43 -0
  242. package/script/src/features/files-gen/repository.d.ts +47 -0
  243. package/script/src/features/files-gen/repository.d.ts.map +1 -0
  244. package/script/src/features/files-gen/repository.js +52 -0
  245. package/script/src/features/payout/contract.d.ts +623 -0
  246. package/script/src/features/payout/contract.d.ts.map +1 -0
  247. package/script/src/features/payout/contract.js +78 -0
  248. package/script/src/features/payout/index.d.ts +2 -0
  249. package/script/src/features/payout/index.d.ts.map +1 -0
  250. package/script/src/features/payout/index.js +17 -0
  251. package/script/src/features/payout/repository.d.ts +62 -0
  252. package/script/src/features/payout/repository.d.ts.map +1 -0
  253. package/script/src/features/payout/repository.js +162 -0
  254. package/script/src/features/wallet/contract.d.ts +103 -0
  255. package/script/src/features/wallet/contract.d.ts.map +1 -0
  256. package/script/src/features/wallet/contract.js +38 -0
  257. package/script/src/features/wallet/index.d.ts +2 -0
  258. package/script/src/features/wallet/index.d.ts.map +1 -0
  259. package/script/src/features/wallet/index.js +17 -0
  260. package/script/src/features/wallet/repository.d.ts +74 -0
  261. package/script/src/features/wallet/repository.d.ts.map +1 -0
  262. package/script/src/features/wallet/repository.js +136 -0
  263. package/script/src/models/contact/derivatives/contact.d.ts +168 -0
  264. package/script/src/models/contact/derivatives/contact.d.ts.map +1 -0
  265. package/script/src/models/contact/derivatives/contact.js +264 -0
  266. package/script/src/models/contact/derivatives/contact.test.d.ts.map +1 -0
  267. package/script/src/models/contact/derivatives/contact_info.d.ts +188 -0
  268. package/script/src/models/contact/derivatives/contact_info.d.ts.map +1 -0
  269. package/script/src/models/contact/derivatives/contact_info.js +260 -0
  270. package/script/src/models/contact/derivatives/contact_info.test.d.ts.map +1 -0
  271. package/script/src/models/contact/index.d.ts +5 -0
  272. package/script/src/models/contact/index.d.ts.map +1 -0
  273. package/script/src/models/contact/index.js +20 -0
  274. package/script/src/models/contact/schemas.d.ts +66 -0
  275. package/script/src/models/contact/schemas.d.ts.map +1 -0
  276. package/script/src/models/contact/schemas.js +67 -0
  277. package/script/src/models/contact/validation.d.ts +37 -0
  278. package/script/src/models/contact/validation.d.ts.map +1 -0
  279. package/script/src/models/contact/validation.js +146 -0
  280. package/script/src/models/contact/validation.test.d.ts.map +1 -0
  281. package/script/src/models/index.d.ts +6 -0
  282. package/script/src/models/index.d.ts.map +1 -0
  283. package/script/src/models/index.js +21 -0
  284. package/script/src/models/payout/api.d.ts +29 -0
  285. package/script/src/models/payout/api.d.ts.map +1 -0
  286. package/script/src/models/payout/api.js +2 -0
  287. package/script/src/models/payout/channel.d.ts +58 -0
  288. package/script/src/models/payout/channel.d.ts.map +1 -0
  289. package/script/src/models/payout/channel.js +49 -0
  290. package/script/src/models/payout/derivatives/payout.d.ts +156 -0
  291. package/script/src/models/payout/derivatives/payout.d.ts.map +1 -0
  292. package/script/src/models/payout/derivatives/payout.js +265 -0
  293. package/script/src/models/payout/derivatives/payout.test.d.ts.map +1 -0
  294. package/script/src/models/payout/index.d.ts +6 -0
  295. package/script/src/models/payout/index.d.ts.map +1 -0
  296. package/script/src/models/payout/index.js +21 -0
  297. package/script/src/models/payout/schemas.d.ts +154 -0
  298. package/script/src/models/payout/schemas.d.ts.map +1 -0
  299. package/script/src/models/payout/schemas.js +106 -0
  300. package/script/src/models/payout/status.d.ts +31 -0
  301. package/script/src/models/payout/status.d.ts.map +1 -0
  302. package/script/src/models/payout/status.js +35 -0
  303. package/script/src/models/permission.d.ts +42 -0
  304. package/script/src/models/permission.d.ts.map +1 -0
  305. package/script/src/models/permission.js +40 -0
  306. package/script/src/models/user/index.d.ts +3 -0
  307. package/script/src/models/user/index.d.ts.map +1 -0
  308. package/script/src/models/user/index.js +18 -0
  309. package/script/src/models/user/profile.d.ts +38 -0
  310. package/script/src/models/user/profile.d.ts.map +1 -0
  311. package/script/src/models/user/profile.js +28 -0
  312. package/script/src/models/user/user.d.ts +80 -0
  313. package/script/src/models/user/user.d.ts.map +1 -0
  314. package/script/src/models/user/user.js +153 -0
  315. package/script/src/models/wallet/guards.d.ts +11 -0
  316. package/script/src/models/wallet/guards.d.ts.map +1 -0
  317. package/script/src/models/wallet/guards.js +17 -0
  318. package/script/src/models/wallet/index.d.ts +4 -0
  319. package/script/src/models/wallet/index.d.ts.map +1 -0
  320. package/script/src/models/wallet/index.js +19 -0
  321. package/script/src/models/wallet/schemas.d.ts +50 -0
  322. package/script/src/models/wallet/schemas.d.ts.map +1 -0
  323. package/script/src/models/wallet/schemas.js +67 -0
  324. package/script/src/models/wallet/statement.d.ts +27 -0
  325. package/script/src/models/wallet/statement.d.ts.map +1 -0
  326. package/script/src/models/wallet/statement.js +16 -0
  327. package/script/src/shared/base_repository.d.ts +56 -0
  328. package/script/src/shared/base_repository.d.ts.map +1 -0
  329. package/script/src/shared/base_repository.js +99 -0
  330. package/script/src/shared/common_responses.d.ts +13 -0
  331. package/script/src/shared/common_responses.d.ts.map +1 -0
  332. package/script/src/shared/common_responses.js +13 -0
  333. package/script/src/shared/index.d.ts +3 -0
  334. package/script/src/shared/index.d.ts.map +1 -0
  335. package/script/src/shared/index.js +18 -0
@@ -0,0 +1,168 @@
1
+ import { type ContactData, type ContactType } from "../schemas.js";
2
+ import { type ContactInfo } from "./contact_info.js";
3
+ /**
4
+ * Contact class that wraps the Zod schema and provides additional functionality
5
+ */
6
+ export declare class Contact {
7
+ private readonly data;
8
+ /**
9
+ * Private constructor - use static methods to create instances
10
+ */
11
+ private constructor();
12
+ /**
13
+ * Unique identifier for the contact
14
+ */
15
+ get id(): string;
16
+ /**
17
+ * Profile identifier associated with this contact
18
+ */
19
+ get profileId(): string;
20
+ /**
21
+ * Display name of the contact
22
+ */
23
+ get displayName(): string;
24
+ /**
25
+ * Type of contact (Bank or Mobile)
26
+ */
27
+ get type(): ContactType;
28
+ /**
29
+ * Creation timestamp of the contact
30
+ */
31
+ get createdAt(): Date;
32
+ /**
33
+ * Detailed contact information based on contact type
34
+ *
35
+ * @returns {ContactInfo | undefined} Contact information object:
36
+ * - MobileContactInfo for mobile money contacts
37
+ * - BankContactInfo for bank contacts
38
+ * - undefined if contact information cannot be constructed
39
+ *
40
+ * @remarks
41
+ * For mobile contacts, constructs from phone number
42
+ * For bank contacts, constructs from SWIFT code and account number
43
+ */
44
+ get info(): ContactInfo | undefined;
45
+ /**
46
+ * Payment channel for the contact
47
+ *
48
+ * @returns {string} Channel information:
49
+ * - For valid contacts, returns formatted channel from ContactInfo
50
+ * - For invalid contacts, falls back to account number
51
+ */
52
+ get channel(): string;
53
+ /**
54
+ * Account number for the contact
55
+ *
56
+ * @returns {string} Account number:
57
+ * - For valid contacts, returns formatted account number from ContactInfo
58
+ * - For invalid contacts, falls back to raw account number
59
+ */
60
+ get accNo(): string;
61
+ /**
62
+ * Account name for the contact
63
+ * Always returns the display name
64
+ */
65
+ get accName(): string;
66
+ /**
67
+ * Label for the account number field based on contact type
68
+ *
69
+ * @returns {string} Appropriate label:
70
+ * - "Phone Number" for mobile contacts
71
+ * - "Bank Account Number" for bank contacts
72
+ * - "Account Number" as fallback
73
+ */
74
+ get accNoLabel(): string;
75
+ /**
76
+ * Label for the channel field based on contact type
77
+ *
78
+ * @returns {string} Appropriate label:
79
+ * - "Channel" for mobile contacts
80
+ * - "Bank" for bank contacts
81
+ * - "Channel" as fallback
82
+ */
83
+ get channelLabel(): string;
84
+ /**
85
+ * Label for the account name field based on contact type
86
+ *
87
+ * @returns {string} Appropriate label:
88
+ * - "Full Name" for mobile contacts
89
+ * - "Bank Account Name" for bank contacts
90
+ * - "Display Name" as fallback
91
+ */
92
+ get accNameLabel(): string;
93
+ /**
94
+ * Creates a Contact instance from raw data
95
+ * @throws {ZodError} if validation fails
96
+ */
97
+ static create(data: ContactData): Contact;
98
+ /**
99
+ * Creates multiple Contact instances from an array of raw data
100
+ * @throws {ZodError} if validation fails for any item
101
+ */
102
+ static createMany(dataArray: ContactData[]): Contact[];
103
+ /**
104
+ * Creates a Contact instance from raw data without throwing
105
+ * @returns {Contact | null} Contact instance or null if validation fails
106
+ */
107
+ static createSafe(data: ContactData): Contact | null;
108
+ /**
109
+ * Checks if an unknown value contains valid data to construct a Contact instance.
110
+ * This is useful when validating raw data structures before instantiation.
111
+ *
112
+ * @param {unknown} obj - The value containing potential contact data
113
+ * @returns {obj is Contact} Type predicate indicating if a Contact can be constructed
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * const rawData = await fetchFromAPI();
118
+ * if (Contact.canConstruct(rawData)) {
119
+ * const contact = Contact.create(rawData);
120
+ * // TypeScript knows contact is valid here
121
+ * console.log(contact.displayName);
122
+ * }
123
+ * ```
124
+ *
125
+ * @throws {never} This method never throws errors
126
+ *
127
+ * @remarks
128
+ * This method performs strict validation against the {@link ContactData} schema.
129
+ */
130
+ static canConstruct(obj: unknown): obj is Contact;
131
+ /**
132
+ * Validates if an unknown value is a Contact instance.
133
+ * This is a runtime type guard that ensures proper object structure and data validity.
134
+ *
135
+ * @param {unknown} obj - The value to validate
136
+ * @returns {obj is Contact} Type predicate indicating if the value is a valid Contact
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * const maybeContact = getContactFromCache();
141
+ * if (Contact.is(maybeContact)) {
142
+ * // TypeScript knows maybeContact is a Contact here
143
+ * console.log(maybeContact.displayName);
144
+ * }
145
+ * ```
146
+ *
147
+ * @throws {never} This method never throws errors
148
+ *
149
+ * @remarks
150
+ * This method performs a complete structural validation:
151
+ * 1. Checks if the value is an object
152
+ * 2. Verifies presence of internal data property
153
+ * 3. Validates the data against ContactData schema
154
+ * 4. Ensures the object is a proper Contact instance
155
+ *
156
+ * Use this method when:
157
+ * - Validating cached Contact instances
158
+ * - Checking serialized Contact objects
159
+ * - Verifying API responses
160
+ * - Type narrowing in conditional blocks
161
+ */
162
+ static is(obj: unknown): obj is Contact;
163
+ /**
164
+ * Converts Payout instance to a plain object
165
+ */
166
+ toJSON(): ContactData;
167
+ }
168
+ //# sourceMappingURL=contact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/contact/derivatives/contact.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IAEnC;;OAEG;IACH,OAAO;IAIP;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAEf;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,IAAI,CAEpB;IAED;;;;;;;;;;;OAWG;IACH,IAAI,IAAI,IAAI,WAAW,GAAG,SAAS,CAoBlC;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAIpB;IAED;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,MAAM,CAIlB;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;;OAOG;IACH,IAAI,UAAU,IAAI,MAAM,CAKvB;IAED;;;;;;;OAOG;IACH,IAAI,YAAY,IAAI,MAAM,CAKzB;IAED;;;;;;;OAOG;IACH,IAAI,YAAY,IAAI,MAAM,CAKzB;IAED;;;OAGG;WACW,MAAM,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAIhD;;;OAGG;WACW,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE;IAI7D;;;OAGG;WACW,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI;IAQ3D;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO;IAUxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,OAAO;IAO9C;;OAEG;IACH,MAAM,IAAI,WAAW;CAGtB"}
@@ -0,0 +1,260 @@
1
+ import { ContactSchemas, } from "../schemas.js";
2
+ import { MobileContactInfo } from "../index.js";
3
+ import { Bank, PhoneNumber } from "@temboplus/frontend-core";
4
+ import { BankContactInfo, } from "./contact_info.js";
5
+ /**
6
+ * Contact class that wraps the Zod schema and provides additional functionality
7
+ */
8
+ export class Contact {
9
+ /**
10
+ * Private constructor - use static methods to create instances
11
+ */
12
+ constructor(data) {
13
+ Object.defineProperty(this, "data", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ this.data = ContactSchemas.contactData.parse(data);
20
+ }
21
+ /**
22
+ * Unique identifier for the contact
23
+ */
24
+ get id() {
25
+ return this.data.id;
26
+ }
27
+ /**
28
+ * Profile identifier associated with this contact
29
+ */
30
+ get profileId() {
31
+ return this.data.profileId;
32
+ }
33
+ /**
34
+ * Display name of the contact
35
+ */
36
+ get displayName() {
37
+ return this.data.displayName;
38
+ }
39
+ /**
40
+ * Type of contact (Bank or Mobile)
41
+ */
42
+ get type() {
43
+ return this.data.type;
44
+ }
45
+ /**
46
+ * Creation timestamp of the contact
47
+ */
48
+ get createdAt() {
49
+ return this.data.createdAt;
50
+ }
51
+ /**
52
+ * Detailed contact information based on contact type
53
+ *
54
+ * @returns {ContactInfo | undefined} Contact information object:
55
+ * - MobileContactInfo for mobile money contacts
56
+ * - BankContactInfo for bank contacts
57
+ * - undefined if contact information cannot be constructed
58
+ *
59
+ * @remarks
60
+ * For mobile contacts, constructs from phone number
61
+ * For bank contacts, constructs from SWIFT code and account number
62
+ */
63
+ get info() {
64
+ if (this.data.type === "Mobile") {
65
+ const phone = PhoneNumber.from(this.data.accountNo);
66
+ if (phone) {
67
+ return new MobileContactInfo(this.data.displayName, phone);
68
+ }
69
+ }
70
+ if (this.data.type === "Bank") {
71
+ const bank = Bank.fromSWIFTCode(this.data.channel);
72
+ if (bank) {
73
+ return new BankContactInfo(this.data.displayName, bank, this.data.accountNo);
74
+ }
75
+ }
76
+ return undefined;
77
+ }
78
+ /**
79
+ * Payment channel for the contact
80
+ *
81
+ * @returns {string} Channel information:
82
+ * - For valid contacts, returns formatted channel from ContactInfo
83
+ * - For invalid contacts, falls back to account number
84
+ */
85
+ get channel() {
86
+ const info = this.info;
87
+ if (info)
88
+ return info.channel;
89
+ return this.data.accountNo;
90
+ }
91
+ /**
92
+ * Account number for the contact
93
+ *
94
+ * @returns {string} Account number:
95
+ * - For valid contacts, returns formatted account number from ContactInfo
96
+ * - For invalid contacts, falls back to raw account number
97
+ */
98
+ get accNo() {
99
+ const info = this.info;
100
+ if (info)
101
+ return info.accNumber;
102
+ return this.data.accountNo;
103
+ }
104
+ /**
105
+ * Account name for the contact
106
+ * Always returns the display name
107
+ */
108
+ get accName() {
109
+ return this.data.displayName;
110
+ }
111
+ /**
112
+ * Label for the account number field based on contact type
113
+ *
114
+ * @returns {string} Appropriate label:
115
+ * - "Phone Number" for mobile contacts
116
+ * - "Bank Account Number" for bank contacts
117
+ * - "Account Number" as fallback
118
+ */
119
+ get accNoLabel() {
120
+ const info = this.info;
121
+ if (info instanceof MobileContactInfo)
122
+ return "Phone Number";
123
+ if (info instanceof BankContactInfo)
124
+ return "Bank Account Number";
125
+ return "Account Number";
126
+ }
127
+ /**
128
+ * Label for the channel field based on contact type
129
+ *
130
+ * @returns {string} Appropriate label:
131
+ * - "Channel" for mobile contacts
132
+ * - "Bank" for bank contacts
133
+ * - "Channel" as fallback
134
+ */
135
+ get channelLabel() {
136
+ const info = this.info;
137
+ if (info instanceof MobileContactInfo)
138
+ return "Channel";
139
+ if (info instanceof BankContactInfo)
140
+ return "Bank";
141
+ return "Channel";
142
+ }
143
+ /**
144
+ * Label for the account name field based on contact type
145
+ *
146
+ * @returns {string} Appropriate label:
147
+ * - "Full Name" for mobile contacts
148
+ * - "Bank Account Name" for bank contacts
149
+ * - "Display Name" as fallback
150
+ */
151
+ get accNameLabel() {
152
+ const info = this.info;
153
+ if (info instanceof MobileContactInfo)
154
+ return "Full Name";
155
+ if (info instanceof BankContactInfo)
156
+ return "Bank Account Name";
157
+ return "Display Name";
158
+ }
159
+ /**
160
+ * Creates a Contact instance from raw data
161
+ * @throws {ZodError} if validation fails
162
+ */
163
+ static create(data) {
164
+ return new Contact(data);
165
+ }
166
+ /**
167
+ * Creates multiple Contact instances from an array of raw data
168
+ * @throws {ZodError} if validation fails for any item
169
+ */
170
+ static createMany(dataArray) {
171
+ return dataArray.map((data) => new Contact(data));
172
+ }
173
+ /**
174
+ * Creates a Contact instance from raw data without throwing
175
+ * @returns {Contact | null} Contact instance or null if validation fails
176
+ */
177
+ static createSafe(data) {
178
+ try {
179
+ return new Contact(data);
180
+ }
181
+ catch {
182
+ return null;
183
+ }
184
+ }
185
+ /**
186
+ * Checks if an unknown value contains valid data to construct a Contact instance.
187
+ * This is useful when validating raw data structures before instantiation.
188
+ *
189
+ * @param {unknown} obj - The value containing potential contact data
190
+ * @returns {obj is Contact} Type predicate indicating if a Contact can be constructed
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * const rawData = await fetchFromAPI();
195
+ * if (Contact.canConstruct(rawData)) {
196
+ * const contact = Contact.create(rawData);
197
+ * // TypeScript knows contact is valid here
198
+ * console.log(contact.displayName);
199
+ * }
200
+ * ```
201
+ *
202
+ * @throws {never} This method never throws errors
203
+ *
204
+ * @remarks
205
+ * This method performs strict validation against the {@link ContactData} schema.
206
+ */
207
+ static canConstruct(obj) {
208
+ if (!obj || typeof obj !== "object")
209
+ return false;
210
+ const result = ContactSchemas.contactData.safeParse(obj);
211
+ if (!result.success)
212
+ return false;
213
+ const contact = Contact.createSafe(result.data);
214
+ return contact !== null;
215
+ }
216
+ /**
217
+ * Validates if an unknown value is a Contact instance.
218
+ * This is a runtime type guard that ensures proper object structure and data validity.
219
+ *
220
+ * @param {unknown} obj - The value to validate
221
+ * @returns {obj is Contact} Type predicate indicating if the value is a valid Contact
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const maybeContact = getContactFromCache();
226
+ * if (Contact.is(maybeContact)) {
227
+ * // TypeScript knows maybeContact is a Contact here
228
+ * console.log(maybeContact.displayName);
229
+ * }
230
+ * ```
231
+ *
232
+ * @throws {never} This method never throws errors
233
+ *
234
+ * @remarks
235
+ * This method performs a complete structural validation:
236
+ * 1. Checks if the value is an object
237
+ * 2. Verifies presence of internal data property
238
+ * 3. Validates the data against ContactData schema
239
+ * 4. Ensures the object is a proper Contact instance
240
+ *
241
+ * Use this method when:
242
+ * - Validating cached Contact instances
243
+ * - Checking serialized Contact objects
244
+ * - Verifying API responses
245
+ * - Type narrowing in conditional blocks
246
+ */
247
+ static is(obj) {
248
+ if (!obj || typeof obj !== "object")
249
+ return false;
250
+ if (!("data" in obj))
251
+ return false;
252
+ return Contact.canConstruct(obj.data);
253
+ }
254
+ /**
255
+ * Converts Payout instance to a plain object
256
+ */
257
+ toJSON() {
258
+ return { ...this.data };
259
+ }
260
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact.test.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/contact/derivatives/contact.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,188 @@
1
+ import type { ContactType } from "../index.js";
2
+ import { Bank, PhoneNumber } from "@temboplus/frontend-core";
3
+ /**
4
+ * Abstract base class that provides a common interface for different types of contact information.
5
+ * This class defines the structure and validation requirements for both mobile and bank contacts.
6
+ *
7
+ * @abstract
8
+ * @class BaseContactInfo
9
+ * @property {ContactType} type - The type of contact (either "Mobile" or "Bank")
10
+ */
11
+ declare abstract class BaseContactInfo {
12
+ readonly type: ContactType;
13
+ /**
14
+ * Creates a new instance of BaseContactInfo
15
+ * @param {ContactType} type - The type of contact to create
16
+ */
17
+ constructor(type: ContactType);
18
+ /**
19
+ * Validates the contact information according to type-specific rules
20
+ * @abstract
21
+ * @returns {boolean} True if the contact information is valid, false otherwise
22
+ */
23
+ abstract validate(): boolean;
24
+ /**
25
+ * Gets the primary display name for the contact
26
+ * @abstract
27
+ * @returns {string} The contact's display name (personal name for mobile, account name for bank)
28
+ */
29
+ abstract get displayName(): string;
30
+ /**
31
+ * Gets the primary account/identification number for the contact
32
+ * @abstract
33
+ * @returns {string} The contact's number (phone number for mobile, account number for bank)
34
+ */
35
+ abstract get accNumber(): string;
36
+ /**
37
+ * Gets the service provider or institution name for the contact
38
+ * @abstract
39
+ * @returns {string} The contact's channel (telecom company for mobile, bank name for bank)
40
+ */
41
+ abstract get channel(): string;
42
+ /**
43
+ * Gets the localized label for the display name field
44
+ * @abstract
45
+ * @returns {string} The appropriate label for the display name based on contact type
46
+ */
47
+ abstract get displayNameLabel(): string;
48
+ /**
49
+ * Gets the localized label for the account number field
50
+ * @abstract
51
+ * @returns {string} The appropriate label for the account number based on contact type
52
+ */
53
+ abstract get accNumberLabel(): string;
54
+ /**
55
+ * Gets the localized label for the channel field
56
+ * @abstract
57
+ * @returns {string} The appropriate label for the channel based on contact type
58
+ */
59
+ abstract get channelLabel(): string;
60
+ }
61
+ /**
62
+ * Implementation of BaseContactInfo for mobile phone contacts.
63
+ * Handles storage and validation of contact details specific to mobile numbers.
64
+ *
65
+ * @extends BaseContactInfo
66
+ * @class MobileContactInfo
67
+ * @property {string} name - The contact's personal name
68
+ * @property {PhoneNumber} phoneNumber - The contact's phone number object
69
+ */
70
+ export declare class MobileContactInfo extends BaseContactInfo {
71
+ readonly name: string;
72
+ readonly phoneNumber: PhoneNumber;
73
+ /**
74
+ * Creates a new mobile contact
75
+ * @param {string} name - The contact's personal name
76
+ * @param {PhoneNumber} phoneNumber - The contact's phone number
77
+ */
78
+ constructor(name: string, phoneNumber: PhoneNumber);
79
+ /**
80
+ * Validates the mobile contact information
81
+ * Checks that:
82
+ * - Phone number is defined and valid
83
+ * - Contact name is not empty
84
+ * @returns {boolean} True if all validation checks pass
85
+ */
86
+ validate(): boolean;
87
+ /**
88
+ * Validates if an unknown value is a valid MobileContactInfo object.
89
+ * Checks both the structural integrity and data validity of name and phone number properties.
90
+ *
91
+ * @param {unknown} obj - The value to validate
92
+ * @returns {obj is MobileContactInfo} Type predicate indicating if the value is a valid MobileContactInfo
93
+ *
94
+ * @example
95
+ * const maybeContact = JSON.parse(someData);
96
+ * if (MobileContactInfo.is(maybeContact)) {
97
+ * // maybeContact is typed as MobileContactInfo
98
+ * console.log(maybeContact.name);
99
+ * console.log(maybeContact.phoneNumber.label);
100
+ * }
101
+ *
102
+ * @remarks
103
+ * - Name must be a non-empty string
104
+ * - Phone number can be either:
105
+ * - A string that can be parsed into a valid PhoneNumber
106
+ * - A PhoneNumber object with valid properties
107
+ * - Returns false if either property is invalid or missing
108
+ */
109
+ static is(obj: unknown): obj is MobileContactInfo;
110
+ get displayName(): string;
111
+ /**
112
+ * Gets the phone number formatted according to the 255 standard
113
+ * @returns {string} Formatted phone number
114
+ */
115
+ get accNumber(): string;
116
+ get channel(): string;
117
+ get displayNameLabel(): string;
118
+ get accNumberLabel(): string;
119
+ get channelLabel(): string;
120
+ }
121
+ /**
122
+ * Implementation of BaseContactInfo for bank account contacts.
123
+ * Handles storage and validation of contact details specific to bank accounts.
124
+ *
125
+ * @extends BaseContactInfo
126
+ * @class BankContactInfo
127
+ * @property {string} accName - The bank account holder's name
128
+ * @property {Bank} bank - The bank object containing institution details
129
+ * @property {string} accNo - The bank account number
130
+ */
131
+ export declare class BankContactInfo extends BaseContactInfo {
132
+ readonly accName: string;
133
+ readonly bank: Bank;
134
+ readonly accNo: string;
135
+ /**
136
+ * Creates a new bank contact
137
+ * @param {string} accName - The account holder's name
138
+ * @param {Bank} bank - The bank object
139
+ * @param {string} accNo - The account number
140
+ */
141
+ constructor(accName: string, bank: Bank, accNo: string);
142
+ /**
143
+ * Validates the bank contact information
144
+ * Checks that:
145
+ * - Bank object is valid
146
+ * - Account name meets requirements
147
+ * - Account number meets bank-specific format requirements
148
+ * @returns {boolean} True if all validation checks pass
149
+ */
150
+ validate(): boolean;
151
+ /**
152
+ * Validates if an unknown value is a valid BankContactInfo object.
153
+ * Checks both the structural integrity and data validity of account name, account number, and bank details.
154
+ *
155
+ * @param {unknown} obj - The value to validate
156
+ * @returns {obj is BankContactInfo} Type predicate indicating if the value is a valid BankContactInfo
157
+ *
158
+ * @example
159
+ * const maybeBank = JSON.parse(someData);
160
+ * if (BankContactInfo.is(maybeBank)) {
161
+ * // maybeBank is typed as BankContactInfo
162
+ * console.log(maybeBank.accName);
163
+ * console.log(maybeBank.accNumber);
164
+ * console.log(maybeBank.bank.name);
165
+ * }
166
+ *
167
+ * @remarks
168
+ * - Account name must be a valid string (validated by {@link validateAccName})
169
+ * - Account number must be a valid string (validated by {@link validateBankAccNo})
170
+ * - Bank must be a valid Bank object (validated by {@link Bank.is})
171
+ * - Returns false if any property is invalid or missing
172
+ * - All properties are required and must pass their respective validations
173
+ */
174
+ static is(obj: unknown): obj is BankContactInfo;
175
+ get displayName(): string;
176
+ get accNumber(): string;
177
+ get channel(): string;
178
+ get displayNameLabel(): string;
179
+ get accNumberLabel(): string;
180
+ get channelLabel(): string;
181
+ }
182
+ /**
183
+ * Union type representing either a mobile or bank contact
184
+ * Used for type-safe handling of contact information throughout the application
185
+ */
186
+ export type ContactInfo = MobileContactInfo | BankContactInfo;
187
+ export {};
188
+ //# sourceMappingURL=contact_info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact_info.d.ts","sourceRoot":"","sources":["../../../../../src/src/models/contact/derivatives/contact_info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAsB,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMjF;;;;;;;GAOG;AACH,uBAAe,eAAe;IAC5B,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC;;;OAGG;gBACS,IAAI,EAAE,WAAW;IAI7B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,IAAI,OAAO;IAE5B;;;;OAIG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC;IAEjC;;;;OAIG;IACH,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,KAAK,gBAAgB,IAAI,MAAM,CAAC;IAExC;;;;OAIG;IACH,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;aAOlC,IAAI,EAAE,MAAM;aACZ,WAAW,EAAE,WAAW;IAP1C;;;;OAIG;gBAEe,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW;IAK1C;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;;;;;;;;;;;;;;;;;;OAqBG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,iBAAiB;IA6BxD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAED;;;OAGG;IACH,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAa,OAAO,IAAI,MAAM,CAE7B;IAED,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,cAAc,IAAI,MAAM,CAEpC;IAED,IAAa,YAAY,IAAI,MAAM,CAElC;CACF;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,eAAe;aAQhC,OAAO,EAAE,MAAM;aACf,IAAI,EAAE,IAAI;aACV,KAAK,EAAE,MAAM;IAT/B;;;;;OAKG;gBAEe,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM;IAK/B;;;;;;;OAOG;IACH,QAAQ,IAAI,OAAO;IAMnB;;;;;;;;;;;;;;;;;;;;;;OAsBG;WACW,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,eAAe;IA8BtD,IAAa,WAAW,IAAI,MAAM,CAEjC;IAED,IAAa,SAAS,IAAI,MAAM,CAE/B;IAED,IAAa,OAAO,IAAI,MAAM,CAE7B;IAED,IAAa,gBAAgB,IAAI,MAAM,CAEtC;IAED,IAAa,cAAc,IAAI,MAAM,CAEpC;IAED,IAAa,YAAY,IAAI,MAAM,CAElC;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC"}