import type { AsyncmuxLock } from "asyncmux"; import type { BucketName, Checksum, MimeType, NumParts, ObjectId, ObjectPath, ObjectSize, ObjectTags, Timestamp } from "../shared/schemas.js"; import type { IEntityHandle } from "../shared/storage.js"; /** * `Omnio` のインターフェースです。 */ interface IOmnio { /** * `Omnio` が閉じているかかどうかを示します。 */ readonly closed: boolean; } /** * `ObjectFileReadStream` を構築するための入力パラメーターです。 */ type ObjectFileReadStreamInput = Readonly<{ /** * オブジェクトの識別子です。 */ objectId: ObjectId; /** * オブジェクトのサイズ (バイト数) です。 */ size: ObjectSize; /** * オブジェクトのデータ形式です。 */ type: MimeType; /** * 最終更新日 (ミリ秒) です。 */ lastModified: Timestamp; /** * バケット名です。 */ bucketName: BucketName; /** * バケット内のオブジェクトパスです。 */ objectPath: ObjectPath; /** * オブジェクトのチェックサム (MD5 ハッシュ値) です。 */ checksum: Checksum; /** * オブジェクトのパートの総数です。 */ numParts: NumParts; /** * `Omnio` オブジェクトです。 */ omnio: IOmnio; /** * 読み取りロックを獲得した結果です。 */ lock: AsyncmuxLock; /** * オブジェクトのエンティティーのハンドルです。 */ entityHandle: IEntityHandle; /** * オブジェクトに関連付けられたオブジェクトタグです。 */ objectTags: ObjectTags | undefined; /** * オブジェクトの説明文です。 */ description: string | null | undefined; /** * ユーザー定義のメタデータです。 */ userMetadata: unknown | undefined; }>; /** * オブジェクトを読み込むストリームです。 */ export default class ObjectFileReadStream implements AsyncIterableIterator>, Disposable { #private; /** * オブジェクトの識別子です。 */ readonly objectId: ObjectId; /** * オブジェクトのサイズ (バイト数) です。 */ readonly size: ObjectSize; /** * オブジェクトのデータ形式です。 */ readonly type: MimeType; /** * オブジェクトの最終更新日 (ミリ秒) です。 */ readonly lastModified: Timestamp; /** * オブジェクトが存在するバケットの名前です。 */ readonly bucketName: BucketName; /** * バケット内のオブジェクトパスです。 */ readonly objectPath: ObjectPath; /** * オブジェクトのチェックサム (MD5 ハッシュ値) です。 */ readonly checksum: Checksum; /** * オブジェクトのパートの総数です。 */ readonly numParts: NumParts; /** * オブジェクトに関連付けられたオブジェクトタグです。 */ readonly objectTags: ObjectTags | undefined; /** * オブジェクトの説明文です。 */ readonly description: string | null | undefined; /** * ユーザー定義のメタデータです。 */ readonly userMetadata: unknown | undefined; /** * `ObjectFileReadStream` の新しいインスタンスを構築します。 * * @param inp `ObjectFileReadStream` を構築するための入力パラメーターです。 */ constructor(inp: ObjectFileReadStreamInput); /** * パートデータを取得します。 * * @returns パートデータです。 */ next(): Promise<{ done: true; value: any; } | { done: false; value: Uint8Array; }>; [Symbol.asyncIterator](): this; [Symbol.dispose](): void; } export {}; //# sourceMappingURL=object-file-read-stream.d.ts.map