{"version":3,"names":["iterate","obj","options","result","Symbol","iterator","push","Array","from","usePrototype","__proto__","props","Object","getOwnPropertyNames","map","prop","e","_convexHull","root","all","Set","undefined","size","sizeLimit","has","add","forEach","ea","convexHull","assign","Infinity","self","lively","reflection"],"sources":["reflection.js"],"sourcesContent":["function iterate(obj, options) {\n  let result = [];\n  try {\n    if (obj[Symbol.iterator]) {\n      result.push(...Array.from(obj))\n    }\n\n    if (options.usePrototype && obj.__proto__) {\n      result.push(obj.__proto__)\n    }\n\n    const props = Object.getOwnPropertyNames(obj);\n    result.push(...props.map(prop => obj[prop]));\n  } catch(e) {\n    // ignore errors\n  }\n\n  return result;\n}\n\nfunction _convexHull(root, options, all = new Set()) {\n\n  if (root !== undefined && root !== null && all.size < options.sizeLimit && !all.has(root)) {\n\n    all.add(root);\n\n    iterate(root, options).forEach(ea => {\n      _convexHull(ea, options, all);\n    });\n\n  }\n  \n  return all;\n}\n\nexport function convexHull(root, options = {}) {\n  return _convexHull(root, Object.assign({\n    usePrototype: false,\n    sizeLimit: Infinity\n  }, options));\n}\n\nif(self.lively) {\n  lively.reflection = { convexHull };\n}\n"],"mappings":";;;;EAAA,SAASA,OAAO,CAACC,GAAG,EAAEC,OAAO,EAAE;IAC7B,IAAIC,MAAM,GAAG,EAAE;IACf,IAAI;MACF,IAAIF,GAAG,CAACG,MAAM,CAACC,QAAQ,CAAC,EAAE;QACxBF,MAAM,CAACG,IAAI,CAAC,GAAGC,KAAK,CAACC,IAAI,CAACP,GAAG,CAAC,CAAC;MACjC;MAEA,IAAIC,OAAO,CAACO,YAAY,IAAIR,GAAG,CAACS,SAAS,EAAE;QACzCP,MAAM,CAACG,IAAI,CAACL,GAAG,CAACS,SAAS,CAAC;MAC5B;MAEA,MAAMC,KAAK,GAAGC,MAAM,CAACC,mBAAmB,CAACZ,GAAG,CAAC;MAC7CE,MAAM,CAACG,IAAI,CAAC,GAAGK,KAAK,CAACG,GAAG,CAACC,IAAI,IAAId,GAAG,CAACc,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,OAAMC,CAAC,EAAE;MACT;IAAA;IAGF,OAAOb,MAAM;EACf;EAEA,SAASc,WAAW,CAACC,IAAI,EAAEhB,OAAO,EAAEiB,GAAG,GAAG,IAAIC,GAAG,EAAE,EAAE;IAEnD,IAAIF,IAAI,KAAKG,SAAS,IAAIH,IAAI,KAAK,IAAI,IAAIC,GAAG,CAACG,IAAI,GAAGpB,OAAO,CAACqB,SAAS,IAAI,CAACJ,GAAG,CAACK,GAAG,CAACN,IAAI,CAAC,EAAE;MAEzFC,GAAG,CAACM,GAAG,CAACP,IAAI,CAAC;MAEblB,OAAO,CAACkB,IAAI,EAAEhB,OAAO,CAAC,CAACwB,OAAO,CAACC,EAAE,IAAI;QACnCV,WAAW,CAACU,EAAE,EAAEzB,OAAO,EAAEiB,GAAG,CAAC;MAC/B,CAAC,CAAC;IAEJ;IAEA,OAAOA,GAAG;EACZ;EAEO,SAASS,UAAU,CAACV,IAAI,EAAEhB,OAAO,GAAG,CAAC,CAAC,EAAE;IAC7C,OAAOe,WAAW,CAACC,IAAI,EAAEN,MAAM,CAACiB,MAAM,CAAC;MACrCpB,YAAY,EAAE,KAAK;MACnBc,SAAS,EAAEO;IACb,CAAC,EAAE5B,OAAO,CAAC,CAAC;EACd;EAAC,sBALe0B,UAAU;EAAA;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,sBAAVA,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAfjBX,4CAAW;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UApBXjB,wCAAO;UAAA;QAAA;QAAA;QAAA;MAAA;MA0ChB,IAAG+B,IAAI,CAACC,MAAM,EAAE;QACdA,MAAM,CAACC,UAAU,GAAG;UAAEL;QAAW,CAAC;MACpC;IAAC;EAAA;AAAA"}