function getAttr(o, p, d) { if (!Array.isArray(p)) { p = p.split("."); } var def = (d === null) ? null : (d || false); return p.reduce((xs, x) => (xs && xs[x] !== undefined) ? xs[x] : def, o) }