test-openapi
Version:
Automated client requests
73 lines (47 loc) • 1.32 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.getAddedProps=void 0;var _lodash=require("lodash");
const getAddedProps=function({
task,
plugin:{name,config:{task:taskConfig}={}}})
{
const taskValue=task[name];
if(taskConfig===undefined){
return taskValue;
}
if(!isObjectType({taskConfig})){
return;
}
const taskValueA=(0,_lodash.omitBy)(taskValue,(value,key)=>
shouldSkipProp({value,key,taskConfig}));
if(Object.keys(taskValueA).length===0){
return;
}
return taskValueA;
};exports.getAddedProps=getAddedProps;
const isObjectType=function({taskConfig,taskConfig:{type}}){
return(
type==="object"||
OBJECT_PROPS.some(prop=>taskConfig[prop]!==undefined));
};
const OBJECT_PROPS=[
"properties",
"patternProperties",
"additionalProperties",
"minProperties",
"maxProperties",
"required",
"dependencies",
"propertyNames"];
const shouldSkipProp=function({value,key,taskConfig}){
return value===undefined||isConfigProp({key,taskConfig});
};
const isConfigProp=function({
key,
taskConfig:{additionalProperties,properties={},patternProperties={}}})
{
return(
additionalProperties!==undefined&&additionalProperties!==false||
properties[key]!==undefined||
Object.keys(patternProperties).some((pattern)=>
new RegExp(pattern,"u").test(key)));
};
//# sourceMappingURL=added.js.map