| 992 | const firstToken = tokens[0] || ""; |
| 993 | |
| 994 | if (/^[1-9]\d*$/.test(firstToken)) { |
| 995 | const limit = Number(firstToken); |
| 996 | const targetArg = tokens.slice(1).join(" ").trim(); |
| 997 | return { |
| 998 | limit, |
| 999 | targetArg: targetArg || undefined, |
| 1000 | }; |
| 1001 | } |
| 1002 | |
| 1003 | return { |
| 1004 | limit: 10, |
| 1005 | targetArg: trimmed, |
| 1006 | }; |
| 1007 | } |
| 1008 | |
| 1009 | function parseTrimArgs(remainder: string): { |
| 1010 | limit?: number; |
| 1011 | targetArg?: string; |
| 1012 | } { |
| 1013 | const trimmed = remainder.trim(); |
| 1014 | if (!trimmed) { |
| 1015 | return {}; |
| 1016 | } |
| 1017 | |
| 1018 | const tokens = trimmed.split(/\s+/).filter(Boolean); |
| 1019 | const firstToken = tokens[0] || ""; |
| 1020 | if (!/^[1-9]\d*$/.test(firstToken)) { |
| 1021 | return {}; |
| 1022 | } |