@shipengine/connect
Version:
The official developer tooling for building ShipEngine connect apps
26 lines • 1.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createCarrierApiRoutes = void 0;
const connect_carrier_api_1 = require("@shipengine/connect-carrier-api");
const connect_carrier_api_2 = require("@shipengine/connect-carrier-api");
const create_get_rates_handler_1 = require("./native-rating/create-get-rates-handler");
const connect_runtime_1 = require("@shipengine/connect-runtime");
const createCarrierApiRoutes = (appDefinition) => {
const buildValidators = (0, connect_runtime_1.getValidators)(connect_carrier_api_1.OpenApiSpecification);
return (0, connect_carrier_api_2.createEndpointMapping)(appDefinition)
.map(([method, path, implementation]) => {
const newImplementation = path === connect_carrier_api_2.ApiEndpoints.GetRates ? (0, create_get_rates_handler_1.createGetRatesHandler)(appDefinition) : implementation;
return [method, path, newImplementation];
})
.filter(([, , impl]) => !!impl)
.map(([method, path, implementation]) => {
return {
method,
path,
handler: implementation,
...buildValidators(path, method),
};
});
};
exports.createCarrierApiRoutes = createCarrierApiRoutes;
//# sourceMappingURL=carrier-api-app.js.map