Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / oneRequest / deps / isErrorLikeResponse.js
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.isErrorLikeResponse = isErrorLikeResponse;
exports.default = void 0;

var _chainAbleBoost = require("chain-able-boost");

var _exotic = require("exotic");

var _get = require("../../composition/get");

/* eslint-disable brace-style */
const knownStatuses = Object.freeze(['properties.state.status', 'responseMessage']);
const getKnownStatus = (0, _get.getOneOfFor)(knownStatuses); // 'User Not Logged In'
// OF COURSE SUCCESS ON THIS IS 101001
// https://jira.skava.net/confluence/display/SKC/List+Error+Response+Code
// const API_ERROR_MAP = Object.freeze([701, 1])

/**
 * @todo fix this crazy Object(...) error from imports
 *       wherever it happens in webpack!!!
 *
 * @invariant 1 status.includes(Error) == Error
 * @invariant 2 Object.keys(response).length < 3 == Error
 *
 * @param {*} response
 * @return {boolean | Error}
 */

function isErrorLikeStatus(status) {
  if (status.includes('success')) {
    // to handle status like -> 'Success - Few or All items has error'
    return false;
  } else {
    // "No internal transform type"
    return status.includes('transform') || status.includes('error') || status.includes('failure');
  }
}

function isErrorLikeResponse(response) {
  // unify casing, get any of the known status properties
  const status = getKnownStatus(response).toLowerCase(); // fromResponseToMessage
  // this is what we show in an error popup

  const message = (0, _exotic.isObj)(response) === true ? response.responseMessage || '' : ''; // defaults to 0

  const code = (0, _exotic.isObj)(response) === true ? (0, _exotic.toNumber)(response.responseCode) : 99;

  if (code !== 0 && code !== 101001) {
    return true;
  } else if (message.includes('failure')) {
    return true;
  } else if (isErrorLikeStatus(status)) {
    return true;
  } // search comes back with 1-2!
  else if ((0, _chainAbleBoost.size)(response) < 2) {
      return true;
    } else {
      return false;
    }
}

var _default = isErrorLikeResponse;
exports.default = _default;