UNPKG

@faceteer/cdk

Version:

CDK 2.0 constructs and helpers that make composing a Lambda powered service easier.

22 lines (21 loc) 907 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validatePathParameters = exports.getParametersFromRoute = void 0; const regex = /\{[a-zA-Z_$0-9+]+\}/g; const getParametersFromRoute = (route) => { const matched = route.match(regex); if (!matched) return []; const params = matched.map((param) => param.substring(1, param.length - 1).replace('+', '')); return params; }; exports.getParametersFromRoute = getParametersFromRoute; const validatePathParameters = (route, parameters) => { const routeParameters = (0, exports.getParametersFromRoute)(route); routeParameters.sort(); parameters.sort(); if (JSON.stringify(routeParameters) !== JSON.stringify(parameters)) { throw new Error(`The Api route ${route} does not have properly configured path parameters`); } }; exports.validatePathParameters = validatePathParameters;