api/processing/service-patterns: refactor
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (none, javascript-typescript) (push) Has been cancelled
Run service tests / test service functionality (push) Has been cancelled
Run tests / check lockfile correctness (push) Has been cancelled
Run tests / web sanity check (push) Has been cancelled
Run tests / api sanity check (push) Has been cancelled
Run service tests / test service: ${{ matrix.service }} (push) Has been cancelled

sorted all patterns alphabetically and moved the "or" operator to the end of the line
This commit is contained in:
wukko 2025-08-11 18:31:52 +06:00
parent 64a7b1dd62
commit 7a6977ec35
No known key found for this signature in database
GPG Key ID: 3E30B3F26C7B4AA2

View File

@ -5,51 +5,68 @@ export const testers = {
pattern.comShortLink?.length <= 16 || pattern.comShortLink?.length <= 16 ||
pattern.tvId?.length <= 24, pattern.tvId?.length <= 24,
"bsky": pattern =>
pattern.user?.length <= 128 && pattern.post?.length <= 128,
"dailymotion": pattern => pattern.id?.length <= 32, "dailymotion": pattern => pattern.id?.length <= 32,
"facebook": pattern =>
pattern.shortLink?.length <= 11 ||
pattern.username?.length <= 30 ||
pattern.caption?.length <= 255 ||
pattern.id?.length <= 20 && !pattern.shareType ||
pattern.id?.length <= 20 && pattern.shareType?.length === 1,
"instagram": pattern => "instagram": pattern =>
pattern.postId?.length <= 48 pattern.postId?.length <= 48 ||
|| pattern.shareId?.length <= 16 pattern.shareId?.length <= 16 ||
|| (pattern.username?.length <= 30 && pattern.storyId?.length <= 24), (pattern.username?.length <= 30 && pattern.storyId?.length <= 24),
"loom": pattern => "loom": pattern =>
pattern.id?.length <= 32, pattern.id?.length <= 32,
"newgrounds": pattern =>
pattern.id?.length <= 12 ||
pattern.audioId?.length <= 12,
"ok": pattern => "ok": pattern =>
pattern.id?.length <= 16, pattern.id?.length <= 16,
"pinterest": pattern => "pinterest": pattern =>
pattern.id?.length <= 128 || pattern.shortLink?.length <= 32, pattern.id?.length <= 128 ||
pattern.shortLink?.length <= 32,
"reddit": pattern => "reddit": pattern =>
pattern.id?.length <= 16 && !pattern.sub && !pattern.user pattern.id?.length <= 16 && !pattern.sub && !pattern.user ||
|| (pattern.sub?.length <= 22 && pattern.id?.length <= 16) (pattern.sub?.length <= 22 && pattern.id?.length <= 16) ||
|| (pattern.user?.length <= 22 && pattern.id?.length <= 16) (pattern.user?.length <= 22 && pattern.id?.length <= 16) ||
|| (pattern.sub?.length <= 22 && pattern.shareId?.length <= 16) (pattern.sub?.length <= 22 && pattern.shareId?.length <= 16) ||
|| (pattern.shortId?.length <= 16), (pattern.shortId?.length <= 16),
"rutube": pattern => "rutube": pattern =>
(pattern.id?.length === 32 && pattern.key?.length <= 32) || (pattern.id?.length === 32 && pattern.key?.length <= 32) ||
pattern.id?.length === 32 || pattern.yappyId?.length === 32, pattern.id?.length === 32 ||
pattern.yappyId?.length === 32,
"soundcloud": pattern =>
(pattern.author?.length <= 255 && pattern.song?.length <= 255)
|| pattern.shortLink?.length <= 32,
"snapchat": pattern => "snapchat": pattern =>
(pattern.username?.length <= 32 && (!pattern.storyId || pattern.storyId?.length <= 255)) (pattern.username?.length <= 32 && (!pattern.storyId || pattern.storyId?.length <= 255)) ||
|| pattern.spotlightId?.length <= 255 pattern.spotlightId?.length <= 255 ||
|| pattern.shortLink?.length <= 16, pattern.shortLink?.length <= 16,
"soundcloud": pattern =>
(pattern.author?.length <= 255 && pattern.song?.length <= 255) ||
pattern.shortLink?.length <= 32,
"streamable": pattern => "streamable": pattern =>
pattern.id?.length <= 6, pattern.id?.length <= 6,
"tiktok": pattern => "tiktok": pattern =>
pattern.postId?.length <= 21 || pattern.shortLink?.length <= 21, pattern.postId?.length <= 21 ||
pattern.shortLink?.length <= 21,
"tumblr": pattern => "tumblr": pattern =>
pattern.id?.length < 21 pattern.id?.length < 21 ||
|| (pattern.id?.length < 21 && pattern.user?.length <= 32), (pattern.id?.length < 21 && pattern.user?.length <= 32),
"twitch": pattern => "twitch": pattern =>
pattern.channel && pattern.clip?.length <= 100, pattern.channel && pattern.clip?.length <= 100,
@ -58,30 +75,16 @@ export const testers = {
pattern.id?.length < 20, pattern.id?.length < 20,
"vimeo": pattern => "vimeo": pattern =>
pattern.id?.length <= 11 pattern.id?.length <= 11 && (!pattern.password || pattern.password.length < 16),
&& (!pattern.password || pattern.password.length < 16),
"vk": pattern => "vk": pattern =>
(pattern.ownerId?.length <= 10 && pattern.videoId?.length <= 10) || (pattern.ownerId?.length <= 10 && pattern.videoId?.length <= 10) ||
(pattern.ownerId?.length <= 10 && pattern.videoId?.length <= 10 && pattern.videoId?.accessKey <= 18), (pattern.ownerId?.length <= 10 && pattern.videoId?.length <= 10 && pattern.videoId?.accessKey <= 18),
"xiaohongshu": pattern =>
pattern.id?.length <= 24 && pattern.token?.length <= 64 ||
pattern.shareId?.length <= 24 && pattern.shareType?.length === 1,
"youtube": pattern => "youtube": pattern =>
pattern.id?.length <= 11, pattern.id?.length <= 11,
"facebook": pattern =>
pattern.shortLink?.length <= 11
|| pattern.username?.length <= 30
|| pattern.caption?.length <= 255
|| pattern.id?.length <= 20 && !pattern.shareType
|| pattern.id?.length <= 20 && pattern.shareType?.length === 1,
"bsky": pattern =>
pattern.user?.length <= 128 && pattern.post?.length <= 128,
"xiaohongshu": pattern =>
pattern.id?.length <= 24 && pattern.token?.length <= 64
|| pattern.shareId?.length <= 24 && pattern.shareType?.length === 1,
"newgrounds": pattern =>
pattern.id?.length <= 12 || pattern.audioId?.length <= 12,
} }