Software: Apache. PHP/8.1.30 uname -a: Linux server1.tuhinhossain.com 5.15.0-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root) Safe-mode: OFF (not secure) /home/picotech/domains/inventory.picotech.app/public_html/node_modules/collect.js/src/methods/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict';
const { isArray, isObject } = require('../helpers/is');
const nestedValue = require('../helpers/nestedValue');
const buildKeyPathMap = function buildKeyPathMap(items) {
const keyPaths = {};
items.forEach((item, index) => {
function buildKeyPath(val, keyPath) {
if (isObject(val)) {
Object.keys(val).forEach((prop) => {
buildKeyPath(val[prop], `${keyPath}.${prop}`);
});
} else if (isArray(val)) {
val.forEach((v, i) => {
buildKeyPath(v, `${keyPath}.${i}`);
});
}
keyPaths[keyPath] = val;
}
buildKeyPath(item, index);
});
return keyPaths;
};
module.exports = function pluck(value, key) {
if (value.indexOf('*') !== -1) {
const keyPathMap = buildKeyPathMap(this.items);
const keyMatches = [];
if (key !== undefined) {
const keyRegex = new RegExp(`0.${key}`, 'g');
const keyNumberOfLevels = `0.${key}`.split('.').length;
Object.keys(keyPathMap).forEach((k) => {
const matchingKey = k.match(keyRegex);
if (matchingKey) {
const match = matchingKey[0];
if (match.split('.').length === keyNumberOfLevels) {
keyMatches.push(keyPathMap[match]);
}
}
});
}
const valueMatches = [];
const valueRegex = new RegExp(`0.${value}`, 'g');
const valueNumberOfLevels = `0.${value}`.split('.').length;
Object.keys(keyPathMap).forEach((k) => {
const matchingValue = k.match(valueRegex);
if (matchingValue) {
const match = matchingValue[0];
if (match.split('.').length === valueNumberOfLevels) {
valueMatches.push(keyPathMap[match]);
}
}
});
if (key !== undefined) {
const collection = {};
this.items.forEach((item, index) => {
collection[keyMatches[index] || ''] = valueMatches;
});
return new this.constructor(collection);
}
return new this.constructor([valueMatches]);
}
if (key !== undefined) {
const collection = {};
this.items.forEach((item) => {
if (nestedValue(item, value) !== undefined) {
collection[item[key] || ''] = nestedValue(item, value);
} else {
collection[item[key] || ''] = null;
}
});
return new this.constructor(collection);
}
return this.map((item) => {
if (nestedValue(item, value) !== undefined) {
return nestedValue(item, value);
}
return null;
});
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0037 ]-- |