import type { IResourceItem } from "../../../contexts/resource/types"; /** * Remove all properties that are non-serializable from a resource object. */ export const sanitizeResource = ( resource?: Partial & Required> & { children?: unknown } & Record< string, any >, ): | (Partial & Required>) | undefined => { if (!resource) { return undefined; } const { list, edit, create, show, clone, children, meta, icon, ...restResource } = resource; const { icon: _metaIcon, ...restMeta } = meta ?? {}; return { ...restResource, ...(meta ? { meta: restMeta } : {}), }; };