UNPKG

test-openapi

Version:
63 lines (38 loc) 1.55 kB
"use strict";require("core-js/modules/es.string.replace");Object.defineProperty(exports,"__esModule",{value:true});exports.validateScopes=exports.addKey=exports.getScope=exports.addScopes=void 0;var _path=require("path"); var _lodash=require("lodash"); var _error=require("../errors/error.js"); const addScopes=function({tasks,path}){ const scope=getScope(path); const tasksA=tasks.map(task=>({...task,scope})); return tasksA; };exports.addScopes=addScopes; const getScope=function(path){ const filename=(0,_path.basename)(path); const scope=filename.replace(/\.[\0-\t\x0B\f\x0E-\u2027\u202A-\u{10FFFF}]*/u,""); return scope; };exports.getScope=getScope; const addKey=function({scope,name,...task}){ const taskA=(0,_lodash.omit)(task,"key"); if(scope===undefined){ return{key:name,name,...taskA}; } const key=`${scope}/${name}`; return{key,scope,name,...task}; };exports.addKey=addKey; const validateScopes=function({paths}){ const scopes=paths.map(getScope); scopes.forEach((scope,index)=> validateScope({scope,index,scopes,paths})); };exports.validateScopes=validateScopes; const validateScope=function({scope,index,scopes,paths}){ const scopesA=scopes.slice(index+1); const duplicateScopeIndex=scopesA.indexOf(scope); if(duplicateScopeIndex===-1){ return; } const path=paths[index]; const duplicatePath=paths[duplicateScopeIndex+index+1]; throw new _error.TestOpenApiError( `Each task file name must be unique, but the two following files are not: '${path}' and '${duplicatePath}'`); }; //# sourceMappingURL=scope.js.map