@viewdo/dxp-story-cli
Version:
README.md
42 lines (36 loc) • 1.33 kB
JavaScript
const path = require('path');
const fs = require('fs');
const TemplateWriter = require('../../_utilities/template-writer');
const camelCase = require('lodash/camelCase');
const isEmpty = require('lodash/isEmpty');
const { common: common_file_names } = require('../../_utilities/file-names');
const IndexJsWriter = require('../../common/index.js.js');
const SettingsJsWriter = require('../../common/_settings.js.js');
class LinksFolder {
constructor(_console = console) {
Object.assign(this, {
path,
fs,
common_file_names,
camelCase,
isEmpty,
index_js_writer: new IndexJsWriter(_console),
settings_writer: new SettingsJsWriter(__dirname, _console)
});
}
create(links, links_path) {
const { index_js_writer, settings_writer, camelCase } = this;
const link_import_variables = links.map((link, index) => {
const { id: link_id = `link-${index}` } = link;
const variable = camelCase(link_id);
return {
data: link,
file_path: `./${link_id}`,
variable
}
});
settings_writer.write(link_import_variables, links_path);
index_js_writer.write(links_path);
}
}
module.exports = LinksFolder;