mirage-openapi
Version:
Mock OpenAPI responses in ember-cli-mirage
46 lines (30 loc) • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
var _entries = require('babel-runtime/core-js/object/entries');
var _entries2 = _interopRequireDefault(_entries);
exports.default = generateRouteHandlers;
var _generateRouteHandler = require('./generate-route-handler');
var _generateRouteHandler2 = _interopRequireDefault(_generateRouteHandler);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function accumulateHandlers(handlers, operation) {
var path = operation.pathObject.path.replace(/{(.*?)}/g, ':$1');
if (!handlers[path]) {
handlers[path] = {};
}
handlers[path][operation.method] = (0, _generateRouteHandler2.default)(operation);
return handlers;
} /* eslint-disable no-param-reassign */
function generateRouteHandlers(_ref) {
var api = _ref.api;
var handlers = api.getOperations().reduce(accumulateHandlers, {});
return (0, _entries2.default)(handlers).map(function (_ref2) {
var _ref3 = (0, _slicedToArray3.default)(_ref2, 2),
path = _ref3[0],
handler = _ref3[1];
return { path: path, handler: handler };
});
}