{"version":3,"file":"dump/screenshot-restoration.mjs","sources":["../../../src/dump/screenshot-restoration.ts"],"sourcesContent":["import { type ScreenshotRef, normalizeScreenshotRef } from './screenshot-store';\n\n/**\n * Recursively restore image references in parsed data.\n * Replaces ScreenshotRef with lazy\n * { get base64() {...}, capturedAt } objects.\n * The resolver is only called when .base64 is first accessed.\n */\nexport function restoreImageReferences<T>(\n  data: T,\n  resolveImage: (ref: ScreenshotRef) => string,\n): T {\n  if (typeof data === 'string') {\n    return data;\n  }\n\n  if (Array.isArray(data)) {\n    return data.map((item) => restoreImageReferences(item, resolveImage)) as T;\n  }\n\n  if (typeof data === 'object' && data !== null) {\n    const refLike = normalizeScreenshotRef(data);\n    if (refLike) {\n      let resolved: string | null = null;\n      const lazy: { base64: string; capturedAt?: number } =\n        Object.defineProperties({} as { base64: string; capturedAt?: number }, {\n          base64: {\n            get() {\n              if (resolved === null) {\n                resolved = resolveImage(refLike);\n              }\n              return resolved;\n            },\n            enumerable: true,\n          },\n          capturedAt: { value: refLike.capturedAt, enumerable: true },\n        });\n      return lazy as T;\n    }\n\n    const result: Record<string, unknown> = {};\n    for (const [key, value] of Object.entries(data)) {\n      result[key] = restoreImageReferences(value, resolveImage);\n    }\n    return result as T;\n  }\n\n  return data;\n}\n"],"names":["restoreImageReferences","data","resolveImage","Array","item","refLike","normalizeScreenshotRef","resolved","lazy","Object","result","key","value"],"mappings":";AAQO,SAASA,uBACdC,IAAO,EACPC,YAA4C;IAE5C,IAAI,AAAgB,YAAhB,OAAOD,MACT,OAAOA;IAGT,IAAIE,MAAM,OAAO,CAACF,OAChB,OAAOA,KAAK,GAAG,CAAC,CAACG,OAASJ,uBAAuBI,MAAMF;IAGzD,IAAI,AAAgB,YAAhB,OAAOD,QAAqBA,AAAS,SAATA,MAAe;QAC7C,MAAMI,UAAUC,uBAAuBL;QACvC,IAAII,SAAS;YACX,IAAIE,WAA0B;YAC9B,MAAMC,OACJC,OAAO,gBAAgB,CAAC,CAAC,GAA8C;gBACrE,QAAQ;oBACN;wBACE,IAAIF,AAAa,SAAbA,UACFA,WAAWL,aAAaG;wBAE1B,OAAOE;oBACT;oBACA,YAAY;gBACd;gBACA,YAAY;oBAAE,OAAOF,QAAQ,UAAU;oBAAE,YAAY;gBAAK;YAC5D;YACF,OAAOG;QACT;QAEA,MAAME,SAAkC,CAAC;QACzC,KAAK,MAAM,CAACC,KAAKC,MAAM,IAAIH,OAAO,OAAO,CAACR,MACxCS,MAAM,CAACC,IAAI,GAAGX,uBAAuBY,OAAOV;QAE9C,OAAOQ;IACT;IAEA,OAAOT;AACT"}