UNPKG

open-api-mocker

Version:

A mock server based in Open API Specification

38 lines (25 loc) 762 B
'use strict'; const SecurityRequirement = require('./security-requirement'); const SecurityRequirementsStruct = require('./structs'); const enhanceStructValidationError = require('../utils/enhance-struct-validation-error'); class Parser { parse(schema) { const { security } = schema; this.validateSecurityRequirements(security); if(!security || !security.length) return []; return security .map(this.parseSecurityRequirement.bind(this)); } validateSecurityRequirements(security) { try { return SecurityRequirementsStruct(security); } catch(e) { throw enhanceStructValidationError(e, 'security'); } } parseSecurityRequirement(requirements) { return new SecurityRequirement(requirements); } } module.exports = Parser;