UNPKG

@yoyo-org/progressive-json

Version:

Stream and render JSON data as it arrives - perfect for AI responses, large datasets, and real-time updates

29 lines (28 loc) 863 B
import { isPlaceholder } from "./is-placeholder"; export function filterPlaceholders(value) { if (typeof value === "undefined") return undefined; if (typeof value === "string" && isPlaceholder(value)) { return null; // Remove unresolved placeholder } if (typeof value !== "object" || value === null) { return value; } if (Array.isArray(value)) { return value.map(filterPlaceholders).filter(Boolean); } // Handle ref objects (placeholder objects) if (value.type === "ref" && typeof value.key === "string" && isPlaceholder(value.key)) { return null; } const result = {}; for (const key in value) { const filtered = filterPlaceholders(value[key]); if (filtered !== null) { result[key] = filtered; } } return result; }