@shopgate/pwa-common-commerce
Version:
Commerce library for the Shopgate Connect PWA.
21 lines • 1.61 kB
JavaScript
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)});});});