%PDF- %PDF-
Direktori : /home/opti/workflow/node_modules/faker/lib/ |
Current File : /home/opti/workflow/node_modules/faker/lib/address.js |
/** * * @namespace faker.address */ function Address (faker) { var f = faker.fake, Helpers = faker.helpers; /** * Generates random zipcode from format. If format is not specified, the * locale's zip format is used. * * @method faker.address.zipCode * @param {String} format */ this.zipCode = function(format) { // if zip format is not specified, use the zip format defined for the locale if (typeof format === 'undefined') { var localeFormat = faker.definitions.address.postcode; if (typeof localeFormat === 'string') { format = localeFormat; } else { format = faker.random.arrayElement(localeFormat); } } return Helpers.replaceSymbols(format); } /** * Generates a random localized city name. The format string can contain any * method provided by faker wrapped in `{{}}`, e.g. `{{name.firstName}}` in * order to build the city name. * * If no format string is provided one of the following is randomly used: * * * `{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}` * * `{{address.cityPrefix}} {{name.firstName}}` * * `{{name.firstName}}{{address.citySuffix}}` * * `{{name.lastName}}{{address.citySuffix}}` * * @method faker.address.city * @param {String} format */ this.city = function (format) { var formats = [ '{{address.cityPrefix}} {{name.firstName}}{{address.citySuffix}}', '{{address.cityPrefix}} {{name.firstName}}', '{{name.firstName}}{{address.citySuffix}}', '{{name.lastName}}{{address.citySuffix}}' ]; if (typeof format !== "number") { format = faker.random.number(formats.length - 1); } return f(formats[format]); } /** * Return a random localized city prefix * @method faker.address.cityPrefix */ this.cityPrefix = function () { return faker.random.arrayElement(faker.definitions.address.city_prefix); } /** * Return a random localized city suffix * * @method faker.address.citySuffix */ this.citySuffix = function () { return faker.random.arrayElement(faker.definitions.address.city_suffix); } /** * Returns a random localized street name * * @method faker.address.streetName */ this.streetName = function () { var result; var suffix = faker.address.streetSuffix(); if (suffix !== "") { suffix = " " + suffix } switch (faker.random.number(1)) { case 0: result = faker.name.lastName() + suffix; break; case 1: result = faker.name.firstName() + suffix; break; } return result; } // // TODO: change all these methods that accept a boolean to instead accept an options hash. // /** * Returns a random localized street address * * @method faker.address.streetAddress * @param {Boolean} useFullAddress */ this.streetAddress = function (useFullAddress) { if (useFullAddress === undefined) { useFullAddress = false; } var address = ""; switch (faker.random.number(2)) { case 0: address = Helpers.replaceSymbolWithNumber("#####") + " " + faker.address.streetName(); break; case 1: address = Helpers.replaceSymbolWithNumber("####") + " " + faker.address.streetName(); break; case 2: address = Helpers.replaceSymbolWithNumber("###") + " " + faker.address.streetName(); break; } return useFullAddress ? (address + " " + faker.address.secondaryAddress()) : address; } /** * streetSuffix * * @method faker.address.streetSuffix */ this.streetSuffix = function () { return faker.random.arrayElement(faker.definitions.address.street_suffix); } /** * streetPrefix * * @method faker.address.streetPrefix */ this.streetPrefix = function () { return faker.random.arrayElement(faker.definitions.address.street_prefix); } /** * secondaryAddress * * @method faker.address.secondaryAddress */ this.secondaryAddress = function () { return Helpers.replaceSymbolWithNumber(faker.random.arrayElement( [ 'Apt. ###', 'Suite ###' ] )); } /** * county * * @method faker.address.county */ this.county = function () { return faker.random.arrayElement(faker.definitions.address.county); } /** * country * * @method faker.address.country */ this.country = function () { return faker.random.arrayElement(faker.definitions.address.country); } /** * countryCode * * @method faker.address.countryCode */ this.countryCode = function () { return faker.random.arrayElement(faker.definitions.address.country_code); } /** * state * * @method faker.address.state * @param {Boolean} useAbbr */ this.state = function (useAbbr) { return faker.random.arrayElement(faker.definitions.address.state); } /** * stateAbbr * * @method faker.address.stateAbbr */ this.stateAbbr = function () { return faker.random.arrayElement(faker.definitions.address.state_abbr); } /** * latitude * * @method faker.address.latitude */ this.latitude = function () { return (faker.random.number(180 * 10000) / 10000.0 - 90.0).toFixed(4); } /** * longitude * * @method faker.address.longitude */ this.longitude = function () { return (faker.random.number(360 * 10000) / 10000.0 - 180.0).toFixed(4); } return this; } module.exports = Address;