@boykaframework/boyka-cli
Version:
🧑🏻💻 Command line assistant for Boyka Framework
60 lines (59 loc) • 2.04 kB
JavaScript
import { updateMobile } from '../../update/mobile.js';
import { defaultUiSetting, defaultNewMobileSetting, defaultDelaySetting, defaultFrameworkSetting, } from '../../../types/default-type-values.js';
import { createConfigFile, loadJSON } from '../../../utils/json.js';
import { configBlockExists, createConfigMessages, executeTask } from '../../../utils/constants.js';
import { BoykaError } from '../../../utils/boyka-error.js';
import { getMobileInputs } from '../../user-inputs.js';
export const createMobileSetting = (inputs) => {
const frameworkSetting = {
...defaultFrameworkSetting,
ui: {
delay: {
...defaultDelaySetting,
},
...defaultUiSetting,
mobile: {
...defaultNewMobileSetting(inputs.config_name),
},
},
};
const mobile = frameworkSetting.ui?.mobile;
if (mobile) {
updateMobile(inputs, mobile[inputs.config_name]);
}
return frameworkSetting;
};
export const handleAddMobileConfig = async (argv, platformType) => {
const name = argv.name;
const path = argv.path;
const configPath = path === '.' ? process.cwd() : path;
const inputs = {
platform: 'ui',
sub_platform: platformType,
};
await getMobileInputs(inputs);
const settings = loadJSON(configPath);
let uiSetting = settings.ui;
let mobileSetting;
if (uiSetting) {
mobileSetting = uiSetting.mobile;
if (mobileSetting?.[name]) {
throw new BoykaError(configBlockExists('Mobile', name));
}
}
else {
uiSetting = {
...defaultUiSetting,
};
}
const newMobileSetting = defaultNewMobileSetting(name);
updateMobile(inputs, newMobileSetting[name]);
settings.ui = {
...uiSetting,
mobile: {
...mobileSetting,
...newMobileSetting,
},
};
await executeTask(createConfigFile(configPath, settings), createConfigMessages(configPath, 'updated'));
};