All files / lib files.ts

76.47% Statements 13/17
50% Branches 2/4
75% Functions 3/4
76.47% Lines 13/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 472x               2x                   2x 2x 2x 1x             2x 1x 1x             2x         1x 1x 1x    
import fs from 'fs-extra';
import { Templates } from './registerTemplates';
import { Permission } from './enum';
 
 
/**
 * @description if folder is exist, remove and mkdir a new folder
 */
export async function checkFolder(folder: string) {
  const isExists = await fs.pathExistsSync(folder);
  if (isExists) {
    await fs.removeSync(folder);
  }
  await fs.mkdirsSync(folder);
}
/**
 * @description if folder is exist, if noexist mkdir a new folder
 */
export async function checkFolderWithoutRemove(folder: string) {
  const isExists = await fs.pathExistsSync(folder);
  if (!isExists) {
    await fs.mkdirsSync(folder);
  }
}
 
/**
 * @description write enums files
 */
export async function writeEnums(folder, enums, templates) {
  const enumsData = templates.enums({ enums });
  await fs.writeFileSync(folder + '/enum.ts', enumsData);
}
 
 
/**
 * @description write permissions
 */
export async function writePermissions(
  permissions: Permission[],
  outputPath: string,
  templates: Templates
): Promise<void> {
  const permissionTemplate = templates.permission({ permissions });
  const fileName = outputPath + '/permissions.ts';
  await fs.writeFileSync(fileName, permissionTemplate);
}