Spaces:
Paused
Paused
File size: 663 Bytes
fb4d8fe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | import { parseSlackTarget } from "../../../slack/targets.js";
export function normalizeSlackMessagingTarget(raw: string): string | undefined {
const target = parseSlackTarget(raw, { defaultKind: "channel" });
return target?.normalized;
}
export function looksLikeSlackTargetId(raw: string): boolean {
const trimmed = raw.trim();
if (!trimmed) {
return false;
}
if (/^<@([A-Z0-9]+)>$/i.test(trimmed)) {
return true;
}
if (/^(user|channel):/i.test(trimmed)) {
return true;
}
if (/^slack:/i.test(trimmed)) {
return true;
}
if (/^[@#]/.test(trimmed)) {
return true;
}
return /^[CUWGD][A-Z0-9]{8,}$/i.test(trimmed);
}
|