@storacha/client
Version:
Client for the storacha.network w3up api
70 lines • 2.99 kB
TypeScript
/** @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