1 | var table = require('text-table'),
|
2 | realist = require('realist'),
|
3 | casual = require('../'),
|
4 | read = require('fs').readFileSync;
|
5 |
|
6 | var providers = [
|
7 | 'address',
|
8 | 'color',
|
9 | 'date',
|
10 | 'internet',
|
11 | 'misc',
|
12 | 'number',
|
13 | 'payment',
|
14 | 'person',
|
15 | 'text'
|
16 | ];
|
17 |
|
18 | var usage = function(app) {
|
19 | console.log(read(__dirname + '/usage.txt').toString());
|
20 | app.stop();
|
21 | };
|
22 |
|
23 | var render_table = function(provider_name) {
|
24 | provider = require('../src/providers/' + provider_name);
|
25 |
|
26 | var result = [];
|
27 | for (var generator in provider) {
|
28 | if (generator === 'seed') {
|
29 | continue;
|
30 | }
|
31 |
|
32 | if (typeof provider[generator] !== 'function') {
|
33 | continue;
|
34 | }
|
35 |
|
36 | result.push([
|
37 | generator,
|
38 | casual['_' + generator]()
|
39 | ]);
|
40 | };
|
41 |
|
42 | console.log('\nProvider:', provider_name, '\n');
|
43 | console.log(table(result));
|
44 | };
|
45 |
|
46 | var handler = function(opt, provider) {
|
47 | casual = casual[opt.locale || 'en_US'];
|
48 |
|
49 | if (!provider) {
|
50 | providers.forEach(render_table);
|
51 | } else if (providers.indexOf(provider) === -1) {
|
52 | usage();
|
53 | process.exit();
|
54 | } else {
|
55 | render_table(provider);
|
56 | }
|
57 | };
|
58 |
|
59 | var options = {
|
60 | locale: ['l', 'locale']
|
61 | };
|
62 |
|
63 | var events = {
|
64 | 'option help': usage
|
65 | };
|
66 |
|
67 | realist(handler, options, events);
|