react-native-transformer-text-input 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,35 @@
1
1
  "use strict";
2
2
 
3
3
  import { Transformer } from "../Transformer.js";
4
- import { COUNTRY_PHONE_DATA } from "./phone-data.js";
4
+ import { COUNTRY_CALLING_CODES, COUNTRY_PHONE_DATA } from "./phone-data.js";
5
+ // Longest calling-code prefix (1–3 digits) of `digits` that is a key of
6
+ // `codes`. `codes` can be any calling-code-keyed record (the lookup table or
7
+ // the per-code format index), so the worklet reuses its captured index.
8
+ const matchCallingCode = (digits, codes) => {
9
+ 'worklet';
10
+
11
+ const max = Math.min(3, digits.length);
12
+ for (let len = max; len >= 1; len--) {
13
+ if (codes[digits.slice(0, len)] !== undefined) {
14
+ return digits.slice(0, len);
15
+ }
16
+ }
17
+ return '';
18
+ };
19
+
20
+ /**
21
+ * Detect the ISO 3166-1 alpha-2 country for a phone value by its leading
22
+ * international calling code. Returns the primary country for the code (e.g.
23
+ * "US" for "+1"), or undefined if no calling code is recognized yet. Runs on
24
+ * the JS thread — use it to drive a flag/country indicator alongside an
25
+ * `international` PhoneNumberTransformer.
26
+ */
27
+ export function detectCountry(value) {
28
+ const digits = value.replace(/\D/g, '');
29
+ const code = matchCallingCode(digits, COUNTRY_CALLING_CODES);
30
+ return code ? COUNTRY_CALLING_CODES[code]?.[0] : undefined;
31
+ }
32
+
5
33
  // Extract all digits from text
6
34
  const extractDigits = text => {
7
35
  'worklet';
@@ -224,8 +252,124 @@ export class PhoneNumberTransformer extends Transformer {
224
252
  constructor({
225
253
  country = 'US',
226
254
  includeCallingCode = true,
255
+ international = false,
227
256
  debug = false
228
257
  } = {}) {
258
+ if (international) {
259
+ // Per-calling-code formatting data (primary country for each code),
260
+ // captured once so the worklet can detect + format any country.
261
+ const callingCodeData = {};
262
+ for (const code in COUNTRY_CALLING_CODES) {
263
+ const primary = COUNTRY_CALLING_CODES[code][0];
264
+ const d = COUNTRY_PHONE_DATA[primary];
265
+ if (d) {
266
+ callingCodeData[code] = {
267
+ formats: d.formats,
268
+ nationalPrefix: d.nationalPrefix ?? ''
269
+ };
270
+ }
271
+ }
272
+ const intlWorklet = input => {
273
+ 'worklet';
274
+
275
+ const {
276
+ value,
277
+ selection,
278
+ previousValue,
279
+ previousSelection
280
+ } = input;
281
+ const allDigits = extractDigits(value);
282
+ const prevAllDigits = extractDigits(previousValue);
283
+ if (allDigits.length === 0) {
284
+ return {
285
+ value: '',
286
+ selection: {
287
+ start: 0,
288
+ end: 0
289
+ }
290
+ };
291
+ }
292
+ const digitsBeforeStart = countDigitsBefore(value, selection.start);
293
+ const digitsBeforeEnd = countDigitsBefore(value, selection.end);
294
+
295
+ // Backspacing a separator removes the digit before the caret instead,
296
+ // so deletion makes progress.
297
+ const isCaret = selection.start === selection.end;
298
+ const deletedFormattingChar = isCaret && value.length < previousValue.length && allDigits.length === prevAllDigits.length && allDigits.length > 0;
299
+ let workingDigits = allDigits;
300
+ let finalStart = digitsBeforeStart;
301
+ let finalEnd = digitsBeforeEnd;
302
+ if (deletedFormattingChar && digitsBeforeStart > 0) {
303
+ workingDigits = allDigits.slice(0, digitsBeforeStart - 1) + allDigits.slice(digitsBeforeStart);
304
+ finalStart = digitsBeforeStart - 1;
305
+ finalEnd = finalStart;
306
+ }
307
+ const cursorAtEnd = isCaret && selection.end >= value.length && previousSelection.end >= previousValue.length;
308
+ const callingCode = matchCallingCode(workingDigits, callingCodeData);
309
+
310
+ // No recognized calling code yet — show "+digits" as typed.
311
+ if (callingCode === '') {
312
+ const result = '+' + workingDigits;
313
+ if (cursorAtEnd) {
314
+ return {
315
+ value: result,
316
+ selection: {
317
+ start: result.length,
318
+ end: result.length
319
+ }
320
+ };
321
+ }
322
+ // One leading "+" before the digits.
323
+ return {
324
+ value: result,
325
+ selection: {
326
+ start: 1 + finalStart,
327
+ end: 1 + finalEnd
328
+ }
329
+ };
330
+ }
331
+ const data = callingCodeData[callingCode];
332
+ const nationalPrefix = data.nationalPrefix;
333
+ const nationalDigits = workingDigits.slice(callingCode.length);
334
+ let result;
335
+ if (nationalDigits.length === 0) {
336
+ result = '+' + callingCode;
337
+ } else {
338
+ let significantDigits = nationalDigits;
339
+ let trunkPrefix = '';
340
+ if (nationalPrefix.length > 0 && nationalDigits.length > nationalPrefix.length && nationalDigits.startsWith(nationalPrefix)) {
341
+ significantDigits = nationalDigits.slice(nationalPrefix.length);
342
+ trunkPrefix = nationalPrefix;
343
+ }
344
+ const format = selectFormat(significantDigits, data.formats);
345
+ const formattedNational = format ? trunkPrefix + applyFormat(significantDigits, format) : nationalDigits;
346
+ result = '+' + callingCode + ' ' + formattedNational;
347
+ }
348
+ if (cursorAtEnd) {
349
+ return {
350
+ value: result,
351
+ selection: {
352
+ start: result.length,
353
+ end: result.length
354
+ }
355
+ };
356
+ }
357
+
358
+ // result digits are [callingCode..., national...] in input order, so
359
+ // map the input digit counts straight onto the formatted output.
360
+ const newStart = mapCursorToFormatted(result, finalStart);
361
+ const newEnd = mapCursorToFormatted(result, finalEnd);
362
+ return {
363
+ value: result,
364
+ selection: {
365
+ start: newStart,
366
+ end: newEnd
367
+ }
368
+ };
369
+ };
370
+ super(intlWorklet);
371
+ return;
372
+ }
229
373
  const countryData = COUNTRY_PHONE_DATA[country];
230
374
  if (!countryData) {
231
375
  throw new Error(`[PhoneNumberTransformer] Country "${country}" is not supported.`);
@@ -1 +1 @@
1
- {"version":3,"names":["Transformer","COUNTRY_PHONE_DATA","extractDigits","text","replace","countDigitsBefore","pos","count","i","Math","min","length","char","undefined","selectFormat","nationalDigits","formats","format","leadingDigits","re","RegExp","test","getFormatMaxDigits","pattern","closeBrace","indexOf","inner","slice","commaIdx","parseInt","buildPartialFormat","digits","groups","depth","j","groupContent","groupMax","push","digitIdx","result","lastGroupComplete","allGroupsFilled","ti","template","tc","groupNum","isNaN","groupSize","available","chunk","applyFormat","maxDigits","clamped","match","mapCursorToFormatted","formatted","digitCount","c","PhoneNumberTransformer","constructor","country","includeCallingCode","debug","countryData","Error","callingCode","nationalPrefix","nationalPrefixLen","prefix","outputPrefix","outputPrefixLen","codeToStrip","worklet","input","value","selection","previousValue","previousSelection","allDigits","prevAllDigits","start","end","prevNationalDigits","strippedCallingCode","startsWith","digitsBeforeStart","digitsBeforeEnd","callingCodeLen","adjustedStart","max","adjustedEnd","isCaret","deletedFormattingChar","finalStart","finalEnd","significantDigits","trunkPrefix","cursorAtEnd","prevCursorAtEnd","console","log","cursor","newStart","newEnd"],"sourceRoot":"../../../src","sources":["formatters/phone-number.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Transformer","COUNTRY_CALLING_CODES","COUNTRY_PHONE_DATA","matchCallingCode","digits","codes","max","Math","min","length","len","slice","undefined","detectCountry","value","replace","code","extractDigits","text","countDigitsBefore","pos","count","i","char","selectFormat","nationalDigits","formats","format","leadingDigits","re","RegExp","test","getFormatMaxDigits","pattern","closeBrace","indexOf","inner","commaIdx","parseInt","buildPartialFormat","groups","depth","j","groupContent","groupMax","push","digitIdx","result","lastGroupComplete","allGroupsFilled","ti","template","tc","groupNum","isNaN","groupSize","available","chunk","applyFormat","maxDigits","clamped","match","mapCursorToFormatted","formatted","digitCount","c","PhoneNumberTransformer","constructor","country","includeCallingCode","international","debug","callingCodeData","primary","d","nationalPrefix","intlWorklet","input","selection","previousValue","previousSelection","allDigits","prevAllDigits","start","end","digitsBeforeStart","digitsBeforeEnd","isCaret","deletedFormattingChar","workingDigits","finalStart","finalEnd","cursorAtEnd","callingCode","data","significantDigits","trunkPrefix","startsWith","formattedNational","newStart","newEnd","countryData","Error","nationalPrefixLen","prefix","outputPrefix","outputPrefixLen","codeToStrip","worklet","prevNationalDigits","strippedCallingCode","callingCodeLen","adjustedStart","adjustedEnd","prevCursorAtEnd","console","log","cursor"],"sourceRoot":"../../../src","sources":["formatters/phone-number.ts"],"mappings":"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","ignoreList":[]}
@@ -13,4 +13,5 @@ export type CountryPhoneData = {
13
13
  };
14
14
  export declare const COUNTRY_PHONE_DATA: Record<string, CountryPhoneData>;
15
15
  export declare const COUNTRY_LIST: CountryPhoneData[];
16
+ export declare const COUNTRY_CALLING_CODES: Record<string, string[]>;
16
17
  //# sourceMappingURL=phone-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone-data.d.ts","sourceRoot":"","sources":["../../../../src/formatters/phone-data.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAw5K/D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBAAgB,EAsP1C,CAAC"}
1
+ {"version":3,"file":"phone-data.d.ts","sourceRoot":"","sources":["../../../../src/formatters/phone-data.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAw5K/D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gBAAgB,EAsP1C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAyO1D,CAAC"}
@@ -12,13 +12,29 @@ export type PhoneNumberTransformerOptions = {
12
12
  * @default true
13
13
  */
14
14
  includeCallingCode?: boolean;
15
+ /**
16
+ * International mode: the calling code is part of the editable text and the
17
+ * country is detected from it as you type (e.g. typing "+44" switches
18
+ * formatting to the UK). `country` is ignored in this mode. Use
19
+ * {@link detectCountry} to drive a flag/country indicator from the value.
20
+ * @default false
21
+ */
22
+ international?: boolean;
15
23
  /**
16
24
  * Enable debug logging for transformer operations.
17
25
  * @default false
18
26
  */
19
27
  debug?: boolean;
20
28
  };
29
+ /**
30
+ * Detect the ISO 3166-1 alpha-2 country for a phone value by its leading
31
+ * international calling code. Returns the primary country for the code (e.g.
32
+ * "US" for "+1"), or undefined if no calling code is recognized yet. Runs on
33
+ * the JS thread — use it to drive a flag/country indicator alongside an
34
+ * `international` PhoneNumberTransformer.
35
+ */
36
+ export declare function detectCountry(value: string): string | undefined;
21
37
  export declare class PhoneNumberTransformer extends Transformer {
22
- constructor({ country, includeCallingCode, debug, }?: PhoneNumberTransformerOptions);
38
+ constructor({ country, includeCallingCode, international, debug, }?: PhoneNumberTransformerOptions);
23
39
  }
24
40
  //# sourceMappingURL=phone-number.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone-number.d.ts","sourceRoot":"","sources":["../../../../src/formatters/phone-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAG7D,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAuOF,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,EACV,OAAc,EACd,kBAAyB,EACzB,KAAa,GACd,GAAE,6BAAkC;CAyKtC"}
1
+ {"version":3,"file":"phone-number.d.ts","sourceRoot":"","sources":["../../../../src/formatters/phone-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAO7D,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAmBF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI/D;AAuOD,qBAAa,sBAAuB,SAAQ,WAAW;gBACzC,EACV,OAAc,EACd,kBAAyB,EACzB,aAAqB,EACrB,KAAa,GACd,GAAE,6BAAkC;CAqStC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-transformer-text-input",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "TextInput component that allows transforming text synchronously with a worklet",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -5793,3 +5793,238 @@ export const COUNTRY_LIST: CountryPhoneData[] = [
5793
5793
  COUNTRY_PHONE_DATA['ZM']!,
5794
5794
  COUNTRY_PHONE_DATA['ZW']!,
5795
5795
  ];
5796
+
5797
+ export const COUNTRY_CALLING_CODES: Record<string, string[]> = {
5798
+ '1': [
5799
+ 'US',
5800
+ 'AG',
5801
+ 'AI',
5802
+ 'AS',
5803
+ 'BB',
5804
+ 'BM',
5805
+ 'BS',
5806
+ 'CA',
5807
+ 'DM',
5808
+ 'DO',
5809
+ 'GD',
5810
+ 'GU',
5811
+ 'JM',
5812
+ 'KN',
5813
+ 'KY',
5814
+ 'LC',
5815
+ 'MP',
5816
+ 'MS',
5817
+ 'PR',
5818
+ 'SX',
5819
+ 'TC',
5820
+ 'TT',
5821
+ 'VC',
5822
+ 'VG',
5823
+ 'VI',
5824
+ ],
5825
+ '7': ['RU', 'KZ'],
5826
+ '20': ['EG'],
5827
+ '27': ['ZA'],
5828
+ '30': ['GR'],
5829
+ '31': ['NL'],
5830
+ '32': ['BE'],
5831
+ '33': ['FR'],
5832
+ '34': ['ES'],
5833
+ '36': ['HU'],
5834
+ '39': ['IT', 'VA'],
5835
+ '40': ['RO'],
5836
+ '41': ['CH'],
5837
+ '43': ['AT'],
5838
+ '44': ['GB', 'GG', 'IM', 'JE'],
5839
+ '45': ['DK'],
5840
+ '46': ['SE'],
5841
+ '47': ['NO', 'SJ'],
5842
+ '48': ['PL'],
5843
+ '49': ['DE'],
5844
+ '51': ['PE'],
5845
+ '52': ['MX'],
5846
+ '53': ['CU'],
5847
+ '54': ['AR'],
5848
+ '55': ['BR'],
5849
+ '56': ['CL'],
5850
+ '57': ['CO'],
5851
+ '58': ['VE'],
5852
+ '60': ['MY'],
5853
+ '61': ['AU', 'CC', 'CX'],
5854
+ '62': ['ID'],
5855
+ '63': ['PH'],
5856
+ '64': ['NZ'],
5857
+ '65': ['SG'],
5858
+ '66': ['TH'],
5859
+ '81': ['JP'],
5860
+ '82': ['KR'],
5861
+ '84': ['VN'],
5862
+ '86': ['CN'],
5863
+ '90': ['TR'],
5864
+ '91': ['IN'],
5865
+ '92': ['PK'],
5866
+ '93': ['AF'],
5867
+ '94': ['LK'],
5868
+ '95': ['MM'],
5869
+ '98': ['IR'],
5870
+ '211': ['SS'],
5871
+ '212': ['MA', 'EH'],
5872
+ '213': ['DZ'],
5873
+ '216': ['TN'],
5874
+ '218': ['LY'],
5875
+ '220': ['GM'],
5876
+ '221': ['SN'],
5877
+ '222': ['MR'],
5878
+ '223': ['ML'],
5879
+ '224': ['GN'],
5880
+ '225': ['CI'],
5881
+ '226': ['BF'],
5882
+ '227': ['NE'],
5883
+ '228': ['TG'],
5884
+ '229': ['BJ'],
5885
+ '230': ['MU'],
5886
+ '231': ['LR'],
5887
+ '232': ['SL'],
5888
+ '233': ['GH'],
5889
+ '234': ['NG'],
5890
+ '235': ['TD'],
5891
+ '236': ['CF'],
5892
+ '237': ['CM'],
5893
+ '238': ['CV'],
5894
+ '239': ['ST'],
5895
+ '240': ['GQ'],
5896
+ '241': ['GA'],
5897
+ '242': ['CG'],
5898
+ '243': ['CD'],
5899
+ '244': ['AO'],
5900
+ '245': ['GW'],
5901
+ '246': ['IO'],
5902
+ '247': ['AC'],
5903
+ '248': ['SC'],
5904
+ '249': ['SD'],
5905
+ '250': ['RW'],
5906
+ '251': ['ET'],
5907
+ '252': ['SO'],
5908
+ '253': ['DJ'],
5909
+ '254': ['KE'],
5910
+ '255': ['TZ'],
5911
+ '256': ['UG'],
5912
+ '257': ['BI'],
5913
+ '258': ['MZ'],
5914
+ '260': ['ZM'],
5915
+ '261': ['MG'],
5916
+ '262': ['RE', 'YT'],
5917
+ '263': ['ZW'],
5918
+ '264': ['NA'],
5919
+ '265': ['MW'],
5920
+ '266': ['LS'],
5921
+ '267': ['BW'],
5922
+ '268': ['SZ'],
5923
+ '269': ['KM'],
5924
+ '290': ['SH', 'TA'],
5925
+ '291': ['ER'],
5926
+ '297': ['AW'],
5927
+ '298': ['FO'],
5928
+ '299': ['GL'],
5929
+ '350': ['GI'],
5930
+ '351': ['PT'],
5931
+ '352': ['LU'],
5932
+ '353': ['IE'],
5933
+ '354': ['IS'],
5934
+ '355': ['AL'],
5935
+ '356': ['MT'],
5936
+ '357': ['CY'],
5937
+ '358': ['FI', 'AX'],
5938
+ '359': ['BG'],
5939
+ '370': ['LT'],
5940
+ '371': ['LV'],
5941
+ '372': ['EE'],
5942
+ '373': ['MD'],
5943
+ '374': ['AM'],
5944
+ '375': ['BY'],
5945
+ '376': ['AD'],
5946
+ '377': ['MC'],
5947
+ '378': ['SM'],
5948
+ '380': ['UA'],
5949
+ '381': ['RS'],
5950
+ '382': ['ME'],
5951
+ '383': ['XK'],
5952
+ '385': ['HR'],
5953
+ '386': ['SI'],
5954
+ '387': ['BA'],
5955
+ '389': ['MK'],
5956
+ '420': ['CZ'],
5957
+ '421': ['SK'],
5958
+ '423': ['LI'],
5959
+ '500': ['FK'],
5960
+ '501': ['BZ'],
5961
+ '502': ['GT'],
5962
+ '503': ['SV'],
5963
+ '504': ['HN'],
5964
+ '505': ['NI'],
5965
+ '506': ['CR'],
5966
+ '507': ['PA'],
5967
+ '508': ['PM'],
5968
+ '509': ['HT'],
5969
+ '590': ['GP', 'BL', 'MF'],
5970
+ '591': ['BO'],
5971
+ '592': ['GY'],
5972
+ '593': ['EC'],
5973
+ '594': ['GF'],
5974
+ '595': ['PY'],
5975
+ '596': ['MQ'],
5976
+ '597': ['SR'],
5977
+ '598': ['UY'],
5978
+ '599': ['CW', 'BQ'],
5979
+ '670': ['TL'],
5980
+ '672': ['NF'],
5981
+ '673': ['BN'],
5982
+ '674': ['NR'],
5983
+ '675': ['PG'],
5984
+ '676': ['TO'],
5985
+ '677': ['SB'],
5986
+ '678': ['VU'],
5987
+ '679': ['FJ'],
5988
+ '680': ['PW'],
5989
+ '681': ['WF'],
5990
+ '682': ['CK'],
5991
+ '683': ['NU'],
5992
+ '685': ['WS'],
5993
+ '686': ['KI'],
5994
+ '687': ['NC'],
5995
+ '688': ['TV'],
5996
+ '689': ['PF'],
5997
+ '690': ['TK'],
5998
+ '691': ['FM'],
5999
+ '692': ['MH'],
6000
+ '850': ['KP'],
6001
+ '852': ['HK'],
6002
+ '853': ['MO'],
6003
+ '855': ['KH'],
6004
+ '856': ['LA'],
6005
+ '880': ['BD'],
6006
+ '886': ['TW'],
6007
+ '960': ['MV'],
6008
+ '961': ['LB'],
6009
+ '962': ['JO'],
6010
+ '963': ['SY'],
6011
+ '964': ['IQ'],
6012
+ '965': ['KW'],
6013
+ '966': ['SA'],
6014
+ '967': ['YE'],
6015
+ '968': ['OM'],
6016
+ '970': ['PS'],
6017
+ '971': ['AE'],
6018
+ '972': ['IL'],
6019
+ '973': ['BH'],
6020
+ '974': ['QA'],
6021
+ '975': ['BT'],
6022
+ '976': ['MN'],
6023
+ '977': ['NP'],
6024
+ '992': ['TJ'],
6025
+ '993': ['TM'],
6026
+ '994': ['AZ'],
6027
+ '995': ['GE'],
6028
+ '996': ['KG'],
6029
+ '998': ['UZ'],
6030
+ };