deno.land / x / mongoose@6.7.5 / lib / helpers / arrayDepth.js
12345678910111213141516171819202122232425262728293031323334'use strict';
module.exports = arrayDepth;
function arrayDepth(arr) { if (!Array.isArray(arr)) { return { min: 0, max: 0, containsNonArrayItem: true }; } if (arr.length === 0) { return { min: 1, max: 1, containsNonArrayItem: false }; } if (arr.length === 1 && !Array.isArray(arr[0])) { return { min: 1, max: 1, containsNonArrayItem: false }; }
const res = arrayDepth(arr[0]);
for (let i = 1; i < arr.length; ++i) { const _res = arrayDepth(arr[i]); if (_res.min < res.min) { res.min = _res.min; } if (_res.max > res.max) { res.max = _res.max; } res.containsNonArrayItem = res.containsNonArrayItem || _res.containsNonArrayItem; }
res.min = res.min + 1; res.max = res.max + 1;
return res;}
Version Info