mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add ranges to /cut slash command
This commit is contained in:
@ -27,6 +27,33 @@ export function isValidUrl(value) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses ranges like 10-20 or 10.
|
||||
* Range is inclusive. Start must be less than end.
|
||||
* Returns null if invalid.
|
||||
* @param {string} input The input string.
|
||||
* @param {number} min The minimum value.
|
||||
* @param {number} max The maximum value.
|
||||
* @returns {{ start: number, end: number }} The parsed range.
|
||||
*/
|
||||
export function stringToRange(input, min, max) {
|
||||
let start, end;
|
||||
|
||||
if (input.includes('-')) {
|
||||
const parts = input.split('-');
|
||||
start = parts[0] ? parseInt(parts[0], 10) : NaN;
|
||||
end = parts[1] ? parseInt(parts[1], 10) : NaN;
|
||||
} else {
|
||||
start = end = parseInt(input, 10);
|
||||
}
|
||||
|
||||
if (isNaN(start) || isNaN(end) || start > end || start < min || end > max) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return { start, end };
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if a value is unique in an array.
|
||||
* @param {any} value Current value.
|
||||
|
Reference in New Issue
Block a user