dimorder-orderapp-lib 1.7.21 → 1.7.23

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/dist/index.d.ts CHANGED
@@ -33,6 +33,7 @@ export declare const libs: {
33
33
  generate: typeof import("./libs/shortCode").generate;
34
34
  };
35
35
  Logger: typeof import("./libs/Logger").default;
36
+ locale: typeof import("./libs/locale").default;
36
37
  };
37
38
  export declare const types: {
38
39
  auth: import("./types/Auth").default;
@@ -89,6 +90,7 @@ declare const _default: {
89
90
  generate: typeof import("./libs/shortCode").generate;
90
91
  };
91
92
  Logger: typeof import("./libs/Logger").default;
93
+ locale: typeof import("./libs/locale").default;
92
94
  };
93
95
  types: {
94
96
  auth: import("./types/Auth").default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG;;;CAAO,CAAA;AACvB,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAQ,CAAA;AACzB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;CAAS,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3B,wBAIC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG;;;CAAO,CAAA;AACvB,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAQ,CAAA;AACzB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;CAAS,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE3B,wBAIC"}
@@ -22,6 +22,7 @@ import setDeliveryTypeMenuPrice from './setDeliveryTypeMenuPrice';
22
22
  import getComboList from './getComboList';
23
23
  import getItemDataId from './getItemDataId';
24
24
  import Logger from './Logger';
25
+ import locale from './locale';
25
26
  declare const _default: {
26
27
  libConfig: {
27
28
  rounding: import("../types/Order").IOrderRounding;
@@ -53,6 +54,7 @@ declare const _default: {
53
54
  generate: typeof import("./shortCode").generate;
54
55
  };
55
56
  Logger: typeof Logger;
57
+ locale: typeof locale;
56
58
  };
57
59
  export default _default;
58
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,+BAA+B,MAAM,mCAAmC,CAAA;AAC/E,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAE3C,OAAO,MAAM,MAAM,UAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,wBA2BC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,QAAQ,CAAA;AACzB,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,sBAAsB,MAAM,0BAA0B,CAAA;AAC7D,OAAO,uBAAuB,MAAM,4BAA4B,CAAA;AAChE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,uBAAuB,MAAM,2BAA2B,CAAA;AAC/D,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAC3C,OAAO,WAAW,MAAM,eAAe,CAAA;AACvC,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,+BAA+B,MAAM,mCAAmC,CAAA;AAC/E,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,cAAc,MAAM,kBAAkB,CAAA;AAC7C,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,qBAAqB,MAAM,yBAAyB,CAAA;AAC3D,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,wBAAwB,MAAM,4BAA4B,CAAA;AACjE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,aAAa,MAAM,iBAAiB,CAAA;AAE3C,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,MAAM,MAAM,UAAU,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7B,wBA4BC"}
@@ -29,6 +29,7 @@ const getComboList_1 = __importDefault(require("./getComboList"));
29
29
  const getItemDataId_1 = __importDefault(require("./getItemDataId"));
30
30
  const shortCode_1 = __importDefault(require("./shortCode"));
31
31
  const Logger_1 = __importDefault(require("./Logger"));
32
+ const locale_1 = __importDefault(require("./locale"));
32
33
  exports.default = {
33
34
  libConfig: libConfig_1.default,
34
35
  wait: wait_1.default,
@@ -56,5 +57,6 @@ exports.default = {
56
57
  getComboList: getComboList_1.default,
57
58
  shortCode: shortCode_1.default,
58
59
  Logger: Logger_1.default,
60
+ locale: locale_1.default,
59
61
  };
60
62
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,kDAAyB;AACzB,8EAAqD;AACrD,8EAAqD;AACrD,sFAA6D;AAC7D,0FAAgE;AAChE,kEAAyC;AACzC,gFAAuD;AACvD,wFAA+D;AAC/D,oEAA2C;AAC3C,gEAAuC;AACvC,0FAAiE;AACjE,wGAA+E;AAC/E,sEAA6C;AAC7C,oFAA2D;AAC3D,sEAA6C;AAC7C,oFAA2D;AAC3D,oFAA2D;AAC3D,8EAAqD;AACrD,kEAAyC;AACzC,gFAAuD;AACvD,0FAAiE;AACjE,kEAAyC;AACzC,oEAA2C;AAC3C,4DAAmC;AACnC,sDAA6B;AAE7B,kBAAe;IACb,SAAS,EAAT,mBAAS;IACT,IAAI,EAAJ,cAAI;IACJ,qBAAqB,EAArB,+BAAqB;IACrB,mBAAmB,EAAnB,6BAAmB;IACnB,uBAAuB,EAAvB,iCAAuB;IACvB,kBAAkB,EAAlB,4BAAkB;IAClB,kBAAkB,EAAlB,4BAAkB;IAClB,sBAAsB,EAAtB,gCAAsB;IACtB,uBAAuB,EAAvB,kCAAuB;IACvB,cAAc,EAAd,wBAAc;IACd,YAAY,EAAZ,sBAAY;IACZ,aAAa,EAAb,uBAAa;IACb,wBAAwB,EAAxB,kCAAwB;IACxB,+BAA+B,EAA/B,yCAA+B;IAC/B,qBAAqB,EAArB,+BAAqB;IACrB,aAAa,EAAb,uBAAa;IACb,cAAc,EAAd,wBAAc;IACd,mBAAmB,EAAnB,6BAAmB;IACnB,wBAAwB,EAAxB,kCAAwB;IACxB,qBAAqB,EAArB,+BAAqB;IACrB,kBAAkB,EAAlB,4BAAkB;IAClB,YAAY,EAAZ,sBAAY;IACZ,WAAW,EAAX,qBAAW;IACX,YAAY,EAAZ,sBAAY;IACZ,SAAS,EAAT,mBAAS;IACT,MAAM,EAAN,gBAAM;CACP,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/libs/index.ts"],"names":[],"mappings":";;;;;AAAA,4DAAmC;AACnC,kDAAyB;AACzB,8EAAqD;AACrD,8EAAqD;AACrD,sFAA6D;AAC7D,0FAAgE;AAChE,kEAAyC;AACzC,gFAAuD;AACvD,wFAA+D;AAC/D,oEAA2C;AAC3C,gEAAuC;AACvC,0FAAiE;AACjE,wGAA+E;AAC/E,sEAA6C;AAC7C,oFAA2D;AAC3D,sEAA6C;AAC7C,oFAA2D;AAC3D,oFAA2D;AAC3D,8EAAqD;AACrD,kEAAyC;AACzC,gFAAuD;AACvD,0FAAiE;AACjE,kEAAyC;AACzC,oEAA2C;AAC3C,4DAAmC;AACnC,sDAA6B;AAC7B,sDAA6B;AAE7B,kBAAe;IACb,SAAS,EAAT,mBAAS;IACT,IAAI,EAAJ,cAAI;IACJ,qBAAqB,EAArB,+BAAqB;IACrB,mBAAmB,EAAnB,6BAAmB;IACnB,uBAAuB,EAAvB,iCAAuB;IACvB,kBAAkB,EAAlB,4BAAkB;IAClB,kBAAkB,EAAlB,4BAAkB;IAClB,sBAAsB,EAAtB,gCAAsB;IACtB,uBAAuB,EAAvB,kCAAuB;IACvB,cAAc,EAAd,wBAAc;IACd,YAAY,EAAZ,sBAAY;IACZ,aAAa,EAAb,uBAAa;IACb,wBAAwB,EAAxB,kCAAwB;IACxB,+BAA+B,EAA/B,yCAA+B;IAC/B,qBAAqB,EAArB,+BAAqB;IACrB,aAAa,EAAb,uBAAa;IACb,cAAc,EAAd,wBAAc;IACd,mBAAmB,EAAnB,6BAAmB;IACnB,wBAAwB,EAAxB,kCAAwB;IACxB,qBAAqB,EAArB,+BAAqB;IACrB,kBAAkB,EAAlB,4BAAkB;IAClB,YAAY,EAAZ,sBAAY;IACZ,WAAW,EAAX,qBAAW;IACX,YAAY,EAAZ,sBAAY;IACZ,SAAS,EAAT,mBAAS;IACT,MAAM,EAAN,gBAAM;IACN,MAAM,EAAN,gBAAM;CACP,CAAA"}
@@ -0,0 +1,59 @@
1
+ export interface PhoneCountry {
2
+ code: string;
3
+ label: string;
4
+ maxLength: number;
5
+ a2: string;
6
+ regex: RegExp;
7
+ }
8
+ export interface LocaleConfig {
9
+ allowedLanguages?: string[];
10
+ defaultLanguage?: string;
11
+ phoneCountries?: PhoneCountry[];
12
+ getCountryFromStore?: () => string | undefined;
13
+ }
14
+ /**
15
+ * Get the country code (A2 format) from navigator language or custom store
16
+ */
17
+ export declare function getCountryCodeA2(config?: LocaleConfig): string | undefined;
18
+ /**
19
+ * Get the preferred language code based on country
20
+ */
21
+ export declare function getPreferredLanguageCode(config?: LocaleConfig): string;
22
+ /**
23
+ * Get available phone countries
24
+ */
25
+ export declare function getPhoneCountries(config?: LocaleConfig): PhoneCountry[];
26
+ /**
27
+ * Get the preferred country based on current location
28
+ */
29
+ export declare function getPreferredCountry(config?: LocaleConfig): PhoneCountry;
30
+ /**
31
+ * Validate phone number against country regex
32
+ */
33
+ export declare function validatePhoneNumber(phoneNumber: string, country?: PhoneCountry): boolean;
34
+ /**
35
+ * Format phone number with country code
36
+ */
37
+ export declare function formatPhoneNumber(phoneNumber: string, country: PhoneCountry): string;
38
+ /**
39
+ * Get country by A2 code
40
+ */
41
+ export declare function getCountryByA2(a2Code: string, config?: LocaleConfig): PhoneCountry | undefined;
42
+ /**
43
+ * Get country by phone code
44
+ */
45
+ export declare function getCountryByPhoneCode(phoneCode: string, config?: LocaleConfig): PhoneCountry | undefined;
46
+ /**
47
+ * Create a locale helper with custom configuration
48
+ */
49
+ export default function createLocaleHelper(config: LocaleConfig): {
50
+ getCountryCodeA2: () => string | undefined;
51
+ getPreferredLanguageCode: () => string;
52
+ getPhoneCountries: () => PhoneCountry[];
53
+ getPreferredCountry: () => PhoneCountry;
54
+ validatePhoneNumber: (phoneNumber: string, country?: PhoneCountry) => boolean;
55
+ formatPhoneNumber: (phoneNumber: string, country: PhoneCountry) => string;
56
+ getCountryByA2: (a2Code: string) => PhoneCountry | undefined;
57
+ getCountryByPhoneCode: (phoneCode: string) => PhoneCountry | undefined;
58
+ };
59
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/libs/locale.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CAC/C;AAsBD;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAmB3E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAE,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAiBvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,CAExE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,CASxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAMzF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,CAMrF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAG/F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,SAAS,CAIzG;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAE,MAAM,EAAE,YAAY,GAAG;IACjE,gBAAgB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IAC1C,wBAAwB,EAAE,MAAM,MAAM,CAAA;IACtC,iBAAiB,EAAE,MAAM,YAAY,EAAE,CAAA;IACvC,mBAAmB,EAAE,MAAM,YAAY,CAAA;IACvC,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAA;IAC7E,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,MAAM,CAAA;IACzE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAA;IAC5D,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAA;CACvE,CAaA"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCountryByPhoneCode = exports.getCountryByA2 = exports.formatPhoneNumber = exports.validatePhoneNumber = exports.getPreferredCountry = exports.getPhoneCountries = exports.getPreferredLanguageCode = exports.getCountryCodeA2 = void 0;
4
+ const DEFAULT_ALLOWED_LANGUAGES = ['zh-HK', 'en-US', 'jp', 'th-TH'];
5
+ const DEFAULT_LANGUAGE = 'zh-HK';
6
+ const DEFAULT_PHONE_COUNTRIES = [
7
+ {
8
+ code: '+852',
9
+ label: '🇭🇰',
10
+ maxLength: 8,
11
+ a2: 'HK',
12
+ regex: /^\+852[569]\d{7}$/,
13
+ },
14
+ {
15
+ code: '+66',
16
+ label: '🇹🇭',
17
+ maxLength: 9,
18
+ a2: 'TH',
19
+ regex: /^\+660?[689]\d{8}$/,
20
+ },
21
+ ];
22
+ /**
23
+ * Get the country code (A2 format) from navigator language or custom store
24
+ */
25
+ function getCountryCodeA2(config) {
26
+ var _a;
27
+ // First try to get from custom store function if provided
28
+ if ((config === null || config === void 0 ? void 0 : config.getCountryFromStore) != null) {
29
+ const storeCountry = config.getCountryFromStore();
30
+ if (storeCountry != null) {
31
+ return storeCountry;
32
+ }
33
+ }
34
+ // Fallback to navigator language
35
+ if (typeof navigator !== 'undefined') {
36
+ const lang = (_a = navigator.language) !== null && _a !== void 0 ? _a : navigator.userLanguage;
37
+ if (lang != null) {
38
+ const [, country] = lang.split('-');
39
+ return country;
40
+ }
41
+ }
42
+ return undefined;
43
+ }
44
+ exports.getCountryCodeA2 = getCountryCodeA2;
45
+ /**
46
+ * Get the preferred language code based on country
47
+ */
48
+ function getPreferredLanguageCode(config) {
49
+ var _a, _b;
50
+ const allowedLanguages = (_a = config === null || config === void 0 ? void 0 : config.allowedLanguages) !== null && _a !== void 0 ? _a : DEFAULT_ALLOWED_LANGUAGES;
51
+ const defaultLanguage = (_b = config === null || config === void 0 ? void 0 : config.defaultLanguage) !== null && _b !== void 0 ? _b : DEFAULT_LANGUAGE;
52
+ const countryCode = getCountryCodeA2(config);
53
+ if (countryCode == null) {
54
+ return defaultLanguage;
55
+ }
56
+ for (const allowedLang of allowedLanguages) {
57
+ const [, a2] = allowedLang.split('-');
58
+ if ((countryCode !== null && countryCode !== void 0 ? countryCode : '').toLowerCase() === (a2 !== null && a2 !== void 0 ? a2 : '').toLowerCase()) {
59
+ return allowedLang;
60
+ }
61
+ }
62
+ return defaultLanguage;
63
+ }
64
+ exports.getPreferredLanguageCode = getPreferredLanguageCode;
65
+ /**
66
+ * Get available phone countries
67
+ */
68
+ function getPhoneCountries(config) {
69
+ var _a;
70
+ return (_a = config === null || config === void 0 ? void 0 : config.phoneCountries) !== null && _a !== void 0 ? _a : DEFAULT_PHONE_COUNTRIES;
71
+ }
72
+ exports.getPhoneCountries = getPhoneCountries;
73
+ /**
74
+ * Get the preferred country based on current location
75
+ */
76
+ function getPreferredCountry(config) {
77
+ var _a;
78
+ const countries = getPhoneCountries(config);
79
+ const countryCodeA2 = getCountryCodeA2(config);
80
+ const selectedCountry = (_a = countries.find(c => c.a2 === countryCodeA2)) !== null && _a !== void 0 ? _a : countries[0];
81
+ return selectedCountry;
82
+ }
83
+ exports.getPreferredCountry = getPreferredCountry;
84
+ /**
85
+ * Validate phone number against country regex
86
+ */
87
+ function validatePhoneNumber(phoneNumber, country) {
88
+ if (country == null) {
89
+ return false;
90
+ }
91
+ return country.regex.test(phoneNumber);
92
+ }
93
+ exports.validatePhoneNumber = validatePhoneNumber;
94
+ /**
95
+ * Format phone number with country code
96
+ */
97
+ function formatPhoneNumber(phoneNumber, country) {
98
+ // Remove any existing country code or formatting
99
+ const cleanNumber = phoneNumber.replace(/^\+?\d{1,4}/, '').replace(/\D/g, '');
100
+ // Add country code
101
+ return `${country.code}${cleanNumber}`;
102
+ }
103
+ exports.formatPhoneNumber = formatPhoneNumber;
104
+ /**
105
+ * Get country by A2 code
106
+ */
107
+ function getCountryByA2(a2Code, config) {
108
+ const countries = getPhoneCountries(config);
109
+ return countries.find(country => country.a2.toLowerCase() === a2Code.toLowerCase());
110
+ }
111
+ exports.getCountryByA2 = getCountryByA2;
112
+ /**
113
+ * Get country by phone code
114
+ */
115
+ function getCountryByPhoneCode(phoneCode, config) {
116
+ const countries = getPhoneCountries(config);
117
+ const normalizedCode = phoneCode.startsWith('+') ? phoneCode : `+${phoneCode}`;
118
+ return countries.find(country => country.code === normalizedCode);
119
+ }
120
+ exports.getCountryByPhoneCode = getCountryByPhoneCode;
121
+ /**
122
+ * Create a locale helper with custom configuration
123
+ */
124
+ function createLocaleHelper(config) {
125
+ return {
126
+ getCountryCodeA2: () => getCountryCodeA2(config),
127
+ getPreferredLanguageCode: () => getPreferredLanguageCode(config),
128
+ getPhoneCountries: () => getPhoneCountries(config),
129
+ getPreferredCountry: () => getPreferredCountry(config),
130
+ validatePhoneNumber: (phoneNumber, country) => validatePhoneNumber(phoneNumber, country),
131
+ formatPhoneNumber: (phoneNumber, country) => formatPhoneNumber(phoneNumber, country),
132
+ getCountryByA2: (a2Code) => getCountryByA2(a2Code, config),
133
+ getCountryByPhoneCode: (phoneCode) => getCountryByPhoneCode(phoneCode, config),
134
+ };
135
+ }
136
+ exports.default = createLocaleHelper;
137
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/libs/locale.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dimorder-orderapp-lib",
3
- "version": "1.7.21",
3
+ "version": "1.7.23",
4
4
  "main": "dist",
5
5
  "license": "UNLICENSED",
6
6
  "scripts": {