UNPKG

1.19 kBJavaScriptView Raw
1/**
2 * apeman bud for guide files.
3 * @memberof module:apeman-bud-guide/lib
4 * @function setup
5 * @param {object} params - Template params.
6 * @returns {object} - Coz bud configuration.
7 */
8
9"use strict";
10
11const argx = require('argx'),
12 fs = require('fs'),
13 assert = require('assert'),
14 stringcase = require('stringcase'),
15 _tmpl = require('./_tmpl');
16
17/** @lends setup */
18function setup(params) {
19 let args = argx(arguments);
20 params = args.shift('object') || {};
21
22 let name = params.name,
23 pkg = params.pkg;
24
25 assert(name, 'params.name is required.');
26 assert(pkg, 'params.pkg is required.');
27
28
29 return [].concat(name).map((name, i) => {
30 let tmpl = _tmpl(name);
31 return {
32 force: false,
33 mode: '644',
34 path: `${_numPrefix(i)} - ${stringcase.spinalcase(name)}.md`,
35 tmpl: tmpl,
36 data: {
37 pkg: pkg,
38 name:name,
39 params: params
40 }
41 }
42 });
43}
44
45function _numPrefix(value) {
46 let prefix = String(value);
47 while (prefix.length < 2) {
48 prefix = '0' + prefix;
49 }
50 return prefix;
51}
52module.exports = setup;