@shipengine/connect-carrier-api
Version:
This is the typescript/javascript definitions for carrier api
27 lines • 1.49 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineDocuments = exports.getCustoms = void 0;
const connect_runtime_1 = require("@shipengine/connect-runtime");
const getCustoms = async (carrierName, request) => {
const requestWithCarrierName = Object.assign({ document_dpi: connect_runtime_1.DocumentDpi.Dpi_203 }, request, { carrier_name: carrierName, metadata: { carrier_code: 'customs' } });
return await (0, connect_runtime_1.getDocuments)(requestWithCarrierName, { api_code: 'customs' });
};
exports.getCustoms = getCustoms;
const combineDocuments = (labelsResponse, customsResponse) => {
if (customsResponse?.documents) {
//concat documents
labelsResponse.documents = labelsResponse?.documents?.concat(customsResponse?.documents);
const mergeByTrackingNumber = (labelPackages, customsPackages) => labelPackages.map((labels) => {
const customs = customsPackages.find((customs) => labels.tracking_number === customs.tracking_number);
if (customs?.documents) {
labels.documents = labels.documents?.concat(customs.documents);
}
return labels;
});
if (labelsResponse.packages && customsResponse.packages)
labelsResponse.packages = mergeByTrackingNumber(labelsResponse.packages, customsResponse.packages);
}
return labelsResponse;
};
exports.combineDocuments = combineDocuments;
//# sourceMappingURL=customs.js.map