MCPcopy Create free account
hub / github.com/callstack/agent-device / readSnapshotVisibility

Function readSnapshotVisibility

src/utils/output.ts:201–240  ·  view source on GitHub ↗
(
  data: Record<string, unknown>,
  visiblePresentation: ReturnType<typeof buildMobileSnapshotPresentation> | null,
  displayedNodeCount: number,
  totalNodeCount: number,
  filteredCount: number = 0,
)

Source from the content-addressed store, hash-verified

199}
200
201function readSnapshotVisibility(
202 data: Record<string, unknown>,
203 visiblePresentation: ReturnType<typeof buildMobileSnapshotPresentation> | null,
204 displayedNodeCount: number,
205 totalNodeCount: number,
206 filteredCount: number = 0,
207): SnapshotVisibility | null {
208 const payloadVisibility = readPayloadSnapshotVisibility(data);
209 if (filteredCount === 0 && payloadVisibility) {
210 return payloadVisibility;
211 }
212
213 const hiddenCount = (visiblePresentation?.hiddenCount ?? 0) + filteredCount;
214 const hasExplicitHiddenContentHints = visiblePresentation
215 ? visiblePresentation.nodes.some((node) => node.hiddenContentAbove || node.hiddenContentBelow)
216 : false;
217 if (hiddenCount > 0) {
218 return {
219 partial: true,
220 visibleNodeCount: displayedNodeCount,
221 totalNodeCount: Math.max(totalNodeCount, payloadVisibility?.totalNodeCount ?? totalNodeCount),
222 reasons: uniqueSnapshotVisibilityReasons([
223 ...(payloadVisibility?.reasons ?? []),
224 'offscreen-nodes',
225 ]),
226 };
227 }
228 if (payloadVisibility) {
229 return payloadVisibility;
230 }
231 if (hasExplicitHiddenContentHints) {
232 return {
233 partial: true,
234 visibleNodeCount: displayedNodeCount,
235 totalNodeCount: displayedNodeCount,
236 reasons: [],
237 };
238 }
239 return null;
240}
241
242function readPayloadSnapshotVisibility(data: Record<string, unknown>): SnapshotVisibility | null {
243 const candidate = data.visibility;

Callers 1

formatSnapshotTextFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…