UNPKG

@storacha/client

Version:

Client for the storacha.network w3up api

70 lines 2.99 kB
/** @import { AssertLocation } from '@web3-storage/content-claims/capability/api' */ /** * Client for interacting with the `blob/*` capabilities. */ export class BlobClient extends Base { /** * Store a Blob to the resource. * * Required delegated capabilities: * - `space/blob/add` * * @param {Blob} blob - blob data. * @param {import('../types.js').RequestOptions} [options] */ add(blob: Blob, options?: import("../types.js").RequestOptions): Promise<{ site: import("@ucanto/interface").Delegation<[AssertLocation]>; digest: import("multiformats/hashes/digest").Digest<18, number>; }>; /** * List blobs stored to the resource. * * Required delegated capabilities: * - `space/blob/list` * * @param {import('../types.js').ListRequestOptions} [options] */ list(options?: import("../types.js").ListRequestOptions): Promise<import("@storacha/capabilities/types").SpaceBlobListSuccess>; /** * Remove a stored blob by multihash digest. * * Required delegated capabilities: * - `space/blob/remove` * * @param {import('multiformats').MultihashDigest} digest - digest of blob to remove. * @param {import('../types.js').RequestOptions} [options] */ remove(digest: import("multiformats").MultihashDigest, options?: import("../types.js").RequestOptions): Promise<{ error?: undefined; } & { ok: import("@storacha/capabilities/types").SpaceBlobRemoveSuccess; }>; /** * Gets a stored blob by multihash digest. * * @param {import('multiformats').MultihashDigest} digest - digest of blob to get. * @param {import('../types.js').RequestOptions} [options] */ get(digest: import("multiformats").MultihashDigest, options?: import("../types.js").RequestOptions): Promise<{ error?: undefined; } & { ok: import("@storacha/access").SpaceBlobGetSuccess; }>; /** * Replicate a blob to the specified number of nodes. * * @param {object} blob - details of the blob to replicate * @param {import('multiformats').MultihashDigest} blob.digest - hash of the blob * @param {number} blob.size - size of the blob in bytes * @param {import('../types.js').Delegation<[AssertLocation]>} site - location commitment specifying where the blob can be obtained. * @param {number} replicas - total number of replicas to provision. * @param {import('../types.js').RequestOptions} [options] */ replicate(blob: { digest: import("multiformats").MultihashDigest; size: number; }, site: import("../types.js").Delegation<[AssertLocation]>, replicas: number, options?: import("../types.js").RequestOptions): Promise<import("@storacha/access").SpaceBlobReplicateSuccess>; } import { Base } from '../base.js'; import type { AssertLocation } from '@web3-storage/content-claims/capability/api'; //# sourceMappingURL=blob.d.ts.map