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

Function readScreenshotScriptFlag

src/contracts/screenshot.ts:141–170  ·  view source on GitHub ↗
(params: {
  args: readonly string[];
  index: number;
  flags: Partial<ScreenshotRequestFlags>;
})

Source from the content-addressed store, hash-verified

139}
140
141export function readScreenshotScriptFlag(params: {
142 args: readonly string[];
143 index: number;
144 flags: Partial<ScreenshotRequestFlags>;
145}): { handled: true; nextIndex: number } | { handled: false } {
146 const { args, flags, index } = params;
147 const token = args[index];
148 if (token === '--fullscreen' || token === '--full' || token === '-f') {
149 flags.screenshotFullscreen = true;
150 return { handled: true, nextIndex: index };
151 }
152 if (token === '--no-stabilize') {
153 flags.screenshotNoStabilize = true;
154 return { handled: true, nextIndex: index };
155 }
156 if (token === '--normalize-status-bar') {
157 flags.screenshotNormalizeStatusBar = true;
158 return { handled: true, nextIndex: index };
159 }
160 if (token === '--max-size') {
161 const value = args[index + 1];
162 const maxSize = value === undefined ? NaN : Number(value);
163 if (!Number.isInteger(maxSize) || maxSize < 1) {
164 throw new AppError('INVALID_ARGS', 'screenshot --max-size requires a positive integer');
165 }
166 flags.screenshotMaxSize = maxSize;
167 return { handled: true, nextIndex: index + 1 };
168 }
169 return { handled: false };
170}
171
172function stripUndefined<T extends Record<string, unknown>>(value: T): T {
173 return Object.fromEntries(Object.entries(value).filter((entry) => entry[1] !== undefined)) as T;

Callers 2

parseReplayScriptLineFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…