UNPKG

@ecomplus/utils

Version:

JS utility functions to E-Com Plus (not only) related apps

62 lines (61 loc) 2.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("core-js/modules/es.function.name.js"); require("core-js/modules/es.string.trim.js"); require("core-js/modules/es.symbol.js"); require("core-js/modules/es.symbol.description.js"); require("core-js/modules/es.object.to-string.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 categoriesList * @description Parse category tree string to list of categories names. * @param {Object.<string, *>|string} product - Product object body or category tree string * @returns {Array} * * @example * // Can be a category tree, like: * const categoryTree = 'Quarto > Cama > Travesseiros' * // So use categoryTree is parameter of function categoriesList, like: * ecomUtils.categoriesList(categoryTree) * // => ["Quarto", "Cama", "Travesseiros"] * // Or can be a product body object like: * const product = { name: 'Ultimate', categories: [{name: 'Cadeira Gamer'},{name: 'Periféricos'}]} * ecomUtils.categoriesList(product) * => ["Cadeira Gamer"] */ var categoriesList = function categoriesList(product) { var categoryTree; if (_typeof(product) === 'object' && product !== null) { // try to get categories from product body object if (product.category_tree) { categoryTree = product.category_tree; } else if (Array.isArray(product.categories) && product.categories[0]) { // use the first category from list return [product.categories[0].name]; } } else { // category tree string received as param ? categoryTree = product; } if (typeof categoryTree === 'string') { var categories = categoryTree.split('>'); for (var i = 0; i < categories.length; i++) { // remove white spaces from names categories[i] = categories[i].trim(); } // list of category names return categories; } // fallback returning empty array return []; }; var _default = exports.default = categoriesList;