@wix/l10n 1.198.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.
- package/README.md +139 -0
- package/dist/cjs/__tests__/address.spec.js +365 -0
- package/dist/cjs/__tests__/address.spec.js.map +1 -0
- package/dist/cjs/__tests__/currency.spec.js +225 -0
- package/dist/cjs/__tests__/currency.spec.js.map +1 -0
- package/dist/cjs/__tests__/spec-setup.js +2 -0
- package/dist/cjs/__tests__/spec-setup.js.map +1 -0
- package/dist/cjs/address/formats.js +210 -0
- package/dist/cjs/address/formats.js.map +1 -0
- package/dist/cjs/address/formatsOverrides.js +23 -0
- package/dist/cjs/address/formatsOverrides.js.map +1 -0
- package/dist/cjs/address/formatter.js +21 -0
- package/dist/cjs/address/formatter.js.map +1 -0
- package/dist/cjs/address/index.js +8 -0
- package/dist/cjs/address/index.js.map +1 -0
- package/dist/cjs/address/model.js +2 -0
- package/dist/cjs/address/model.js.map +1 -0
- package/dist/cjs/address/parser.js +267 -0
- package/dist/cjs/address/parser.js.map +1 -0
- package/dist/cjs/currency/currencyCode.js +2 -0
- package/dist/cjs/currency/currencyCode.js.map +1 -0
- package/dist/cjs/currency/factory.js +37 -0
- package/dist/cjs/currency/factory.js.map +1 -0
- package/dist/cjs/currency/formatter.js +28 -0
- package/dist/cjs/currency/formatter.js.map +1 -0
- package/dist/cjs/external-types.d.js +3 -0
- package/dist/cjs/external-types.d.js.map +1 -0
- package/dist/cjs/generated/proto-generated.d.js +4 -0
- package/dist/cjs/generated/proto-generated.d.js.map +1 -0
- package/dist/cjs/index.js +18 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/test-types.d.js +2 -0
- package/dist/cjs/test-types.d.js.map +1 -0
- package/dist/esm/__tests__/address.spec.js +464 -0
- package/dist/esm/__tests__/address.spec.js.map +1 -0
- package/dist/esm/__tests__/currency.spec.js +178 -0
- package/dist/esm/__tests__/currency.spec.js.map +1 -0
- package/dist/esm/__tests__/spec-setup.js +2 -0
- package/dist/esm/__tests__/spec-setup.js.map +1 -0
- package/dist/esm/address/formats.js +8 -0
- package/dist/esm/address/formats.js.map +1 -0
- package/dist/esm/address/formatsOverrides.js +18 -0
- package/dist/esm/address/formatsOverrides.js.map +1 -0
- package/dist/esm/address/formatter.js +11 -0
- package/dist/esm/address/formatter.js.map +1 -0
- package/dist/esm/address/index.js +2 -0
- package/dist/esm/address/index.js.map +1 -0
- package/dist/esm/address/model.js +2 -0
- package/dist/esm/address/model.js.map +1 -0
- package/dist/esm/address/parser.js +227 -0
- package/dist/esm/address/parser.js.map +1 -0
- package/dist/esm/currency/currencyCode.js +2 -0
- package/dist/esm/currency/currencyCode.js.map +1 -0
- package/dist/esm/currency/factory.js +31 -0
- package/dist/esm/currency/factory.js.map +1 -0
- package/dist/esm/currency/formatter.js +18 -0
- package/dist/esm/currency/formatter.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/__tests__/address.spec.d.ts +2 -0
- package/dist/types/__tests__/address.spec.d.ts.map +1 -0
- package/dist/types/__tests__/currency.spec.d.ts +2 -0
- package/dist/types/__tests__/currency.spec.d.ts.map +1 -0
- package/dist/types/__tests__/spec-setup.d.ts +1 -0
- package/dist/types/__tests__/spec-setup.d.ts.map +1 -0
- package/dist/types/address/formats.d.ts +8 -0
- package/dist/types/address/formats.d.ts.map +1 -0
- package/dist/types/address/formatsOverrides.d.ts +5 -0
- package/dist/types/address/formatsOverrides.d.ts.map +1 -0
- package/dist/types/address/formatter.d.ts +10 -0
- package/dist/types/address/formatter.d.ts.map +1 -0
- package/dist/types/address/index.d.ts +4 -0
- package/dist/types/address/index.d.ts.map +1 -0
- package/dist/types/address/model.d.ts +21 -0
- package/dist/types/address/model.d.ts.map +1 -0
- package/dist/types/address/parser.d.ts +24 -0
- package/dist/types/address/parser.d.ts.map +1 -0
- package/dist/types/currency/currencyCode.d.ts +7 -0
- package/dist/types/currency/currencyCode.d.ts.map +1 -0
- package/dist/types/currency/factory.d.ts +15 -0
- package/dist/types/currency/factory.d.ts.map +1 -0
- package/dist/types/currency/formatter.d.ts +18 -0
- package/dist/types/currency/formatter.d.ts.map +1 -0
- package/dist/types/generated/proto-generated.d.ts +1198 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-setup.js","sourceRoot":"","sources":["../../../src/__tests__/spec-setup.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated file, do not edit it.
|
|
3
|
+
* Google's open-source address library https://chromium-i18n.appspot.com/ssl-address.
|
|
4
|
+
* Some of the formats were overriden using the formatsOverrides.js file.
|
|
5
|
+
*/
|
|
6
|
+
export const formats = { "AC": "%N%n%O%n%A%n%C%n%Z", "AD": "%N%n%O%n%A%n%Z %C", "AE": "%N%n%O%n%A%n%S", "AF": "%N%n%O%n%A%n%C%n%Z", "AI": "%N%n%O%n%A%n%C%n%Z", "AL": "%N%n%O%n%A%n%Z%n%C", "AM": "%N%n%O%n%A%n%Z%n%C%n%S", "AR": "%N%n%O%n%A%n%Z %C%n%S", "AS": "%N%n%O%n%A%n%C %S %Z", "AT": "%O%n%N%n%A%n%Z %C", "AU": "%O%n%N%n%A%n%C %S %Z", "AX": "%O%n%N%n%A%n%Z %C%nÅLAND", "AZ": "%N%n%O%n%A%nAZ %Z %C", "BA": "%N%n%O%n%A%n%Z %C", "BB": "%N%n%O%n%A%n%C, %S %Z", "BD": "%N%n%O%n%A%n%C - %Z", "BE": "%O%n%N%n%A%n%Z %C", "BF": "%N%n%O%n%A%n%C %X", "BG": "%N%n%O%n%A%n%Z %C", "BH": "%N%n%O%n%A%n%C %Z", "BL": "%O%n%N%n%A%n%Z %C %X", "BM": "%N%n%O%n%A%n%C %Z", "BN": "%N%n%O%n%A%n%C %Z", "BR": "%O%n%N%n%A%n%D%n%C-%S%n%Z", "BS": "%N%n%O%n%A%n%C, %S", "BT": "%N%n%O%n%A%n%C %Z", "BY": "%O%n%N%n%A%n%Z, %C%n%S", "CA": "%N%n%O%n%A%n%C %S %Z", "CC": "%O%n%N%n%A%n%C %S %Z", "CH": "%O%n%N%n%A%n%Z %C", "CI": "%N%n%O%n%X %A %C %X", "CL": "%N%n%O%n%A%n%Z %C%n%S", "CN": "%Z%n%S%C%D%n%A%n%O%n%N", "CO": "%N%n%O%n%A%n%D%n%C, %S, %Z", "CR": "%N%n%O%n%A%n%S, %C%n%Z", "CU": "%N%n%O%n%A%n%C %S%n%Z", "CV": "%N%n%O%n%A%n%Z %C%n%S", "CX": "%O%n%N%n%A%n%C %S %Z", "CY": "%N%n%O%n%A%n%Z %C", "CZ": "%N%n%O%n%A%n%Z %C", "DE": "%N%n%O%n%A%n%Z %C", "DK": "%N%n%O%n%A%n%Z %C", "DO": "%N%n%O%n%A%n%Z %C", "DZ": "%N%n%O%n%A%n%Z %C", "EC": "%N%n%O%n%A%n%Z%n%C", "EE": "%N%n%O%n%A%n%Z %C %S", "EG": "%N%n%O%n%A%n%C%n%S%n%Z", "EH": "%N%n%O%n%A%n%Z %C", "ES": "%N%n%O%n%A%n%Z %C %S", "ET": "%N%n%O%n%A%n%Z %C", "FI": "%O%n%N%n%A%n%Z %C", "FK": "%N%n%O%n%A%n%C%n%Z", "FM": "%N%n%O%n%A%n%C %S %Z", "FO": "%N%n%O%n%A%nFO%Z %C", "FR": "%O%n%N%n%A%n%Z %C", "GB": "%N%n%O%n%A%n%C%n%Z", "GE": "%N%n%O%n%A%n%Z %C", "GF": "%O%n%N%n%A%n%Z %C %X", "GG": "%N%n%O%n%A%n%C%nGUERNSEY%n%Z", "GI": "%N%n%O%n%A%nGIBRALTAR%n%Z", "GL": "%N%n%O%n%A%n%Z %C", "GN": "%N%n%O%n%Z %A %C", "GP": "%O%n%N%n%A%n%Z %C %X", "GR": "%N%n%O%n%A%n%Z %C", "GS": "%N%n%O%n%A%n%n%C%n%Z", "GT": "%N%n%O%n%A%n%Z- %C", "GU": "%N%n%O%n%A%n%C %Z", "GW": "%N%n%O%n%A%n%Z %C", "HK": "%S%n%C%n%A%n%O%n%N", "HM": "%O%n%N%n%A%n%C %S %Z", "HN": "%N%n%O%n%A%n%C, %S%n%Z", "HR": "%N%n%O%n%A%n%Z %C", "HT": "%N%n%O%n%A%nHT%Z %C", "HU": "%N%n%O%n%C%n%A%n%Z", "ID": "%N%n%O%n%A%n%C%n%S %Z", "IE": "%N%n%O%n%A%n%D%n%C%n%S%n%Z", "IL": "%N%n%O%n%A%n%C %Z", "IM": "%N%n%O%n%A%n%C%n%Z", "IN": "%N%n%O%n%A%n%C %Z%n%S", "IO": "%N%n%O%n%A%n%C%n%Z", "IQ": "%O%n%N%n%A%n%C, %S%n%Z", "IR": "%O%n%N%n%S%n%C, %D%n%A%n%Z", "IS": "%N%n%O%n%A%n%Z %C", "IT": "%N%n%O%n%A%n%Z %C %S", "JE": "%N%n%O%n%A%n%C%nJERSEY%n%Z", "JM": "%N%n%O%n%A%n%C%n%S %X", "JO": "%N%n%O%n%A%n%C %Z", "JP": "〒%Z%n%S%n%C%n%A%n%O%n%N%", "KE": "%N%n%O%n%A%n%C%n%Z", "KG": "%N%n%O%n%A%n%Z %C", "KH": "%N%n%O%n%A%n%C %Z", "KI": "%N%n%O%n%A%n%S%n%C", "KN": "%N%n%O%n%A%n%C, %S", "KP": "%Z%n%S%n%C%n%A%n%O%n%N", "KR": "%S %C%D%n%A%n%O%n%N%n%Z", "KW": "%N%n%O%n%A%n%Z %C", "KY": "%N%n%O%n%A%n%S %Z", "KZ": "%Z%n%S%n%C%n%A%n%O%n%N", "LA": "%N%n%O%n%A%n%Z %C", "LB": "%N%n%O%n%A%n%C %Z", "LI": "%O%n%N%n%A%n%Z %C", "LK": "%N%n%O%n%A%n%C%n%Z", "LR": "%N%n%O%n%A%n%Z %C", "LS": "%N%n%O%n%A%n%C %Z", "LT": "%O%n%N%n%A%n%Z %C", "LU": "%O%n%N%n%A%n%Z %C", "LV": "%N%n%O%n%A%n%S%n%C, %Z", "MA": "%N%n%O%n%A%n%Z %C", "MC": "%N%n%O%n%A%n%Z %C %X", "MD": "%N%n%O%n%A%n%Z %C", "ME": "%N%n%O%n%A%n%Z %C", "MF": "%O%n%N%n%A%n%Z %C %X", "MG": "%N%n%O%n%A%n%Z %C", "MH": "%N%n%O%n%A%n%C %S %Z", "MK": "%N%n%O%n%A%n%Z %C", "MM": "%N%n%O%n%A%n%C, %Z", "MN": "%N%n%O%n%A%n%C%n%S %Z", "MO": "%A%n%O%n%N", "MP": "%N%n%O%n%A%n%C %S %Z", "MQ": "%O%n%N%n%A%n%Z %C %X", "MT": "%N%n%O%n%A%n%C %Z", "MU": "%N%n%O%n%A%n%Z%n%C", "MV": "%N%n%O%n%A%n%C %Z", "MW": "%N%n%O%n%A%n%C %X", "MX": "%N%n%O%n%A%n%D%n%Z %C, %S", "MY": "%N%n%O%n%A%n%D%n%Z %C%n%S", "MZ": "%N%n%O%n%A%n%Z %C%S", "NA": "%N%n%O%n%A%n%C%n%Z", "NC": "%O%n%N%n%A%n%Z %C %X", "NE": "%N%n%O%n%A%n%Z %C", "NF": "%O%n%N%n%A%n%C %S %Z", "NG": "%N%n%O%n%A%n%D%n%C %Z%n%S", "NI": "%N%n%O%n%A%n%Z%n%C, %S", "NL": "%O%n%N%n%A%n%Z %C", "NO": "%N%n%O%n%A%n%Z %C", "NP": "%N%n%O%n%A%n%C %Z", "NR": "%N%n%O%n%A%n%S", "NZ": "%N%n%O%n%A%n%D%n%C %Z", "OM": "%N%n%O%n%A%n%Z%n%C", "PA": "%N%n%O%n%A%n%C%n%S", "PE": "%N%n%O%n%A%n%C %Z%n%S", "PF": "%N%n%O%n%A%n%Z %C %S", "PG": "%N%n%O%n%A%n%C %Z %S", "PH": "%N%n%O%n%A%n%D, %C%n%Z %S", "PK": "%N%n%O%n%A%n%D%n%C-%Z", "PL": "%N%n%O%n%A%n%Z %C", "PM": "%O%n%N%n%A%n%Z %C %X", "PN": "%N%n%O%n%A%n%C%n%Z", "PR": "%N%n%O%n%A%n%C PR %Z", "PT": "%N%n%O%n%A%n%Z %C", "PW": "%N%n%O%n%A%n%C %S %Z", "PY": "%N%n%O%n%A%n%Z %C", "RE": "%O%n%N%n%A%n%Z %C %X", "RO": "%N%n%O%n%A%n%Z %S %C", "RS": "%N%n%O%n%A%n%Z %C", "RU": "%N%n%O%n%A%n%C%n%S%n%Z", "SA": "%N%n%O%n%A%n%C %Z", "SC": "%N%n%O%n%A%n%C%n%S", "SD": "%N%n%O%n%A%n%C%n%Z", "SE": "%O%n%N%n%A%n%Z %C", "SG": "%N%n%O%n%A%nSINGAPORE %Z", "SH": "%N%n%O%n%A%n%C%n%Z", "SI": "%N%n%O%n%A%n%Z %C", "SJ": "%N%n%O%n%A%n%Z %C", "SK": "%N%n%O%n%A%n%Z %C", "SM": "%N%n%O%n%A%n%Z %C", "SN": "%N%n%O%n%A%n%Z %C", "SO": "%N%n%O%n%A%n%C, %S %Z", "SR": "%N%n%O%n%A%n%C%n%S", "SV": "%N%n%O%n%A%n%Z-%C%n%S", "SZ": "%N%n%O%n%A%n%C%n%Z", "TA": "%N%n%O%n%A%n%C%n%Z", "TC": "%N%n%O%n%A%n%C%n%Z", "TH": "%N%n%O%n%A%n%D %C%n%S %Z", "TJ": "%N%n%O%n%A%n%Z %C", "TM": "%N%n%O%n%A%n%Z %C", "TN": "%N%n%O%n%A%n%Z %C", "TR": "%N%n%O%n%A%n%Z %C/%S", "TV": "%N%n%O%n%A%n%C%n%S", "TW": "%Z%n%S%C%n%A%n%O%n%N", "TZ": "%N%n%O%n%A%n%Z %C", "UA": "%N%n%O%n%A%n%C%n%S%n%Z", "UM": "%N%n%O%n%A%n%C %S %Z", "US": "%N%n%O%n%A%n%C, %S %Z", "UY": "%N%n%O%n%A%n%Z %C %S", "UZ": "%N%n%O%n%A%n%Z %C%n%S", "VA": "%N%n%O%n%A%n%Z %C", "VC": "%N%n%O%n%A%n%C %Z", "VE": "%N%n%O%n%A%n%C %Z, %S", "VG": "%N%n%O%n%A%n%C%n%Z", "VI": "%N%n%O%n%A%n%C %S %Z", "VN": "%N%n%O%n%A%n%C%n%S %Z", "WF": "%O%n%N%n%A%n%Z %C %X", "XK": "%N%n%O%n%A%n%Z %C", "YT": "%O%n%N%n%A%n%Z %C %X", "ZA": "%N%n%O%n%A%n%D%n%C%n%Z", "ZM": "%N%n%O%n%A%n%Z %C" };
|
|
7
|
+
export const defaultFormat = '%N%n%O%n%A%n%C';
|
|
8
|
+
//# sourceMappingURL=formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../../src/address/formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Make sure to run update:templates after updating this file."
|
|
3
|
+
*/
|
|
4
|
+
export const overrides = {
|
|
5
|
+
JP: '〒%Z%n%S%n%C%n%A%n%O%n%N%',
|
|
6
|
+
LT: '%O%n%N%n%A%n%Z %C',
|
|
7
|
+
AX: '%O%n%N%n%A%n%Z %C%nÅLAND',
|
|
8
|
+
CH: '%O%n%N%n%A%n%Z %C',
|
|
9
|
+
FI: '%O%n%N%n%A%n%Z %C',
|
|
10
|
+
HR: '%N%n%O%n%A%n%Z %C',
|
|
11
|
+
LI: '%O%n%N%n%A%n%Z %C',
|
|
12
|
+
LU: '%O%n%N%n%A%n%Z %C',
|
|
13
|
+
MC: '%N%n%O%n%A%n%Z %C %X',
|
|
14
|
+
MD: '%N%n%O%n%A%n%Z %C',
|
|
15
|
+
SE: '%O%n%N%n%A%n%Z %C',
|
|
16
|
+
SI: '%N%n%O%n%A%n%Z %C',
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=formatsOverrides.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatsOverrides.js","sourceRoot":"","sources":["../../../src/address/formatsOverrides.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,SAAS,GAA2B;IAC/C,EAAE,EAAE,0BAA0B;IAC9B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,0BAA0B;IAC9B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,sBAAsB;IAC1B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;CACxB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { convertWixAdressToGoogleAddress, getGoogleTemplate, parseGoogleTemplate, trimGoogleTemplate, applyTemplate, } from './parser';
|
|
2
|
+
export const formatAddress = ({ address, addressContactDetails, }, { appendCountry = true } = {}) => {
|
|
3
|
+
const googleAddressFormat = convertWixAdressToGoogleAddress(address, addressContactDetails);
|
|
4
|
+
const template = getGoogleTemplate(address.country);
|
|
5
|
+
const tokens = parseGoogleTemplate(template);
|
|
6
|
+
const trimmedTemplate = trimGoogleTemplate(googleAddressFormat, tokens);
|
|
7
|
+
return applyTemplate(googleAddressFormat, trimmedTemplate, {
|
|
8
|
+
appendCountry,
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/address/formatter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,GACd,MAAM,UAAU,CAAC;AAclB,MAAM,CAAC,MAAM,aAAa,GAAkB,CAC1C,EACE,OAAO,EACP,qBAAqB,GAItB,EACD,EAAE,aAAa,GAAG,IAAI,KAAc,EAAE,EACtC,EAAE;IACF,MAAM,mBAAmB,GAAG,+BAA+B,CACzD,OAAO,EACP,qBAAqB,CACtB,CAAC;IACF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,kBAAkB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAExE,OAAO,aAAa,CAAC,mBAAmB,EAAE,eAAe,EAAE;QACzD,aAAa;KACd,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/address/model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { formats, defaultFormat } from './formats';
|
|
2
|
+
const libaddressFields = {
|
|
3
|
+
'%N': 'name',
|
|
4
|
+
'%O': 'organization',
|
|
5
|
+
'%A': 'addressLines',
|
|
6
|
+
'%D': 'dependentLocality',
|
|
7
|
+
'%C': 'locality',
|
|
8
|
+
'%S': 'administrativeArea',
|
|
9
|
+
'%Z': 'postalCode',
|
|
10
|
+
'%X': 'sortingCode',
|
|
11
|
+
'%R': 'postalCountry',
|
|
12
|
+
};
|
|
13
|
+
export const streetNameFirstCountries = [
|
|
14
|
+
'AU',
|
|
15
|
+
'AT',
|
|
16
|
+
'BG',
|
|
17
|
+
'HR',
|
|
18
|
+
'CZ',
|
|
19
|
+
'DK',
|
|
20
|
+
'EE',
|
|
21
|
+
'FI',
|
|
22
|
+
'FR',
|
|
23
|
+
'DE',
|
|
24
|
+
'GR',
|
|
25
|
+
'HU',
|
|
26
|
+
'IS',
|
|
27
|
+
'IT',
|
|
28
|
+
'LV',
|
|
29
|
+
'LT',
|
|
30
|
+
'LU',
|
|
31
|
+
'NL',
|
|
32
|
+
'NZ',
|
|
33
|
+
'NO',
|
|
34
|
+
'PL',
|
|
35
|
+
'PT',
|
|
36
|
+
'RO',
|
|
37
|
+
'SK',
|
|
38
|
+
'SI',
|
|
39
|
+
'ES',
|
|
40
|
+
'SE',
|
|
41
|
+
'CH',
|
|
42
|
+
'TR',
|
|
43
|
+
'IE',
|
|
44
|
+
'JP',
|
|
45
|
+
'BR', // Brazil
|
|
46
|
+
];
|
|
47
|
+
export const apartmentNumberFirstCountries = [
|
|
48
|
+
'CA', // Canada
|
|
49
|
+
];
|
|
50
|
+
export const apartmentNumberAfterStreetNameCountries = [
|
|
51
|
+
'US', // United States
|
|
52
|
+
];
|
|
53
|
+
const convertStreetAddressToAddressLine = ({ name, number, apt }, countryCode) => {
|
|
54
|
+
if (!name && !number) {
|
|
55
|
+
return '';
|
|
56
|
+
}
|
|
57
|
+
if (!name || !number) {
|
|
58
|
+
return name || number;
|
|
59
|
+
}
|
|
60
|
+
if (apt && apartmentNumberAfterStreetNameCountries.includes(countryCode)) {
|
|
61
|
+
return `${number} ${name} ${apt}`.trim();
|
|
62
|
+
}
|
|
63
|
+
const formattedNumber = formatStreetApartmentNumber({ number, apt }, countryCode);
|
|
64
|
+
if (streetNameFirstCountries.includes(countryCode)) {
|
|
65
|
+
return `${name} ${formattedNumber}`.trim();
|
|
66
|
+
}
|
|
67
|
+
return `${formattedNumber} ${name}`.trim();
|
|
68
|
+
};
|
|
69
|
+
const formatStreetApartmentNumber = ({ number, apt = '' }, countryCode) => {
|
|
70
|
+
if (number && apt) {
|
|
71
|
+
return apartmentNumberFirstCountries.includes(countryCode)
|
|
72
|
+
? `${apt}-${number}`
|
|
73
|
+
: `${number}-${apt}`;
|
|
74
|
+
}
|
|
75
|
+
if (number) {
|
|
76
|
+
return number;
|
|
77
|
+
}
|
|
78
|
+
return apt;
|
|
79
|
+
};
|
|
80
|
+
export const convertWixAdressToGoogleAddress = (address, addressContactDetails) => {
|
|
81
|
+
const addressLines = [];
|
|
82
|
+
// keep backward compatibility with previous version of API
|
|
83
|
+
const addressLine2 = address.addressLine2 ?? address.addressLine_2 ?? undefined;
|
|
84
|
+
if (address.streetAddress) {
|
|
85
|
+
const streetAddress = convertStreetAddressToAddressLine(address.streetAddress, address.country);
|
|
86
|
+
addressLines.push(streetAddress);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
if (address.addressLine) {
|
|
90
|
+
addressLines.push(address.addressLine);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (addressLine2) {
|
|
94
|
+
addressLines.push(addressLine2);
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
name: addressContactDetails?.fullName,
|
|
98
|
+
organization: addressContactDetails?.company,
|
|
99
|
+
postalCountry: address.country,
|
|
100
|
+
administrativeArea: address.subdivision,
|
|
101
|
+
locality: address.city,
|
|
102
|
+
country: address.countryFullname,
|
|
103
|
+
postalCode: address.postalCode,
|
|
104
|
+
addressLines,
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
export const getGoogleTemplate = (countryCode) => {
|
|
108
|
+
const code = countryCode?.toUpperCase();
|
|
109
|
+
if (code && code in formats) {
|
|
110
|
+
return formats[code];
|
|
111
|
+
}
|
|
112
|
+
return defaultFormat;
|
|
113
|
+
};
|
|
114
|
+
export const isAddressFieldToken = (token) => {
|
|
115
|
+
return token[0] === '%' && token !== '%n';
|
|
116
|
+
};
|
|
117
|
+
export const getTokenName = (token) => {
|
|
118
|
+
return libaddressFields[token];
|
|
119
|
+
};
|
|
120
|
+
const hasFieldToken = (address, field) => {
|
|
121
|
+
if (field === 'addressLines') {
|
|
122
|
+
return (address.addressLines !== undefined && address.addressLines.length > 0);
|
|
123
|
+
}
|
|
124
|
+
return address[field] !== undefined && address[field] !== '';
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* A function to parse a Google's open-source address metadata templates into tokens
|
|
128
|
+
* @example
|
|
129
|
+
* '%N%n%O%n%A%n%C, %S %Z' -> ['%N', '%n', '%O', '%n', '%A', '%n', '%C', ', ', '%S', ' ', '%Z']
|
|
130
|
+
*/
|
|
131
|
+
export const parseGoogleTemplate = (template) => {
|
|
132
|
+
const parts = [];
|
|
133
|
+
let i = 0;
|
|
134
|
+
while (i < template.length) {
|
|
135
|
+
if (template[i] === '%') {
|
|
136
|
+
parts.push(template.slice(i, i + 2));
|
|
137
|
+
i += 1;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
let j = i;
|
|
141
|
+
while (template[j] !== '%' && j < template.length) {
|
|
142
|
+
j += 1;
|
|
143
|
+
}
|
|
144
|
+
parts.push(template.slice(i, j));
|
|
145
|
+
i = j - 1;
|
|
146
|
+
}
|
|
147
|
+
i += 1;
|
|
148
|
+
}
|
|
149
|
+
return parts;
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* A function to "trim" the template, ie to safely remove unused template fields.
|
|
153
|
+
*/
|
|
154
|
+
export const trimGoogleTemplate = (address, tokens) => {
|
|
155
|
+
const parts = [];
|
|
156
|
+
let i = 0;
|
|
157
|
+
while (i < tokens.length) {
|
|
158
|
+
const token = tokens[i];
|
|
159
|
+
if (token === '%n') {
|
|
160
|
+
parts.push(token);
|
|
161
|
+
}
|
|
162
|
+
else if (isAddressFieldToken(token)) {
|
|
163
|
+
const tokenName = getTokenName(token);
|
|
164
|
+
if (hasFieldToken(address, tokenName)) {
|
|
165
|
+
parts.push(token);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const notFollowingRemovedField = i === 0 ||
|
|
170
|
+
!isAddressFieldToken(tokens[i - 1]) ||
|
|
171
|
+
(parts.length > 0 && isAddressFieldToken(parts[parts.length - 1]));
|
|
172
|
+
const notPrecedingEmptyField = i === token.length - 1 ||
|
|
173
|
+
token[i + 1] === '%n' ||
|
|
174
|
+
hasFieldToken(address, getTokenName(tokens[i + 1]));
|
|
175
|
+
if (notFollowingRemovedField && notPrecedingEmptyField) {
|
|
176
|
+
parts.push(token);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
i += 1;
|
|
180
|
+
}
|
|
181
|
+
while (parts.length > 0 && parts[0] === '%n') {
|
|
182
|
+
parts.shift(); // Remove the first part if it is %n
|
|
183
|
+
}
|
|
184
|
+
return parts;
|
|
185
|
+
};
|
|
186
|
+
export const applyTemplate = (address, tokens, options) => {
|
|
187
|
+
const lines = [];
|
|
188
|
+
let line = '';
|
|
189
|
+
for (const token of tokens) {
|
|
190
|
+
if (token === '%n') {
|
|
191
|
+
// Line break is inserted only in case the prvious line is not empty.
|
|
192
|
+
if (line.length > 0) {
|
|
193
|
+
lines.push(line);
|
|
194
|
+
line = '';
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else if (!isAddressFieldToken(token)) {
|
|
198
|
+
line += token;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
const field = getTokenName(token);
|
|
202
|
+
if (field === 'postalCountry') {
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
if (field === 'addressLines') {
|
|
206
|
+
if (address.addressLines && address.addressLines.length > 0) {
|
|
207
|
+
line += address.addressLines[0];
|
|
208
|
+
lines.push(line);
|
|
209
|
+
line = '';
|
|
210
|
+
if (address.addressLines.length === 2) {
|
|
211
|
+
lines.push(address.addressLines[1]);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
line += address[field];
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (line.length > 0) {
|
|
220
|
+
lines.push(line);
|
|
221
|
+
}
|
|
222
|
+
if (options.appendCountry && address.country) {
|
|
223
|
+
lines.push(address.country);
|
|
224
|
+
}
|
|
225
|
+
return lines;
|
|
226
|
+
};
|
|
227
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/address/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"currencyCode.js","sourceRoot":"","sources":["../../../src/currency/currencyCode.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const extractLanguageCode = (language) => {
|
|
2
|
+
return language.split('-')[0];
|
|
3
|
+
};
|
|
4
|
+
const _currencyFormatterFactory = ({ language, country, ...options }) => {
|
|
5
|
+
if (typeof Intl?.NumberFormat === 'undefined') {
|
|
6
|
+
throw new Error('Intl.NumberFormat is not available.');
|
|
7
|
+
}
|
|
8
|
+
const languageCode = extractLanguageCode(language);
|
|
9
|
+
const locale = country ? `${languageCode}-${country}` : language;
|
|
10
|
+
return Intl.NumberFormat(locale, {
|
|
11
|
+
style: 'currency',
|
|
12
|
+
...options,
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
const cache = new Map();
|
|
16
|
+
const resolver = (options) => Object.keys(options)
|
|
17
|
+
.filter((key) => options[key] !== undefined)
|
|
18
|
+
.sort()
|
|
19
|
+
.map((key) => `${key}=${options[key]}`)
|
|
20
|
+
.join('&');
|
|
21
|
+
export const currencyFormatterFactory = (params) => {
|
|
22
|
+
const key = resolver(params);
|
|
23
|
+
if (cache.has(key)) {
|
|
24
|
+
return cache.get(key);
|
|
25
|
+
}
|
|
26
|
+
const result = _currencyFormatterFactory(params);
|
|
27
|
+
cache.set(key, result);
|
|
28
|
+
return result;
|
|
29
|
+
};
|
|
30
|
+
currencyFormatterFactory.cache = cache;
|
|
31
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/currency/factory.ts"],"names":[],"mappings":"AAcA,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC/C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,EACjC,QAAQ,EACR,OAAO,EACP,GAAG,OAAO,EACW,EAAE,EAAE;IACzB,IAAI,OAAO,IAAI,EAAE,YAAY,KAAK,WAAW,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KACxD;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,YAAY,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEjE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;QAC/B,KAAK,EAAE,UAAU;QACjB,GAAG,OAAO;KACX,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEnD,MAAM,QAAQ,GAAG,CAAC,OAA6B,EAAE,EAAE,CAChD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAoC;KACrD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;KAC3C,IAAI,EAAE;KACN,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;KACtC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEf,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,MAA4B,EACT,EAAE;IACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE7B,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;KACxB;IAED,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,wBAAwB,CAAC,KAAK,GAAG,KAAK,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { currencyFormatterFactory } from './factory';
|
|
2
|
+
export function createCurrencyFormatterWithDefaults(defaults) {
|
|
3
|
+
return function createCurrencyFormatter(params) {
|
|
4
|
+
const overrides = {
|
|
5
|
+
...defaults,
|
|
6
|
+
...params,
|
|
7
|
+
};
|
|
8
|
+
return function format({ value, currency, }) {
|
|
9
|
+
const instance = currencyFormatterFactory({ ...overrides, currency });
|
|
10
|
+
const input = typeof value === 'string' ? Number(value) : value;
|
|
11
|
+
if (overrides.parts) {
|
|
12
|
+
return instance.formatToParts(input);
|
|
13
|
+
}
|
|
14
|
+
return instance.format(input);
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/currency/formatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AA6BrD,MAAM,UAAU,mCAAmC,CACjD,QAAiD;IAEjD,OAAO,SAAS,uBAAuB,CACrC,MAAuC;QAEvC,MAAM,SAAS,GAAG;YAChB,GAAG,QAAQ;YACX,GAAG,MAAM;SACV,CAAC;QAEF,OAAO,SAAS,MAAM,CAAC,EACrB,KAAK,EACL,QAAQ,GACF;YACN,MAAM,QAAQ,GAAG,wBAAwB,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEhE,IAAI,SAAS,CAAC,KAAK,EAAE;gBACnB,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAA+B,CAAC;aACpE;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,CAA+B,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,GAKpC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,aAAa,GAId,MAAM,WAAW,CAAC"}
|