@temboplus/frontend-core 0.4.4 → 1.0.1-beta.1

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 (452) hide show
  1. package/README.md +62 -214
  2. package/dist/coverage/coverage.types.d.ts +24 -0
  3. package/dist/coverage/index.d.ts +3 -0
  4. package/dist/coverage/tembo-coverage.d.ts +59 -0
  5. package/dist/domain/amount/amount.d.ts +476 -0
  6. package/dist/domain/amount/amount.helpers.d.ts +64 -0
  7. package/dist/domain/amount/amount.schema.d.ts +34 -0
  8. package/dist/domain/amount/index.d.ts +4 -0
  9. package/dist/domain/bank/bank.d.ts +59 -0
  10. package/dist/domain/bank/bank.helpers.d.ts +34 -0
  11. package/dist/domain/bank/bank.schema.d.ts +39 -0
  12. package/dist/domain/bank/bank.types.d.ts +9 -0
  13. package/dist/domain/bank/index.d.ts +4 -0
  14. package/dist/domain/channel/channel.d.ts +40 -0
  15. package/dist/domain/channel/channel.enums.d.ts +14 -0
  16. package/dist/domain/channel/channel.types.d.ts +12 -0
  17. package/dist/domain/channel/index.d.ts +3 -0
  18. package/dist/domain/country/country.d.ts +73 -0
  19. package/dist/domain/country/country.enums.d.ts +45 -0
  20. package/dist/domain/country/country.helpers.d.ts +6 -0
  21. package/dist/domain/country/country.schema.d.ts +73 -0
  22. package/{script/src/models/country/types.d.ts → dist/domain/country/country.types.d.ts} +18 -1
  23. package/dist/domain/country/index.d.ts +4 -0
  24. package/dist/domain/currency/currency.d.ts +62 -0
  25. package/dist/domain/currency/currency.helpers.d.ts +4 -0
  26. package/dist/domain/currency/currency.schema.d.ts +24 -0
  27. package/{script/src/models/currency/types.d.ts → dist/domain/currency/currency.types.d.ts} +7 -2
  28. package/dist/domain/currency/index.d.ts +4 -0
  29. package/{esm/src/models → dist/domain}/index.d.ts +3 -2
  30. package/dist/domain/mobile-money-provider/index.d.ts +4 -0
  31. package/dist/domain/mobile-money-provider/mobile-money-provider.d.ts +53 -0
  32. package/dist/domain/mobile-money-provider/mobile-money-provider.helpers.d.ts +5 -0
  33. package/dist/domain/mobile-money-provider/mobile-money-provider.schema.d.ts +22 -0
  34. package/dist/domain/mobile-money-provider/mobile-money-provider.types.d.ts +21 -0
  35. package/dist/domain/phone-number/index.d.ts +4 -0
  36. package/dist/domain/phone-number/phone-number.d.ts +57 -0
  37. package/dist/domain/phone-number/phone-number.helpers.d.ts +67 -0
  38. package/dist/domain/phone-number/phone-number.parser.d.ts +43 -0
  39. package/dist/domain/phone-number/phone-number.schema.d.ts +21 -0
  40. package/dist/domain/phone-number/phone-number.types.d.ts +72 -0
  41. package/dist/factories/amount.factory.d.ts +50 -0
  42. package/dist/factories/bank.factory.d.ts +47 -0
  43. package/dist/factories/country.factory.d.ts +40 -0
  44. package/dist/factories/currency.factory.d.ts +40 -0
  45. package/dist/factories/index.d.ts +7 -0
  46. package/dist/factories/mobile-money-provider.factory.d.ts +43 -0
  47. package/dist/factories/phone-number.factory.d.ts +31 -0
  48. package/dist/factories/transaction-limit.factory.d.ts +36 -0
  49. package/dist/index.cjs.js +2 -0
  50. package/dist/index.cjs.js.map +1 -0
  51. package/dist/index.d.ts +5 -0
  52. package/dist/index.esm.js +2 -0
  53. package/dist/index.esm.js.map +1 -0
  54. package/dist/registries/bank.registry.d.ts +36 -0
  55. package/dist/registries/country.registry.d.ts +45 -0
  56. package/dist/registries/currency.registry.d.ts +33 -0
  57. package/dist/registries/index.d.ts +5 -0
  58. package/dist/registries/mobile-money-provider.registry.d.ts +48 -0
  59. package/dist/registries/transaction-limit.registry.d.ts +30 -0
  60. package/dist/repositories/bank.repository.d.ts +30 -0
  61. package/dist/repositories/country.repository.d.ts +31 -0
  62. package/dist/repositories/currency.repository.d.ts +28 -0
  63. package/dist/repositories/index.d.ts +5 -0
  64. package/dist/repositories/mobile-money-provider.repository.d.ts +53 -0
  65. package/dist/repositories/transaction-limit.repository.d.ts +31 -0
  66. package/{script/src → dist}/utils/id.d.ts +7 -3
  67. package/{esm/src/utils/index.js → dist/utils/index.d.ts} +1 -0
  68. package/dist/utils/logger.d.ts +2 -0
  69. package/dist/utils/text.d.ts +103 -0
  70. package/{script/src → dist}/utils/time.d.ts +9 -4
  71. package/package.json +46 -23
  72. package/LICENSE +0 -7
  73. package/esm/_dnt.test_shims.d.ts.map +0 -1
  74. package/esm/deps/deno.land/std@0.217.0/assert/_constants.d.ts.map +0 -1
  75. package/esm/deps/deno.land/std@0.217.0/assert/_diff.d.ts.map +0 -1
  76. package/esm/deps/deno.land/std@0.217.0/assert/_format.d.ts.map +0 -1
  77. package/esm/deps/deno.land/std@0.217.0/assert/assert.d.ts.map +0 -1
  78. package/esm/deps/deno.land/std@0.217.0/assert/assert_almost_equals.d.ts.map +0 -1
  79. package/esm/deps/deno.land/std@0.217.0/assert/assert_array_includes.d.ts.map +0 -1
  80. package/esm/deps/deno.land/std@0.217.0/assert/assert_equals.d.ts.map +0 -1
  81. package/esm/deps/deno.land/std@0.217.0/assert/assert_exists.d.ts.map +0 -1
  82. package/esm/deps/deno.land/std@0.217.0/assert/assert_false.d.ts.map +0 -1
  83. package/esm/deps/deno.land/std@0.217.0/assert/assert_greater.d.ts.map +0 -1
  84. package/esm/deps/deno.land/std@0.217.0/assert/assert_greater_or_equal.d.ts.map +0 -1
  85. package/esm/deps/deno.land/std@0.217.0/assert/assert_instance_of.d.ts.map +0 -1
  86. package/esm/deps/deno.land/std@0.217.0/assert/assert_is_error.d.ts.map +0 -1
  87. package/esm/deps/deno.land/std@0.217.0/assert/assert_less.d.ts.map +0 -1
  88. package/esm/deps/deno.land/std@0.217.0/assert/assert_less_or_equal.d.ts.map +0 -1
  89. package/esm/deps/deno.land/std@0.217.0/assert/assert_match.d.ts.map +0 -1
  90. package/esm/deps/deno.land/std@0.217.0/assert/assert_not_equals.d.ts.map +0 -1
  91. package/esm/deps/deno.land/std@0.217.0/assert/assert_not_instance_of.d.ts.map +0 -1
  92. package/esm/deps/deno.land/std@0.217.0/assert/assert_not_match.d.ts.map +0 -1
  93. package/esm/deps/deno.land/std@0.217.0/assert/assert_not_strict_equals.d.ts.map +0 -1
  94. package/esm/deps/deno.land/std@0.217.0/assert/assert_object_match.d.ts.map +0 -1
  95. package/esm/deps/deno.land/std@0.217.0/assert/assert_rejects.d.ts.map +0 -1
  96. package/esm/deps/deno.land/std@0.217.0/assert/assert_strict_equals.d.ts.map +0 -1
  97. package/esm/deps/deno.land/std@0.217.0/assert/assert_string_includes.d.ts.map +0 -1
  98. package/esm/deps/deno.land/std@0.217.0/assert/assert_throws.d.ts.map +0 -1
  99. package/esm/deps/deno.land/std@0.217.0/assert/assertion_error.d.ts.map +0 -1
  100. package/esm/deps/deno.land/std@0.217.0/assert/equal.d.ts.map +0 -1
  101. package/esm/deps/deno.land/std@0.217.0/assert/fail.d.ts.map +0 -1
  102. package/esm/deps/deno.land/std@0.217.0/assert/mod.d.ts.map +0 -1
  103. package/esm/deps/deno.land/std@0.217.0/assert/unimplemented.d.ts.map +0 -1
  104. package/esm/deps/deno.land/std@0.217.0/assert/unreachable.d.ts.map +0 -1
  105. package/esm/deps/deno.land/std@0.217.0/fmt/colors.d.ts.map +0 -1
  106. package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  107. package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  108. package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  109. package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  110. package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  111. package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  112. package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  113. package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  114. package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  115. package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  116. package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  117. package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  118. package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  119. package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  120. package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  121. package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  122. package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  123. package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  124. package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  125. package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  126. package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  127. package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  128. package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  129. package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  130. package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  131. package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  132. package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  133. package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  134. package/esm/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts.map +0 -1
  135. package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  136. package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  137. package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  138. package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  139. package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  140. package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  141. package/esm/deps/jsr.io/@std/testing/1.0.9/_test_suite.d.ts.map +0 -1
  142. package/esm/deps/jsr.io/@std/testing/1.0.9/bdd.d.ts.map +0 -1
  143. package/esm/mod.d.ts +0 -5
  144. package/esm/mod.d.ts.map +0 -1
  145. package/esm/mod.js +0 -4
  146. package/esm/package.json +0 -3
  147. package/esm/src/config/config_service.d.ts +0 -11
  148. package/esm/src/config/config_service.d.ts.map +0 -1
  149. package/esm/src/config/config_service.js +0 -19
  150. package/esm/src/config/index.d.ts +0 -2
  151. package/esm/src/config/index.d.ts.map +0 -1
  152. package/esm/src/config/index.js +0 -1
  153. package/esm/src/data/banks_tz.d.ts +0 -7
  154. package/esm/src/data/banks_tz.d.ts.map +0 -1
  155. package/esm/src/data/banks_tz.js +0 -197
  156. package/esm/src/data/countries.d.ts +0 -39
  157. package/esm/src/data/countries.d.ts.map +0 -1
  158. package/esm/src/data/countries.js +0 -2475
  159. package/esm/src/data/currencies.d.ts +0 -1901
  160. package/esm/src/data/currencies.d.ts.map +0 -1
  161. package/esm/src/data/currencies.js +0 -1073
  162. package/esm/src/data/phone_patterns.d.ts +0 -3809
  163. package/esm/src/data/phone_patterns.d.ts.map +0 -1
  164. package/esm/src/data/phone_patterns.js +0 -2325
  165. package/esm/src/models/amount/amount.d.ts +0 -53
  166. package/esm/src/models/amount/amount.d.ts.map +0 -1
  167. package/esm/src/models/amount/amount.js +0 -190
  168. package/esm/src/models/amount/amount.test.d.ts.map +0 -1
  169. package/esm/src/models/amount/antd_validator.d.ts +0 -40
  170. package/esm/src/models/amount/antd_validator.d.ts.map +0 -1
  171. package/esm/src/models/amount/antd_validator.js +0 -58
  172. package/esm/src/models/amount/antd_validator.test.d.ts.map +0 -1
  173. package/esm/src/models/amount/index.d.ts +0 -3
  174. package/esm/src/models/amount/index.d.ts.map +0 -1
  175. package/esm/src/models/amount/index.js +0 -2
  176. package/esm/src/models/bank/antd_validator.d.ts +0 -11
  177. package/esm/src/models/bank/antd_validator.d.ts.map +0 -1
  178. package/esm/src/models/bank/antd_validator.js +0 -26
  179. package/esm/src/models/bank/antd_validator.test.d.ts.map +0 -1
  180. package/esm/src/models/bank/bank.d.ts +0 -257
  181. package/esm/src/models/bank/bank.d.ts.map +0 -1
  182. package/esm/src/models/bank/bank.js +0 -450
  183. package/esm/src/models/bank/bank.test.d.ts.map +0 -1
  184. package/esm/src/models/bank/index.d.ts +0 -5
  185. package/esm/src/models/bank/index.d.ts.map +0 -1
  186. package/esm/src/models/bank/index.js +0 -4
  187. package/esm/src/models/bank/types.d.ts +0 -7
  188. package/esm/src/models/bank/types.d.ts.map +0 -1
  189. package/esm/src/models/bank/types.js +0 -45
  190. package/esm/src/models/bank/utils.d.ts +0 -8
  191. package/esm/src/models/bank/utils.d.ts.map +0 -1
  192. package/esm/src/models/bank/utils.js +0 -9
  193. package/esm/src/models/country/country.d.ts +0 -822
  194. package/esm/src/models/country/country.d.ts.map +0 -1
  195. package/esm/src/models/country/country.js +0 -737
  196. package/esm/src/models/country/country.test.d.ts.map +0 -1
  197. package/esm/src/models/country/index.d.ts +0 -4
  198. package/esm/src/models/country/index.d.ts.map +0 -1
  199. package/esm/src/models/country/index.js +0 -3
  200. package/esm/src/models/country/types.d.ts +0 -63
  201. package/esm/src/models/country/types.d.ts.map +0 -1
  202. package/esm/src/models/country/types.js +0 -105
  203. package/esm/src/models/country/utils.d.ts +0 -21
  204. package/esm/src/models/country/utils.d.ts.map +0 -1
  205. package/esm/src/models/country/utils.js +0 -25
  206. package/esm/src/models/currency/currency.d.ts +0 -465
  207. package/esm/src/models/currency/currency.d.ts.map +0 -1
  208. package/esm/src/models/currency/currency.js +0 -471
  209. package/esm/src/models/currency/currency.test.d.ts.map +0 -1
  210. package/esm/src/models/currency/index.d.ts +0 -4
  211. package/esm/src/models/currency/index.d.ts.map +0 -1
  212. package/esm/src/models/currency/index.js +0 -3
  213. package/esm/src/models/currency/types.d.ts +0 -21
  214. package/esm/src/models/currency/types.d.ts.map +0 -1
  215. package/esm/src/models/currency/types.js +0 -28
  216. package/esm/src/models/currency/utils.d.ts +0 -8
  217. package/esm/src/models/currency/utils.d.ts.map +0 -1
  218. package/esm/src/models/currency/utils.js +0 -9
  219. package/esm/src/models/index.d.ts.map +0 -1
  220. package/esm/src/models/index.js +0 -5
  221. package/esm/src/models/phone_number/format.d.ts +0 -13
  222. package/esm/src/models/phone_number/format.d.ts.map +0 -1
  223. package/esm/src/models/phone_number/format.js +0 -13
  224. package/esm/src/models/phone_number/global/phone_number.d.ts +0 -162
  225. package/esm/src/models/phone_number/global/phone_number.d.ts.map +0 -1
  226. package/esm/src/models/phone_number/global/phone_number.js +0 -459
  227. package/esm/src/models/phone_number/global/phone_number.test.d.ts.map +0 -1
  228. package/esm/src/models/phone_number/global/service.d.ts +0 -267
  229. package/esm/src/models/phone_number/global/service.d.ts.map +0 -1
  230. package/esm/src/models/phone_number/global/service.js +0 -498
  231. package/esm/src/models/phone_number/global/service.test.d.ts.map +0 -1
  232. package/esm/src/models/phone_number/index.d.ts +0 -6
  233. package/esm/src/models/phone_number/index.d.ts.map +0 -1
  234. package/esm/src/models/phone_number/index.js +0 -5
  235. package/esm/src/models/phone_number/tz/antd_validator.d.ts +0 -77
  236. package/esm/src/models/phone_number/tz/antd_validator.d.ts.map +0 -1
  237. package/esm/src/models/phone_number/tz/antd_validator.js +0 -90
  238. package/esm/src/models/phone_number/tz/antdvalidator.test.d.ts.map +0 -1
  239. package/esm/src/models/phone_number/tz/network_operator.d.ts +0 -30
  240. package/esm/src/models/phone_number/tz/network_operator.d.ts.map +0 -1
  241. package/esm/src/models/phone_number/tz/network_operator.js +0 -47
  242. package/esm/src/models/phone_number/tz/phone_number.d.ts +0 -141
  243. package/esm/src/models/phone_number/tz/phone_number.d.ts.map +0 -1
  244. package/esm/src/models/phone_number/tz/phone_number.js +0 -290
  245. package/esm/src/models/phone_number/tz/phone_number.test.d.ts.map +0 -1
  246. package/esm/src/reports/index.d.ts +0 -2
  247. package/esm/src/reports/index.d.ts.map +0 -1
  248. package/esm/src/reports/index.js +0 -1
  249. package/esm/src/reports/report_manager.d.ts +0 -146
  250. package/esm/src/reports/report_manager.d.ts.map +0 -1
  251. package/esm/src/reports/report_manager.js +0 -326
  252. package/esm/src/utils/id.d.ts +0 -12
  253. package/esm/src/utils/id.d.ts.map +0 -1
  254. package/esm/src/utils/id.js +0 -19
  255. package/esm/src/utils/index.d.ts +0 -4
  256. package/esm/src/utils/index.d.ts.map +0 -1
  257. package/esm/src/utils/text.d.ts +0 -32
  258. package/esm/src/utils/text.d.ts.map +0 -1
  259. package/esm/src/utils/text.js +0 -68
  260. package/esm/src/utils/text.test.d.ts.map +0 -1
  261. package/esm/src/utils/time.d.ts +0 -21
  262. package/esm/src/utils/time.d.ts.map +0 -1
  263. package/esm/src/utils/time.js +0 -34
  264. package/script/_dnt.test_shims.d.ts.map +0 -1
  265. package/script/deps/deno.land/std@0.217.0/assert/_constants.d.ts.map +0 -1
  266. package/script/deps/deno.land/std@0.217.0/assert/_diff.d.ts.map +0 -1
  267. package/script/deps/deno.land/std@0.217.0/assert/_format.d.ts.map +0 -1
  268. package/script/deps/deno.land/std@0.217.0/assert/assert.d.ts.map +0 -1
  269. package/script/deps/deno.land/std@0.217.0/assert/assert_almost_equals.d.ts.map +0 -1
  270. package/script/deps/deno.land/std@0.217.0/assert/assert_array_includes.d.ts.map +0 -1
  271. package/script/deps/deno.land/std@0.217.0/assert/assert_equals.d.ts.map +0 -1
  272. package/script/deps/deno.land/std@0.217.0/assert/assert_exists.d.ts.map +0 -1
  273. package/script/deps/deno.land/std@0.217.0/assert/assert_false.d.ts.map +0 -1
  274. package/script/deps/deno.land/std@0.217.0/assert/assert_greater.d.ts.map +0 -1
  275. package/script/deps/deno.land/std@0.217.0/assert/assert_greater_or_equal.d.ts.map +0 -1
  276. package/script/deps/deno.land/std@0.217.0/assert/assert_instance_of.d.ts.map +0 -1
  277. package/script/deps/deno.land/std@0.217.0/assert/assert_is_error.d.ts.map +0 -1
  278. package/script/deps/deno.land/std@0.217.0/assert/assert_less.d.ts.map +0 -1
  279. package/script/deps/deno.land/std@0.217.0/assert/assert_less_or_equal.d.ts.map +0 -1
  280. package/script/deps/deno.land/std@0.217.0/assert/assert_match.d.ts.map +0 -1
  281. package/script/deps/deno.land/std@0.217.0/assert/assert_not_equals.d.ts.map +0 -1
  282. package/script/deps/deno.land/std@0.217.0/assert/assert_not_instance_of.d.ts.map +0 -1
  283. package/script/deps/deno.land/std@0.217.0/assert/assert_not_match.d.ts.map +0 -1
  284. package/script/deps/deno.land/std@0.217.0/assert/assert_not_strict_equals.d.ts.map +0 -1
  285. package/script/deps/deno.land/std@0.217.0/assert/assert_object_match.d.ts.map +0 -1
  286. package/script/deps/deno.land/std@0.217.0/assert/assert_rejects.d.ts.map +0 -1
  287. package/script/deps/deno.land/std@0.217.0/assert/assert_strict_equals.d.ts.map +0 -1
  288. package/script/deps/deno.land/std@0.217.0/assert/assert_string_includes.d.ts.map +0 -1
  289. package/script/deps/deno.land/std@0.217.0/assert/assert_throws.d.ts.map +0 -1
  290. package/script/deps/deno.land/std@0.217.0/assert/assertion_error.d.ts.map +0 -1
  291. package/script/deps/deno.land/std@0.217.0/assert/equal.d.ts.map +0 -1
  292. package/script/deps/deno.land/std@0.217.0/assert/fail.d.ts.map +0 -1
  293. package/script/deps/deno.land/std@0.217.0/assert/mod.d.ts.map +0 -1
  294. package/script/deps/deno.land/std@0.217.0/assert/unimplemented.d.ts.map +0 -1
  295. package/script/deps/deno.land/std@0.217.0/assert/unreachable.d.ts.map +0 -1
  296. package/script/deps/deno.land/std@0.217.0/fmt/colors.d.ts.map +0 -1
  297. package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
  298. package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
  299. package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
  300. package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
  301. package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
  302. package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
  303. package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
  304. package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
  305. package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
  306. package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
  307. package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
  308. package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
  309. package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
  310. package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
  311. package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
  312. package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
  313. package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
  314. package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
  315. package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
  316. package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
  317. package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
  318. package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
  319. package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
  320. package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
  321. package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
  322. package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
  323. package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
  324. package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
  325. package/script/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts.map +0 -1
  326. package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
  327. package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
  328. package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
  329. package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
  330. package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
  331. package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
  332. package/script/deps/jsr.io/@std/testing/1.0.9/_test_suite.d.ts.map +0 -1
  333. package/script/deps/jsr.io/@std/testing/1.0.9/bdd.d.ts.map +0 -1
  334. package/script/mod.d.ts +0 -5
  335. package/script/mod.d.ts.map +0 -1
  336. package/script/mod.js +0 -20
  337. package/script/package.json +0 -3
  338. package/script/src/config/config_service.d.ts +0 -11
  339. package/script/src/config/config_service.d.ts.map +0 -1
  340. package/script/src/config/config_service.js +0 -23
  341. package/script/src/config/index.d.ts +0 -2
  342. package/script/src/config/index.d.ts.map +0 -1
  343. package/script/src/config/index.js +0 -17
  344. package/script/src/data/banks_tz.d.ts +0 -7
  345. package/script/src/data/banks_tz.d.ts.map +0 -1
  346. package/script/src/data/banks_tz.js +0 -199
  347. package/script/src/data/countries.d.ts +0 -39
  348. package/script/src/data/countries.d.ts.map +0 -1
  349. package/script/src/data/countries.js +0 -2477
  350. package/script/src/data/currencies.d.ts +0 -1901
  351. package/script/src/data/currencies.d.ts.map +0 -1
  352. package/script/src/data/currencies.js +0 -1075
  353. package/script/src/data/phone_patterns.d.ts +0 -3809
  354. package/script/src/data/phone_patterns.d.ts.map +0 -1
  355. package/script/src/data/phone_patterns.js +0 -2327
  356. package/script/src/models/amount/amount.d.ts +0 -53
  357. package/script/src/models/amount/amount.d.ts.map +0 -1
  358. package/script/src/models/amount/amount.js +0 -194
  359. package/script/src/models/amount/amount.test.d.ts.map +0 -1
  360. package/script/src/models/amount/antd_validator.d.ts +0 -40
  361. package/script/src/models/amount/antd_validator.d.ts.map +0 -1
  362. package/script/src/models/amount/antd_validator.js +0 -62
  363. package/script/src/models/amount/antd_validator.test.d.ts.map +0 -1
  364. package/script/src/models/amount/index.d.ts +0 -3
  365. package/script/src/models/amount/index.d.ts.map +0 -1
  366. package/script/src/models/amount/index.js +0 -18
  367. package/script/src/models/bank/antd_validator.d.ts +0 -11
  368. package/script/src/models/bank/antd_validator.d.ts.map +0 -1
  369. package/script/src/models/bank/antd_validator.js +0 -30
  370. package/script/src/models/bank/antd_validator.test.d.ts.map +0 -1
  371. package/script/src/models/bank/bank.d.ts +0 -257
  372. package/script/src/models/bank/bank.d.ts.map +0 -1
  373. package/script/src/models/bank/bank.js +0 -458
  374. package/script/src/models/bank/bank.test.d.ts.map +0 -1
  375. package/script/src/models/bank/index.d.ts +0 -5
  376. package/script/src/models/bank/index.d.ts.map +0 -1
  377. package/script/src/models/bank/index.js +0 -20
  378. package/script/src/models/bank/types.d.ts +0 -7
  379. package/script/src/models/bank/types.d.ts.map +0 -1
  380. package/script/src/models/bank/types.js +0 -48
  381. package/script/src/models/bank/utils.d.ts +0 -8
  382. package/script/src/models/bank/utils.d.ts.map +0 -1
  383. package/script/src/models/bank/utils.js +0 -12
  384. package/script/src/models/country/country.d.ts +0 -822
  385. package/script/src/models/country/country.d.ts.map +0 -1
  386. package/script/src/models/country/country.js +0 -745
  387. package/script/src/models/country/country.test.d.ts.map +0 -1
  388. package/script/src/models/country/index.d.ts +0 -4
  389. package/script/src/models/country/index.d.ts.map +0 -1
  390. package/script/src/models/country/index.js +0 -19
  391. package/script/src/models/country/types.d.ts.map +0 -1
  392. package/script/src/models/country/types.js +0 -108
  393. package/script/src/models/country/utils.d.ts +0 -21
  394. package/script/src/models/country/utils.d.ts.map +0 -1
  395. package/script/src/models/country/utils.js +0 -30
  396. package/script/src/models/currency/currency.d.ts +0 -465
  397. package/script/src/models/currency/currency.d.ts.map +0 -1
  398. package/script/src/models/currency/currency.js +0 -479
  399. package/script/src/models/currency/currency.test.d.ts.map +0 -1
  400. package/script/src/models/currency/index.d.ts +0 -4
  401. package/script/src/models/currency/index.d.ts.map +0 -1
  402. package/script/src/models/currency/index.js +0 -19
  403. package/script/src/models/currency/types.d.ts.map +0 -1
  404. package/script/src/models/currency/types.js +0 -31
  405. package/script/src/models/currency/utils.d.ts +0 -8
  406. package/script/src/models/currency/utils.d.ts.map +0 -1
  407. package/script/src/models/currency/utils.js +0 -12
  408. package/script/src/models/index.d.ts +0 -6
  409. package/script/src/models/index.d.ts.map +0 -1
  410. package/script/src/models/index.js +0 -21
  411. package/script/src/models/phone_number/format.d.ts +0 -13
  412. package/script/src/models/phone_number/format.d.ts.map +0 -1
  413. package/script/src/models/phone_number/format.js +0 -16
  414. package/script/src/models/phone_number/global/phone_number.d.ts +0 -162
  415. package/script/src/models/phone_number/global/phone_number.d.ts.map +0 -1
  416. package/script/src/models/phone_number/global/phone_number.js +0 -463
  417. package/script/src/models/phone_number/global/phone_number.test.d.ts.map +0 -1
  418. package/script/src/models/phone_number/global/service.d.ts +0 -267
  419. package/script/src/models/phone_number/global/service.d.ts.map +0 -1
  420. package/script/src/models/phone_number/global/service.js +0 -506
  421. package/script/src/models/phone_number/global/service.test.d.ts.map +0 -1
  422. package/script/src/models/phone_number/index.d.ts +0 -6
  423. package/script/src/models/phone_number/index.d.ts.map +0 -1
  424. package/script/src/models/phone_number/index.js +0 -21
  425. package/script/src/models/phone_number/tz/antd_validator.d.ts +0 -77
  426. package/script/src/models/phone_number/tz/antd_validator.d.ts.map +0 -1
  427. package/script/src/models/phone_number/tz/antd_validator.js +0 -94
  428. package/script/src/models/phone_number/tz/antdvalidator.test.d.ts.map +0 -1
  429. package/script/src/models/phone_number/tz/network_operator.d.ts +0 -30
  430. package/script/src/models/phone_number/tz/network_operator.d.ts.map +0 -1
  431. package/script/src/models/phone_number/tz/network_operator.js +0 -50
  432. package/script/src/models/phone_number/tz/phone_number.d.ts +0 -141
  433. package/script/src/models/phone_number/tz/phone_number.d.ts.map +0 -1
  434. package/script/src/models/phone_number/tz/phone_number.js +0 -294
  435. package/script/src/models/phone_number/tz/phone_number.test.d.ts.map +0 -1
  436. package/script/src/reports/index.d.ts +0 -2
  437. package/script/src/reports/index.d.ts.map +0 -1
  438. package/script/src/reports/index.js +0 -17
  439. package/script/src/reports/report_manager.d.ts +0 -146
  440. package/script/src/reports/report_manager.d.ts.map +0 -1
  441. package/script/src/reports/report_manager.js +0 -336
  442. package/script/src/utils/id.d.ts.map +0 -1
  443. package/script/src/utils/id.js +0 -23
  444. package/script/src/utils/index.d.ts +0 -4
  445. package/script/src/utils/index.d.ts.map +0 -1
  446. package/script/src/utils/index.js +0 -19
  447. package/script/src/utils/text.d.ts +0 -32
  448. package/script/src/utils/text.d.ts.map +0 -1
  449. package/script/src/utils/text.js +0 -75
  450. package/script/src/utils/text.test.d.ts.map +0 -1
  451. package/script/src/utils/time.d.ts.map +0 -1
  452. package/script/src/utils/time.js +0 -39
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+ export declare const TZBankSWIFTCodeSchema: z.ZodEffects<z.ZodString, string, string>;
3
+ export declare const KEBankSWIFTCodeSchema: z.ZodEffects<z.ZodString, string, string>;
4
+ /**
5
+ * Zod schema for Bank JSON serialization
6
+ * This schema validates the JSON representation of a Bank instance
7
+ */
8
+ export declare const BankJSONSchema: z.ZodEffects<z.ZodObject<{
9
+ /** The BIC code for the bank's head office */
10
+ bic: z.ZodOptional<z.ZodString>;
11
+ /**
12
+ * @deprecated Use `bic` instead.
13
+ */
14
+ swiftCode: z.ZodOptional<z.ZodString>;
15
+ /** The ISO 3166-1 alpha-2 country code */
16
+ countryCode: z.ZodString;
17
+ /** Version for future compatibility */
18
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ version: string;
21
+ countryCode: string;
22
+ bic?: string | undefined;
23
+ swiftCode?: string | undefined;
24
+ }, {
25
+ countryCode: string;
26
+ version?: string | undefined;
27
+ bic?: string | undefined;
28
+ swiftCode?: string | undefined;
29
+ }>, {
30
+ version: string;
31
+ countryCode: string;
32
+ bic?: string | undefined;
33
+ swiftCode?: string | undefined;
34
+ }, {
35
+ countryCode: string;
36
+ version?: string | undefined;
37
+ bic?: string | undefined;
38
+ swiftCode?: string | undefined;
39
+ }>;
@@ -0,0 +1,9 @@
1
+ export declare const KEBankSwiftCodesSet: Set<string>;
2
+ export declare const TZBankSwiftCodesSet: Set<string>;
3
+ export type KEBankSwiftCode = "ABNGKENA" | "ABCLKENA" | "AFRIKENX" | "BARBKENA" | "CRMFKENA" | "CHFIKENX" | "CITIKENA" | "KCOOKENA" | "MYBKKENA" | "CONKKENA" | "CRBTKENA" | "DEVKKENA" | "DTKEKENA" | "DUIBKENA" | "ECOCKENA" | "EQBLKENA" | "FABLKENA" | "FAUMKENA" | "GTBIKENA" | "GUARKENA" | "GAFRKENA" | "HBZUKENA" | "HFCOKENA" | "IMBLKENA" | "KWMIKENX" | "CIFIKENA" | "MORBKENA" | "MIEKKENA" | "NBKEKENX" | "CBAFKENX" | "PAUTKENA" | "IFCBKENA" | "PRIEKENX" | "SBMKKENA" | "SIDNKENA" | "SBICKENX" | "SCBLKENX" | "VICMKENA";
4
+ export type TZBankSwiftCode = "CORUTZTZ" | "PBZATZTZ" | "SCBLTZTX" | "SBICTZTX" | "CITITZTZ" | "EUAFTZTZ" | "DTKETZTZ" | "AKCOTZTZ" | "EXTNTZTZ" | "KLMJTZTZ" | "NLCBTZTX" | "NMIBTZTZ" | "KCBLTZTZ" | "HABLTZTZ" | "BKMYTZTZ" | "BARCTZTZ" | "IMBLTZTZ" | "CBAFTZTZ" | "DASUTZTZ" | "BARBTZTZ" | "AZANTZTZ" | "UCCTTZTZ" | "FMBZTZTX" | "ACTZTZTZ" | "BKIDTZTZ" | "UNAFTZTZ" | "MKCBTZTZ" | "ECOCTZTZ" | "MWCBTZTZ" | "FIRNTZTX" | "AMNNTZTZ" | "EQBLTZTZ" | "TAPBTZTZ" | "MBTLTZTZ" | "CNRBTZTZ" | "MWCOTZTZ" | "GTBITZTZ" | "YETMTZTZ" | "CDSHTZTZ";
5
+ export type BankSwiftCode = KEBankSwiftCode | TZBankSwiftCode;
6
+ /**
7
+ * Type guard to check whether a string is a known bank SWIFT/BIC code.
8
+ */
9
+ export declare function isBankSwiftCode(code: string): code is BankSwiftCode;
@@ -0,0 +1,4 @@
1
+ export * from "./bank.js";
2
+ export * from "./bank.types.js";
3
+ export { BankHelpers } from "./bank.helpers.js";
4
+ export * from "./bank.schema.js";
@@ -0,0 +1,40 @@
1
+ import { ChannelType, TransactionDirection } from "./channel.enums.js";
2
+ import type { ChannelData } from "./channel.types.js";
3
+ /**
4
+ * Plain-object representation of a Channel containing the full state.
5
+ */
6
+ export interface ChannelObject extends ChannelData {
7
+ channelType: ChannelType;
8
+ }
9
+ /**
10
+ * Normalized payment channel returned by TemboCoverage.
11
+ *
12
+ * A channel can be a bank or a mobile-money provider. The common shape lets
13
+ * consumers list payout and collection options without branching on every model.
14
+ */
15
+ export declare class Channel {
16
+ readonly id: string;
17
+ readonly type: ChannelType;
18
+ readonly countryCode: ChannelData["countryCode"];
19
+ readonly displayName: string;
20
+ readonly directions: TransactionDirection[];
21
+ readonly providerId?: string;
22
+ readonly bankBic?: string;
23
+ /**
24
+ * Creates an immutable channel value from bank or provider coverage data.
25
+ */
26
+ constructor(data: ChannelData);
27
+ /**
28
+ * Checks whether this channel supports a requested transaction direction.
29
+ */
30
+ supportsDirection(direction: TransactionDirection): boolean;
31
+ /**
32
+ * Alias for callers that prefer the explicit coverage naming.
33
+ */
34
+ get channelType(): ChannelType;
35
+ /**
36
+ * Returns a serializable representation for UI lists or API payload assembly.
37
+ */
38
+ toObject(): ChannelObject;
39
+ toString(): string;
40
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Supported payment channel categories.
3
+ */
4
+ export declare enum ChannelType {
5
+ BANK = "bank",
6
+ MOBILE_MONEY = "mobile_money"
7
+ }
8
+ /**
9
+ * Transaction flows supported by Tembo coverage data.
10
+ */
11
+ export declare enum TransactionDirection {
12
+ PAYOUT = "payout",
13
+ COLLECTION = "collection"
14
+ }
@@ -0,0 +1,12 @@
1
+ import type { ISO2CountryCode } from "@domain/country/country.types.js";
2
+ import type { BankSwiftCode } from "@domain/bank/bank.types.js";
3
+ import type { ChannelType, TransactionDirection } from "./channel.enums.js";
4
+ export interface ChannelData {
5
+ id: string;
6
+ type: ChannelType;
7
+ countryCode: ISO2CountryCode;
8
+ displayName: string;
9
+ directions: TransactionDirection[];
10
+ providerId?: string;
11
+ bankBic?: BankSwiftCode | string;
12
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./channel.enums.js";
2
+ export * from "./channel.types.js";
3
+ export * from "./channel.js";
@@ -0,0 +1,73 @@
1
+ import type { CurrencyCode } from "@domain/currency/currency.types.js";
2
+ import { z } from "zod";
3
+ import { CountryJSONSchema } from "./country.schema.js";
4
+ import type { CountryCode, ISO2CountryCode, ISO3CountryCode } from "./country.types.js";
5
+ import { CONTINENT, SUB_REGION } from "./country.enums.js";
6
+ export { CONTINENT, SUB_REGION } from "./country.enums.js";
7
+ /**
8
+ * Internal symbol used by CountryFactory to bypass the protected constructor.
9
+ * Importing this from outside the factory is unsupported.
10
+ */
11
+ export declare const CountryConstructorToken: unique symbol;
12
+ /**
13
+ * Compact JSON identity for a Country, sufficient to re-resolve the canonical
14
+ * record via CountryRegistry.
15
+ */
16
+ export type CountryJSON = z.infer<typeof CountryJSONSchema>;
17
+ /**
18
+ * Plain-object representation of a Country containing the full state.
19
+ */
20
+ export interface CountryObject {
21
+ code: ISO2CountryCode;
22
+ iso3: ISO3CountryCode;
23
+ name: string;
24
+ nameOfficial: string;
25
+ flagEmoji: string;
26
+ continent: CONTINENT;
27
+ region: SUB_REGION;
28
+ currencyCode: CurrencyCode | null;
29
+ dialCode: number;
30
+ }
31
+ /**
32
+ * Pure value object representing a country. Lookups, validation, and factories
33
+ * live on CountryRegistry; the static methods on this class are thin delegations
34
+ * for ergonomic call sites.
35
+ */
36
+ export declare class Country {
37
+ private readonly _name;
38
+ private readonly _iso2;
39
+ private readonly _nameOfficial;
40
+ private readonly _iso3;
41
+ private readonly _flagEmoji;
42
+ private readonly _continent;
43
+ private readonly _region;
44
+ private readonly _currencyCode;
45
+ private readonly _dialCode;
46
+ constructor(token: symbol, _name: string, _iso2: ISO2CountryCode, _nameOfficial: string, _iso3: ISO3CountryCode, _flagEmoji: string, _continent: CONTINENT, _region: SUB_REGION, _currencyCode: CurrencyCode | null, _dialCode: number);
47
+ get name(): string;
48
+ get code(): ISO2CountryCode;
49
+ get nameOfficial(): string;
50
+ get iso3(): ISO3CountryCode;
51
+ get flagEmoji(): string;
52
+ get continent(): CONTINENT;
53
+ get region(): SUB_REGION;
54
+ get currencyCode(): CurrencyCode | null;
55
+ get dialCode(): number;
56
+ /** Human-readable label, e.g. "Tanzania (TZ)". */
57
+ toString(): string;
58
+ /** Detailed label including flag and ISO-3 code. */
59
+ toDetailedString(): string;
60
+ /** Compact JSON identity for serialization. */
61
+ toJSON(): CountryJSON;
62
+ toJSONString(): string;
63
+ /** Full plain-object dump of all current state. */
64
+ toObject(): CountryObject;
65
+ /** Resolves a Country by its ISO-2 or ISO-3 code (case-insensitive). */
66
+ static fromCode(code: CountryCode | string): Country | undefined;
67
+ /** Re-resolves a Country from its compact JSON identity. */
68
+ static fromJSON(json: CountryJSON | string): Country | undefined;
69
+ /** Re-resolves a Country from a JSON string. */
70
+ static fromJSONString(jsonString: string): Country | undefined;
71
+ /** Type guard delegating to CountryFactory.isCountry. */
72
+ static is(obj: unknown): obj is Country;
73
+ }
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Continents as represented in the country dataset.
3
+ *
4
+ * This enum lives in its own module so factories and registries can import it
5
+ * without going through `country.ts`. Importing enums from `country.ts` while
6
+ * `country.ts` still imports the factory creates a module-init-time cycle
7
+ * (the factory module evaluates before `country.ts` finishes declaring its
8
+ * exports), which leaves the enum reference `undefined` when used in `const`
9
+ * initializers.
10
+ */
11
+ export declare enum CONTINENT {
12
+ AFRICA = "Africa",
13
+ ANTARCTICA = "Antarctica",
14
+ ASIA = "Asia",
15
+ EUROPE = "Europe",
16
+ NORTH_AMERICA = "North America",
17
+ OCEANIA = "Oceania",
18
+ SOUTH_AMERICA = "South America"
19
+ }
20
+ /**
21
+ * UN sub-regions as represented in the country dataset.
22
+ */
23
+ export declare enum SUB_REGION {
24
+ AUSTRALIA_AND_NEW_ZEALAND = "Australia and New Zealand",
25
+ CARIBBEAN = "Caribbean",
26
+ CENTRAL_AMERICA = "Central America",
27
+ CENTRAL_ASIA = "Central Asia",
28
+ EASTERN_AFRICA = "Eastern Africa",
29
+ EASTERN_ASIA = "Eastern Asia",
30
+ EASTERN_EUROPE = "Eastern Europe",
31
+ MELANESIA = "Melanesia",
32
+ MICRONESIA = "Micronesia",
33
+ MIDDLE_AFRICA = "Middle Africa",
34
+ NORTHERN_AFRICA = "Northern Africa",
35
+ NORTHERN_AMERICA = "Northern America",
36
+ NORTHERN_EUROPE = "Northern Europe",
37
+ POLYNESIA = "Polynesia",
38
+ SOUTH_EASTERN_ASIA = "South-eastern Asia",
39
+ SOUTHERN_AFRICA = "Southern Africa",
40
+ SOUTHERN_ASIA = "Southern Asia",
41
+ SOUTHERN_EUROPE = "Southern Europe",
42
+ WESTERN_AFRICA = "Western Africa",
43
+ WESTERN_ASIA = "Western Asia",
44
+ WESTERN_EUROPE = "Western Europe"
45
+ }
@@ -0,0 +1,6 @@
1
+ import { isCountryCode, isISO2CountryCode, isISO3CountryCode } from "./country.types.js";
2
+ export declare const CountryHelpers: {
3
+ isISO2Code: typeof isISO2CountryCode;
4
+ isISO3Code: typeof isISO3CountryCode;
5
+ isCountryCode: typeof isCountryCode;
6
+ };
@@ -0,0 +1,73 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Zod schema for Country JSON serialization
4
+ * This schema validates the JSON representation of a Country instance
5
+ */
6
+ export declare const CountryJSONSchema: z.ZodObject<{
7
+ /** The ISO 3166-1 alpha-2 country code */
8
+ code: z.ZodString;
9
+ /** Version for future compatibility */
10
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ code: string;
13
+ version: string;
14
+ }, {
15
+ code: string;
16
+ version?: string | undefined;
17
+ }>;
18
+ /**
19
+ * Zod schema for validating ISO 3166-1 alpha-2 country codes.
20
+ *
21
+ * This schema checks if a given string is a valid ISO 3166-1 alpha-2 country code
22
+ * by checking against the predefined set of valid codes.
23
+ *
24
+ * @example
25
+ * const result = iso2CountryCodeSchema.safeParse("US");
26
+ * if (result.success) {
27
+ * console.log("Valid ISO2 country code");
28
+ * } else {
29
+ * console.error("Invalid ISO2 country code");
30
+ * }
31
+ */
32
+ export declare const ISO2CountryCodeSchema: z.ZodEffects<z.ZodString, string, string>;
33
+ /**
34
+ * Zod schema for validating ISO 3166-1 alpha-3 country codes.
35
+ *
36
+ * This schema checks if a given string is a valid ISO 3166-1 alpha-3 country code
37
+ * by checking against the predefined set of valid codes.
38
+ *
39
+ * @example
40
+ * const result = iso3CountryCodeSchema.safeParse("USA");
41
+ * if (result.success) {
42
+ * console.log("Valid ISO3 country code");
43
+ * } else {
44
+ * console.error("Invalid ISO3 country code");
45
+ * }
46
+ */
47
+ export declare const ISO3CountryCodeSchema: z.ZodEffects<z.ZodString, string, string>;
48
+ /**
49
+ * Zod schema for validating either ISO 3166-1 alpha-2 or alpha-3 country codes.
50
+ *
51
+ * This schema allows for flexibility in accepting both two-letter and three-letter
52
+ * country codes, making it useful for functions that need to handle both formats.
53
+ *
54
+ * @example
55
+ * const result = countryCodeSchema.safeParse("US");
56
+ * if (result.success) {
57
+ * console.log("Valid country code");
58
+ * } else {
59
+ * console.error("Invalid country code");
60
+ * }
61
+ */
62
+ export declare const CountryCodeSchema: z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodEffects<z.ZodString, string, string>, z.ZodObject<{
63
+ /** The ISO 3166-1 alpha-2 country code */
64
+ code: z.ZodString;
65
+ /** Version for future compatibility */
66
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ code: string;
69
+ version: string;
70
+ }, {
71
+ code: string;
72
+ version?: string | undefined;
73
+ }>]>;
@@ -60,4 +60,21 @@ export declare const ISO3CountryCodesSet: Set<string>;
60
60
  * @see ISO3CountryCode - For three-letter country codes only
61
61
  */
62
62
  export type CountryCode = ISO2CountryCode | ISO3CountryCode;
63
- //# sourceMappingURL=types.d.ts.map
63
+ /**
64
+ * Type guard to check if a string is a valid ISO2CountryCode.
65
+ * @param code The string to check.
66
+ * @returns True if the string is a member of the ISO2CountryCode union type, false otherwise.
67
+ */
68
+ export declare function isISO2CountryCode(code: string): code is ISO2CountryCode;
69
+ /**
70
+ * Type guard to check if a string is a valid ISO3CountryCode.
71
+ * @param code The string to check.
72
+ * @returns True if the string is a member of the ISO3CountryCode union type, false otherwise.
73
+ */
74
+ export declare function isISO3CountryCode(code: string): code is ISO3CountryCode;
75
+ /**
76
+ * Type guard to check if a string is a valid CountryCode.
77
+ * @param code The string to check.
78
+ * @returns True if the string is a valid ISO-2 or ISO-3 country code.
79
+ */
80
+ export declare function isCountryCode(code: string): code is CountryCode;
@@ -0,0 +1,4 @@
1
+ export * from "./country.js";
2
+ export * from "./country.types.js";
3
+ export { CountryHelpers } from "./country.helpers.js";
4
+ export * from "./country.schema.js";
@@ -0,0 +1,62 @@
1
+ import type { CurrencyCode } from "./currency.types.js";
2
+ import { z } from "zod";
3
+ import { CurrencyJSONSchema } from "./currency.schema.js";
4
+ /**
5
+ * Internal symbol used by CurrencyFactory to bypass the protected constructor.
6
+ * Importing this from outside the factory is unsupported.
7
+ */
8
+ export declare const CurrencyConstructorToken: unique symbol;
9
+ /**
10
+ * Compact JSON identity for a Currency, sufficient to re-resolve the canonical
11
+ * record via CurrencyRegistry.
12
+ */
13
+ export type CurrencyJSON = z.infer<typeof CurrencyJSONSchema>;
14
+ /**
15
+ * Plain-object representation of a Currency containing the full state.
16
+ */
17
+ export interface CurrencyObject {
18
+ code: CurrencyCode;
19
+ name: string;
20
+ namePlural: string;
21
+ symbol: string;
22
+ symbolNative: string;
23
+ decimalDigits: number;
24
+ rounding: number;
25
+ }
26
+ /**
27
+ * Pure value object representing an ISO 4217 currency. Lookups, validation, and
28
+ * lookups live on CurrencyRegistry; the static methods on this class are thin
29
+ * delegations for ergonomic call sites.
30
+ */
31
+ export declare class Currency {
32
+ private readonly _symbol;
33
+ private readonly _name;
34
+ private readonly _symbolNative;
35
+ private readonly _decimalDigits;
36
+ private readonly _rounding;
37
+ private readonly _code;
38
+ private readonly _namePlural;
39
+ constructor(token: symbol, _symbol: string, _name: string, _symbolNative: string, _decimalDigits: number, _rounding: number, _code: CurrencyCode, _namePlural: string);
40
+ get symbol(): string;
41
+ get name(): string;
42
+ get symbolNative(): string;
43
+ get decimalDigits(): number;
44
+ get rounding(): number;
45
+ get code(): CurrencyCode;
46
+ get namePlural(): string;
47
+ /** Human-readable label, e.g. "US Dollar (USD)". */
48
+ toString(): string;
49
+ /** Compact JSON identity for serialization. */
50
+ toJSON(): CurrencyJSON;
51
+ toJSONString(): string;
52
+ /** Full plain-object dump of all current state. */
53
+ toObject(): CurrencyObject;
54
+ /** Resolves a Currency by ISO 4217 code (case-insensitive). */
55
+ static fromCode(code: CurrencyCode | string): Currency | undefined;
56
+ /** Re-resolves a Currency from its compact JSON identity. */
57
+ static fromJSON(json: CurrencyJSON | string): Currency | undefined;
58
+ /** Re-resolves a Currency from a JSON string. */
59
+ static fromJSONString(jsonString: string): Currency | undefined;
60
+ /** Type guard delegating to CurrencyFactory.isCurrency. */
61
+ static is(obj: unknown): obj is Currency;
62
+ }
@@ -0,0 +1,4 @@
1
+ import { isCurrencyCode } from "./currency.types.js";
2
+ export declare const CurrencyHelpers: {
3
+ isCode: typeof isCurrencyCode;
4
+ };
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Zod schema for validating ISO 4217 currency codes
4
+ *
5
+ * This schema checks if the provided string is a valid ISO 4217 currency code.
6
+ * If the validation fails, it returns an error message.
7
+ */
8
+ export declare const CurrencyCodeSchema: z.ZodEffects<z.ZodString, string, string>;
9
+ /**
10
+ * Zod schema for Currency JSON serialization
11
+ * This schema validates the JSON representation of a Currency instance
12
+ */
13
+ export declare const CurrencyJSONSchema: z.ZodObject<{
14
+ /** The ISO 4217 currency code */
15
+ code: z.ZodString;
16
+ /** Version for future compatibility */
17
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
18
+ }, "strip", z.ZodTypeAny, {
19
+ code: string;
20
+ version: string;
21
+ }, {
22
+ code: string;
23
+ version?: string | undefined;
24
+ }>;
@@ -17,5 +17,10 @@
17
17
  * Example: "USD" for US Dollar, "EUR" for Euro, "JPY" for Japanese Yen
18
18
  */
19
19
  export type CurrencyCode = "USD" | "CAD" | "EUR" | "AED" | "AFN" | "ALL" | "AMD" | "ARS" | "AUD" | "AZN" | "BAM" | "BDT" | "BGN" | "BHD" | "BIF" | "BND" | "BOB" | "BRL" | "BWP" | "BYN" | "BZD" | "CDF" | "CHF" | "CLP" | "CNY" | "COP" | "CRC" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "GBP" | "GEL" | "GHS" | "GNF" | "GTQ" | "HKD" | "HNL" | "HRK" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KHR" | "KMF" | "KRW" | "KWD" | "KZT" | "LBP" | "LKR" | "LYD" | "MAD" | "MDL" | "MGA" | "MKD" | "MMK" | "MOP" | "MUR" | "MXN" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SDG" | "SEK" | "SGD" | "SOS" | "SSP" | "SYP" | "THB" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "UYU" | "UZS" | "VES" | "VND" | "XAF" | "XOF" | "YER" | "ZAR" | "ZMW" | "STN" | "MRU" | "ZWG";
20
- export declare const ValidCurrencyCodesSet: Set<CurrencyCode>;
21
- //# sourceMappingURL=types.d.ts.map
20
+ export declare const CurrencyCodesSet: Set<CurrencyCode>;
21
+ /**
22
+ * Type guard to check if a string is a valid CurrencyCode.
23
+ * @param code The string to check.
24
+ * @returns True if the string is a member of the CurrencyCode union type, false otherwise.
25
+ */
26
+ export declare function isCurrencyCode(code: string): code is CurrencyCode;
@@ -0,0 +1,4 @@
1
+ export * from "./currency.js";
2
+ export * from "./currency.types.js";
3
+ export { CurrencyHelpers } from "./currency.helpers.js";
4
+ export * from "./currency.schema.js";
@@ -1,6 +1,7 @@
1
1
  export * from "./amount/index.js";
2
2
  export * from "./bank/index.js";
3
- export * from "./phone_number/index.js";
3
+ export * from "./channel/index.js";
4
+ export * from "./phone-number/index.js";
4
5
  export * from "./country/index.js";
5
6
  export * from "./currency/index.js";
6
- //# sourceMappingURL=index.d.ts.map
7
+ export * from "./mobile-money-provider/index.js";
@@ -0,0 +1,4 @@
1
+ export * from "./mobile-money-provider.js";
2
+ export * from "./mobile-money-provider.types.js";
3
+ export { MobileMoneyProviderHelpers } from "./mobile-money-provider.helpers.js";
4
+ export * from "./mobile-money-provider.schema.js";
@@ -0,0 +1,53 @@
1
+ import { ChannelType, TransactionDirection } from "@domain/channel/channel.enums.js";
2
+ import type { ISO2CountryCode } from "@domain/country/country.types.js";
3
+ import { MobileMoneyProviderJSON } from "./mobile-money-provider.schema.js";
4
+ import type { MobileMoneyProviderData } from "./mobile-money-provider.types.js";
5
+ /**
6
+ * Plain-object representation of a MobileMoneyProvider containing the full state.
7
+ */
8
+ export interface MobileMoneyProviderObject extends MobileMoneyProviderData {
9
+ }
10
+ /**
11
+ * Internal symbol used by MobileMoneyProviderFactory to bypass the protected constructor.
12
+ * Importing this from outside the factory is unsupported.
13
+ */
14
+ export declare const MobileMoneyProviderConstructorToken: unique symbol;
15
+ /**
16
+ * Pure value object representing one supported mobile-money provider in a
17
+ * country. Lookups, detection, and validation live on MobileMoneyProviderRegistry;
18
+ * the static methods on this class are thin delegations for ergonomic call sites.
19
+ */
20
+ export declare class MobileMoneyProvider {
21
+ readonly id: string;
22
+ readonly displayName: string;
23
+ readonly mobileMoneyServiceName: string;
24
+ readonly countryCode: MobileMoneyProviderData["countryCode"];
25
+ readonly currencyCode: MobileMoneyProviderData["currencyCode"];
26
+ readonly directions: TransactionDirection[];
27
+ readonly requiresExplicitProvider: boolean;
28
+ readonly phonePrefixes: string[];
29
+ constructor(token: symbol, data: MobileMoneyProviderData);
30
+ /** Generic channel type used by TemboCoverage channel listings. */
31
+ get channelType(): ChannelType;
32
+ /** Whether this provider supports the requested transaction direction. */
33
+ supportsDirection(direction: TransactionDirection): boolean;
34
+ /** Human-readable label, e.g. "M-Pesa (Vodacom) [TZ]". */
35
+ toString(): string;
36
+ /** Compact JSON identity for serialization. */
37
+ toJSON(): MobileMoneyProviderJSON;
38
+ toJSONString(): string;
39
+ /** Full plain-object dump of all current state. */
40
+ toObject(): MobileMoneyProviderObject;
41
+ /**
42
+ * Resolves a MobileMoneyProvider by ID. When `countryCode` is omitted, the
43
+ * factory searches across every supported country.
44
+ */
45
+ static fromID(id: string, countryCode?: ISO2CountryCode): MobileMoneyProvider | undefined;
46
+ /** Re-resolves a MobileMoneyProvider from its compact JSON identity. */
47
+ static fromJSON(json: MobileMoneyProviderJSON | string): MobileMoneyProvider | undefined;
48
+ /** Re-resolves a MobileMoneyProvider from a JSON string. */
49
+ static fromJSONString(jsonString: string): MobileMoneyProvider | undefined;
50
+ /** Type guard delegating to MobileMoneyProviderFactory.isMobileMoneyProvider. */
51
+ static is(obj: unknown): obj is MobileMoneyProvider;
52
+ }
53
+ export { type MobileMoneyProviderJSON, MobileMoneyProviderJSONSchema, } from "./mobile-money-provider.schema.js";
@@ -0,0 +1,5 @@
1
+ import { isPhonePrefix, isProviderId } from "./mobile-money-provider.types.js";
2
+ export declare const MobileMoneyProviderHelpers: {
3
+ isProviderId: typeof isProviderId;
4
+ isPhonePrefix: typeof isPhonePrefix;
5
+ };
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { ChannelType, TransactionDirection } from "@domain/channel/channel.enums.js";
3
+ export declare const MobileMoneyProviderJSONSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ countryCode: z.ZodString;
6
+ channelType: z.ZodDefault<z.ZodLiteral<ChannelType.MOBILE_MONEY>>;
7
+ direction: z.ZodOptional<z.ZodNativeEnum<typeof TransactionDirection>>;
8
+ version: z.ZodDefault<z.ZodOptional<z.ZodString>>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ version: string;
11
+ countryCode: string;
12
+ id: string;
13
+ channelType: ChannelType.MOBILE_MONEY;
14
+ direction?: TransactionDirection | undefined;
15
+ }, {
16
+ countryCode: string;
17
+ id: string;
18
+ version?: string | undefined;
19
+ channelType?: ChannelType.MOBILE_MONEY | undefined;
20
+ direction?: TransactionDirection | undefined;
21
+ }>;
22
+ export type MobileMoneyProviderJSON = z.infer<typeof MobileMoneyProviderJSONSchema>;
@@ -0,0 +1,21 @@
1
+ import type { ISO2CountryCode } from "@domain/country/country.types.js";
2
+ import type { CurrencyCode } from "@domain/currency/currency.types.js";
3
+ import type { TransactionDirection } from "@domain/channel/channel.enums.js";
4
+ export interface MobileMoneyProviderData {
5
+ id: string;
6
+ displayName: string;
7
+ mobileMoneyServiceName: string;
8
+ countryCode: ISO2CountryCode;
9
+ currencyCode: CurrencyCode;
10
+ directions: TransactionDirection[];
11
+ requiresExplicitProvider: boolean;
12
+ phonePrefixes: string[];
13
+ }
14
+ /**
15
+ * Provider IDs are stable uppercase Tembo identifiers, not display names.
16
+ */
17
+ export declare function isProviderId(value: unknown): value is string;
18
+ /**
19
+ * Prefixes are national-number prefixes used only when detection is reliable.
20
+ */
21
+ export declare function isPhonePrefix(value: unknown): value is string;
@@ -0,0 +1,4 @@
1
+ export * from "./phone-number.types.js";
2
+ export * from "./phone-number.js";
3
+ export { PhoneNumberHelpers, phoneLogger } from "./phone-number.helpers.js";
4
+ export * from "./phone-number.schema.js";