tateru-cli
Version:
Simple CLI static site builder tool with Twig.
26 lines • 2.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNestedValue = getNestedValue;
function getNestedValue(obj, path) {
var _a;
if (typeof path === 'string' && path in obj) {
return obj[path];
}
const keys = Array.isArray(path) ? path : String(path).split('.');
let result = obj;
for (const key of keys) {
if (result === null || typeof result !== 'object') {
return;
}
if (typeof key === 'string' && key.includes('[') && key.includes(']')) {
const [arrayKey, indexStr] = key.split(/[\[\]]/);
const index = Number.parseInt(indexStr, 10);
result = (_a = result[arrayKey]) === null || _a === void 0 ? void 0 : _a[index];
}
else {
result = result[key];
}
}
return result;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TmVzdGVkVmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zZXJ2aWNlcy90d2lnL2Z1bmN0aW9ucy9nZXROZXN0ZWRWYWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLHdDQTRCQztBQTVCRCxTQUFnQixjQUFjLENBQzFCLEdBQXdCLEVBQ3hCLElBQWE7O0lBR2IsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFDLE9BQU8sR0FBRyxDQUFDLElBQWMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFHRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEUsSUFBSSxNQUFNLEdBQVEsR0FBRyxDQUFDO0lBRXRCLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hELE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFrQixDQUFDLDBDQUFHLEtBQWUsQ0FBQyxDQUFDO1FBQzNELENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFhLENBQUMsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sTUFBdUIsQ0FBQztBQUNuQyxDQUFDIn0=