@temboplus/frontend-core 0.4.4 → 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 -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 +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,247 +1,95 @@
1
- # @temboplus/frontend-core-legacy
1
+ # @temboplus/frontend-core
2
2
 
3
- ⚠️ **Legacy package**
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
- This package contains the previous implementation of the TemboPlus Frontend Core library.
6
- It is maintained for existing applications that depend on the legacy architecture.
5
+ ## Install
7
6
 
8
- **Status:** Maintenance mode
9
-
10
- * Bug fixes only
11
- * Security fixes only
12
- * No new features
13
-
14
- For new development, use:
15
-
16
- ```
17
- @temboplus/frontend-core
18
- ```
19
-
20
- ---
21
-
22
- ## Overview
23
-
24
- A robust and versatile JavaScript/TypeScript library designed to streamline the development of TemboPlus front-end applications.
25
-
26
- This library provides a comprehensive suite of utilities, standardized data models, and services to ensure consistency, efficiency, and maintainability across legacy TemboPlus projects.
27
-
28
- ---
29
-
30
- ## Migration Note
31
-
32
- Existing projects may continue using:
33
-
34
- ```
35
- @temboplus/frontend-core-legacy
36
- ```
37
-
38
- New projects should use:
39
-
40
- ```
41
- @temboplus/frontend-core
7
+ ```bash
8
+ npm install @temboplus/frontend-core
42
9
  ```
43
10
 
44
- Migration timelines depend on product requirements and will be handled incrementally.
45
-
46
- ---
47
-
48
- ## Core Features
49
-
50
- * **Utility Functions:** A collection of helper functions to simplify common development tasks
51
- * **Standardized Data Models:** Consistent data structures for managing essential data types
52
- * **Comprehensive Report Management:** A powerful `ReportManager` for generating and downloading reports
53
- * **Centralized Configuration Service:** A flexible `ConfigService` for managing application settings
54
-
55
- ---
56
-
57
- ## Installation
11
+ ## Architecture At A Glance
58
12
 
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
59
20
  ```
60
- npm install @temboplus/frontend-core-legacy
61
- ```
62
-
63
21
 
64
- ## Report Management with `ReportManager`
65
-
66
- The `ReportManager` simplifies the process of generating and downloading reports across various TemboPlus projects.
22
+ Most consumers start with static delegations on the domain objects:
67
23
 
68
24
  ```typescript
69
- import { ReportManager, FileFormat, ReportType, ProjectType } from '@temboplus/frontend-core-legacy';
70
-
71
- // Download a report
72
- async function downloadMerchantDisbursementReport() {
73
- await ReportManager.instance.downloadReport({
74
- token: "your-auth-token",
75
- projectType: ProjectType.DASHBOARD,
76
- reportType: ReportType.MERCHANT_DISBURSEMENT_REPORT,
77
- fileFormat: FileFormat.PDF,
78
- query: {
79
- startDate: "2023-01-01T00:00:00.000Z",
80
- endDate: "2023-01-31T00:00:00.000Z"
81
- }
82
- });
83
- }
25
+ import { Amount, Bank, BankHelpers, Country, Currency } from "@temboplus/frontend-core";
84
26
 
85
- // Get all reports for a specific project
86
- import { getReportsByProject } from '@temboplus/frontend-core-legacy';
87
- function getAllDashboardReports(){
88
- const dashboardReports = getReportsByProject(ProjectType.DASHBOARD);
89
- return dashboardReports;
90
- }
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");
91
32
  ```
92
33
 
93
- ### Supported Report Types
34
+ Use factories when you need lower-level construction or aggregate behavior, and registries when you need cached lookup, listing, search, or provider detection.
94
35
 
95
- * **Dashboard Reports:**
96
- * `MERCHANT_DISBURSEMENT_REPORT`: Detailed merchant disbursement reports.
97
- * `TRANSACTION_REVENUE_SUMMARY`: Revenue transaction summaries.
98
- * **Afloat Reports:**
99
- * `CUSTOMER_WALLET_ACTIVITY`: Customer wallet activity logs.
100
- * `CUSTOMER_PROFILE_SNAPSHOT`: Customer profile snapshots.
101
- * **VertoX Reports:**
102
- * `GATEWAY_TRANSACTION_LOG`: Payment gateway transaction logs.
36
+ ## Main Exports
103
37
 
104
- ## Configuration Service with `ConfigService`
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.
105
46
 
106
- The `ConfigService` provides a centralized mechanism for managing application configurations.
47
+ ## Typed Codes
107
48
 
108
49
  ```typescript
109
- import { ConfigService } from '@temboplus/frontend-core-legacy';
110
-
111
- // Initialize configuration at application startup
112
- ConfigService.instance.initialize({
113
- pdfMakerBaseUrl: 'http://localhost:3000' // Optional: Override default PDF maker base URL.
114
- });
115
- ```
116
-
117
- ## Data Model Validation
118
-
119
- Each data model includes validation methods to ensure data integrity:
120
-
121
- * **`is(object)`:** Checks if an object is a valid instance of the data model.
122
- * **`canConstruct(input)`:** Validates input data before constructing a new instance.
123
- * **`validate()`:** Verifies the validity of an existing data model instance.
124
-
125
- ```typescript
126
- import { PhoneNumber, Amount } from '@temboplus/frontend-core-legacy';
127
-
128
- // Using is()
129
- if (PhoneNumber.is(someObject)) {
130
- console.log(someObject.label);
131
- }
132
-
133
- // Using canConstruct()
134
- if (Amount.canConstruct(userInput)) {
135
- const amount = Amount.from(userInput);
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 };
136
60
  }
137
61
 
138
- // Using validate()
139
- const phoneNumber = PhoneNumber.from("+1234567890");
140
- if (phoneNumber.validate()) {
141
- // Process the valid phone number.
142
- }
62
+ quote(100, "TZS", "TZ");
63
+ quote(100, "USD", "USA");
143
64
  ```
144
65
 
145
- ## Type-Safe String Literals
146
-
147
- This library provides strongly-typed string literals for standardized codes:
148
-
149
- * **Country Codes:**
150
- * `ISO2CountryCode`: Two-letter country codes (e.g., "US", "GB", "DE")
151
- * `ISO3CountryCode`: Three-letter country codes (e.g., "USA", "GBR", "DEU")
152
- * `CountryCode`: A union type that accepts either ISO-2 or ISO-3 formats
153
-
154
- * **Currency Codes:**
155
- * `CurrencyCode`: Three-letter currency codes (e.g., "USD", "EUR", "JPY")
156
-
157
- These types provide compile-time validation and auto-completion while having zero runtime overhead:
66
+ ## Coverage Example
158
67
 
159
68
  ```typescript
160
- import {
161
- ISO2CountryCode,
162
- ISO3CountryCode,
163
- CountryCode,
164
- CurrencyCode
165
- } from '@temboplus/frontend-core-legacy';
166
-
167
- // Type-safe function parameters
168
- function processTransaction(
169
- amount: number,
170
- currency: CurrencyCode,
171
- country: CountryCode
172
- ) {
173
- // Implementation
174
- }
69
+ import { TemboCoverage, TransactionDirection } from "@temboplus/frontend-core";
175
70
 
176
- // Valid calls - compile-time checking ensures only valid codes are accepted
177
- processTransaction(100, "USD", "US"); // ISO-2 country code
178
- processTransaction(200, "EUR", "DEU"); // ISO-3 country code
179
-
180
- // Invalid calls - caught by TypeScript at compile time
181
- processTransaction(300, "XYZ", "US"); // Error: "XYZ" is not a valid CurrencyCode
182
- processTransaction(400, "USD", "ZZZ"); // Error: "ZZZ" is not a valid CountryCode
183
- ```
184
-
185
- ## Static Data Access
186
-
187
- Convenient static properties are available for accessing common data:
71
+ const payoutCountries = TemboCoverage.getSupportedCountryCodes({
72
+ direction: TransactionDirection.PAYOUT,
73
+ });
188
74
 
189
- ```typescript
190
- import { Country, Currency, Bank, CONTINENT, SUB_REGION } from '@temboplus/frontend-core-legacy';
191
-
192
- // Country access with enhanced features
193
- const tanzania = Country.TZ;
194
- console.log(tanzania.flagEmoji); // 🇹🇿
195
- console.log(tanzania.continent); // CONTINENT.AFRICA
196
- console.log(tanzania.region); // SUB_REGION.EASTERN_AFRICA
197
-
198
- // Regional country grouping with type-safe enums
199
- const africanCountries = Country.getByContinent(CONTINENT.AFRICA);
200
- const caribbeanCountries = Country.getByRegion(SUB_REGION.CARIBBEAN);
201
-
202
- // Currency access
203
- const usd = Currency.USD;
204
- const tzs = Currency.TANZANIAN_SHILLING;
205
-
206
- // Access country's currency
207
- const japan = Country.JP;
208
- const yen = japan.getCurrency();
209
- console.log(yen?.code); // "JPY"
210
-
211
- // Find countries using a specific currency
212
- const euroCountries = Country.getByCurrencyCode("EUR");
213
- console.log(`${euroCountries.length} countries use the Euro`);
214
-
215
- // Bank access
216
- const crdb = Bank.CRDB;
217
- const nmb = Bank.NMB;
75
+ const tzBanks = TemboCoverage.getPayoutBanks("TZ");
218
76
  ```
219
77
 
220
- ## Phone Number Usage
78
+ ## Documentation
221
79
 
222
- ```typescript
223
- import { PhoneNumber, TZPhoneNumber, PhoneNumberFormat } from '@temboplus/frontend-core-legacy';
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)
224
87
 
225
- // International phone numbers
226
- const internationalPhone = PhoneNumber.from("+1 (202) 555-0123");
227
- console.log(internationalPhone.getWithFormat(PhoneNumberFormat.INTERNATIONAL)); // +12025550123
88
+ ## Development
228
89
 
229
- // Tanzania phone numbers
230
- const tanzaniaPhone = TZPhoneNumber.from("0712345678");
231
- console.log(tanzaniaPhone.getWithFormat(PhoneNumberFormat.INTERNATIONAL)); // +255 712 345 678
232
- console.log(tanzaniaPhone.networkOperator.name); // "Yas"
90
+ ```bash
91
+ npx tsc --noEmit
92
+ npm run build
233
93
  ```
234
94
 
235
- ## Detailed Model Documentation
236
-
237
- * [PhoneNumber](./docs/phone_number.md)
238
- * [Amount](./docs/amount.md)
239
- * [Bank](./docs/bank.md)
240
- * [Currency](./docs/currency.md)
241
- * [Country](./docs/country.md)
242
-
243
- ## Installation
244
-
245
- ```bash
246
- npm install @temboplus/frontend-core-legacy
247
- ```
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 {};