test-openapi
Version:
Automated client requests
65 lines (48 loc) • 1.5 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.filterTaskData=void 0;var _lodash=require("lodash");
var _types=require("../../../utils/types.js");
const filterTaskData=function({
task:{originalTask,...task},
options:{
level:{taskData}},
plugins})
{
return plugins.reduce(
(taskA,{name})=>
reduceTaskData({task:taskA,originalTask,name,taskData}),
task);
};exports.filterTaskData=filterTaskData;
const reduceTaskData=function({task,originalTask,name,taskData}){
if(task[name]===undefined){
return task;
}
return TASK_DATA[taskData]({task,originalTask,name});
};
const keepNone=function({task,name}){
return(0,_lodash.omit)(task,name);
};
const keepAdded=function({task,originalTask,name}){
if(originalTask[name]===undefined){
return task;
}
if(!areObjects({task,originalTask,name})){
return(0,_lodash.omit)(task,name);
}
const taskValue=removeOriginalTaskKeys({task,originalTask,name});
if(Object.keys(taskValue).length===0){
return(0,_lodash.omit)(task,name);
}
return{...task,[name]:taskValue};
};
const areObjects=function({task,originalTask,name}){
return(0,_types.isObject)(originalTask[name])&&(0,_types.isObject)(task[name]);
};
const removeOriginalTaskKeys=function({task,originalTask,name}){
const originalTaskKeys=Object.keys(originalTask[name]);
const taskValue=(0,_lodash.omit)(task[name],originalTaskKeys);
return taskValue;
};
const TASK_DATA={
all:({task})=>task,
none:keepNone,
added:keepAdded};
//# sourceMappingURL=task_data.js.map