Skip to content

createTransferClient

function createTransferClient(options?: TransferClientOptions): TransferClient;

Defined in: src/core/createTransferClient.ts:56

Creates a provider-neutral transfer client.

The returned client owns a registry of provider factories and produces TransferSession instances on demand via TransferClient.connect. Registering only the providers you actually use keeps bundle size small (each factory pulls in its own SDK dependencies).

ParameterTypeDescription
optionsTransferClientOptionsOptional registry, provider factories, and logger.

TransferClient

A disconnected TransferClient instance.

import {
createS3ProviderFactory,
createSftpProviderFactory,
createTransferClient,
} from "@zero-transfer/sdk";
const client = createTransferClient({
providers: [createSftpProviderFactory(), createS3ProviderFactory()],
});
const session = await client.connect({
host: "sftp.example.com",
provider: "sftp",
username: "deploy",
ssh: { privateKey: { path: "./keys/id_ed25519" } },
});
try {
const list = await session.fs.list("/uploads");
console.log(list);
} finally {
await session.disconnect();
}
import { uploadFile } from "@zero-transfer/sdk";
await uploadFile({
client,
destination: { path: "/uploads/report.csv", profile },
localPath: "./out/report.csv",
});