UNPKG

@viewdo/dxp-story-cli

Version:
42 lines (36 loc) 1.35 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 InputsFolder { 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(inputs = [], inputs_path) { const { index_js_writer, settings_writer, camelCase } = this; const input_import_variables = inputs.map((input, index) => { const { id: input_id = `input-${index}` } = input; const variable = camelCase(input_id); return { data: input, file_path: `./${input_id}`, variable } }); settings_writer.write(input_import_variables, inputs_path); index_js_writer.write(inputs_path); } } module.exports = InputsFolder;