aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorST-DDT <[email protected]>2022-04-05 23:35:01 +0200
committerGitHub <[email protected]>2022-04-05 21:35:01 +0000
commitb04dc914eec44ec3c5ae760976b616ce1d2584e1 (patch)
tree258b79f956b2c884c825651fa7c88c12fe215ada /src
parent6a2d8fce89e0b46f7b9693a7b1f697c108e8af04 (diff)
downloadfaker-b04dc914eec44ec3c5ae760976b616ce1d2584e1.tar.xz
faker-b04dc914eec44ec3c5ae760976b616ce1d2584e1.zip
feat: use street address templates from locales (#754)
Diffstat (limited to 'src')
-rw-r--r--src/address.ts45
-rw-r--r--src/definitions/address.ts22
-rw-r--r--src/locales/ar/address/street_address.ts5
-rw-r--r--src/locales/az/address/street_address.ts5
-rw-r--r--src/locales/cz/address/street_address.ts5
-rw-r--r--src/locales/de/address/street_address.ts5
-rw-r--r--src/locales/de_AT/address/street_address.ts5
-rw-r--r--src/locales/en/address/street_address.ts5
-rw-r--r--src/locales/en_GH/address/street_address.ts5
-rw-r--r--src/locales/es/address/street_address.ts8
-rw-r--r--src/locales/es_MX/address/street_address.ts8
-rw-r--r--src/locales/fa/address/street_address.ts8
-rw-r--r--src/locales/fr/address/street_address.ts5
-rw-r--r--src/locales/fr_BE/address/street_address.ts5
-rw-r--r--src/locales/ge/address/street_address.ts5
-rw-r--r--src/locales/he/address/street_address.ts5
-rw-r--r--src/locales/hr/address/street_address.ts5
-rw-r--r--src/locales/hy/address/street_address.ts5
-rw-r--r--src/locales/id_ID/address/street_address.ts5
-rw-r--r--src/locales/it/address/street_address.ts8
-rw-r--r--src/locales/lv/address/street_address.ts8
-rw-r--r--src/locales/mk/address/street_address.ts5
-rw-r--r--src/locales/nb_NO/address/street_address.ts5
-rw-r--r--src/locales/nl/address/street_address.ts5
-rw-r--r--src/locales/nl_BE/address/street_address.ts5
-rw-r--r--src/locales/pl/address/street_address.ts5
-rw-r--r--src/locales/pt_PT/address/street_address.ts5
-rw-r--r--src/locales/ro/address/street_address.ts5
-rw-r--r--src/locales/ru/address/street_address.ts5
-rw-r--r--src/locales/sk/address/street_address.ts5
-rw-r--r--src/locales/sv/address/street_address.ts5
-rw-r--r--src/locales/tr/address/street_address.ts5
-rw-r--r--src/locales/uk/address/street_address.ts5
-rw-r--r--src/locales/ur/address/street_address.ts5
-rw-r--r--src/locales/zh_CN/address/street_address.ts5
-rw-r--r--src/locales/zh_TW/address/street_address.ts5
36 files changed, 178 insertions, 74 deletions
diff --git a/src/address.ts b/src/address.ts
index f7ceeddc..5c862f5c 100644
--- a/src/address.ts
+++ b/src/address.ts
@@ -207,6 +207,20 @@ export class Address {
}
/**
+ * Generates a random building number.
+ *
+ * @example
+ * faker.address.buildingNumber() // '379'
+ */
+ buildingNumber(): string {
+ const format = this.faker.random.arrayElement(
+ this.faker.definitions.address.building_number
+ );
+
+ return this.faker.helpers.replaceSymbolWithNumber(format);
+ }
+
+ /**
* Generates a random localized street name.
*
* @example
@@ -242,30 +256,10 @@ export class Address {
* faker.address.streetAddress(false) // '34830 Erdman Hollow'
*/
streetAddress(useFullAddress: boolean = false): string {
- let address = '';
- switch (this.faker.datatype.number(2)) {
- case 0:
- address =
- this.faker.helpers.replaceSymbolWithNumber('#####') +
- ' ' +
- this.faker.address.streetName();
- break;
- case 1:
- address =
- this.faker.helpers.replaceSymbolWithNumber('####') +
- ' ' +
- this.faker.address.streetName();
- break;
- case 2:
- address =
- this.faker.helpers.replaceSymbolWithNumber('###') +
- ' ' +
- this.faker.address.streetName();
- break;
- }
- return useFullAddress
- ? address + ' ' + this.faker.address.secondaryAddress()
- : address;
+ const formats = this.faker.definitions.address.street_address;
+ const format = formats[useFullAddress ? 'full' : 'normal'];
+
+ return this.faker.fake(format);
}
/**
@@ -293,7 +287,8 @@ export class Address {
}
/**
- * Generates a random localized secondary address.
+ * Generates a random localized secondary address. This refers to a specific location at a given address
+ * such as an apartment or room number.
*
* @example
* faker.address.secondaryAddress() // 'Apt. 861'
diff --git a/src/definitions/address.ts b/src/definitions/address.ts
index 24f9b7cc..c5d5409f 100644
--- a/src/definitions/address.ts
+++ b/src/definitions/address.ts
@@ -55,6 +55,11 @@ export interface AddressDefinitions {
direction_abbr: string[];
/**
+ * The pattern used to generate building numbers.
+ */
+ building_number: string[];
+
+ /**
* Common street prefixes
*/
street_prefix: string[];
@@ -64,6 +69,20 @@ export interface AddressDefinitions {
street_suffix: string[];
/**
+ * The pattern used to generate street addresses.
+ */
+ street_address: {
+ /**
+ * The fake pattern to generate only the street address.
+ */
+ normal: string;
+ /**
+ * The fake pattern to generate the full street address including the secondary address.
+ */
+ full: string;
+ };
+
+ /**
* The address "inside" an address/e.g. an apartment or office.
*/
secondary_address: string[];
@@ -100,9 +119,12 @@ export const ADDRESS = allOf<keyof AddressDefinitions>()(
'direction_abbr',
'direction',
+ 'building_number',
+
'street_prefix',
'street_suffix',
+ 'street_address',
'secondary_address',
'country_code',
diff --git a/src/locales/ar/address/street_address.ts b/src/locales/ar/address/street_address.ts
index 0fcaf469..d6c5878a 100644
--- a/src/locales/ar/address/street_address.ts
+++ b/src/locales/ar/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{building_number} #{street_name}'];
+export default {
+ normal: '{{address.buildingNumber}} {{address.streetName}}',
+ full: '{{address.buildingNumber}} {{address.streetName}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/az/address/street_address.ts b/src/locales/az/address/street_address.ts
index a6c7cff8..73037a5c 100644
--- a/src/locales/az/address/street_address.ts
+++ b/src/locales/az/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name}, #{building_number}'];
+export default {
+ normal: '{{address.streetName}}, {{address.buildingNumber}}',
+ full: '{{address.streetName}}, {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/cz/address/street_address.ts b/src/locales/cz/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/cz/address/street_address.ts
+++ b/src/locales/cz/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/de/address/street_address.ts b/src/locales/de/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/de/address/street_address.ts
+++ b/src/locales/de/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/de_AT/address/street_address.ts b/src/locales/de_AT/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/de_AT/address/street_address.ts
+++ b/src/locales/de_AT/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/en/address/street_address.ts b/src/locales/en/address/street_address.ts
index 0fcaf469..d6c5878a 100644
--- a/src/locales/en/address/street_address.ts
+++ b/src/locales/en/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{building_number} #{street_name}'];
+export default {
+ normal: '{{address.buildingNumber}} {{address.streetName}}',
+ full: '{{address.buildingNumber}} {{address.streetName}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/en_GH/address/street_address.ts b/src/locales/en_GH/address/street_address.ts
index 0fcaf469..d6c5878a 100644
--- a/src/locales/en_GH/address/street_address.ts
+++ b/src/locales/en_GH/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{building_number} #{street_name}'];
+export default {
+ normal: '{{address.buildingNumber}} {{address.streetName}}',
+ full: '{{address.buildingNumber}} {{address.streetName}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/es/address/street_address.ts b/src/locales/es/address/street_address.ts
index b313d432..36449d0b 100644
--- a/src/locales/es/address/street_address.ts
+++ b/src/locales/es/address/street_address.ts
@@ -1,4 +1,4 @@
-export default [
- '#{street_name}#{building_number}',
- '#{street_name}#{building_number} #{secondary_address}',
-];
+export default {
+ normal: '{{address.streetName}}{{address.buildingNumber}}',
+ full: '{{address.streetName}}{{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/es_MX/address/street_address.ts b/src/locales/es_MX/address/street_address.ts
index b313d432..36449d0b 100644
--- a/src/locales/es_MX/address/street_address.ts
+++ b/src/locales/es_MX/address/street_address.ts
@@ -1,4 +1,4 @@
-export default [
- '#{street_name}#{building_number}',
- '#{street_name}#{building_number} #{secondary_address}',
-];
+export default {
+ normal: '{{address.streetName}}{{address.buildingNumber}}',
+ full: '{{address.streetName}}{{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/fa/address/street_address.ts b/src/locales/fa/address/street_address.ts
index 22ab96e3..74133d40 100644
--- a/src/locales/fa/address/street_address.ts
+++ b/src/locales/fa/address/street_address.ts
@@ -1,4 +1,4 @@
-export default [
- '#{street_name}, پلاک #{building_number}',
- '#{street_name}, #{street_name}, پلاک #{building_number}',
-];
+export default {
+ normal: '{{address.streetName}}, پلاک {{address.buildingNumber}}',
+ full: '{{address.streetName}}, پلاک {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/fr/address/street_address.ts b/src/locales/fr/address/street_address.ts
index 0fcaf469..d6c5878a 100644
--- a/src/locales/fr/address/street_address.ts
+++ b/src/locales/fr/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{building_number} #{street_name}'];
+export default {
+ normal: '{{address.buildingNumber}} {{address.streetName}}',
+ full: '{{address.buildingNumber}} {{address.streetName}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/fr_BE/address/street_address.ts b/src/locales/fr_BE/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/fr_BE/address/street_address.ts
+++ b/src/locales/fr_BE/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/ge/address/street_address.ts b/src/locales/ge/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/ge/address/street_address.ts
+++ b/src/locales/ge/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/he/address/street_address.ts b/src/locales/he/address/street_address.ts
index 0fcaf469..d6c5878a 100644
--- a/src/locales/he/address/street_address.ts
+++ b/src/locales/he/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{building_number} #{street_name}'];
+export default {
+ normal: '{{address.buildingNumber}} {{address.streetName}}',
+ full: '{{address.buildingNumber}} {{address.streetName}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/hr/address/street_address.ts b/src/locales/hr/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/hr/address/street_address.ts
+++ b/src/locales/hr/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/hy/address/street_address.ts b/src/locales/hy/address/street_address.ts
index 41ed0474..aaf5810e 100644
--- a/src/locales/hy/address/street_address.ts
+++ b/src/locales/hy/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{address.street_name} #{address.building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/id_ID/address/street_address.ts b/src/locales/id_ID/address/street_address.ts
index 33d2e0ce..1a4028a2 100644
--- a/src/locales/id_ID/address/street_address.ts
+++ b/src/locales/id_ID/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} no #{building_number}'];
+export default {
+ normal: '{{address.streetName}} no {{address.buildingNumber}}',
+ full: '{{address.streetName}} no {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/it/address/street_address.ts b/src/locales/it/address/street_address.ts
index 98c792d0..fc1a70df 100644
--- a/src/locales/it/address/street_address.ts
+++ b/src/locales/it/address/street_address.ts
@@ -1,4 +1,4 @@
-export default [
- '#{street_name} #{building_number}',
- '#{street_name} #{building_number}, #{secondary_address}',
-];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}}, {{address.secondaryAddress}}',
+};
diff --git a/src/locales/lv/address/street_address.ts b/src/locales/lv/address/street_address.ts
index 5987b430..aaf5810e 100644
--- a/src/locales/lv/address/street_address.ts
+++ b/src/locales/lv/address/street_address.ts
@@ -1,4 +1,4 @@
-export default [
- '#{street_name} #{building_number}',
- '#{street_name} #{building_number} #{secondary_address}',
-];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/mk/address/street_address.ts b/src/locales/mk/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/mk/address/street_address.ts
+++ b/src/locales/mk/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/nb_NO/address/street_address.ts b/src/locales/nb_NO/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/nb_NO/address/street_address.ts
+++ b/src/locales/nb_NO/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/nl/address/street_address.ts b/src/locales/nl/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/nl/address/street_address.ts
+++ b/src/locales/nl/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/nl_BE/address/street_address.ts b/src/locales/nl_BE/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/nl_BE/address/street_address.ts
+++ b/src/locales/nl_BE/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/pl/address/street_address.ts b/src/locales/pl/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/pl/address/street_address.ts
+++ b/src/locales/pl/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/pt_PT/address/street_address.ts b/src/locales/pt_PT/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/pt_PT/address/street_address.ts
+++ b/src/locales/pt_PT/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/ro/address/street_address.ts b/src/locales/ro/address/street_address.ts
index 4a09fa36..b8624265 100644
--- a/src/locales/ro/address/street_address.ts
+++ b/src/locales/ro/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name}, #{building_number}, #{secondary_address}'];
+export default {
+ normal: '{{address.streetName}}, {{address.buildingNumber}}',
+ full: '{{address.streetName}}, {{address.buildingNumber}}, {{address.secondaryAddress}}',
+};
diff --git a/src/locales/ru/address/street_address.ts b/src/locales/ru/address/street_address.ts
index a6c7cff8..73037a5c 100644
--- a/src/locales/ru/address/street_address.ts
+++ b/src/locales/ru/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name}, #{building_number}'];
+export default {
+ normal: '{{address.streetName}}, {{address.buildingNumber}}',
+ full: '{{address.streetName}}, {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/sk/address/street_address.ts b/src/locales/sk/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/sk/address/street_address.ts
+++ b/src/locales/sk/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/sv/address/street_address.ts b/src/locales/sv/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/sv/address/street_address.ts
+++ b/src/locales/sv/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/tr/address/street_address.ts b/src/locales/tr/address/street_address.ts
index 51642bdd..aaf5810e 100644
--- a/src/locales/tr/address/street_address.ts
+++ b/src/locales/tr/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name} #{building_number}'];
+export default {
+ normal: '{{address.streetName}} {{address.buildingNumber}}',
+ full: '{{address.streetName}} {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/uk/address/street_address.ts b/src/locales/uk/address/street_address.ts
index a6c7cff8..73037a5c 100644
--- a/src/locales/uk/address/street_address.ts
+++ b/src/locales/uk/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name}, #{building_number}'];
+export default {
+ normal: '{{address.streetName}}, {{address.buildingNumber}}',
+ full: '{{address.streetName}}, {{address.buildingNumber}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/ur/address/street_address.ts b/src/locales/ur/address/street_address.ts
index 0fcaf469..d6c5878a 100644
--- a/src/locales/ur/address/street_address.ts
+++ b/src/locales/ur/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{building_number} #{street_name}'];
+export default {
+ normal: '{{address.buildingNumber}} {{address.streetName}}',
+ full: '{{address.buildingNumber}} {{address.streetName}} {{address.secondaryAddress}}',
+};
diff --git a/src/locales/zh_CN/address/street_address.ts b/src/locales/zh_CN/address/street_address.ts
index ad30a40d..4b760343 100644
--- a/src/locales/zh_CN/address/street_address.ts
+++ b/src/locales/zh_CN/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name}#{building_number}号'];
+export default {
+ normal: '{{address.streetName}}{{address.buildingNumber}}号',
+ full: '{{address.streetName}}{{address.buildingNumber}}号 {{address.secondaryAddress}}',
+};
diff --git a/src/locales/zh_TW/address/street_address.ts b/src/locales/zh_TW/address/street_address.ts
index cb37c30c..21e95473 100644
--- a/src/locales/zh_TW/address/street_address.ts
+++ b/src/locales/zh_TW/address/street_address.ts
@@ -1 +1,4 @@
-export default ['#{street_name}#{building_number}號'];
+export default {
+ normal: '{{address.streetName}}{{address.buildingNumber}}號',
+ full: '{{address.streetName}}{{address.buildingNumber}}號 {{address.secondaryAddress}}',
+};