{"version":3,"sources":["../src/stream/aisdk/v5/file.ts"],"names":["convertUint8ArrayToBase64","convertBase64ToUint8Array"],"mappings":";;;;;AAwBO,IAAM,uBAAN,MAAoD;AAAA,EACjD,UAAA;AAAA,EACA,cAAA;AAAA,EAEC,SAAA;AAAA,EAET,WAAA,CAAY,EAAE,IAAA,EAAM,SAAA,EAAU,EAAqD;AACjF,IAAA,MAAM,eAAe,IAAA,YAAgB,UAAA;AACrC,IAAA,IAAA,CAAK,UAAA,GAAa,eAAe,MAAA,GAAY,IAAA;AAC7C,IAAA,IAAA,CAAK,cAAA,GAAiB,eAAe,IAAA,GAAO,MAAA;AAC5C,IAAA,IAAA,CAAK,SAAA,GAAY,SAAA;AAAA,EACnB;AAAA;AAAA,EAGA,IAAI,MAAA,GAAS;AACX,IAAA,IAAI,IAAA,CAAK,cAAc,IAAA,EAAM;AAC3B,MAAA,IAAA,CAAK,UAAA,GAAaA,yCAAA,CAA0B,IAAA,CAAK,cAAe,CAAA;AAAA,IAClE;AACA,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACd;AAAA;AAAA,EAGA,IAAI,UAAA,GAAa;AACf,IAAA,IAAI,IAAA,CAAK,kBAAkB,IAAA,EAAM;AAC/B,MAAA,IAAA,CAAK,cAAA,GAAiBC,yCAAA,CAA0B,IAAA,CAAK,UAAW,CAAA;AAAA,IAClE;AACA,IAAA,OAAO,IAAA,CAAK,cAAA;AAAA,EACd;AACF;AAEO,IAAM,4BAAA,GAAN,cAA2C,oBAAA,CAAqB;AAAA,EAC5D,IAAA,GAAO,MAAA;AAAA,EAEhB,YAAY,OAAA,EAA2D;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AAAA,EACf;AACF","file":"chunk-PUEQNTX6.cjs","sourcesContent":["import { convertBase64ToUint8Array, convertUint8ArrayToBase64 } from '@ai-sdk/provider-utils-v5';\n\n/**\n * A generated file.\n */\nexport interface GeneratedFile {\n  /**\n  File as a base64 encoded string.\n       */\n  readonly base64: string;\n\n  /**\n  File as a Uint8Array.\n       */\n  readonly uint8Array: Uint8Array;\n\n  /**\n  The IANA media type of the file.\n  \n  @see https://www.iana.org/assignments/media-types/media-types.xhtml\n     */\n  readonly mediaType: string;\n}\n\nexport class DefaultGeneratedFile implements GeneratedFile {\n  private base64Data: string | undefined;\n  private uint8ArrayData: Uint8Array | undefined;\n\n  readonly mediaType: string;\n\n  constructor({ data, mediaType }: { data: string | Uint8Array; mediaType: string }) {\n    const isUint8Array = data instanceof Uint8Array;\n    this.base64Data = isUint8Array ? undefined : data;\n    this.uint8ArrayData = isUint8Array ? data : undefined;\n    this.mediaType = mediaType;\n  }\n\n  // lazy conversion with caching to avoid unnecessary conversion overhead:\n  get base64() {\n    if (this.base64Data == null) {\n      this.base64Data = convertUint8ArrayToBase64(this.uint8ArrayData!);\n    }\n    return this.base64Data;\n  }\n\n  // lazy conversion with caching to avoid unnecessary conversion overhead:\n  get uint8Array() {\n    if (this.uint8ArrayData == null) {\n      this.uint8ArrayData = convertBase64ToUint8Array(this.base64Data!);\n    }\n    return this.uint8ArrayData;\n  }\n}\n\nexport class DefaultGeneratedFileWithType extends DefaultGeneratedFile {\n  readonly type = 'file';\n\n  constructor(options: { data: string | Uint8Array; mediaType: string }) {\n    super(options);\n  }\n}\n"]}