aboutsummaryrefslogtreecommitdiff
path: root/lib/address.js
blob: cae5e449241b2d151d96f159e670d1b1bae8fc9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
var Helpers = require('./helpers');
var Faker = require('../index');
var definitions = require('../lib/definitions');

var address = {
    zipCode: function () {
        return Helpers.replaceSymbolWithNumber(Faker.random.array_element(["#####", '#####-####']));
    },

    zipCodeFormat: function (format) {
        return Helpers.replaceSymbolWithNumber(["#####", '#####-####'][format]);
    },

    city: function () {
        switch (Faker.random.number(4)) {
        case 0:
            return Faker.random.city_prefix() + " " + Faker.random.first_name() + Faker.random.city_suffix();
        case 1:
            return Faker.random.city_prefix() + " " + Faker.random.first_name();
        case 2:
            return Faker.random.first_name() + Faker.random.city_suffix();
        case 3:
            return Faker.random.last_name() + Faker.random.city_suffix();
        }
    },

    streetName: function () {
        switch (Faker.random.number(2)) {
        case 0:
            return Faker.random.last_name() + " " + Faker.random.street_suffix();
        case 1:
            return Faker.random.first_name() + " " + Faker.random.street_suffix();
        }
    },

    //
    // TODO: change all these methods that accept a boolean to instead accept an options hash.
    //
    streetAddress: function (useFullAddress) {
        if (useFullAddress === undefined) { useFullAddress = false; }
        var address = "";
        switch (Faker.random.number(3)) {
        case 0:
            address = Helpers.replaceSymbolWithNumber("#####") + " " + this.streetName();
            break;
        case 1:
            address = Helpers.replaceSymbolWithNumber("####") +  " " + this.streetName();
            break;
        case 2:
            address = Helpers.replaceSymbolWithNumber("###") + " " + this.streetName();
            break;
        }
        return useFullAddress ? (address + " " + this.secondaryAddress()) : address;
    },

    secondaryAddress: function () {
        return Helpers.replaceSymbolWithNumber(Faker.random.array_element(
            [
                'Apt. ###',
                'Suite ###'
            ]
        ));
    },

    brState: function (useAbbr) {
        return useAbbr ? Faker.random.br_state_abbr() : Faker.random.br_state();
    },

    ukCounty: function () {
        return Faker.random.uk_county();
    },

    ukCountry: function () {
        return Faker.random.uk_country();
    },

    usState: function (useAbbr) {
        return useAbbr ? Faker.random.us_state_abbr() : Faker.random.us_state();
    }
};

module.exports = address;