@desource/phone-mask 1.1.0 → 1.1.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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @desource/phone-mask
2
2
 
3
+ ## 1.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Core Upgrades:
8
+ - Optimized bundle size of core package
9
+
3
10
  ## 1.1.0
4
11
 
5
12
  ### Minor Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desource/phone-mask",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "⚡ Ultra-lightweight international phone number formatter & validator with auto-sync to Google libphonenumber. Framework-agnostic core library.",
5
5
  "keywords": [
6
6
  "phone",
@@ -62,7 +62,7 @@
62
62
  "scripts": {
63
63
  "clean": "rimraf dist coverage tsconfig.tsbuildinfo",
64
64
  "build": "pnpm clean && pnpm build:internal",
65
- "build:internal": "pnpm build:lib && pnpm build:types",
65
+ "build:internal": "pnpm build:lib",
66
66
  "build:lib": "vite build",
67
67
  "build:types": "tsc -p tsconfig.json --emitDeclarationOnly",
68
68
  "dev": "vite",
@@ -1,7 +0,0 @@
1
- /**
2
- * Convert country code to corresponding flag emoji
3
- * @param {string} cc - country code string
4
- * @returns {string} flag emoji
5
- */
6
- export declare const countryCodeEmoji: (cc: string) => string;
7
- //# sourceMappingURL=country-code-emodji.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"country-code-emodji.d.ts","sourceRoot":"","sources":["../src/country-code-emodji.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,MAU7C,CAAC"}
@@ -1,2 +0,0 @@
1
- export type CountryKey = 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AO' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW';
2
- //# sourceMappingURL=data-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-types.d.ts","sourceRoot":"","sources":["../src/data-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC"}
package/dist/entries.d.ts DELETED
@@ -1,81 +0,0 @@
1
- import type { CountryKey } from './data-types';
2
- interface MaskBase {
3
- id: CountryKey;
4
- mask: string | Array<string>;
5
- }
6
- interface Mask extends MaskBase {
7
- code: string;
8
- }
9
- interface MaskWithFlag extends Mask {
10
- flag: string;
11
- }
12
- interface MaskFull extends MaskWithFlag {
13
- name: string;
14
- }
15
- type MaskBaseMap = Record<CountryKey, string | Array<string>>;
16
- type MaskMap = Record<CountryKey, Omit<Mask, 'id'>>;
17
- type MaskWithFlagMap = Record<CountryKey, Omit<MaskWithFlag, 'id'>>;
18
- type MaskFullMap = Record<CountryKey, Omit<MaskFull, 'id'>>;
19
- /**
20
- * Base masks (including country code) map
21
- * @example
22
- * MasksBaseMap.US // "+1 ###-###-####"
23
- */
24
- export declare const MasksBaseMap: MaskBaseMap;
25
- /** Base masks (including country code) array
26
- * @example
27
- * MasksBase[0] // { id: 'US', mask: "+1 ###-###-####" }
28
- */
29
- export declare const MasksBase: MaskBase[];
30
- /**
31
- * Masks map with country code as separate property
32
- * @example
33
- * MasksMap.US // { code: "+1", mask: "###-###-####" }
34
- */
35
- export declare const MasksMap: MaskMap;
36
- /**
37
- * Masks array with country code as separate property
38
- * @example
39
- * Masks[0] // { id: 'US', code: "+1", mask: "###-###-####" }
40
- */
41
- export declare const Masks: Mask[];
42
- /**
43
- * Masks map with flag emoji
44
- * @example
45
- * MasksWithFlagMap.US // { code: "+1", mask: "###-###-####", flag: "🇺🇸" }
46
- */
47
- export declare const MasksWithFlagMap: MaskWithFlagMap;
48
- /**
49
- * Masks array with flag emoji
50
- * @example
51
- * MasksWithFlag[0] // { id: 'US', code: "+1", mask: "###-###-####", flag: "🇺🇸" }
52
- */
53
- export declare const MasksWithFlag: MaskWithFlag[];
54
- /**
55
- * Full masks map with name and flag emoji. Name is localized based on provided language.
56
- * @example
57
- * MasksFullMap.US // { code: "+1", mask: "###-###-####", name: "United States", flag: "🇺🇸" }
58
- */
59
- export declare const MasksFullMap: (lang: string) => MaskFullMap;
60
- /**
61
- * Full masks array with name and flag emoji. Name is localized based on provided language.
62
- * @example
63
- * MasksFull[0] // { id: 'US', code: "+1", mask: "###-###-####", name: "United States", flag: "🇺🇸" }
64
- */
65
- export declare const MasksFull: (lang: string) => MaskFull[];
66
- /**
67
- * Full masks map with name and flag emoji in English
68
- * @example
69
- * MasksFullMapEn.US // { code: "+1", mask: "###-###-####", name: "United States", flag: "🇺🇸" }
70
- */
71
- export declare const MasksFullMapEn: MaskFullMap;
72
- /**
73
- * Full masks array with name and flag emoji in English
74
- * @example
75
- * MasksFullEn[0] // { id: 'US', code: "+1", mask: "###-###-####", name: "United States", flag: "🇺🇸" }
76
- */
77
- export declare const MasksFullEn: MaskFull[];
78
- /** Get flag emoji by country ISO code */
79
- export declare const getFlagEmoji: (cc: string) => string;
80
- export type { CountryKey, MaskBaseMap, MaskBase, MaskMap, Mask, MaskWithFlagMap, MaskWithFlag, MaskFullMap, MaskFull };
81
- //# sourceMappingURL=entries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../src/entries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,QAAQ;IAChB,EAAE,EAAE,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;CAC9B;AACD,UAAU,IAAK,SAAQ,QAAQ;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd;AACD,UAAU,YAAa,SAAQ,IAAI;IACjC,IAAI,EAAE,MAAM,CAAC;CACd;AACD,UAAU,QAAS,SAAQ,YAAY;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AACD,KAAK,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9D,KAAK,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AACpD,KAAK,eAAe,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;AACpE,KAAK,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AA4C5D;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAkB,CAAC;AAC9C;;;GAGG;AACH,eAAO,MAAM,SAAS,YAA4D,CAAC;AACnF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SAIJ,CAAC;AAClB;;;;GAIG;AACH,eAAO,MAAM,KAAK,QAGhB,CAAC;AACH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,iBAIJ,CAAC;AAC1B;;;;GAIG;AACH,eAAO,MAAM,aAAa,gBAGxB,CAAC;AACH;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,gBAQxC,CAAC;AACF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,eAYrC,CAAC;AACF;;;;GAIG;AACH,eAAO,MAAM,cAAc,aAA6B,CAAC;AACzD;;;;GAIG;AACH,eAAO,MAAM,WAAW,YAA0B,CAAC;AACnD,yCAAyC;AACzC,eAAO,MAAM,YAAY,wBAAmB,CAAC;AAE7C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,36 +0,0 @@
1
- import type { MaskFull } from './entries';
2
- /**
3
- * Formatter interface for digit range and caret calculations
4
- */
5
- export interface FormatterHelpers {
6
- /**
7
- * Format digits into display string with mask delimiters
8
- */
9
- formatDisplay: (digits: string) => string;
10
- /**
11
- * Get maximum number of digits for the current country
12
- */
13
- getMaxDigits: () => number;
14
- /**
15
- * Get placeholder string for the input
16
- */
17
- getPlaceholder: () => string;
18
- /**
19
- * Get caret position in display string for given digit index
20
- */
21
- getCaretPosition: (digitIndex: number) => number;
22
- /**
23
- * Get digit range [start, end) for selection range in display string
24
- * Returns null if no digits are selected
25
- */
26
- getDigitRange: (digits: string, selStart: number, selEnd: number) => [number, number] | null;
27
- /**
28
- * Check if the current number of digits is a valid complete phone number
29
- */
30
- isComplete: (digits: string) => boolean;
31
- }
32
- /**
33
- * Create a phone formatter for a given country
34
- */
35
- export declare function createPhoneFormatter(country: MaskFull): FormatterHelpers;
36
- //# sourceMappingURL=formatter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAE1C;;OAEG;IACH,YAAY,EAAE,MAAM,MAAM,CAAC;IAE3B;;OAEG;IACH,cAAc,EAAE,MAAM,MAAM,CAAC;IAE7B;;OAEG;IACH,gBAAgB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAEjD;;;OAGG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAE7F;;OAEG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,QAAQ,GAAG,gBAAgB,CAuDxE"}
@@ -1,63 +0,0 @@
1
- import type { FormatterHelpers } from './formatter';
2
- export declare const DELIMITERS: string[];
3
- export declare const NAVIGATION_KEYS: string[];
4
- export declare const INVALID_PATTERN: RegExp;
5
- /** Result of processInput */
6
- interface InputResult {
7
- newDigits: string;
8
- caretDigitIndex: number;
9
- }
10
- /** Result of processKeydown */
11
- interface KeydownResult {
12
- newDigits: string;
13
- caretDigitIndex: number;
14
- }
15
- /** Result of processPaste */
16
- interface PasteResult {
17
- newDigits: string;
18
- caretDigitIndex: number;
19
- }
20
- /** Parameters for processInput */
21
- interface ProcessInputParams {
22
- formatter: FormatterHelpers;
23
- }
24
- /** Parameters for processKeydown */
25
- interface ProcessKeydownParams {
26
- digits: string;
27
- formatter: FormatterHelpers;
28
- }
29
- /** Parameters for processPaste */
30
- interface ProcessPasteParams {
31
- digits: string;
32
- formatter: FormatterHelpers;
33
- }
34
- /**
35
- * Extract digits from a string, optionally limiting to maxLength
36
- */
37
- export declare function extractDigits(value: string, maxLength?: number): string;
38
- /**
39
- * Get current selection range from input element
40
- */
41
- export declare function getSelection(el: HTMLInputElement | null): [number, number];
42
- /**
43
- * Set caret position in input element
44
- */
45
- export declare function setCaret(el: HTMLInputElement | null, position: number): void;
46
- /**
47
- * Process beforeinput event - determine if input should be blocked
48
- */
49
- export declare function processBeforeInput(e: InputEvent): void;
50
- /**
51
- * Process input event - extract digits and calculate caret position
52
- */
53
- export declare function processInput(e: Event, params: ProcessInputParams): InputResult | undefined;
54
- /**
55
- * Process keydown event - handle backspace, delete, digits, etc.
56
- */
57
- export declare function processKeydown(e: KeyboardEvent, params: ProcessKeydownParams): KeydownResult | undefined;
58
- /**
59
- * Process paste event - extract digits and insert at correct position
60
- */
61
- export declare function processPaste(e: ClipboardEvent, params: ProcessPasteParams): PasteResult | undefined;
62
- export {};
63
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,UAAU,UAAuB,CAAC;AAC/C,eAAO,MAAM,eAAe,UAA4E,CAAC;AACzG,eAAO,MAAM,eAAe,QAAgB,CAAC;AAE7C,6BAA6B;AAC7B,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,+BAA+B;AAC/B,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,6BAA6B;AAC7B,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,kCAAkC;AAClC,UAAU,kBAAkB;IAC1B,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,oCAAoC;AACpC,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,kCAAkC;AAClC,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAoED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAO5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAYtD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,GAAG,WAAW,GAAG,SAAS,CAc1F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,GAAG,aAAa,GAAG,SAAS,CA2CxG;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,kBAAkB,GAAG,WAAW,GAAG,SAAS,CAkDnG"}
package/dist/index.d.ts DELETED
@@ -1,6 +0,0 @@
1
- export * from './entries';
2
- export * from './services';
3
- export * from './utils';
4
- export * from './handlers';
5
- export * from './formatter';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare const GEO_IP_API_URL = "https://ipapi.co/json/";
2
- export declare const GEO_IP_TIMEOUT_MS = 1500;
3
- export declare const CACHE_KEY = "@desource/phone-mask:geo";
4
- export declare const CACHE_EXPIRY_MS: number;
5
- //# sourceMappingURL=consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/services/geoip/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,2BAA2B,CAAC;AACvD,eAAO,MAAM,iBAAiB,OAAQ,CAAC;AAEvC,eAAO,MAAM,SAAS,6BAA6B,CAAC;AACpD,eAAO,MAAM,eAAe,QAAmB,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './consts';
2
- export * from './utils';
3
- export * from './types';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/geoip/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1,5 +0,0 @@
1
- export interface MaskGeoCache {
2
- country_code: string;
3
- ts: number;
4
- }
5
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/geoip/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;CACZ"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Detect country from GeoIP service.
3
- * Attempts to fetch country code from external API with timeout
4
- */
5
- export declare function detectCountryFromGeoIP(url?: string, timeout?: number): Promise<string | null>;
6
- export declare function detectByGeoIp(): Promise<string | null>;
7
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/services/geoip/utils.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,GAAG,SAAiB,EACpB,OAAO,SAAoB,GAC1B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAwBxB;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoC5D"}
@@ -1,2 +0,0 @@
1
- export * from './geoip';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
package/dist/utils.d.ts DELETED
@@ -1,27 +0,0 @@
1
- import type { MaskFull } from './entries';
2
- export type FormatResult = {
3
- display: string;
4
- map: number[];
5
- };
6
- /** Get navigator language with fallback to 'en' */
7
- export declare function getNavigatorLang(): string;
8
- /** Detect country from browser locale */
9
- export declare function detectCountryFromLocale(): string | null;
10
- /** Check if a country exists in the full mask map */
11
- export declare function hasCountry(code: string): boolean;
12
- /** Get country data by ISO code and locale with fallback to US */
13
- export declare function getCountry(code: string, locale: string): MaskFull;
14
- export declare function parseCountryCode(code?: string | null, fallback?: string): string;
15
- /** Ensure mask is an array of strings */
16
- export declare function toArray<T>(mask: T | T[]): T[];
17
- /** Count number of placeholders (#) in a mask string */
18
- export declare function countPlaceholders(maskStr: string): number;
19
- /** Remove country code prefix (e.g., +1 ) from a mask string */
20
- export declare function removeCountryCodePrefix(maskStr: string): string;
21
- /** Pick the most suitable mask variant based on typed digits count */
22
- export declare function pickMaskVariant(variants: string[], typedDigitsCount: number): string;
23
- /** Formatting with mapping for efficient position tracking */
24
- export declare function formatDigitsWithMap(maskTemplate: string, digitStr: string): FormatResult;
25
- /** Filter and rank countries by a search query */
26
- export declare function filterCountries(countries: MaskFull[], search: string): MaskFull[];
27
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEtD,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,mDAAmD;AACnD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,yCAAyC;AACzC,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAkBvD;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAKhD;AAED,kEAAkE;AAClE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CASjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,yCAAyC;AACzC,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAE7C;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,gEAAgE;AAChE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAiBpF;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAgCxF;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,EAAE,CAiCjF"}