1 | var helpers = require('./helpers'),
|
2 | exists = require('fs').existsSync;
|
3 |
|
4 | var safe_require = function(filename) {
|
5 | if (exists(filename + '.js')) {
|
6 | return require(filename);
|
7 | }
|
8 | return {};
|
9 | };
|
10 |
|
11 | var build_casual = function() {
|
12 | var casual = helpers.extend({}, helpers);
|
13 |
|
14 | casual.functions = function() {
|
15 | var adapter = {};
|
16 |
|
17 | Object.keys(this).forEach(function(name) {
|
18 | if (name[0] === '_') {
|
19 | adapter[name.slice(1)] = casual[name];
|
20 | }
|
21 | });
|
22 |
|
23 | return adapter;
|
24 | };
|
25 |
|
26 | var providers = [
|
27 | 'address',
|
28 | 'text',
|
29 | 'internet',
|
30 | 'person',
|
31 | 'number',
|
32 | 'date',
|
33 | 'payment',
|
34 | 'misc',
|
35 | 'color'
|
36 | ];
|
37 |
|
38 | casual.register_locale = function(locale) {
|
39 | casual.define(locale, function() {
|
40 | var casual = build_casual();
|
41 |
|
42 | providers.forEach(function(provider) {
|
43 | casual.register_provider(helpers.extend(
|
44 | require('./providers/' + provider),
|
45 | safe_require(__dirname + '/providers/' + locale + '/' + provider)
|
46 | ));
|
47 | });
|
48 |
|
49 | return casual;
|
50 | });
|
51 | }
|
52 |
|
53 | var locales = [
|
54 | 'en_US',
|
55 | 'ru_RU',
|
56 | 'uk_UA',
|
57 | 'nl_NL',
|
58 | 'en_CA',
|
59 | 'it_CH',
|
60 | 'de_DE',
|
61 | 'ar_SY'
|
62 | ];
|
63 |
|
64 | locales.forEach(casual.register_locale);
|
65 |
|
66 | return casual;
|
67 | };
|
68 |
|
69 |
|
70 | module.exports = build_casual().en_US;
|