@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.
- package/README.md +62 -214
- package/dist/coverage/coverage.types.d.ts +24 -0
- package/dist/coverage/index.d.ts +3 -0
- package/dist/coverage/tembo-coverage.d.ts +59 -0
- package/dist/domain/amount/amount.d.ts +476 -0
- package/dist/domain/amount/amount.helpers.d.ts +64 -0
- package/dist/domain/amount/amount.schema.d.ts +34 -0
- package/dist/domain/amount/index.d.ts +4 -0
- package/dist/domain/bank/bank.d.ts +59 -0
- package/dist/domain/bank/bank.helpers.d.ts +34 -0
- package/dist/domain/bank/bank.schema.d.ts +39 -0
- package/dist/domain/bank/bank.types.d.ts +9 -0
- package/dist/domain/bank/index.d.ts +4 -0
- package/dist/domain/channel/channel.d.ts +40 -0
- package/dist/domain/channel/channel.enums.d.ts +14 -0
- package/dist/domain/channel/channel.types.d.ts +12 -0
- package/dist/domain/channel/index.d.ts +3 -0
- package/dist/domain/country/country.d.ts +73 -0
- package/dist/domain/country/country.enums.d.ts +45 -0
- package/dist/domain/country/country.helpers.d.ts +6 -0
- package/dist/domain/country/country.schema.d.ts +73 -0
- package/{script/src/models/country/types.d.ts → dist/domain/country/country.types.d.ts} +18 -1
- package/dist/domain/country/index.d.ts +4 -0
- package/dist/domain/currency/currency.d.ts +62 -0
- package/dist/domain/currency/currency.helpers.d.ts +4 -0
- package/dist/domain/currency/currency.schema.d.ts +24 -0
- package/{script/src/models/currency/types.d.ts → dist/domain/currency/currency.types.d.ts} +7 -2
- package/dist/domain/currency/index.d.ts +4 -0
- package/{esm/src/models → dist/domain}/index.d.ts +3 -2
- package/dist/domain/mobile-money-provider/index.d.ts +4 -0
- package/dist/domain/mobile-money-provider/mobile-money-provider.d.ts +53 -0
- package/dist/domain/mobile-money-provider/mobile-money-provider.helpers.d.ts +5 -0
- package/dist/domain/mobile-money-provider/mobile-money-provider.schema.d.ts +22 -0
- package/dist/domain/mobile-money-provider/mobile-money-provider.types.d.ts +21 -0
- package/dist/domain/phone-number/index.d.ts +4 -0
- package/dist/domain/phone-number/phone-number.d.ts +57 -0
- package/dist/domain/phone-number/phone-number.helpers.d.ts +67 -0
- package/dist/domain/phone-number/phone-number.parser.d.ts +43 -0
- package/dist/domain/phone-number/phone-number.schema.d.ts +21 -0
- package/dist/domain/phone-number/phone-number.types.d.ts +72 -0
- package/dist/factories/amount.factory.d.ts +50 -0
- package/dist/factories/bank.factory.d.ts +47 -0
- package/dist/factories/country.factory.d.ts +40 -0
- package/dist/factories/currency.factory.d.ts +40 -0
- package/dist/factories/index.d.ts +7 -0
- package/dist/factories/mobile-money-provider.factory.d.ts +43 -0
- package/dist/factories/phone-number.factory.d.ts +31 -0
- package/dist/factories/transaction-limit.factory.d.ts +36 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/registries/bank.registry.d.ts +36 -0
- package/dist/registries/country.registry.d.ts +45 -0
- package/dist/registries/currency.registry.d.ts +33 -0
- package/dist/registries/index.d.ts +5 -0
- package/dist/registries/mobile-money-provider.registry.d.ts +48 -0
- package/dist/registries/transaction-limit.registry.d.ts +30 -0
- package/dist/repositories/bank.repository.d.ts +30 -0
- package/dist/repositories/country.repository.d.ts +31 -0
- package/dist/repositories/currency.repository.d.ts +28 -0
- package/dist/repositories/index.d.ts +5 -0
- package/dist/repositories/mobile-money-provider.repository.d.ts +53 -0
- package/dist/repositories/transaction-limit.repository.d.ts +31 -0
- package/{script/src → dist}/utils/id.d.ts +7 -3
- package/{esm/src/utils/index.js → dist/utils/index.d.ts} +1 -0
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/text.d.ts +103 -0
- package/{script/src → dist}/utils/time.d.ts +9 -4
- package/package.json +46 -23
- package/LICENSE +0 -7
- package/esm/_dnt.test_shims.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/_constants.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/_diff.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/_format.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_almost_equals.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_array_includes.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_equals.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_exists.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_false.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_greater.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_greater_or_equal.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_instance_of.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_is_error.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_less.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_less_or_equal.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_match.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_not_equals.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_not_instance_of.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_not_match.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_not_strict_equals.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_object_match.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_rejects.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_strict_equals.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_string_includes.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assert_throws.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/assertion_error.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/equal.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/fail.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/mod.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/unimplemented.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/assert/unreachable.d.ts.map +0 -1
- package/esm/deps/deno.land/std@0.217.0/fmt/colors.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/testing/1.0.9/_test_suite.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/testing/1.0.9/bdd.d.ts.map +0 -1
- package/esm/mod.d.ts +0 -5
- package/esm/mod.d.ts.map +0 -1
- package/esm/mod.js +0 -4
- package/esm/package.json +0 -3
- package/esm/src/config/config_service.d.ts +0 -11
- package/esm/src/config/config_service.d.ts.map +0 -1
- package/esm/src/config/config_service.js +0 -19
- package/esm/src/config/index.d.ts +0 -2
- package/esm/src/config/index.d.ts.map +0 -1
- package/esm/src/config/index.js +0 -1
- package/esm/src/data/banks_tz.d.ts +0 -7
- package/esm/src/data/banks_tz.d.ts.map +0 -1
- package/esm/src/data/banks_tz.js +0 -197
- package/esm/src/data/countries.d.ts +0 -39
- package/esm/src/data/countries.d.ts.map +0 -1
- package/esm/src/data/countries.js +0 -2475
- package/esm/src/data/currencies.d.ts +0 -1901
- package/esm/src/data/currencies.d.ts.map +0 -1
- package/esm/src/data/currencies.js +0 -1073
- package/esm/src/data/phone_patterns.d.ts +0 -3809
- package/esm/src/data/phone_patterns.d.ts.map +0 -1
- package/esm/src/data/phone_patterns.js +0 -2325
- package/esm/src/models/amount/amount.d.ts +0 -53
- package/esm/src/models/amount/amount.d.ts.map +0 -1
- package/esm/src/models/amount/amount.js +0 -190
- package/esm/src/models/amount/amount.test.d.ts.map +0 -1
- package/esm/src/models/amount/antd_validator.d.ts +0 -40
- package/esm/src/models/amount/antd_validator.d.ts.map +0 -1
- package/esm/src/models/amount/antd_validator.js +0 -58
- package/esm/src/models/amount/antd_validator.test.d.ts.map +0 -1
- package/esm/src/models/amount/index.d.ts +0 -3
- package/esm/src/models/amount/index.d.ts.map +0 -1
- package/esm/src/models/amount/index.js +0 -2
- package/esm/src/models/bank/antd_validator.d.ts +0 -11
- package/esm/src/models/bank/antd_validator.d.ts.map +0 -1
- package/esm/src/models/bank/antd_validator.js +0 -26
- package/esm/src/models/bank/antd_validator.test.d.ts.map +0 -1
- package/esm/src/models/bank/bank.d.ts +0 -257
- package/esm/src/models/bank/bank.d.ts.map +0 -1
- package/esm/src/models/bank/bank.js +0 -450
- package/esm/src/models/bank/bank.test.d.ts.map +0 -1
- package/esm/src/models/bank/index.d.ts +0 -5
- package/esm/src/models/bank/index.d.ts.map +0 -1
- package/esm/src/models/bank/index.js +0 -4
- package/esm/src/models/bank/types.d.ts +0 -7
- package/esm/src/models/bank/types.d.ts.map +0 -1
- package/esm/src/models/bank/types.js +0 -45
- package/esm/src/models/bank/utils.d.ts +0 -8
- package/esm/src/models/bank/utils.d.ts.map +0 -1
- package/esm/src/models/bank/utils.js +0 -9
- package/esm/src/models/country/country.d.ts +0 -822
- package/esm/src/models/country/country.d.ts.map +0 -1
- package/esm/src/models/country/country.js +0 -737
- package/esm/src/models/country/country.test.d.ts.map +0 -1
- package/esm/src/models/country/index.d.ts +0 -4
- package/esm/src/models/country/index.d.ts.map +0 -1
- package/esm/src/models/country/index.js +0 -3
- package/esm/src/models/country/types.d.ts +0 -63
- package/esm/src/models/country/types.d.ts.map +0 -1
- package/esm/src/models/country/types.js +0 -105
- package/esm/src/models/country/utils.d.ts +0 -21
- package/esm/src/models/country/utils.d.ts.map +0 -1
- package/esm/src/models/country/utils.js +0 -25
- package/esm/src/models/currency/currency.d.ts +0 -465
- package/esm/src/models/currency/currency.d.ts.map +0 -1
- package/esm/src/models/currency/currency.js +0 -471
- package/esm/src/models/currency/currency.test.d.ts.map +0 -1
- package/esm/src/models/currency/index.d.ts +0 -4
- package/esm/src/models/currency/index.d.ts.map +0 -1
- package/esm/src/models/currency/index.js +0 -3
- package/esm/src/models/currency/types.d.ts +0 -21
- package/esm/src/models/currency/types.d.ts.map +0 -1
- package/esm/src/models/currency/types.js +0 -28
- package/esm/src/models/currency/utils.d.ts +0 -8
- package/esm/src/models/currency/utils.d.ts.map +0 -1
- package/esm/src/models/currency/utils.js +0 -9
- package/esm/src/models/index.d.ts.map +0 -1
- package/esm/src/models/index.js +0 -5
- package/esm/src/models/phone_number/format.d.ts +0 -13
- package/esm/src/models/phone_number/format.d.ts.map +0 -1
- package/esm/src/models/phone_number/format.js +0 -13
- package/esm/src/models/phone_number/global/phone_number.d.ts +0 -162
- package/esm/src/models/phone_number/global/phone_number.d.ts.map +0 -1
- package/esm/src/models/phone_number/global/phone_number.js +0 -459
- package/esm/src/models/phone_number/global/phone_number.test.d.ts.map +0 -1
- package/esm/src/models/phone_number/global/service.d.ts +0 -267
- package/esm/src/models/phone_number/global/service.d.ts.map +0 -1
- package/esm/src/models/phone_number/global/service.js +0 -498
- package/esm/src/models/phone_number/global/service.test.d.ts.map +0 -1
- package/esm/src/models/phone_number/index.d.ts +0 -6
- package/esm/src/models/phone_number/index.d.ts.map +0 -1
- package/esm/src/models/phone_number/index.js +0 -5
- package/esm/src/models/phone_number/tz/antd_validator.d.ts +0 -77
- package/esm/src/models/phone_number/tz/antd_validator.d.ts.map +0 -1
- package/esm/src/models/phone_number/tz/antd_validator.js +0 -90
- package/esm/src/models/phone_number/tz/antdvalidator.test.d.ts.map +0 -1
- package/esm/src/models/phone_number/tz/network_operator.d.ts +0 -30
- package/esm/src/models/phone_number/tz/network_operator.d.ts.map +0 -1
- package/esm/src/models/phone_number/tz/network_operator.js +0 -47
- package/esm/src/models/phone_number/tz/phone_number.d.ts +0 -141
- package/esm/src/models/phone_number/tz/phone_number.d.ts.map +0 -1
- package/esm/src/models/phone_number/tz/phone_number.js +0 -290
- package/esm/src/models/phone_number/tz/phone_number.test.d.ts.map +0 -1
- package/esm/src/reports/index.d.ts +0 -2
- package/esm/src/reports/index.d.ts.map +0 -1
- package/esm/src/reports/index.js +0 -1
- package/esm/src/reports/report_manager.d.ts +0 -146
- package/esm/src/reports/report_manager.d.ts.map +0 -1
- package/esm/src/reports/report_manager.js +0 -326
- package/esm/src/utils/id.d.ts +0 -12
- package/esm/src/utils/id.d.ts.map +0 -1
- package/esm/src/utils/id.js +0 -19
- package/esm/src/utils/index.d.ts +0 -4
- package/esm/src/utils/index.d.ts.map +0 -1
- package/esm/src/utils/text.d.ts +0 -32
- package/esm/src/utils/text.d.ts.map +0 -1
- package/esm/src/utils/text.js +0 -68
- package/esm/src/utils/text.test.d.ts.map +0 -1
- package/esm/src/utils/time.d.ts +0 -21
- package/esm/src/utils/time.d.ts.map +0 -1
- package/esm/src/utils/time.js +0 -34
- package/script/_dnt.test_shims.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/_constants.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/_diff.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/_format.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_almost_equals.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_array_includes.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_equals.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_exists.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_false.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_greater.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_greater_or_equal.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_instance_of.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_is_error.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_less.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_less_or_equal.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_match.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_not_equals.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_not_instance_of.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_not_match.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_not_strict_equals.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_object_match.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_rejects.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_strict_equals.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_string_includes.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assert_throws.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/assertion_error.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/equal.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/fail.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/mod.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/unimplemented.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/assert/unreachable.d.ts.map +0 -1
- package/script/deps/deno.land/std@0.217.0/fmt/colors.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/almost_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/array_includes.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/assert.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/assertion_error.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/equal.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/exists.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/fail.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/false.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/greater.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/greater_or_equal.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/instance_of.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/is_error.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/less.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/less_or_equal.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/match.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/mod.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_instance_of.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_match.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/not_strict_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/object_match.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/rejects.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/strict_equals.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/string_includes.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/throws.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/unimplemented.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/assert/1.0.10/unreachable.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/assertion_state.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/build_message.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/diff.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/diff_str.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/format.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/styles.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.5/types.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/testing/1.0.9/_test_suite.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/testing/1.0.9/bdd.d.ts.map +0 -1
- package/script/mod.d.ts +0 -5
- package/script/mod.d.ts.map +0 -1
- package/script/mod.js +0 -20
- package/script/package.json +0 -3
- package/script/src/config/config_service.d.ts +0 -11
- package/script/src/config/config_service.d.ts.map +0 -1
- package/script/src/config/config_service.js +0 -23
- package/script/src/config/index.d.ts +0 -2
- package/script/src/config/index.d.ts.map +0 -1
- package/script/src/config/index.js +0 -17
- package/script/src/data/banks_tz.d.ts +0 -7
- package/script/src/data/banks_tz.d.ts.map +0 -1
- package/script/src/data/banks_tz.js +0 -199
- package/script/src/data/countries.d.ts +0 -39
- package/script/src/data/countries.d.ts.map +0 -1
- package/script/src/data/countries.js +0 -2477
- package/script/src/data/currencies.d.ts +0 -1901
- package/script/src/data/currencies.d.ts.map +0 -1
- package/script/src/data/currencies.js +0 -1075
- package/script/src/data/phone_patterns.d.ts +0 -3809
- package/script/src/data/phone_patterns.d.ts.map +0 -1
- package/script/src/data/phone_patterns.js +0 -2327
- package/script/src/models/amount/amount.d.ts +0 -53
- package/script/src/models/amount/amount.d.ts.map +0 -1
- package/script/src/models/amount/amount.js +0 -194
- package/script/src/models/amount/amount.test.d.ts.map +0 -1
- package/script/src/models/amount/antd_validator.d.ts +0 -40
- package/script/src/models/amount/antd_validator.d.ts.map +0 -1
- package/script/src/models/amount/antd_validator.js +0 -62
- package/script/src/models/amount/antd_validator.test.d.ts.map +0 -1
- package/script/src/models/amount/index.d.ts +0 -3
- package/script/src/models/amount/index.d.ts.map +0 -1
- package/script/src/models/amount/index.js +0 -18
- package/script/src/models/bank/antd_validator.d.ts +0 -11
- package/script/src/models/bank/antd_validator.d.ts.map +0 -1
- package/script/src/models/bank/antd_validator.js +0 -30
- package/script/src/models/bank/antd_validator.test.d.ts.map +0 -1
- package/script/src/models/bank/bank.d.ts +0 -257
- package/script/src/models/bank/bank.d.ts.map +0 -1
- package/script/src/models/bank/bank.js +0 -458
- package/script/src/models/bank/bank.test.d.ts.map +0 -1
- package/script/src/models/bank/index.d.ts +0 -5
- package/script/src/models/bank/index.d.ts.map +0 -1
- package/script/src/models/bank/index.js +0 -20
- package/script/src/models/bank/types.d.ts +0 -7
- package/script/src/models/bank/types.d.ts.map +0 -1
- package/script/src/models/bank/types.js +0 -48
- package/script/src/models/bank/utils.d.ts +0 -8
- package/script/src/models/bank/utils.d.ts.map +0 -1
- package/script/src/models/bank/utils.js +0 -12
- package/script/src/models/country/country.d.ts +0 -822
- package/script/src/models/country/country.d.ts.map +0 -1
- package/script/src/models/country/country.js +0 -745
- package/script/src/models/country/country.test.d.ts.map +0 -1
- package/script/src/models/country/index.d.ts +0 -4
- package/script/src/models/country/index.d.ts.map +0 -1
- package/script/src/models/country/index.js +0 -19
- package/script/src/models/country/types.d.ts.map +0 -1
- package/script/src/models/country/types.js +0 -108
- package/script/src/models/country/utils.d.ts +0 -21
- package/script/src/models/country/utils.d.ts.map +0 -1
- package/script/src/models/country/utils.js +0 -30
- package/script/src/models/currency/currency.d.ts +0 -465
- package/script/src/models/currency/currency.d.ts.map +0 -1
- package/script/src/models/currency/currency.js +0 -479
- package/script/src/models/currency/currency.test.d.ts.map +0 -1
- package/script/src/models/currency/index.d.ts +0 -4
- package/script/src/models/currency/index.d.ts.map +0 -1
- package/script/src/models/currency/index.js +0 -19
- package/script/src/models/currency/types.d.ts.map +0 -1
- package/script/src/models/currency/types.js +0 -31
- package/script/src/models/currency/utils.d.ts +0 -8
- package/script/src/models/currency/utils.d.ts.map +0 -1
- package/script/src/models/currency/utils.js +0 -12
- package/script/src/models/index.d.ts +0 -6
- package/script/src/models/index.d.ts.map +0 -1
- package/script/src/models/index.js +0 -21
- package/script/src/models/phone_number/format.d.ts +0 -13
- package/script/src/models/phone_number/format.d.ts.map +0 -1
- package/script/src/models/phone_number/format.js +0 -16
- package/script/src/models/phone_number/global/phone_number.d.ts +0 -162
- package/script/src/models/phone_number/global/phone_number.d.ts.map +0 -1
- package/script/src/models/phone_number/global/phone_number.js +0 -463
- package/script/src/models/phone_number/global/phone_number.test.d.ts.map +0 -1
- package/script/src/models/phone_number/global/service.d.ts +0 -267
- package/script/src/models/phone_number/global/service.d.ts.map +0 -1
- package/script/src/models/phone_number/global/service.js +0 -506
- package/script/src/models/phone_number/global/service.test.d.ts.map +0 -1
- package/script/src/models/phone_number/index.d.ts +0 -6
- package/script/src/models/phone_number/index.d.ts.map +0 -1
- package/script/src/models/phone_number/index.js +0 -21
- package/script/src/models/phone_number/tz/antd_validator.d.ts +0 -77
- package/script/src/models/phone_number/tz/antd_validator.d.ts.map +0 -1
- package/script/src/models/phone_number/tz/antd_validator.js +0 -94
- package/script/src/models/phone_number/tz/antdvalidator.test.d.ts.map +0 -1
- package/script/src/models/phone_number/tz/network_operator.d.ts +0 -30
- package/script/src/models/phone_number/tz/network_operator.d.ts.map +0 -1
- package/script/src/models/phone_number/tz/network_operator.js +0 -50
- package/script/src/models/phone_number/tz/phone_number.d.ts +0 -141
- package/script/src/models/phone_number/tz/phone_number.d.ts.map +0 -1
- package/script/src/models/phone_number/tz/phone_number.js +0 -294
- package/script/src/models/phone_number/tz/phone_number.test.d.ts.map +0 -1
- package/script/src/reports/index.d.ts +0 -2
- package/script/src/reports/index.d.ts.map +0 -1
- package/script/src/reports/index.js +0 -17
- package/script/src/reports/report_manager.d.ts +0 -146
- package/script/src/reports/report_manager.d.ts.map +0 -1
- package/script/src/reports/report_manager.js +0 -336
- package/script/src/utils/id.d.ts.map +0 -1
- package/script/src/utils/id.js +0 -23
- package/script/src/utils/index.d.ts +0 -4
- package/script/src/utils/index.d.ts.map +0 -1
- package/script/src/utils/index.js +0 -19
- package/script/src/utils/text.d.ts +0 -32
- package/script/src/utils/text.d.ts.map +0 -1
- package/script/src/utils/text.js +0 -75
- package/script/src/utils/text.test.d.ts.map +0 -1
- package/script/src/utils/time.d.ts.map +0 -1
- package/script/src/utils/time.js +0 -39
package/README.md
CHANGED
|
@@ -1,247 +1,95 @@
|
|
|
1
|
-
# @temboplus/frontend-core
|
|
1
|
+
# @temboplus/frontend-core
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
|
|
6
|
-
It is maintained for existing applications that depend on the legacy architecture.
|
|
5
|
+
## Install
|
|
7
6
|
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
+
## Typed Codes
|
|
107
48
|
|
|
108
49
|
```typescript
|
|
109
|
-
import {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
-
|
|
139
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
|
|
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
|
-
##
|
|
78
|
+
## Documentation
|
|
221
79
|
|
|
222
|
-
|
|
223
|
-
|
|
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
|
-
|
|
226
|
-
const internationalPhone = PhoneNumber.from("+1 (202) 555-0123");
|
|
227
|
-
console.log(internationalPhone.getWithFormat(PhoneNumberFormat.INTERNATIONAL)); // +12025550123
|
|
88
|
+
## Development
|
|
228
89
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
console.log(tanzaniaPhone.networkOperator.name); // "Yas"
|
|
90
|
+
```bash
|
|
91
|
+
npx tsc --noEmit
|
|
92
|
+
npm run build
|
|
233
93
|
```
|
|
234
94
|
|
|
235
|
-
|
|
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,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 {};
|