@temboplus/frontend-core 0.4.3 → 1.0.1-beta.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 (452) hide show
  1. package/README.md +62 -173
  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 +29 -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
package/README.md CHANGED
@@ -1,206 +1,95 @@
1
1
  # @temboplus/frontend-core
2
2
 
3
- A robust and versatile JavaScript/TypeScript library designed to streamline the development of TemboPlus front-end applications. This library provides a comprehensive suite of utilities, standardized data models, and services to ensure consistency, efficiency, and maintainability across all TemboPlus projects.
3
+ Shared TypeScript domain package for TemboPlus products. It provides canonical value objects, typed codes, validation helpers, factories, registries, and coverage data.
4
4
 
5
- ## Core Features
5
+ ## Install
6
6
 
7
- * **Utility Functions:** A collection of pre-built helper functions to simplify common development tasks.
8
- * **Standardized Data Models:** Consistent and reliable data structures for managing essential data types, including phone numbers, amounts, currencies, countries, and bank details.
9
- * **Comprehensive Report Management:** A powerful `ReportManager` for generating and downloading reports in various formats across different TemboPlus projects.
10
- * **Centralized Configuration Service:** A flexible `ConfigService` for managing application settings and environment configurations.
11
-
12
- ## Data Models
13
-
14
- This library offers a set of meticulously crafted data models, each designed to handle specific data types with precision:
15
-
16
- * **PhoneNumber:** Robust international phone number validation and formatting.
17
- * **TZPhoneNumber:** Specialized phone number handling for Tanzania, including network operator identification.
18
- * **Amount:** Precise currency value management, with support for formatting and conversion.
19
- * **Currency:** Detailed currency information, including symbols, formatting rules, and validation.
20
- * **Country:** Enhanced country data handling with ISO-2 and ISO-3 codes, official names, flag emojis, and strongly-typed geographical categorization.
21
- * **Bank:** Consistent bank account information management.
22
-
23
- ## Report Management with `ReportManager`
24
-
25
- The `ReportManager` simplifies the process of generating and downloading reports across various TemboPlus projects.
26
-
27
- ```typescript
28
- import { ReportManager, FileFormat, ReportType, ProjectType } from '@temboplus/frontend-core';
29
-
30
- // Download a report
31
- async function downloadMerchantDisbursementReport() {
32
- await ReportManager.instance.downloadReport({
33
- token: "your-auth-token",
34
- projectType: ProjectType.DASHBOARD,
35
- reportType: ReportType.MERCHANT_DISBURSEMENT_REPORT,
36
- fileFormat: FileFormat.PDF,
37
- query: {
38
- startDate: "2023-01-01T00:00:00.000Z",
39
- endDate: "2023-01-31T00:00:00.000Z"
40
- }
41
- });
42
- }
43
-
44
- // Get all reports for a specific project
45
- import { getReportsByProject } from '@temboplus/frontend-core';
46
- function getAllDashboardReports(){
47
- const dashboardReports = getReportsByProject(ProjectType.DASHBOARD);
48
- return dashboardReports;
49
- }
7
+ ```bash
8
+ npm install @temboplus/frontend-core
50
9
  ```
51
10
 
52
- ### Supported Report Types
53
-
54
- * **Dashboard Reports:**
55
- * `MERCHANT_DISBURSEMENT_REPORT`: Detailed merchant disbursement reports.
56
- * `TRANSACTION_REVENUE_SUMMARY`: Revenue transaction summaries.
57
- * **Afloat Reports:**
58
- * `CUSTOMER_WALLET_ACTIVITY`: Customer wallet activity logs.
59
- * `CUSTOMER_PROFILE_SNAPSHOT`: Customer profile snapshots.
60
- * **VertoX Reports:**
61
- * `GATEWAY_TRANSACTION_LOG`: Payment gateway transaction logs.
62
-
63
- ## Configuration Service with `ConfigService`
11
+ ## Architecture At A Glance
64
12
 
65
- The `ConfigService` provides a centralized mechanism for managing application configurations.
66
-
67
- ```typescript
68
- import { ConfigService } from '@temboplus/frontend-core';
69
-
70
- // Initialize configuration at application startup
71
- ConfigService.instance.initialize({
72
- pdfMakerBaseUrl: 'http://localhost:3000' // Optional: Override default PDF maker base URL.
73
- });
13
+ ```text
14
+ domain/ value objects, types, schemas, and entity helpers
15
+ factories/ construction, parsing, validation, and JSON re-resolution
16
+ registries/ cached lookup and query APIs over supported datasets
17
+ repositories/ internal raw JSON dataset readers
18
+ utils/ cross-cutting helpers such as text, id, time, and logging
19
+ coverage/ supported countries, channels, providers, banks, and limits
74
20
  ```
75
21
 
76
- ## Data Model Validation
77
-
78
- Each data model includes validation methods to ensure data integrity:
79
-
80
- * **`is(object)`:** Checks if an object is a valid instance of the data model.
81
- * **`canConstruct(input)`:** Validates input data before constructing a new instance.
82
- * **`validate()`:** Verifies the validity of an existing data model instance.
22
+ Most consumers start with static delegations on the domain objects:
83
23
 
84
24
  ```typescript
85
- import { PhoneNumber, Amount } from '@temboplus/frontend-core';
25
+ import { Amount, Bank, BankHelpers, Country, Currency } from "@temboplus/frontend-core";
86
26
 
87
- // Using is()
88
- if (PhoneNumber.is(someObject)) {
89
- console.log(someObject.label);
90
- }
91
-
92
- // Using canConstruct()
93
- if (Amount.canConstruct(userInput)) {
94
- const amount = Amount.from(userInput);
95
- }
96
-
97
- // Using validate()
98
- const phoneNumber = PhoneNumber.from("+1234567890");
99
- if (phoneNumber.validate()) {
100
- // Process the valid phone number.
101
- }
27
+ const country = Country.fromCode("TZ");
28
+ const currency = Currency.fromCode("USD");
29
+ const amount = Amount.from(100, "USD");
30
+ const bank = Bank.fromBIC("CORUTZTZ", "TZ");
31
+ const canUseBic = BankHelpers.validateSwiftCode("CORUTZTZ", "TZ");
102
32
  ```
103
33
 
104
- ## Type-Safe String Literals
34
+ Use factories when you need lower-level construction or aggregate behavior, and registries when you need cached lookup, listing, search, or provider detection.
105
35
 
106
- This library provides strongly-typed string literals for standardized codes:
36
+ ## Main Exports
107
37
 
108
- * **Country Codes:**
109
- * `ISO2CountryCode`: Two-letter country codes (e.g., "US", "GB", "DE")
110
- * `ISO3CountryCode`: Three-letter country codes (e.g., "USA", "GBR", "DEU")
111
- * `CountryCode`: A union type that accepts either ISO-2 or ISO-3 formats
38
+ - `Amount` parses, formats, compares, and serializes monetary values.
39
+ - `Bank` resolves supported banks by BIC/SWIFT code.
40
+ - `Country` resolves ISO-2 and ISO-3 country records.
41
+ - `Currency` resolves ISO 4217 currency records.
42
+ - `MobileMoneyProvider` resolves supported mobile-money providers.
43
+ - `PhoneNumber` parses and formats international phone numbers.
44
+ - `TemboCoverage` answers coverage questions for channels, countries, providers, banks, and limits.
45
+ - `*Helpers` expose entity-scoped type guards, validators, parsers, and formatters.
112
46
 
113
- * **Currency Codes:**
114
- * `CurrencyCode`: Three-letter currency codes (e.g., "USD", "EUR", "JPY")
115
-
116
- These types provide compile-time validation and auto-completion while having zero runtime overhead:
47
+ ## Typed Codes
117
48
 
118
49
  ```typescript
119
- import {
120
- ISO2CountryCode,
121
- ISO3CountryCode,
122
- CountryCode,
123
- CurrencyCode
124
- } from '@temboplus/frontend-core';
125
-
126
- // Type-safe function parameters
127
- function processTransaction(
128
- amount: number,
129
- currency: CurrencyCode,
130
- country: CountryCode
131
- ) {
132
- // Implementation
50
+ import type {
51
+ BankSwiftCode,
52
+ CountryCode,
53
+ CurrencyCode,
54
+ ISO2CountryCode,
55
+ ISO3CountryCode,
56
+ } from "@temboplus/frontend-core";
57
+
58
+ function quote(amount: number, currency: CurrencyCode, country: CountryCode) {
59
+ return { amount, currency, country };
133
60
  }
134
61
 
135
- // Valid calls - compile-time checking ensures only valid codes are accepted
136
- processTransaction(100, "USD", "US"); // ISO-2 country code
137
- processTransaction(200, "EUR", "DEU"); // ISO-3 country code
138
-
139
- // Invalid calls - caught by TypeScript at compile time
140
- processTransaction(300, "XYZ", "US"); // Error: "XYZ" is not a valid CurrencyCode
141
- processTransaction(400, "USD", "ZZZ"); // Error: "ZZZ" is not a valid CountryCode
62
+ quote(100, "TZS", "TZ");
63
+ quote(100, "USD", "USA");
142
64
  ```
143
65
 
144
- ## Static Data Access
145
-
146
- Convenient static properties are available for accessing common data:
147
-
148
- ```typescript
149
- import { Country, Currency, Bank, CONTINENT, SUB_REGION } from '@temboplus/frontend-core';
150
-
151
- // Country access with enhanced features
152
- const tanzania = Country.TZ;
153
- console.log(tanzania.flagEmoji); // 🇹🇿
154
- console.log(tanzania.continent); // CONTINENT.AFRICA
155
- console.log(tanzania.region); // SUB_REGION.EASTERN_AFRICA
156
-
157
- // Regional country grouping with type-safe enums
158
- const africanCountries = Country.getByContinent(CONTINENT.AFRICA);
159
- const caribbeanCountries = Country.getByRegion(SUB_REGION.CARIBBEAN);
160
-
161
- // Currency access
162
- const usd = Currency.USD;
163
- const tzs = Currency.TANZANIAN_SHILLING;
164
-
165
- // Access country's currency
166
- const japan = Country.JP;
167
- const yen = japan.getCurrency();
168
- console.log(yen?.code); // "JPY"
169
-
170
- // Find countries using a specific currency
171
- const euroCountries = Country.getByCurrencyCode("EUR");
172
- console.log(`${euroCountries.length} countries use the Euro`);
173
-
174
- // Bank access
175
- const crdb = Bank.CRDB;
176
- const nmb = Bank.NMB;
177
- ```
178
-
179
- ## Phone Number Usage
66
+ ## Coverage Example
180
67
 
181
68
  ```typescript
182
- import { PhoneNumber, TZPhoneNumber, PhoneNumberFormat } from '@temboplus/frontend-core';
69
+ import { TemboCoverage, TransactionDirection } from "@temboplus/frontend-core";
183
70
 
184
- // International phone numbers
185
- const internationalPhone = PhoneNumber.from("+1 (202) 555-0123");
186
- console.log(internationalPhone.getWithFormat(PhoneNumberFormat.INTERNATIONAL)); // +12025550123
71
+ const payoutCountries = TemboCoverage.getSupportedCountryCodes({
72
+ direction: TransactionDirection.PAYOUT,
73
+ });
187
74
 
188
- // Tanzania phone numbers
189
- const tanzaniaPhone = TZPhoneNumber.from("0712345678");
190
- console.log(tanzaniaPhone.getWithFormat(PhoneNumberFormat.INTERNATIONAL)); // +255 712 345 678
191
- console.log(tanzaniaPhone.networkOperator.name); // "Yas"
75
+ const tzBanks = TemboCoverage.getPayoutBanks("TZ");
192
76
  ```
193
77
 
194
- ## Detailed Model Documentation
78
+ ## Documentation
195
79
 
196
- * [PhoneNumber](./docs/phone_number.md)
197
- * [Amount](./docs/amount.md)
198
- * [Bank](./docs/bank.md)
199
- * [Currency](./docs/currency.md)
200
- * [Country](./docs/country.md)
80
+ - [Architecture](./docs/architecture.md)
81
+ - [Amount](./docs/amount.md)
82
+ - [Bank](./docs/bank.md)
83
+ - [Country](./docs/country.md)
84
+ - [Currency](./docs/currency.md)
85
+ - [MobileMoneyProvider](./docs/mobile_money_provider.md)
86
+ - [PhoneNumber](./docs/phone_number.md)
201
87
 
202
- ## Installation
88
+ ## Development
203
89
 
204
90
  ```bash
205
- npm install @temboplus/frontend-core
206
- ```
91
+ npx tsc --noEmit
92
+ npm run build
93
+ ```
94
+
95
+ Existing test files are still being migrated to the `1.0.0` API. Prefer typecheck, build, and focused smoke scripts until that cleanup is complete.
@@ -0,0 +1,24 @@
1
+ import type { ChannelType, TransactionDirection } from "@domain/channel/channel.enums.js";
2
+ import type { ISO2CountryCode } from "@domain/country/country.types.js";
3
+ import type { CurrencyCode } from "@domain/currency/currency.types.js";
4
+ export interface SupportedCountryCoverage {
5
+ countryCode: ISO2CountryCode;
6
+ currencyCode: CurrencyCode;
7
+ directions: TransactionDirection[];
8
+ channels: ChannelType[];
9
+ }
10
+ export interface CoverageCountryOptions {
11
+ direction?: TransactionDirection;
12
+ channelType?: ChannelType;
13
+ }
14
+ export interface CoverageChannelOptions {
15
+ direction?: TransactionDirection;
16
+ channelType?: ChannelType;
17
+ }
18
+ export interface CoverageTransactionLimitQuery {
19
+ countryCode: ISO2CountryCode;
20
+ currencyCode: CurrencyCode;
21
+ direction: TransactionDirection;
22
+ channelType: ChannelType;
23
+ providerId?: string;
24
+ }
@@ -0,0 +1,3 @@
1
+ export * from "@domain/channel/index.js";
2
+ export * from "./coverage.types.js";
3
+ export * from "./tembo-coverage.js";
@@ -0,0 +1,59 @@
1
+ import { Channel } from "@domain/channel/channel.js";
2
+ import { TransactionDirection } from "@domain/channel/channel.enums.js";
3
+ import type { ISO2CountryCode } from "@domain/country/country.types.js";
4
+ import type { CoverageCountryOptions, CoverageChannelOptions, CoverageTransactionLimitQuery } from "./coverage.types.js";
5
+ /**
6
+ * Single entry point for all Tembo Coverage queries.
7
+ * Handles supported countries, banks, mobile money providers, and transaction limits.
8
+ */
9
+ declare class TemboCoverageService {
10
+ private readonly coverage;
11
+ private readonly countries;
12
+ private readonly banks;
13
+ private readonly providers;
14
+ private readonly limits;
15
+ constructor();
16
+ /**
17
+ * Returns a list of ISO2 country codes supported by Tembo.
18
+ */
19
+ getSupportedCountryCodes(options?: CoverageCountryOptions): ISO2CountryCode[];
20
+ /**
21
+ * Returns full Country model instances for all supported countries.
22
+ */
23
+ getSupportedCountries(options?: CoverageCountryOptions): any[];
24
+ /**
25
+ * Checks if a specific country is supported, optionally filtered by direction or channel.
26
+ */
27
+ isSupportedCountry(countryCode: ISO2CountryCode, options?: CoverageCountryOptions): boolean;
28
+ /**
29
+ * Returns all banks available for payout in the specified country.
30
+ */
31
+ getPayoutBanks(countryCode: ISO2CountryCode): import("../index.js").Bank[];
32
+ /**
33
+ * Returns mobile money providers for a country, optionally filtered by direction (PAYIN/PAYOUT).
34
+ */
35
+ getMobileMoneyProviders(countryCode: ISO2CountryCode, options?: {
36
+ direction?: TransactionDirection;
37
+ }): import("../index.js").MobileMoneyProvider[];
38
+ /**
39
+ * Returns a combined list of all available Channels (Banks and Mobile Money).
40
+ */
41
+ getChannels(countryCode: ISO2CountryCode, options?: CoverageChannelOptions): Channel[];
42
+ /**
43
+ * Returns transaction limits for a specific corridor.
44
+ */
45
+ getTransactionLimits(query: CoverageTransactionLimitQuery): import("@registries/transaction-limit.registry.js").TransactionLimits | undefined;
46
+ /**
47
+ * Internal helper to filter the master coverage list based on user options.
48
+ */
49
+ private getFilteredCoverage;
50
+ /**
51
+ * Internal helper to check if a specific channel type should be included in results.
52
+ */
53
+ private shouldInclude;
54
+ }
55
+ /**
56
+ * Exported Singleton Instance
57
+ */
58
+ export declare const TemboCoverage: TemboCoverageService;
59
+ export {};