1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _regenerator = require('babel-runtime/regenerator');
|
8 |
|
9 | var _regenerator2 = _interopRequireDefault(_regenerator);
|
10 |
|
11 | var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
12 |
|
13 | var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
14 |
|
15 | var _fsExtra = require('fs-extra');
|
16 |
|
17 | var _fsExtra2 = _interopRequireDefault(_fsExtra);
|
18 |
|
19 | var _os = require('os');
|
20 |
|
21 | var _os2 = _interopRequireDefault(_os);
|
22 |
|
23 | var _ejs = require('ejs');
|
24 |
|
25 | var _ejs2 = _interopRequireDefault(_ejs);
|
26 |
|
27 | var _readline = require('readline');
|
28 |
|
29 | var _readline2 = _interopRequireDefault(_readline);
|
30 |
|
31 | var _colors = require('colors');
|
32 |
|
33 | var _colors2 = _interopRequireDefault(_colors);
|
34 |
|
35 | var _tools = require('./../utils/tools');
|
36 |
|
37 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
38 |
|
39 |
|
40 |
|
41 |
|
42 |
|
43 |
|
44 |
|
45 |
|
46 |
|
47 |
|
48 |
|
49 | exports.default = function () {
|
50 | var _ref = (0, _asyncToGenerator3.default)( _regenerator2.default.mark(function _callee2(pageNames) {
|
51 | var _loop, i, len, pageName;
|
52 |
|
53 | return _regenerator2.default.wrap(function _callee2$(_context3) {
|
54 | while (1) {
|
55 | switch (_context3.prev = _context3.next) {
|
56 | case 0:
|
57 | _loop = _regenerator2.default.mark(function _loop(i, len) {
|
58 | var lowerPageName, apiFile, apiTemplateFile, apiTemplateFileData, importApiStr, apiIndexFile, apiIndexCopyTemplateFile, apiIndexReadStream, apiIndexCopyWriteStream, apiFileReadline, index;
|
59 | return _regenerator2.default.wrap(function _loop$(_context2) {
|
60 | while (1) {
|
61 | switch (_context2.prev = _context2.next) {
|
62 | case 0:
|
63 | pageName = pageNames[i];
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
|
69 | lowerPageName = (0, _tools.firstLowerCase)(pageName);
|
70 | apiFile = _tools.API_PATH + '/' + lowerPageName + '.js';
|
71 | apiTemplateFile = _tools.CLIENT_PATH + '/template/api.js';
|
72 |
|
73 |
|
74 |
|
75 | _context2.next = 6;
|
76 | return _fsExtra2.default.readFile(apiTemplateFile);
|
77 |
|
78 | case 6:
|
79 | apiTemplateFileData = _context2.sent;
|
80 |
|
81 |
|
82 | _fsExtra2.default.writeFileSync(apiFile, _ejs2.default.render(apiTemplateFileData.toString(), {
|
83 | lowerPageName: lowerPageName
|
84 | }));
|
85 |
|
86 |
|
87 |
|
88 |
|
89 | importApiStr = 'import ' + lowerPageName + ' from \'./' + lowerPageName + '\'';
|
90 | apiIndexFile = _tools.API_PATH + '/index.js';
|
91 | apiIndexCopyTemplateFile = _tools.CLIENT_PATH + '/template/api-index-copy.js';
|
92 |
|
93 |
|
94 |
|
95 | _fsExtra2.default.writeFileSync(apiIndexCopyTemplateFile);
|
96 |
|
97 |
|
98 | apiIndexReadStream = _fsExtra2.default.createReadStream(apiIndexFile);
|
99 |
|
100 |
|
101 |
|
102 | apiIndexCopyWriteStream = _fsExtra2.default.createWriteStream(apiIndexCopyTemplateFile);
|
103 |
|
104 |
|
105 |
|
106 |
|
107 | apiFileReadline = _readline2.default.createInterface({
|
108 | input: apiIndexReadStream
|
109 | });
|
110 | index = 0;
|
111 | _context2.next = 18;
|
112 | return apiFileReadline.on('line', function () {
|
113 | var _ref2 = (0, _asyncToGenerator3.default)( _regenerator2.default.mark(function _callee(line) {
|
114 | var beforeStr, insertStr;
|
115 | return _regenerator2.default.wrap(function _callee$(_context) {
|
116 | while (1) {
|
117 | switch (_context.prev = _context.next) {
|
118 | case 0:
|
119 | beforeStr = '';
|
120 |
|
121 | if (index == 0) {
|
122 | index++;
|
123 | } else {
|
124 | beforeStr = _os2.default.EOL;
|
125 | }
|
126 | insertStr = '';
|
127 |
|
128 | if (line.indexOf('export default') > -1) {
|
129 | insertStr = beforeStr + importApiStr + _os2.default.EOL + line + _os2.default.EOL + ' ' + lowerPageName + ',';
|
130 | } else {
|
131 | insertStr = beforeStr + line;
|
132 | }
|
133 | _context.next = 6;
|
134 | return apiIndexCopyWriteStream.write(insertStr);
|
135 |
|
136 | case 6:
|
137 | case 'end':
|
138 | return _context.stop();
|
139 | }
|
140 | }
|
141 | }, _callee, undefined);
|
142 | }));
|
143 |
|
144 | return function (_x2) {
|
145 | return _ref2.apply(this, arguments);
|
146 | };
|
147 | }());
|
148 |
|
149 | case 18:
|
150 | _context2.next = 20;
|
151 | return _fsExtra2.default.copy(apiIndexCopyTemplateFile, apiIndexFile);
|
152 |
|
153 | case 20:
|
154 | _context2.next = 22;
|
155 | return _fsExtra2.default.unlink(apiIndexCopyTemplateFile);
|
156 |
|
157 | case 22:
|
158 |
|
159 | console.log(_colors2.default.magenta('visit api file :' + apiFile));
|
160 |
|
161 | case 23:
|
162 | case 'end':
|
163 | return _context2.stop();
|
164 | }
|
165 | }
|
166 | }, _loop, undefined);
|
167 | });
|
168 | i = 0, len = pageNames.length;
|
169 |
|
170 | case 2:
|
171 | if (!(i < len)) {
|
172 | _context3.next = 7;
|
173 | break;
|
174 | }
|
175 |
|
176 | return _context3.delegateYield(_loop(i, len), 't0', 4);
|
177 |
|
178 | case 4:
|
179 | i++;
|
180 | _context3.next = 2;
|
181 | break;
|
182 |
|
183 | case 7:
|
184 | case 'end':
|
185 | return _context3.stop();
|
186 | }
|
187 | }
|
188 | }, _callee2, undefined);
|
189 | }));
|
190 |
|
191 | return function (_x) {
|
192 | return _ref.apply(this, arguments);
|
193 | };
|
194 | }();
|
195 |
|
196 | module.exports = exports['default']; |
\ | No newline at end of file |