vsf-utilities
Version:
Utilities functions shared between vsf projects
23 lines • 1.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const get_1 = __importDefault(require("lodash/get"));
const flow_1 = __importDefault(require("lodash/flow"));
const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
const replaceNumberToString = (obj) => {
Object.keys(obj).forEach((key) => {
if (obj[key] !== null && typeof obj[key] === 'object') {
return replaceNumberToString(obj[key]);
}
else if (typeof obj[key] === 'number') {
obj[key] = String(obj[key]);
}
});
return obj;
};
const transformToArray = (value) => Array.isArray(value) ? value : Object.values(value);
const getProductOptions = (product, optionsName) => flow_1.default([get_1.default, cloneDeep_1.default, transformToArray, replaceNumberToString])(product, `product_option.extension_attributes.${optionsName}`, []);
exports.default = getProductOptions;
//# sourceMappingURL=getProductOptions.js.map