UNPKG

@shopgate/pwa-common-commerce

Version:

Commerce library for the Shopgate Connect PWA.

21 lines 1.61 kB
function _extends(){_extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};return _extends.apply(this,arguments);}import{ECART}from"../constants/PipelineErrors";/** * @typedef {Object} PipelineError * @property {string} code * @property {string} message * @property {string} [pipeline] * @property {PipelineErrorElement[]} [errors] * @typedef {Object} PipelineErrorElement * @property {string} entityId * @property {string} code * @property {string} message * @property {Object} messageParams * @property {boolean} translated * @property {boolean} handled * * Creates a proper error object from pipeline error responses for easier error handling. * @param {string} pipelineName The name of the pipeline in which the error occurred. * @param {PipelineError} error The error to be sanitize. * @return {PipelineErrorElement[]} */export default(function(pipelineName,error){var defaultPipelineError={entityId:'',code:error.code||'',pipeline:pipelineName||'',message:error.message||'',messageParams:{},translated:true,handled:error.handled||false};// Not all error codes can contain an array of sub-errors with additional errors if(error.code!==ECART){return[defaultPipelineError];}// Ensure all properties actually exist var _error$errors=error.errors,errors=_error$errors===void 0?[]:_error$errors;return errors.map(function(e){return _extends({},defaultPipelineError,{},e,{code:"".concat(error.code," :: ").concat(e.code)});});});