export const safe = (props) => { // do not render more than the limit of things to prevent infinite loops const meta = getMeta() const uuid = props?.uuid try { if ( typeof meta?.stats?.count === "number" && meta?.stats?.count >= meta?.stats?.limit ) { console.error( "[codex] Maximum things reached", meta?.stats?.count, meta?.stats?.limit ) return null } } catch (err) { console.error("[codex] Error in Thingtime.tsx checking maximum things", err) } try { if (!meta?.stats?.db?.[uuid]) { meta.stats.db[uuid] = { count: 1, } meta.stats.count++ } } catch { // empty } try { if (props?.depth >= meta?.stats?.maxDepth) { console.error( "[codex] Reached max depth", props?.depth, meta?.stats?.maxDepth ) return null } } catch { // nothing } try { return props?.children } catch (err) { console.error("Caught error returning children safely", err) } } export const getMeta = () => { try { return window?.meta || globalThis?.meta } catch { return globalThis?.meta } }