UNPKG

@viewdo/dxp-story-cli

Version:
42 lines (36 loc) 1.33 kB
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;