diff options
| author | Tyler <[email protected]> | 2017-10-22 11:27:30 -0700 |
|---|---|---|
| committer | Tyler <[email protected]> | 2017-10-22 11:27:30 -0700 |
| commit | d92b012aefd60fdc919d03a147dc0f28ababf0cd (patch) | |
| tree | 17c39ebd80f9d3e412e9a63678724ac04d85d1d0 /lib | |
| parent | 07929b4c54ea386e5fab198b87b8a05493676c29 (diff) | |
| download | faker-d92b012aefd60fdc919d03a147dc0f28ababf0cd.tar.xz faker-d92b012aefd60fdc919d03a147dc0f28ababf0cd.zip | |
add direction abbr options with tests
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/address.js | 40 | ||||
| -rw-r--r-- | lib/index.js | 2 | ||||
| -rw-r--r-- | lib/locales/en/address/direction.js | 16 | ||||
| -rw-r--r-- | lib/locales/en/address/direction_abbr.js | 10 | ||||
| -rw-r--r-- | lib/locales/en/address/index.js | 1 |
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"); |
