@viewdo/dxp-story-cli
Version:
README.md
42 lines (36 loc) • 1.35 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 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;