UNPKG

oxe

Version:

A mighty tiny web components framework/library

14 lines (11 loc) 439 B
const seperator = /\s*\??\s*\.?\s*\[\s*|\s*\]\s*\??\s*\.?\s*|\s*\??\s*\.\s*/; const traverse = function (data: object, path: string | string[]) { if (typeof data !== 'object') return undefined; const keys = typeof path === 'string' ? path.split(seperator) : path; for (const key of keys) { if (typeof data !== 'object') return undefined; data = data[ key ]; } return data; }; export default traverse;