@temboplus/frontend-core 0.2.21 → 0.3.0-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 +1 -1
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/payout-countries.d.ts +2 -0
- package/dist/index.cjs.js +8 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.esm.js +5 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/models/amount/amount.d.ts +761 -0
- package/dist/models/amount/index.d.ts +1 -0
- package/dist/models/bank/bank.d.ts +193 -0
- package/dist/models/bank/bank.schema.d.ts +23 -0
- package/{esm/src/models/bank/types.d.ts → dist/models/bank/bank.types.d.ts} +4 -6
- package/dist/models/bank/bank.validation.d.ts +80 -0
- package/dist/models/bank/index.d.ts +4 -0
- package/{script/src → dist}/models/country/country.d.ts +37 -5
- package/dist/models/country/country.schema.d.ts +73 -0
- package/{script/src/models/country/types.d.ts → dist/models/country/country.types.d.ts} +0 -1
- package/{esm/src/models/country/utils.d.ts → dist/models/country/country.validation.d.ts} +10 -6
- package/dist/models/country/index.d.ts +4 -0
- package/{script/src → dist}/models/currency/currency.d.ts +28 -3
- package/dist/models/currency/currency.schema.d.ts +24 -0
- package/{esm/src/models/currency/types.d.ts → dist/models/currency/currency.types.d.ts} +1 -2
- package/dist/models/currency/currency.validation.d.ts +11 -0
- package/dist/models/currency/index.d.ts +4 -0
- package/{esm/src/models/index.js → dist/models/index.d.ts} +1 -1
- package/dist/models/phone-number/index.d.ts +6 -0
- package/dist/models/phone-number/mno/index.d.ts +6 -0
- package/dist/models/phone-number/mno/ke/mobile-number.ke-mnos.d.ts +22 -0
- package/dist/models/phone-number/mno/ke/mobile-number.ke.d.ts +45 -0
- package/dist/models/phone-number/mno/mno.types.d.ts +63 -0
- package/dist/models/phone-number/mno/mno.utils.d.ts +40 -0
- package/dist/models/phone-number/mno/tz/mobile-number.tz-mnos.d.ts +48 -0
- package/dist/models/phone-number/mno/tz/mobile-number.tz.d.ts +44 -0
- package/dist/models/phone-number/phone-number.d.ts +135 -0
- package/dist/models/phone-number/phone-number.factory.d.ts +52 -0
- package/dist/models/phone-number/phone-number.service.d.ts +36 -0
- package/dist/models/phone-number/phone-number.types.d.ts +115 -0
- package/dist/models/phone-number/phone-number.utils.d.ts +67 -0
- package/dist/reports/index.d.ts +1 -0
- package/{esm/src/reports/report_manager.d.ts → dist/reports/report-manager.d.ts} +33 -4
- package/{esm/src/config/config_service.d.ts → dist/services/config.d.ts} +6 -5
- package/dist/services/index.d.ts +2 -0
- package/dist/services/logger.d.ts +2 -0
- package/{script/src → dist}/utils/id.d.ts +7 -3
- package/dist/utils/text.d.ts +103 -0
- package/{script/src → dist}/utils/time.d.ts +9 -4
- package/package.json +47 -22
- 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.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.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.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.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 +0 -6
- package/esm/src/models/index.d.ts.map +0 -1
- 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.map +0 -1
- package/esm/src/reports/report_manager.js +0 -318
- 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.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.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 +0 -21
- 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 -144
- package/script/src/reports/report_manager.d.ts.map +0 -1
- package/script/src/reports/report_manager.js +0 -328
- 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/{esm/src/utils/index.js → dist/utils/index.d.ts} +0 -0
|
@@ -1,458 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview This file contains both the Bank class and BankService class.
|
|
4
|
-
*
|
|
5
|
-
* ARCHITECTURE NOTE: Bank and BankService Classes
|
|
6
|
-
* ===============================================
|
|
7
|
-
*
|
|
8
|
-
* These two classes have been intentionally placed in the same file to follow
|
|
9
|
-
* the established domain model pattern used with Country and Currency classes.
|
|
10
|
-
*
|
|
11
|
-
* - Bank class: Defines bank properties and static accessors
|
|
12
|
-
* - BankService class: Loads bank data and provides instance methods
|
|
13
|
-
*
|
|
14
|
-
* Benefits of this approach:
|
|
15
|
-
* 1. Prevents circular dependencies between the classes
|
|
16
|
-
* 2. Ensures static properties are immediately available on import
|
|
17
|
-
* 3. Maintains a consistent architectural pattern across domain models
|
|
18
|
-
* 4. Encapsulates all bank-related functionality in a single module
|
|
19
|
-
*
|
|
20
|
-
* This implementation follows the "Smart Models, Dumb Services" pattern where
|
|
21
|
-
* the Bank class provides a rich public API through static methods that delegate
|
|
22
|
-
* to the internal BankService. Meanwhile, BankService handles data loading and
|
|
23
|
-
* indexing without being directly exposed to external code.
|
|
24
|
-
*/
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.BankService = exports.SWIFT_CODE_REGEX = exports.Bank = void 0;
|
|
30
|
-
const banks_tz_js_1 = __importDefault(require("../../data/banks_tz.js"));
|
|
31
|
-
const BankToken = Symbol("BankToken");
|
|
32
|
-
/**
|
|
33
|
-
* Represents a bank with essential details.
|
|
34
|
-
* @class Bank
|
|
35
|
-
*/
|
|
36
|
-
class Bank {
|
|
37
|
-
/**
|
|
38
|
-
* Creates a new Bank instance. Private constructor - only BankService can create instances.
|
|
39
|
-
* Clients should use static methods like Bank.from() or Bank.CRDB instead.
|
|
40
|
-
*
|
|
41
|
-
* @param {string} _fullName - The full name of the bank
|
|
42
|
-
* @param {string} _shortName - The short name or abbreviated name of the bank
|
|
43
|
-
* @param {string} _swiftCode - The SWIFT code associated with the bank
|
|
44
|
-
*/
|
|
45
|
-
constructor(token, _fullName, _shortName, _swiftCode) {
|
|
46
|
-
Object.defineProperty(this, "_fullName", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
configurable: true,
|
|
49
|
-
writable: true,
|
|
50
|
-
value: _fullName
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(this, "_shortName", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
configurable: true,
|
|
55
|
-
writable: true,
|
|
56
|
-
value: _shortName
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(this, "_swiftCode", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
configurable: true,
|
|
61
|
-
writable: true,
|
|
62
|
-
value: _swiftCode
|
|
63
|
-
});
|
|
64
|
-
if (token !== BankToken) {
|
|
65
|
-
throw new Error("Bank can only be instantiated by BankService.");
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Gets the full name of the bank.
|
|
70
|
-
* @returns {string} The full name of the bank
|
|
71
|
-
*/
|
|
72
|
-
get fullName() {
|
|
73
|
-
return this._fullName;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Gets the short name of the bank.
|
|
77
|
-
* @returns {string} The short name of the bank
|
|
78
|
-
*/
|
|
79
|
-
get shortName() {
|
|
80
|
-
return this._shortName;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Gets the SWIFT code of the bank.
|
|
84
|
-
* @returns {string} The SWIFT code of the bank
|
|
85
|
-
*/
|
|
86
|
-
get swiftCode() {
|
|
87
|
-
return this._swiftCode;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Creates a string representation of the bank.
|
|
91
|
-
* @returns {string} String representation of the bank
|
|
92
|
-
*/
|
|
93
|
-
toString() {
|
|
94
|
-
return `${this.fullName} (${this.shortName}) - SWIFT: ${this.swiftCode}`;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Retrieves a bank by its SWIFT code.
|
|
98
|
-
* @param {string} swiftCode The SWIFT code of the bank.
|
|
99
|
-
* @returns {Bank | undefined} The bank corresponding to the SWIFT code or `undefined` if not found.
|
|
100
|
-
*/
|
|
101
|
-
static fromSWIFTCode(swiftCode) {
|
|
102
|
-
return BankService.getInstance().fromSWIFTCode(swiftCode);
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Retrieves a bank by its short or full name.
|
|
106
|
-
* @param {string} bankName The full name of the bank.
|
|
107
|
-
* @returns {Bank | undefined} The bank corresponding to the full name or `undefined` if not found.
|
|
108
|
-
*/
|
|
109
|
-
static fromBankName(bankName) {
|
|
110
|
-
return BankService.getInstance().fromBankName(bankName);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Returns all available banks.
|
|
114
|
-
* @returns {Bank[]} Array of all banks
|
|
115
|
-
*/
|
|
116
|
-
static getAll() {
|
|
117
|
-
return BankService.getInstance().getAll();
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Validates if a given SWIFT/BIC (Bank Identifier Code) is valid
|
|
121
|
-
* @param swiftCode The SWIFT/BIC code to validate
|
|
122
|
-
* @returns True if the SWIFT code is valid
|
|
123
|
-
*/
|
|
124
|
-
static isValidSwiftCode(swiftCode) {
|
|
125
|
-
if (!swiftCode)
|
|
126
|
-
return false;
|
|
127
|
-
const bank = Bank.fromSWIFTCode(swiftCode);
|
|
128
|
-
return !!bank;
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Validates if a given bank name is valid
|
|
132
|
-
* @param bankName The bank name to validate
|
|
133
|
-
* @returns True if the bank name is valid
|
|
134
|
-
*/
|
|
135
|
-
static isValidBankName(bankName) {
|
|
136
|
-
if (!bankName)
|
|
137
|
-
return false;
|
|
138
|
-
const bank = Bank.fromBankName(bankName);
|
|
139
|
-
return !!bank;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Checks the validity of the bank data
|
|
143
|
-
* @returns true if the bank information is available and valid
|
|
144
|
-
*/
|
|
145
|
-
validate() {
|
|
146
|
-
try {
|
|
147
|
-
return (Bank.fromBankName(this._fullName) !== undefined ||
|
|
148
|
-
Bank.fromBankName(this._shortName) !== undefined ||
|
|
149
|
-
Bank.fromSWIFTCode(this._swiftCode) !== undefined);
|
|
150
|
-
}
|
|
151
|
-
catch (_) {
|
|
152
|
-
return false;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Attempts to create a Bank instance from a bank name or SWIFT code
|
|
157
|
-
* @param input The bank name or SWIFT code
|
|
158
|
-
* @returns A Bank instance if valid input, undefined otherwise
|
|
159
|
-
*/
|
|
160
|
-
static from(input) {
|
|
161
|
-
if (Bank.canConstruct(input)) {
|
|
162
|
-
const bank1 = Bank.fromBankName(input);
|
|
163
|
-
if (bank1)
|
|
164
|
-
return bank1;
|
|
165
|
-
const bank2 = Bank.fromSWIFTCode(input);
|
|
166
|
-
if (bank2)
|
|
167
|
-
return bank2;
|
|
168
|
-
}
|
|
169
|
-
return undefined;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Validates if the input can be used to construct a valid Bank instance
|
|
173
|
-
* @param input The bank name or SWIFT code to validate
|
|
174
|
-
* @returns True if input can construct a valid bank, false otherwise
|
|
175
|
-
*/
|
|
176
|
-
static canConstruct(input) {
|
|
177
|
-
if (!input || typeof input !== "string")
|
|
178
|
-
return false;
|
|
179
|
-
const text = input.trim();
|
|
180
|
-
if (text.length === 0)
|
|
181
|
-
return false;
|
|
182
|
-
const bankFromSwift = Bank.fromSWIFTCode(text);
|
|
183
|
-
const bankFromName = Bank.fromBankName(text);
|
|
184
|
-
return bankFromSwift !== undefined || bankFromName !== undefined;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* Checks if an unknown value is a Bank instance
|
|
188
|
-
* @param obj The value to validate
|
|
189
|
-
* @returns Type predicate indicating if the value is a valid Bank
|
|
190
|
-
*/
|
|
191
|
-
static is(obj) {
|
|
192
|
-
if (!obj || typeof obj !== "object")
|
|
193
|
-
return false;
|
|
194
|
-
const maybeBank = obj;
|
|
195
|
-
// Check private properties exist with correct types
|
|
196
|
-
if (typeof maybeBank._fullName !== "string")
|
|
197
|
-
return false;
|
|
198
|
-
if (typeof maybeBank._shortName !== "string")
|
|
199
|
-
return false;
|
|
200
|
-
if (typeof maybeBank._swiftCode !== "string")
|
|
201
|
-
return false;
|
|
202
|
-
// Validate against known banks
|
|
203
|
-
const bankFromSwift = Bank.fromSWIFTCode(maybeBank._swiftCode);
|
|
204
|
-
return Boolean(bankFromSwift);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
exports.Bank = Bank;
|
|
208
|
-
/**
|
|
209
|
-
* Regex pattern to validate SWIFT codes.
|
|
210
|
-
* The SWIFT code must follow the format: XXXX XX XX XXX (optional last part for branches).
|
|
211
|
-
* @constant {RegExp}
|
|
212
|
-
*/
|
|
213
|
-
exports.SWIFT_CODE_REGEX = /^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$/;
|
|
214
|
-
/**
|
|
215
|
-
* Service for managing bank data.
|
|
216
|
-
* @class BankService
|
|
217
|
-
*/
|
|
218
|
-
class BankService {
|
|
219
|
-
constructor() {
|
|
220
|
-
Object.defineProperty(this, "bankList", {
|
|
221
|
-
enumerable: true,
|
|
222
|
-
configurable: true,
|
|
223
|
-
writable: true,
|
|
224
|
-
value: []
|
|
225
|
-
});
|
|
226
|
-
Object.defineProperty(this, "bankRecord", {
|
|
227
|
-
enumerable: true,
|
|
228
|
-
configurable: true,
|
|
229
|
-
writable: true,
|
|
230
|
-
value: {}
|
|
231
|
-
});
|
|
232
|
-
Object.defineProperty(this, "banksByName", {
|
|
233
|
-
enumerable: true,
|
|
234
|
-
configurable: true,
|
|
235
|
-
writable: true,
|
|
236
|
-
value: {}
|
|
237
|
-
});
|
|
238
|
-
Object.defineProperty(this, "banksByShortName", {
|
|
239
|
-
enumerable: true,
|
|
240
|
-
configurable: true,
|
|
241
|
-
writable: true,
|
|
242
|
-
value: {}
|
|
243
|
-
});
|
|
244
|
-
// Static references for direct access through Bank class
|
|
245
|
-
Object.defineProperty(this, "staticReferences", {
|
|
246
|
-
enumerable: true,
|
|
247
|
-
configurable: true,
|
|
248
|
-
writable: true,
|
|
249
|
-
value: new Map()
|
|
250
|
-
});
|
|
251
|
-
/**
|
|
252
|
-
* Validates whether a given SWIFT code is correct.
|
|
253
|
-
* It checks both the SWIFT code format and if the SWIFT code exists in the list of valid codes.
|
|
254
|
-
* @param {string} [swiftCode] The SWIFT code to validate.
|
|
255
|
-
* @returns {boolean} `true` if valid, otherwise `false`.
|
|
256
|
-
*/
|
|
257
|
-
Object.defineProperty(this, "validateSWIFTCode", {
|
|
258
|
-
enumerable: true,
|
|
259
|
-
configurable: true,
|
|
260
|
-
writable: true,
|
|
261
|
-
value: (swiftCode) => {
|
|
262
|
-
if (!swiftCode)
|
|
263
|
-
return false;
|
|
264
|
-
const normalizedCode = swiftCode.trim().toUpperCase();
|
|
265
|
-
return (this.isValidSwiftCodeFormat(normalizedCode) &&
|
|
266
|
-
this.getAllSwiftCodes().includes(normalizedCode));
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Gets the singleton instance of BankService.
|
|
272
|
-
* Creates the instance if it doesn't exist.
|
|
273
|
-
* @static
|
|
274
|
-
* @returns {BankService} The singleton instance
|
|
275
|
-
*/
|
|
276
|
-
static getInstance() {
|
|
277
|
-
if (!BankService.instance) {
|
|
278
|
-
BankService.instance = new BankService();
|
|
279
|
-
BankService.instance.initialize();
|
|
280
|
-
}
|
|
281
|
-
return BankService.instance;
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Initializes the service with bank data.
|
|
285
|
-
* Should be called once when your application starts.
|
|
286
|
-
*/
|
|
287
|
-
initialize() {
|
|
288
|
-
try {
|
|
289
|
-
const data = JSON.parse(JSON.stringify(banks_tz_js_1.default));
|
|
290
|
-
const banks = Object.values(data).map((b) => new Bank(BankToken, b.fullName, b.shortName, b.swiftCode));
|
|
291
|
-
const swiftCodeRecord = {};
|
|
292
|
-
const nameRecord = {};
|
|
293
|
-
const shortNameRecord = {};
|
|
294
|
-
banks.forEach((bank) => {
|
|
295
|
-
// Populate records
|
|
296
|
-
swiftCodeRecord[bank.swiftCode.toUpperCase()] = bank;
|
|
297
|
-
nameRecord[bank.fullName.toUpperCase()] = bank;
|
|
298
|
-
shortNameRecord[bank.shortName.toUpperCase()] = bank;
|
|
299
|
-
// Add to static references with uppercase short name
|
|
300
|
-
const shortName = bank.shortName.toUpperCase();
|
|
301
|
-
this.staticReferences.set(shortName, bank);
|
|
302
|
-
// Handle bank names with spaces (like "GT BANK")
|
|
303
|
-
if (shortName.includes(" ")) {
|
|
304
|
-
const noSpaceName = shortName.replace(/\s+/g, "_");
|
|
305
|
-
this.staticReferences.set(noSpaceName, bank);
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
this.bankRecord = swiftCodeRecord;
|
|
309
|
-
this.banksByName = nameRecord;
|
|
310
|
-
this.banksByShortName = shortNameRecord;
|
|
311
|
-
this.bankList = banks;
|
|
312
|
-
}
|
|
313
|
-
catch (error) {
|
|
314
|
-
console.error("Failed to initialize BankService:", error);
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
/**
|
|
318
|
-
* Gets all banks.
|
|
319
|
-
* @returns {Bank[]} Array of all banks
|
|
320
|
-
*/
|
|
321
|
-
getAll() {
|
|
322
|
-
return this.bankList;
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Gets all banks as a record.
|
|
326
|
-
* @returns {Record<string, Bank>} Record of bank SWIFT codes and bank objects
|
|
327
|
-
*/
|
|
328
|
-
getAllAsRecord() {
|
|
329
|
-
return this.bankRecord;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Gets static bank references to be used by the Bank class.
|
|
333
|
-
* @returns {Map<string, Bank>} Map of static references
|
|
334
|
-
*/
|
|
335
|
-
getStaticReferences() {
|
|
336
|
-
return this.staticReferences;
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Retrieves a bank by its SWIFT code.
|
|
340
|
-
* @param {string} swiftCode The SWIFT code of the bank.
|
|
341
|
-
* @returns {Bank | undefined} The bank corresponding to the SWIFT code or `undefined` if not found.
|
|
342
|
-
*/
|
|
343
|
-
fromSWIFTCode(swiftCode) {
|
|
344
|
-
if (!swiftCode || typeof swiftCode !== "string")
|
|
345
|
-
return;
|
|
346
|
-
return this.bankRecord[swiftCode.toUpperCase()];
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* Retrieves a bank by its name.
|
|
350
|
-
* @param {string} bankName The name of the bank.
|
|
351
|
-
* @returns {Bank | undefined} The bank corresponding to the name or `undefined` if not found.
|
|
352
|
-
*/
|
|
353
|
-
fromBankName(bankName) {
|
|
354
|
-
if (!bankName || typeof bankName !== "string")
|
|
355
|
-
return;
|
|
356
|
-
// First try shortname exact match
|
|
357
|
-
const bankByShortName = this.banksByShortName[bankName.toUpperCase()];
|
|
358
|
-
if (bankByShortName)
|
|
359
|
-
return bankByShortName;
|
|
360
|
-
// Next try fullname exact match
|
|
361
|
-
const bankByName = this.banksByName[bankName.toUpperCase()];
|
|
362
|
-
if (bankByName)
|
|
363
|
-
return bankByName;
|
|
364
|
-
// If not found, try more lenient matching on full name
|
|
365
|
-
for (const [name, bankObj] of Object.entries(this.banksByName)) {
|
|
366
|
-
if (bankName.toUpperCase() === name.toUpperCase()) {
|
|
367
|
-
return bankObj;
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
// Try lenient matching on short name
|
|
371
|
-
for (const [shortName, bankObj] of Object.entries(this.banksByShortName)) {
|
|
372
|
-
if (bankName.toUpperCase() === shortName.toUpperCase()) {
|
|
373
|
-
return bankObj;
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
// Legacy fallback - case insensitive exact match
|
|
377
|
-
return this.bankList.find((bank) => bank.fullName.toLowerCase() === bankName.toLowerCase() ||
|
|
378
|
-
bankName.toLowerCase() === bank.shortName.toLowerCase());
|
|
379
|
-
}
|
|
380
|
-
/**
|
|
381
|
-
* Validates if a given SWIFT/BIC (Bank Identifier Code) is valid.
|
|
382
|
-
* @param {string | null | undefined} swiftCode - The SWIFT/BIC code to validate.
|
|
383
|
-
* @returns {boolean} Returns true if the SWIFT code is valid, false otherwise.
|
|
384
|
-
*/
|
|
385
|
-
isValidSwiftCode(swiftCode) {
|
|
386
|
-
if (!swiftCode)
|
|
387
|
-
return false;
|
|
388
|
-
return !!this.fromSWIFTCode(swiftCode);
|
|
389
|
-
}
|
|
390
|
-
/**
|
|
391
|
-
* Validates if a given bank name is valid.
|
|
392
|
-
* @param {string | null | undefined} bankName - The bank name to validate.
|
|
393
|
-
* @returns {boolean} Returns true if the bank name is valid, false otherwise.
|
|
394
|
-
*/
|
|
395
|
-
isValidBankName(bankName) {
|
|
396
|
-
if (!bankName)
|
|
397
|
-
return false;
|
|
398
|
-
return !!this.fromBankName(bankName);
|
|
399
|
-
}
|
|
400
|
-
/**
|
|
401
|
-
* Searches for banks that match the given search term.
|
|
402
|
-
* @param {string} searchTerm - The partial name or SWIFT code to search for.
|
|
403
|
-
* @param {number} [limit=10] - Maximum number of results to return.
|
|
404
|
-
* @returns {Bank[]} Array of matching banks, limited to specified count.
|
|
405
|
-
*/
|
|
406
|
-
search(searchTerm, limit = 10) {
|
|
407
|
-
if (!searchTerm || typeof searchTerm !== "string")
|
|
408
|
-
return [];
|
|
409
|
-
const term = searchTerm.toLowerCase().trim();
|
|
410
|
-
if (term.length === 0)
|
|
411
|
-
return [];
|
|
412
|
-
const results = this.bankList.filter((bank) => bank.fullName.toLowerCase().includes(term) ||
|
|
413
|
-
bank.shortName.toLowerCase().includes(term) ||
|
|
414
|
-
bank.swiftCode.toLowerCase().includes(term));
|
|
415
|
-
return results.slice(0, limit);
|
|
416
|
-
}
|
|
417
|
-
/**
|
|
418
|
-
* Compares two Bank instances for equality by checking their full name, short name, and SWIFT code
|
|
419
|
-
*
|
|
420
|
-
* @param {Bank} bank1 - First bank to compare
|
|
421
|
-
* @param {Bank} bank2 - Second bank to compare
|
|
422
|
-
* @returns {boolean} True if banks are equal, false otherwise
|
|
423
|
-
* @private
|
|
424
|
-
*/
|
|
425
|
-
compare(bank1, bank2) {
|
|
426
|
-
return (bank1.fullName === bank2.fullName &&
|
|
427
|
-
bank1.shortName === bank2.shortName &&
|
|
428
|
-
bank1.swiftCode === bank2.swiftCode);
|
|
429
|
-
}
|
|
430
|
-
/**
|
|
431
|
-
* Retrieves all SWIFT codes from the TZ_BANKS list.
|
|
432
|
-
* @returns {string[]} A list of all SWIFT codes in uppercase.
|
|
433
|
-
*/
|
|
434
|
-
getAllSwiftCodes() {
|
|
435
|
-
return this.bankList.map((bank) => bank.swiftCode.toUpperCase());
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* Checks whether a given SWIFT code is in the correct format.
|
|
439
|
-
* @param {string} swiftCode The SWIFT code to check.
|
|
440
|
-
* @returns {boolean} `true` if the SWIFT code matches the expected format; `false` otherwise.
|
|
441
|
-
*/
|
|
442
|
-
isValidSwiftCodeFormat(swiftCode) {
|
|
443
|
-
return exports.SWIFT_CODE_REGEX.test(swiftCode);
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
exports.BankService = BankService;
|
|
447
|
-
(function setupStaticReferences() {
|
|
448
|
-
try {
|
|
449
|
-
const staticRefs = BankService.getInstance().getStaticReferences();
|
|
450
|
-
staticRefs.forEach((bank, key) => {
|
|
451
|
-
// deno-lint-ignore no-explicit-any
|
|
452
|
-
Bank[key] = bank;
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
catch (error) {
|
|
456
|
-
console.error("Failed to initialize Bank static properties:", error);
|
|
457
|
-
}
|
|
458
|
-
})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bank.test.d.ts","sourceRoot":"","sources":["../../../../src/src/models/bank/bank.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/models/bank/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./bank.js"), exports);
|
|
18
|
-
__exportStar(require("./antd_validator.js"), exports);
|
|
19
|
-
__exportStar(require("./types.js"), exports);
|
|
20
|
-
__exportStar(require("./utils.js"), exports);
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type TZBankSwiftCode = "CORUTZTZ" | "PBZATZTZ" | "SCBLTZTX" | "SBICTZTX" | "CITITZTZ" | "EUAFTZTZ" | "DTKETZTZ" | "AKCOTZTZ" | "EXTNTZTZ" | "KLMJTZTZ" | "NLCBTZTX" | "NMIBTZTZ" | "KCBLTZTZ" | "HABLTZTZ" | "BKMYTZTZ" | "BARCTZTZ" | "IMBLTZTZ" | "CBAFTZTZ" | "DASUTZTZ" | "BARBTZTZ" | "AZANTZTZ" | "UCCTTZTZ" | "FMBZTZTX" | "ACTZTZTZ" | "BKIDTZTZ" | "UNAFTZTZ" | "MKCBTZTZ" | "ECOCTZTZ" | "MWCBTZTZ" | "FIRNTZTX" | "AMNNTZTZ" | "EQBLTZTZ" | "TAPBTZTZ" | "MBTLTZTZ" | "CNRBTZTZ" | "MWCOTZTZ" | "GTBITZTZ" | "YETMTZTZ" | "CDSHTZTZ";
|
|
2
|
-
/**
|
|
3
|
-
* A Set containing all SWIFT codes from the provided list.
|
|
4
|
-
* Useful for quick lookups (e.g., checking if a string is a valid SWIFT code from this list).
|
|
5
|
-
*/
|
|
6
|
-
export declare const TZBankSwiftCodesSet: Set<TZBankSwiftCode>;
|
|
7
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/models/bank/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,CAAC;AAEf;;;GAGG;AACH,eAAO,MAAM,mBAAmB,sBAwC9B,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TZBankSwiftCodesSet = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* A Set containing all SWIFT codes from the provided list.
|
|
6
|
-
* Useful for quick lookups (e.g., checking if a string is a valid SWIFT code from this list).
|
|
7
|
-
*/
|
|
8
|
-
exports.TZBankSwiftCodesSet = new Set([
|
|
9
|
-
"CORUTZTZ",
|
|
10
|
-
"PBZATZTZ",
|
|
11
|
-
"SCBLTZTX",
|
|
12
|
-
"SBICTZTX",
|
|
13
|
-
"CITITZTZ",
|
|
14
|
-
"EUAFTZTZ",
|
|
15
|
-
"DTKETZTZ",
|
|
16
|
-
"AKCOTZTZ",
|
|
17
|
-
"EXTNTZTZ",
|
|
18
|
-
"KLMJTZTZ",
|
|
19
|
-
"NLCBTZTX",
|
|
20
|
-
"NMIBTZTZ",
|
|
21
|
-
"KCBLTZTZ",
|
|
22
|
-
"HABLTZTZ",
|
|
23
|
-
"BKMYTZTZ",
|
|
24
|
-
"BARCTZTZ",
|
|
25
|
-
"IMBLTZTZ",
|
|
26
|
-
"CBAFTZTZ",
|
|
27
|
-
"DASUTZTZ",
|
|
28
|
-
"BARBTZTZ",
|
|
29
|
-
"AZANTZTZ",
|
|
30
|
-
"UCCTTZTZ",
|
|
31
|
-
"FMBZTZTX",
|
|
32
|
-
"ACTZTZTZ",
|
|
33
|
-
"BKIDTZTZ",
|
|
34
|
-
"UNAFTZTZ",
|
|
35
|
-
"MKCBTZTZ",
|
|
36
|
-
"ECOCTZTZ",
|
|
37
|
-
"MWCBTZTZ",
|
|
38
|
-
"FIRNTZTX",
|
|
39
|
-
"AMNNTZTZ",
|
|
40
|
-
"EQBLTZTZ",
|
|
41
|
-
"TAPBTZTZ",
|
|
42
|
-
"MBTLTZTZ",
|
|
43
|
-
"CNRBTZTZ",
|
|
44
|
-
"MWCOTZTZ",
|
|
45
|
-
"GTBITZTZ",
|
|
46
|
-
"YETMTZTZ",
|
|
47
|
-
"CDSHTZTZ",
|
|
48
|
-
]);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type TZBankSwiftCode } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Type guard to check if a string is a valid TZBankSwiftCode.
|
|
4
|
-
* @param code The string to check.
|
|
5
|
-
* @returns True if the string is a member of the TZBankSwiftCode union type, false otherwise.
|
|
6
|
-
*/
|
|
7
|
-
export declare function isValidTZBankSwiftCode(code: string): code is TZBankSwiftCode;
|
|
8
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/src/models/bank/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EAErB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,eAAe,CAE5E"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isValidTZBankSwiftCode = isValidTZBankSwiftCode;
|
|
4
|
-
const types_js_1 = require("./types.js");
|
|
5
|
-
/**
|
|
6
|
-
* Type guard to check if a string is a valid TZBankSwiftCode.
|
|
7
|
-
* @param code The string to check.
|
|
8
|
-
* @returns True if the string is a member of the TZBankSwiftCode union type, false otherwise.
|
|
9
|
-
*/
|
|
10
|
-
function isValidTZBankSwiftCode(code) {
|
|
11
|
-
return types_js_1.TZBankSwiftCodesSet.has(code);
|
|
12
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"country.d.ts","sourceRoot":"","sources":["../../../../src/src/models/country/country.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEhF;;GAEG;AACH,oBAAY,SAAS;IACnB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,yBAAyB,8BAA8B;IACvD,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC;AAED;;;GAGG;AACH,qBAAa,OAAO;IA2fhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAhgBhC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,QAAQ,CAA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"}
|