25 lines
842 B
TypeScript
25 lines
842 B
TypeScript
import { loadConfig } from "../config/config.js";
|
|
import { resolveSignalAccount } from "./accounts.js";
|
|
|
|
export function resolveSignalRpcContext(
|
|
opts: { baseUrl?: string; account?: string; accountId?: string },
|
|
accountInfo?: ReturnType<typeof resolveSignalAccount>,
|
|
) {
|
|
const hasBaseUrl = Boolean(opts.baseUrl?.trim());
|
|
const hasAccount = Boolean(opts.account?.trim());
|
|
const resolvedAccount =
|
|
accountInfo ||
|
|
(!hasBaseUrl || !hasAccount
|
|
? resolveSignalAccount({
|
|
cfg: loadConfig(),
|
|
accountId: opts.accountId,
|
|
})
|
|
: undefined);
|
|
const baseUrl = opts.baseUrl?.trim() || resolvedAccount?.baseUrl;
|
|
if (!baseUrl) {
|
|
throw new Error("Signal base URL is required");
|
|
}
|
|
const account = opts.account?.trim() || resolvedAccount?.config.account?.trim();
|
|
return { baseUrl, account };
|
|
}
|