@ecomplus/utils
Version:
JS utility functions to E-Com Plus (not only) related apps
60 lines (56 loc) • 2.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
require("core-js/modules/es.object.to-string.js");
require("core-js/modules/web.dom-collections.for-each.js");
require("core-js/modules/es.symbol.js");
require("core-js/modules/es.symbol.description.js");
require("core-js/modules/es.symbol.iterator.js");
require("core-js/modules/es.array.iterator.js");
require("core-js/modules/es.string.iterator.js");
require("core-js/modules/web.dom-collections.iterator.js");
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
/**
* @method
* @memberof ecomUtils
* @name recommendedIds
* @description Returns array of product IDs from Graphs API response.
* @param {Object.<string, *>|Array} result - Recommend/related products response body
* @returns {Array}
*
* @example
// Full Graphs API response samples:
// https://developers.e-com.plus/docs/api/#/graphs/products/recommended
const result = { results: [ { columns: [], data: [] } ] }
result.results[0].data.push(
{ row: [ 'a00000000000000000000001' ], meta: [ null ] },
{ row: [ 'a00000000000000000000002' ], meta: [ null ] },
{ row: [ 'a00000000000000000000006' ], meta: [ null ] }
)
ecomUtils.recommendedIds(result)
// => [ 'a00000000000000000000001', 'a00000000000000000000002', 'a00000000000000000000006' ]
*/
var recommendedIds = function recommendedIds(result) {
var data;
if (_typeof(result) === 'object' && result !== null) {
if (Array.isArray(result)) {
data = result;
} else if (result.results && result.results[0]) {
// Neo4j response body
data = result.results[0].data;
}
}
// setup ids list
var ids = [];
if (Array.isArray(data)) {
// map ids array from Neo4j data list
data.forEach(function (_ref) {
var row = _ref.row;
ids.push(row[0]);
});
}
return ids;
};
var _default = exports.default = recommendedIds;