aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTyler <[email protected]>2017-10-22 11:27:30 -0700
committerTyler <[email protected]>2017-10-22 11:27:30 -0700
commitd92b012aefd60fdc919d03a147dc0f28ababf0cd (patch)
tree17c39ebd80f9d3e412e9a63678724ac04d85d1d0 /lib
parent07929b4c54ea386e5fab198b87b8a05493676c29 (diff)
downloadfaker-d92b012aefd60fdc919d03a147dc0f28ababf0cd.tar.xz
faker-d92b012aefd60fdc919d03a147dc0f28ababf0cd.zip
add direction abbr options with tests
Diffstat (limited to 'lib')
-rw-r--r--lib/address.js40
-rw-r--r--lib/index.js2
-rw-r--r--lib/locales/en/address/direction.js16
-rw-r--r--lib/locales/en/address/direction_abbr.js10
-rw-r--r--lib/locales/en/address/index.js1
5 files changed, 48 insertions, 21 deletions
diff --git a/lib/address.js b/lib/address.js
index 5d98554e..21e14ff6 100644
--- a/lib/address.js
+++ b/lib/address.js
@@ -231,46 +231,62 @@ function Address (faker) {
* direction
*
* @method faker.address.direction
+ * @param {Boolean} useAbbr return direction abbreviation. defaults to false
*/
- this.direction = function () {
- return faker.random.arrayElement(faker.definitions.address.direction);
+ this.direction = function (useAbbr) {
+ if (typeof useAbbr === 'undefined' || useAbbr === false) {
+ return faker.random.arrayElement(faker.definitions.address.direction);
+ }
+ return faker.random.arrayElement(faker.definitions.address.direction_abbr);
}
this.direction.schema = {
- "description": "Generates a direction.",
- "sampleResults": ["NW", "S", "SW", "E"]
+ "description": "Generates a direction. Use optional useAbbr bool to return abbrevation",
+ "sampleResults": ["Northwest", "South", "SW", "E"]
};
/**
* cardinal direction
*
* @method faker.address.cardinalDirection
+ * @param {Boolean} useAbbr return direction abbreviation. defaults to false
*/
- this.cardinalDirection = function () {
+ this.cardinalDirection = function (useAbbr) {
+ if (typeof useAbbr === 'undefined' || useAbbr === false) {
+ return (
+ faker.random.arrayElement(faker.definitions.address.direction.slice(0, 4))
+ );
+ }
return (
- faker.random.arrayElement(faker.definitions.address.direction.slice(0, 4))
+ faker.random.arrayElement(faker.definitions.address.direction_abbr.slice(0, 4))
);
}
this.cardinalDirection.schema = {
- "description": "Generates a cardinal direction.",
- "sampleResults": ["N", "S", "E", "W"]
+ "description": "Generates a cardinal direction. Use optional useAbbr boolean to return abbrevation",
+ "sampleResults": ["North", "South", "E", "W"]
};
/**
* ordinal direction
*
* @method faker.address.ordinalDirection
+ * @param {Boolean} useAbbr return direction abbreviation. defaults to false
*/
- this.ordinalDirection = function () {
+ this.ordinalDirection = function (useAbbr) {
+ if (typeof useAbbr === 'undefined' || useAbbr === false) {
+ return (
+ faker.random.arrayElement(faker.definitions.address.direction.slice(4, 8))
+ );
+ }
return (
- faker.random.arrayElement(faker.definitions.address.direction.slice(4, 8))
+ faker.random.arrayElement(faker.definitions.address.direction_abbr.slice(4, 8))
);
}
this.ordinalDirection.schema = {
- "description": "Generates an ordinal direction.",
- "sampleResults": ["NW", "SE", "SW", "NE"]
+ "description": "Generates an ordinal direction. Use optional useAbbr boolean to return abbrevation",
+ "sampleResults": ["Northwest", "Southeast", "SW", "NE"]
};
return this;
diff --git a/lib/index.js b/lib/index.js
index 08f45b78..cd1a6cda 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -101,7 +101,7 @@ function Faker (opts) {
var _definitions = {
"name": ["first_name", "last_name", "prefix", "suffix", "gender", "title", "male_first_name", "female_first_name", "male_middle_name", "female_middle_name", "male_last_name", "female_last_name"],
- "address": ["city_prefix", "city_suffix", "street_suffix", "county", "country", "country_code", "state", "state_abbr", "street_prefix", "postcode", "direction"],
+ "address": ["city_prefix", "city_suffix", "street_suffix", "county", "country", "country_code", "state", "state_abbr", "street_prefix", "postcode", "direction", "direction_abbr"],
"company": ["adjective", "noun", "descriptor", "bs_adjective", "bs_noun", "bs_verb", "suffix"],
"lorem": ["words"],
"hacker": ["abbreviation", "adjective", "noun", "verb", "ingverb", "phrase"],
diff --git a/lib/locales/en/address/direction.js b/lib/locales/en/address/direction.js
index 775ab0ca..3d7ff312 100644
--- a/lib/locales/en/address/direction.js
+++ b/lib/locales/en/address/direction.js
@@ -1,10 +1,10 @@
module["exports"] = [
- "N",
- "E",
- "S",
- "W",
- "NE",
- "NW",
- "SE",
- "SW"
+ "North",
+ "East",
+ "South",
+ "West",
+ "Northeast",
+ "Northwest",
+ "Southeast",
+ "Southwest"
];
diff --git a/lib/locales/en/address/direction_abbr.js b/lib/locales/en/address/direction_abbr.js
new file mode 100644
index 00000000..775ab0ca
--- /dev/null
+++ b/lib/locales/en/address/direction_abbr.js
@@ -0,0 +1,10 @@
+module["exports"] = [
+ "N",
+ "E",
+ "S",
+ "W",
+ "NE",
+ "NW",
+ "SE",
+ "SW"
+];
diff --git a/lib/locales/en/address/index.js b/lib/locales/en/address/index.js
index 3a127b4d..05b869c5 100644
--- a/lib/locales/en/address/index.js
+++ b/lib/locales/en/address/index.js
@@ -18,3 +18,4 @@ address.street_name = require("./street_name");
address.street_address = require("./street_address");
address.default_country = require("./default_country");
address.direction = require("./direction");
+address.direction_abbr = require("./direction_abbr");