UNPKG

1.2 kBJavaScriptView Raw
1var helpers = require('./helpers'),
2 exists = require('fs').existsSync;
3
4var safe_require = function(filename) {
5 if (exists(filename + '.js')) {
6 return require(filename);
7 }
8 return {};
9};
10
11var 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// Default locale is en_US
70module.exports = build_casual().en_US;