tateru-cli
Version:
Simple CLI static site builder tool with Twig.
27 lines • 2.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getNestedValue = void 0;
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;
}
exports.getNestedValue = getNestedValue;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TmVzdGVkVmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29yZS9zZXJ2aWNlcy90d2lnL2Z1bmN0aW9ucy9nZXROZXN0ZWRWYWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxTQUFnQixjQUFjLENBQzFCLEdBQXdCLEVBQ3hCLElBQWE7O0lBR2IsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRTtRQUN6QyxPQUFPLEdBQUcsQ0FBQyxJQUFjLENBQUMsQ0FBQztLQUM5QjtJQUdELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRSxJQUFJLE1BQU0sR0FBUSxHQUFHLENBQUM7SUFFdEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7UUFDcEIsSUFBSSxNQUFNLEtBQUssSUFBSSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUMvQyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkUsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sU0FBRyxNQUFNLENBQUMsUUFBa0IsQ0FBQywwQ0FBRyxLQUFlLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0gsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFhLENBQUMsQ0FBQztTQUNsQztLQUNKO0lBRUQsT0FBTyxNQUF1QixDQUFDO0FBQ25DLENBQUM7QUE1QkQsd0NBNEJDIn0=