31 lines
1018 B
TypeScript
31 lines
1018 B
TypeScript
import { sendMessageIMessage } from "../../../imessage/send.js";
|
|
import type { OutboundSendDeps } from "../../../infra/outbound/deliver.js";
|
|
import {
|
|
createScopedChannelMediaMaxBytesResolver,
|
|
createDirectTextMediaOutbound,
|
|
} from "./direct-text-media.js";
|
|
|
|
function resolveIMessageSender(deps: OutboundSendDeps | undefined) {
|
|
return deps?.sendIMessage ?? sendMessageIMessage;
|
|
}
|
|
|
|
export const imessageOutbound = createDirectTextMediaOutbound({
|
|
channel: "imessage",
|
|
resolveSender: resolveIMessageSender,
|
|
resolveMaxBytes: createScopedChannelMediaMaxBytesResolver("imessage"),
|
|
buildTextOptions: ({ cfg, maxBytes, accountId, replyToId }) => ({
|
|
config: cfg,
|
|
maxBytes,
|
|
accountId: accountId ?? undefined,
|
|
replyToId: replyToId ?? undefined,
|
|
}),
|
|
buildMediaOptions: ({ cfg, mediaUrl, maxBytes, accountId, replyToId, mediaLocalRoots }) => ({
|
|
config: cfg,
|
|
mediaUrl,
|
|
maxBytes,
|
|
accountId: accountId ?? undefined,
|
|
replyToId: replyToId ?? undefined,
|
|
mediaLocalRoots,
|
|
}),
|
|
});
|