1 | 'use strict';
|
2 |
|
3 | var utils = require('lazy-cache')(require);
|
4 | var fn = require;
|
5 | require = utils;
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | require('arr-flatten', 'flatten');
|
12 | require('array-unique', 'unique');
|
13 | require('define-property', 'define');
|
14 | require('extend-shallow', 'extend');
|
15 | require('fs-exists-sync', 'exists');
|
16 | require('falsey');
|
17 | require('has-glob');
|
18 | require('has-value');
|
19 | require('kind-of', 'typeOf');
|
20 | require('map-schema', 'Schema');
|
21 | require('mixin-deep', 'merge');
|
22 | require('resolve');
|
23 | require('tableize-object', 'tableize');
|
24 | require = fn;
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 | utils.arrayify = function(val) {
|
31 | if (utils.isString(val)) {
|
32 | val = val.split(',');
|
33 | }
|
34 | if (Array.isArray(val)) {
|
35 | return val.filter(Boolean);
|
36 | }
|
37 | return [];
|
38 | };
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 | utils.stripQuotes = function(str) {
|
45 | return str.replace(/^['"]|['"]$/g, '');
|
46 | };
|
47 |
|
48 |
|
49 |
|
50 |
|
51 |
|
52 |
|
53 | utils.isEmpty = function(val) {
|
54 | if (typeof val === 'function') {
|
55 | return false;
|
56 | }
|
57 | return !utils.hasValue(val);
|
58 | };
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
|
64 | utils.isObject = function(val) {
|
65 | return utils.typeOf(val) === 'object';
|
66 | };
|
67 |
|
68 |
|
69 |
|
70 |
|
71 |
|
72 | utils.isString = function(val) {
|
73 | return val && typeof val === 'string';
|
74 | };
|
75 |
|
76 |
|
77 |
|
78 |
|
79 |
|
80 | utils.unify = function(arr) {
|
81 | return utils.flatten(utils.arrayify(arr));
|
82 | };
|
83 |
|
84 |
|
85 |
|
86 |
|
87 |
|
88 | utils.stringify = function(obj) {
|
89 | obj = utils.tableize(obj);
|
90 | var res = '';
|
91 | for (var prop in obj) {
|
92 | res += prop + '.' + obj[prop];
|
93 | }
|
94 | return res;
|
95 | };
|
96 |
|
97 |
|
98 |
|
99 |
|
100 |
|
101 | utils.invert = function invert(obj) {
|
102 | var res = {};
|
103 | for (var key in obj) res[obj[key]] = key;
|
104 | return res;
|
105 | };
|
106 |
|
107 |
|
108 |
|
109 |
|
110 |
|
111 |
|
112 |
|
113 | utils.fileKeys = [
|
114 | 'base', 'basename', 'cwd', 'dir',
|
115 | 'dirname', 'ext', 'extname', 'f',
|
116 | 'file', 'filename', 'path', 'root',
|
117 | 'stem'
|
118 | ];
|
119 |
|
120 |
|
121 |
|
122 |
|
123 |
|
124 |
|
125 | utils.whitelist = [
|
126 | 'ask',
|
127 | 'data',
|
128 | 'emit',
|
129 | 'force',
|
130 | 'init',
|
131 | 'layout',
|
132 | 'option',
|
133 | 'options',
|
134 | 'readme',
|
135 | 'set',
|
136 | 'toc',
|
137 | 'verbose'
|
138 | ].concat(utils.fileKeys);
|
139 |
|
140 |
|
141 |
|
142 |
|
143 |
|
144 |
|
145 | utils.aliases = {
|
146 | config: 'c',
|
147 | dirname: 'dir',
|
148 | extname: 'ext',
|
149 | file: 'f',
|
150 | filename: 'stem',
|
151 | global: 'g',
|
152 | save: 's',
|
153 | verbose: 'v',
|
154 | version: 'V'
|
155 | };
|
156 |
|
157 |
|
158 |
|
159 |
|
160 |
|
161 | module.exports = utils;
|
162 |
|