18 lines
528 B
TypeScript
18 lines
528 B
TypeScript
import type { Payload } from "payload";
|
|
import type { PayloadClient } from "./types";
|
|
import { LocalPayloadClient } from "./local-client";
|
|
import { HTTPPayloadClient } from "./http-client";
|
|
|
|
type PayloadClientOptions =
|
|
| { mode: "local"; payload: Payload }
|
|
| { mode: "http"; baseURL: string };
|
|
|
|
export function createPayloadClient(
|
|
options: PayloadClientOptions
|
|
): PayloadClient {
|
|
if (options.mode === "local") {
|
|
return new LocalPayloadClient(options.payload);
|
|
}
|
|
return new HTTPPayloadClient(options.baseURL);
|
|
}
|