@shipengine/connect-loader
Version:
Internal library for loading ShipEngine Connect apps
32 lines • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.readDeliveryServiceArrayDefinition = exports.readDeliveryServiceDefinition = void 0;
const read_definition_1 = require("../read-definition");
const read_delivery_confirmation_definition_1 = require("./read-delivery-confirmation-definition");
const read_packaging_definition_1 = require("./read-packaging-definition");
/**
* Reads a delivery service definition
*/
async function readDeliveryServiceDefinition(definition, cwd, fieldName) {
[definition, cwd] = await read_definition_1.readDefinition(definition, cwd, fieldName);
return {
...definition,
availableCountries: await read_definition_1.readDefinitionValue(definition.availableCountries, cwd, `${fieldName}.availableCountries`),
packaging: await read_packaging_definition_1.readPackingArrayDefinition(definition.packaging, cwd, `${fieldName}.packaging`),
deliveryConfirmations: await read_delivery_confirmation_definition_1.readDeliveryConfirmationArrayDefinition(definition.deliveryConfirmations, cwd, `${fieldName}.deliveryConfirmations`),
};
}
exports.readDeliveryServiceDefinition = readDeliveryServiceDefinition;
/**
* Reads an array of delivery service definitions
*/
async function readDeliveryServiceArrayDefinition(definitions, cwd, fieldName) {
let array;
[array, cwd] = await read_definition_1.readDefinitions(definitions, cwd, fieldName);
if (Array.isArray(array)) {
definitions = await Promise.all(array.map((service, index) => readDeliveryServiceDefinition(service, cwd, `${fieldName}[${index}]`)));
}
return definitions;
}
exports.readDeliveryServiceArrayDefinition = readDeliveryServiceArrayDefinition;
//# sourceMappingURL=read-delivery-service-definition.js.map