@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 26.4 kB
Source Map (JSON)
{"version":3,"file":"use-formatters.mjs","sources":["../../../src/tools/use-formatters.ts"],"sourcesContent":["import FormatterNumbers from './formatters/numbers'\nimport { IbanSpecification, FormatterIban } from './formatters/iban'\n\n/**\n * Composable that exposes the shared number and IBAN formatters used across the SDK.\n *\n * Both formatters are singletons (`FormatterNumbers.getInstance()` / `FormatterIban.getInstance()`),\n * so calling `useFormatter()` multiple times always returns the same underlying instances.\n *\n * On every call, the returned `formatterIban` is (re-)populated with the full list of IBAN\n * country specifications (all countries from the official IBAN registry, several non-official\n * countries that follow the IBAN structure, and the French regional/administrative subdivisions\n * GF, GP, MQ, RE, PF, TF, YT, NC, BL, MF, PM). Because `formatterIban` is a singleton and\n * `addSpecification` simply overwrites the entry for a given country code, re-registering the\n * same specifications on subsequent calls is a cheap no-op.\n *\n * `formatterNumber` is a `FormatterNumbers` instance that wraps `Intl.NumberFormat` for\n * locale-aware number formatting (see `FormatterNumbers.format`).\n *\n * `formatterIban` is a `FormatterIban` instance used to validate and pretty-print IBANs, and to\n * convert between IBAN and BBAN representations (see `FormatterIban.isValid`,\n * `FormatterIban.printFormat`, `FormatterIban.electronicFormat`, `FormatterIban.toBBAN`,\n * `FormatterIban.fromBBAN`, `FormatterIban.isValidBBAN`, `FormatterIban.addSpecification`).\n *\n * @returns An object with `formatterNumber` (`FormatterNumbers` singleton) and `formatterIban`\n * (`FormatterIban` singleton, pre-loaded with IBAN country specifications).\n *\n * @example\n * ```ts\n * import { useFormatter } from '@bitrix24/b24jssdk'\n *\n * const { formatterNumber, formatterIban } = useFormatter()\n *\n * formatterIban.printFormat('GB29NWBK60161331926819') // 'GB29 NWBK 6016 1331 9268 19'\n * formatterIban.isValid('DE89370400440532013000') // true\n * formatterNumber.format(1234.567) // '1,234.57'\n * ```\n */\nexport const useFormatter = () => {\n const formatterNumber = FormatterNumbers.getInstance()\n\n // region Iban ////\n const formatterIban = FormatterIban.getInstance()\n\n // region addSpecification ////\n formatterIban.addSpecification(\n new IbanSpecification('AD', 24, 'F04F04A12', 'AD1200012030200359100100')\n )\n formatterIban.addSpecification(\n new IbanSpecification('AE', 23, 'F03F16', 'AE070331234567890123456')\n )\n formatterIban.addSpecification(\n new IbanSpecification('AL', 28, 'F08A16', 'AL47212110090000000235698741')\n )\n formatterIban.addSpecification(\n new IbanSpecification('AT', 20, 'F05F11', 'AT611904300234573201')\n )\n formatterIban.addSpecification(\n new IbanSpecification('AZ', 28, 'U04A20', 'AZ21NABZ00000000137010001944')\n )\n formatterIban.addSpecification(\n new IbanSpecification('BA', 20, 'F03F03F08F02', 'BA391290079401028494')\n )\n formatterIban.addSpecification(\n new IbanSpecification('BE', 16, 'F03F07F02', 'BE68539007547034')\n )\n formatterIban.addSpecification(\n new IbanSpecification('BG', 22, 'U04F04F02A08', 'BG80BNBG96611020345678')\n )\n formatterIban.addSpecification(\n new IbanSpecification('BH', 22, 'U04A14', 'BH67BMAG00001299123456')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'BR',\n 29,\n 'F08F05F10U01A01',\n 'BR9700360305000010009795493P1'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('BY', 28, 'A04F04A16', 'BY13NBRB3600900000002Z00AB00')\n )\n formatterIban.addSpecification(\n new IbanSpecification('CH', 21, 'F05A12', 'CH9300762011623852957')\n )\n formatterIban.addSpecification(\n new IbanSpecification('CR', 22, 'F04F14', 'CR72012300000171549015')\n )\n formatterIban.addSpecification(\n new IbanSpecification('CY', 28, 'F03F05A16', 'CY17002001280000001200527600')\n )\n formatterIban.addSpecification(\n new IbanSpecification('CZ', 24, 'F04F06F10', 'CZ6508000000192000145399')\n )\n formatterIban.addSpecification(\n new IbanSpecification('DE', 22, 'F08F10', 'DE89370400440532013000')\n )\n formatterIban.addSpecification(\n new IbanSpecification('DK', 18, 'F04F09F01', 'DK5000400440116243')\n )\n formatterIban.addSpecification(\n new IbanSpecification('DO', 28, 'U04F20', 'DO28BAGR00000001212453611324')\n )\n formatterIban.addSpecification(\n new IbanSpecification('EE', 20, 'F02F02F11F01', 'EE382200221020145685')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'EG',\n 29,\n 'F04F04F17',\n 'EG800002000156789012345180002'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'ES',\n 24,\n 'F04F04F01F01F10',\n 'ES9121000418450200051332'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('FI', 18, 'F06F07F01', 'FI2112345600000785')\n )\n formatterIban.addSpecification(\n new IbanSpecification('FO', 18, 'F04F09F01', 'FO6264600001631634')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'FR',\n 27,\n 'F05F05A11F02',\n 'FR1420041010050500013M02606'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('GB', 22, 'U04F06F08', 'GB29NWBK60161331926819')\n )\n formatterIban.addSpecification(\n new IbanSpecification('GE', 22, 'U02F16', 'GE29NB0000000101904917')\n )\n formatterIban.addSpecification(\n new IbanSpecification('GI', 23, 'U04A15', 'GI75NWBK000000007099453')\n )\n formatterIban.addSpecification(\n new IbanSpecification('GL', 18, 'F04F09F01', 'GL8964710001000206')\n )\n formatterIban.addSpecification(\n new IbanSpecification('GR', 27, 'F03F04A16', 'GR1601101250000000012300695')\n )\n formatterIban.addSpecification(\n new IbanSpecification('GT', 28, 'A04A20', 'GT82TRAJ01020000001210029690')\n )\n formatterIban.addSpecification(\n new IbanSpecification('HR', 21, 'F07F10', 'HR1210010051863000160')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'HU',\n 28,\n 'F03F04F01F15F01',\n 'HU42117730161111101800000000'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('IE', 22, 'U04F06F08', 'IE29AIBK93115212345678')\n )\n formatterIban.addSpecification(\n new IbanSpecification('IL', 23, 'F03F03F13', 'IL620108000000099999999')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'IS',\n 26,\n 'F04F02F06F10',\n 'IS140159260076545510730339'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'IT',\n 27,\n 'U01F05F05A12',\n 'IT60X0542811101000000123456'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('IQ', 23, 'U04F03A12', 'IQ98NBIQ850123456789012')\n )\n formatterIban.addSpecification(\n new IbanSpecification('JO', 30, 'A04F22', 'JO15AAAA1234567890123456789012')\n )\n formatterIban.addSpecification(\n new IbanSpecification('KW', 30, 'U04A22', 'KW81CBKU0000000000001234560101')\n )\n formatterIban.addSpecification(\n new IbanSpecification('KZ', 20, 'F03A13', 'KZ86125KZT5004100100')\n )\n formatterIban.addSpecification(\n new IbanSpecification('LB', 28, 'F04A20', 'LB62099900000001001901229114')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'LC',\n 32,\n 'U04F24',\n 'LC07HEMM000100010012001200013015'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('LI', 21, 'F05A12', 'LI21088100002324013AA')\n )\n formatterIban.addSpecification(\n new IbanSpecification('LT', 20, 'F05F11', 'LT121000011101001000')\n )\n formatterIban.addSpecification(\n new IbanSpecification('LU', 20, 'F03A13', 'LU280019400644750000')\n )\n formatterIban.addSpecification(\n new IbanSpecification('LV', 21, 'U04A13', 'LV80BANK0000435195001')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'MC',\n 27,\n 'F05F05A11F02',\n 'MC5811222000010123456789030'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('MD', 24, 'U02A18', 'MD24AG000225100013104168')\n )\n formatterIban.addSpecification(\n new IbanSpecification('ME', 22, 'F03F13F02', 'ME25505000012345678951')\n )\n formatterIban.addSpecification(\n new IbanSpecification('MK', 19, 'F03A10F02', 'MK07250120000058984')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'MR',\n 27,\n 'F05F05F11F02',\n 'MR1300020001010000123456753'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'MT',\n 31,\n 'U04F05A18',\n 'MT84MALT011000012345MTLCAST001S'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'MU',\n 30,\n 'U04F02F02F12F03U03',\n 'MU17BOMM0101101030300200000MUR'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('NL', 18, 'U04F10', 'NL91ABNA0417164300')\n )\n formatterIban.addSpecification(\n new IbanSpecification('NO', 15, 'F04F06F01', 'NO9386011117947')\n )\n formatterIban.addSpecification(\n new IbanSpecification('PK', 24, 'U04A16', 'PK36SCBL0000001123456702')\n )\n formatterIban.addSpecification(\n new IbanSpecification('PL', 28, 'F08F16', 'PL61109010140000071219812874')\n )\n formatterIban.addSpecification(\n new IbanSpecification('PS', 29, 'U04A21', 'PS92PALS000000000400123456702')\n )\n formatterIban.addSpecification(\n new IbanSpecification('PT', 25, 'F04F04F11F02', 'PT50000201231234567890154')\n )\n formatterIban.addSpecification(\n new IbanSpecification('QA', 29, 'U04A21', 'QA30AAAA123456789012345678901')\n )\n formatterIban.addSpecification(\n new IbanSpecification('RO', 24, 'U04A16', 'RO49AAAA1B31007593840000')\n )\n formatterIban.addSpecification(\n new IbanSpecification('RS', 22, 'F03F13F02', 'RS35260005601001611379')\n )\n formatterIban.addSpecification(\n new IbanSpecification('SA', 24, 'F02A18', 'SA0380000000608010167519')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'SC',\n 31,\n 'U04F04F16U03',\n 'SC18SSCB11010000000000001497USD'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('SE', 24, 'F03F16F01', 'SE4550000000058398257466')\n )\n formatterIban.addSpecification(\n new IbanSpecification('SI', 19, 'F05F08F02', 'SI56263300012039086')\n )\n formatterIban.addSpecification(\n new IbanSpecification('SK', 24, 'F04F06F10', 'SK3112000000198742637541')\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'SM',\n 27,\n 'U01F05F05A12',\n 'SM86U0322509800000000270100'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification('ST', 25, 'F08F11F02', 'ST68000100010051845310112')\n )\n formatterIban.addSpecification(\n new IbanSpecification('SV', 28, 'U04F20', 'SV62CENR00000000000000700025')\n )\n formatterIban.addSpecification(\n new IbanSpecification('TL', 23, 'F03F14F02', 'TL380080012345678910157')\n )\n formatterIban.addSpecification(\n new IbanSpecification('TN', 24, 'F02F03F13F02', 'TN5910006035183598478831')\n )\n formatterIban.addSpecification(\n new IbanSpecification('TR', 26, 'F05F01A16', 'TR330006100519786457841326')\n )\n formatterIban.addSpecification(\n new IbanSpecification('UA', 29, 'F25', 'UA511234567890123456789012345')\n )\n formatterIban.addSpecification(\n new IbanSpecification('VA', 22, 'F18', 'VA59001123000012345678')\n )\n formatterIban.addSpecification(\n new IbanSpecification('VG', 24, 'U04F16', 'VG96VPVG0000012345678901')\n )\n formatterIban.addSpecification(\n new IbanSpecification('XK', 20, 'F04F10F02', 'XK051212012345678906')\n )\n\n // The following countries are not included in the official IBAN registry but use the IBAN specification\n // Angola\n formatterIban.addSpecification(\n new IbanSpecification('AO', 25, 'F21', 'AO69123456789012345678901')\n )\n // Burkina\n formatterIban.addSpecification(\n new IbanSpecification('BF', 27, 'F23', 'BF2312345678901234567890123')\n )\n // Burundi\n formatterIban.addSpecification(\n new IbanSpecification('BI', 16, 'F12', 'BI41123456789012')\n )\n // Benin\n formatterIban.addSpecification(\n new IbanSpecification('BJ', 28, 'F24', 'BJ39123456789012345678901234')\n )\n // Ivory\n formatterIban.addSpecification(\n new IbanSpecification('CI', 28, 'U02F22', 'CI70CI1234567890123456789012')\n )\n // Cameron\n formatterIban.addSpecification(\n new IbanSpecification('CM', 27, 'F23', 'CM9012345678901234567890123')\n )\n // Cape Verde\n formatterIban.addSpecification(\n new IbanSpecification('CV', 25, 'F21', 'CV30123456789012345678901')\n )\n // Algeria\n formatterIban.addSpecification(\n new IbanSpecification('DZ', 24, 'F20', 'DZ8612345678901234567890')\n )\n // Iran\n formatterIban.addSpecification(\n new IbanSpecification('IR', 26, 'F22', 'IR861234568790123456789012')\n )\n // Madagascar\n formatterIban.addSpecification(\n new IbanSpecification('MG', 27, 'F23', 'MG1812345678901234567890123')\n )\n // Mali\n formatterIban.addSpecification(\n new IbanSpecification('ML', 28, 'U01F23', 'ML15A12345678901234567890123')\n )\n // Mozambique\n formatterIban.addSpecification(\n new IbanSpecification('MZ', 25, 'F21', 'MZ25123456789012345678901')\n )\n // Senegal\n formatterIban.addSpecification(\n new IbanSpecification('SN', 28, 'U01F23', 'SN52A12345678901234567890123')\n )\n\n // The following are regional and administrative French Republic subdivision IBAN specification (same structure as FR, only country code vary)\n formatterIban.addSpecification(\n new IbanSpecification(\n 'GF',\n 27,\n 'F05F05A11F02',\n 'GF121234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'GP',\n 27,\n 'F05F05A11F02',\n 'GP791234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'MQ',\n 27,\n 'F05F05A11F02',\n 'MQ221234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'RE',\n 27,\n 'F05F05A11F02',\n 'RE131234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'PF',\n 27,\n 'F05F05A11F02',\n 'PF281234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'TF',\n 27,\n 'F05F05A11F02',\n 'TF891234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'YT',\n 27,\n 'F05F05A11F02',\n 'YT021234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'NC',\n 27,\n 'F05F05A11F02',\n 'NC551234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'BL',\n 27,\n 'F05F05A11F02',\n 'BL391234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'MF',\n 27,\n 'F05F05A11F02',\n 'MF551234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'PM',\n 27,\n 'F05F05A11F02',\n 'PM071234512345123456789AB13'\n )\n )\n formatterIban.addSpecification(\n new IbanSpecification(\n 'WF',\n 27,\n 'F05F05A11F02',\n 'WF621234512345123456789AB13'\n )\n )\n // endregion ////\n // endregion ////\n\n return {\n formatterNumber,\n formatterIban\n }\n}\n"],"names":[],"mappings":"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"}