export function getPlacementMetadataRecord(metadata: unknown): Record { if (typeof metadata !== 'object' || metadata === null || Array.isArray(metadata)) { return {} } return metadata as Record } export function addFreshPlacementMetadata(metadata: unknown): Record { return { ...getPlacementMetadataRecord(metadata), isNew: true, } } export function isFreshPlacementMetadata(metadata: unknown): boolean { return getPlacementMetadataRecord(metadata).isNew === true } export function stripPlacementMetadataFlags(metadata: unknown): unknown { if (typeof metadata !== 'object' || metadata === null || Array.isArray(metadata)) { return metadata } const nextMeta = { ...(metadata as Record) } delete nextMeta.isNew delete nextMeta.isTransient return nextMeta }