All files / src/context/yaml/handlers roles.ts

84.61% Statements 11/13
66.66% Branches 4/6
100% Functions 3/3
90.9% Lines 10/11

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              41x   41x   1x           5x   5x   5x   6x       6x         1x         1x  
import { YAMLHandler } from '.';
import YAMLContext from '..';
import { Asset, ParsedAsset } from '../../../types';
 
type ParsedRoles = ParsedAsset<'roles', Asset[]>;
 
async function parse(context: YAMLContext): Promise<ParsedRoles> {
  const { roles } = context.assets;
 
  if (!roles) return { roles: null };
 
  return {
    roles,
  };
}
 
async function dump(context: YAMLContext): Promise<ParsedRoles> {
  const { roles } = context.assets;
 
  Iif (!roles) return { roles: null };
 
  return {
    roles: roles.map((role) => {
      Iif (role.description === null) {
        delete role.description;
      }
 
      return role;
    }),
  };
}
 
const rolesHandler: YAMLHandler<ParsedRoles> = {
  parse,
  dump,
};
 
export default rolesHandler;