refactor(channels): share prefixed target parsing

This commit is contained in:
Peter Steinberger
2026-02-17 00:29:34 +00:00
parent 10b060dbd3
commit 64fc82844e
3 changed files with 35 additions and 34 deletions

View File

@@ -67,6 +67,23 @@ export function parseTargetPrefix(params: {
return id ? buildMessagingTarget(params.kind, id, params.raw) : undefined;
}
export function parseTargetPrefixes(params: {
raw: string;
prefixes: Array<{ prefix: string; kind: MessagingTargetKind }>;
}): MessagingTarget | undefined {
for (const entry of params.prefixes) {
const parsed = parseTargetPrefix({
raw: params.raw,
prefix: entry.prefix,
kind: entry.kind,
});
if (parsed) {
return parsed;
}
}
return undefined;
}
export function requireTargetKind(params: {
platform: string;
target: MessagingTarget | undefined;