UNPKG

test-openapi

Version:
101 lines (61 loc) 2.33 kB
"use strict";require("core-js/modules/es.array.iterator");Object.defineProperty(exports,"__esModule",{value:true});exports.getReportProps=void 0;var _lodash=require("lodash"); var _merge=require("../../../utils/merge.js"); var _types=require("../../../utils/types.js"); var _core=require("./core.js"); const getReportProps=function({task,context}){ const{titles,reportProps}=callReportFuncs({task,context}); const reportPropsA=(0,_core.addCoreReportProps)({reportProps,task}); const reportPropsB=reportPropsA.map(removeEmptyProps); const reportPropsC=(0,_merge.merge)(...reportPropsB); return{titles,reportProps:reportPropsC}; };exports.getReportProps=getReportProps; const callReportFuncs=function({ task, context, context:{_plugins:plugins}}) { const reportResult=plugins.map((plugin)=> callReportFunc({plugin,context,task})); const titles=reportResult.map(({title})=>title).filter(isDefinedTitle); const reportProps=reportResult.map(props=>(0,_lodash.omit)(props,"title")); return{titles,reportProps}; }; const callReportFunc=function({plugin:{report,name},context,task}){ const taskValue=task[name]; if(report===undefined){ return{[name]:taskValue}; } const reportValue=getReportValue({report,context,taskValue}); if(!(0,_types.isObject)(reportValue)){ return{[name]:reportValue}; } const{title,reportProps}=mergeReportValue({reportValue,taskValue}); if(hasNoReportProps({reportProps,taskValue})){ return{title}; } return{title,[name]:reportProps}; }; const getReportValue=function({report,context,taskValue}){ const contextA=(0,_lodash.omit)(context,OMITTED_CONTEXT_PROPS); const reportValue=report(taskValue,contextA); return reportValue; }; const OMITTED_CONTEXT_PROPS=["options","silent"]; const mergeReportValue=function({ reportValue:{title,...reportProps}, taskValue}) { const reportPropsA={...reportProps,...taskValue,...reportProps}; const reportPropsB=removeEmptyProps(reportPropsA); return{title,reportProps:reportPropsB}; }; const hasNoReportProps=function({reportProps,taskValue}){ return Object.keys(reportProps).length===0&&taskValue===undefined; }; const isDefinedTitle=function(title){ return title!==undefined&&title.trim()!==""; }; const removeEmptyProps=function(object){ return(0,_lodash.omitBy)(object,value=>value===undefined); }; //# sourceMappingURL=main.js.map