remeda
Version:
A utility library for JavaScript and Typescript.
2 lines (1 loc) • 579 B
JavaScript
;Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var d=/^(?:0|[1-9][0-9]*)$/u;function s(i){let t=[],a=/\.{0,4096}(?<propName>[^.[\]]+)|\['(?<quoted>.{0,4096}?)'\]|\["(?<doubleQuoted>.{0,4096}?)"\]|\[(?<unquoted>.{0,4096}?)\]/uy,n;for(;(n=a.exec(i))!==null;){let{propName:e,quoted:o,doubleQuoted:u,unquoted:r}=n.groups;if(r!==void 0){t.push(...s(r));continue}t.push(e===void 0?_nullishCoalesce(o, () => (u)):d.test(e)?Number(e):e)}return t}exports.a = s;