![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/clinic.corals.io/node_modules/collect.js/src/methods/ |
'use strict'; const values = require('../helpers/values'); const nestedValue = require('../helpers/nestedValue'); module.exports = function where(key, operator, value) { let comparisonOperator = operator; let comparisonValue = value; const items = values(this.items); if (operator === undefined || operator === true) { return new this.constructor(items.filter(item => nestedValue(item, key))); } if (operator === false) { return new this.constructor(items.filter(item => !nestedValue(item, key))); } if (value === undefined) { comparisonValue = operator; comparisonOperator = '==='; } const collection = items.filter((item) => { switch (comparisonOperator) { case '==': return nestedValue(item, key) === Number(comparisonValue) || nestedValue(item, key) === comparisonValue.toString(); default: case '===': return nestedValue(item, key) === comparisonValue; case '!=': case '<>': return nestedValue(item, key) !== Number(comparisonValue) && nestedValue(item, key) !== comparisonValue.toString(); case '!==': return nestedValue(item, key) !== comparisonValue; case '<': return nestedValue(item, key) < comparisonValue; case '<=': return nestedValue(item, key) <= comparisonValue; case '>': return nestedValue(item, key) > comparisonValue; case '>=': return nestedValue(item, key) >= comparisonValue; } }); return new this.constructor(collection); };