@dfinity/assets
Version:
JavaScript and TypeScript library to manage assets on the Internet Computer
128 lines • 3.69 kB
TypeScript
import type { Principal } from '@dfinity/principal';
export type BatchId = bigint;
export type BatchOperationKind = {
CreateAsset: CreateAssetArguments;
} | {
UnsetAssetContent: UnsetAssetContentArguments;
} | {
DeleteAsset: DeleteAssetArguments;
} | {
SetAssetContent: SetAssetContentArguments;
} | {
Clear: ClearArguments;
};
export type ChunkId = bigint;
export type ClearArguments = Record<string, never>;
export interface CreateAssetArguments {
key: Key;
content_type: string;
headers: [] | [Array<HeaderField>];
}
export interface DeleteAssetArguments {
key: Key;
}
export type HeaderField = [string, string];
export interface HttpRequest {
url: string;
method: string;
body: Uint8Array;
headers: Array<HeaderField>;
}
export interface HttpResponse {
body: Uint8Array;
headers: Array<HeaderField>;
streaming_strategy: [] | [StreamingStrategy];
status_code: number;
}
export type Key = string;
export type Result = {
Ok: null;
} | {
Err: string;
};
export interface SetAssetContentArguments {
key: Key;
sha256: [] | [Uint8Array];
chunk_ids: Array<ChunkId>;
content_encoding: string;
}
export interface StreamingCallbackHttpResponse {
token: [] | [StreamingCallbackToken];
body: Uint8Array;
}
export interface StreamingCallbackToken {
key: Key;
sha256: [] | [Uint8Array];
index: bigint;
content_encoding: string;
}
export type StreamingStrategy = {
Callback: {
token: StreamingCallbackToken;
callback: [Principal, string];
};
};
export type Time = bigint;
export interface UnsetAssetContentArguments {
key: Key;
content_encoding: string;
}
export default interface _SERVICE {
authorize: (arg_0: Principal) => Promise<undefined>;
clear: (arg_0: ClearArguments) => Promise<undefined>;
commit_batch: (arg_0: {
batch_id: BatchId;
operations: Array<BatchOperationKind>;
}) => Promise<undefined>;
create_asset: (arg_0: CreateAssetArguments) => Promise<undefined>;
create_batch: (arg_0: Record<string, never>) => Promise<{
batch_id: BatchId;
}>;
create_chunk: (arg_0: {
content: Uint8Array;
batch_id: BatchId;
}) => Promise<{
chunk_id: ChunkId;
}>;
delete_asset: (arg_0: DeleteAssetArguments) => Promise<undefined>;
get: (arg_0: {
key: Key;
accept_encodings: Array<string>;
}) => Promise<{
content: Uint8Array;
sha256: [] | [Uint8Array];
content_type: string;
content_encoding: string;
total_length: bigint;
}>;
get_chunk: (arg_0: {
key: Key;
sha256: [] | [Uint8Array];
index: bigint;
content_encoding: string;
}) => Promise<{
content: Uint8Array;
}>;
http_request: (arg_0: HttpRequest) => Promise<HttpResponse>;
http_request_streaming_callback: (arg_0: StreamingCallbackToken) => Promise<[] | [StreamingCallbackHttpResponse]>;
list: (arg_0: Record<string, never>) => Promise<Array<{
key: Key;
encodings: Array<{
modified: Time;
sha256: [] | [Uint8Array];
length: bigint;
content_encoding: string;
}>;
content_type: string;
}>>;
set_asset_content: (arg_0: SetAssetContentArguments) => Promise<undefined>;
store: (arg_0: {
key: Key;
content: Uint8Array;
sha256: [] | [Uint8Array];
content_type: string;
content_encoding: string;
}) => Promise<undefined>;
unset_asset_content: (arg_0: UnsetAssetContentArguments) => Promise<undefined>;
}
//# sourceMappingURL=assets_service.d.ts.map