add frontend frame and service logic
This commit is contained in:
46
src/helpers.ts
Normal file
46
src/helpers.ts
Normal file
@ -0,0 +1,46 @@
|
||||
import fs from "fs";
|
||||
import {EndpointDef} from "./systemGenService";
|
||||
import path from "path";
|
||||
import {createServiceFunc} from "./views/service-creator";
|
||||
|
||||
function uppercaseFirstLetter(input: string) {
|
||||
return input.charAt(0).toUpperCase() + input.slice(1);
|
||||
}
|
||||
|
||||
function lowercaseFirstLetter(input: string) {
|
||||
return input.charAt(0).toLowerCase() + input.slice(1);
|
||||
}
|
||||
|
||||
function initializeComponentFile(sourceFile: string, destinationFile: string, component: string, outDir: string) {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
fs.rename(sourceFile, destinationFile, (err: any) => {
|
||||
let fileContents = fs.readFileSync(destinationFile, 'utf8');
|
||||
var uppercaseFirstLetterComponentName = uppercaseFirstLetter(component);
|
||||
var lowercaseFirstLetterComponentName = lowercaseFirstLetter(component);
|
||||
let newFileContents = fileContents.split('{{Component}}').join(uppercaseFirstLetterComponentName);
|
||||
newFileContents = newFileContents.split('{{component}}').join(lowercaseFirstLetterComponentName);
|
||||
fs.writeFileSync(destinationFile, newFileContents, 'utf8');
|
||||
resolve();
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
function insertServiceCode(view: EndpointDef, outDir: string): Promise<void> {
|
||||
return new Promise<void>((resolve) => {
|
||||
const separator: string = `// SYSTEM-BUILDER-${view.component}-service`;
|
||||
let fileLocation = path.join(process.cwd(), outDir, 'src', 'components', view.component, `${view.component}Service.ts`);
|
||||
let initServiceFile: string = fs.readFileSync(fileLocation, 'utf8');
|
||||
let parts = initServiceFile.split(separator);
|
||||
parts[0] = parts[0] + createServiceFunc(view);
|
||||
let newServiceFile = parts.join(separator);
|
||||
fs.writeFileSync(fileLocation, newServiceFile, 'utf8');
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
export {
|
||||
uppercaseFirstLetter,
|
||||
lowercaseFirstLetter,
|
||||
initializeComponentFile,
|
||||
insertServiceCode
|
||||
}
|
Reference in New Issue
Block a user