/
githubmirror
/
Motrix
Обзор
Документация
Войти
/
githubmirror
/
Motrix
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/shared/utils/rename.js
74 строки
1 KB
Dr_rOot
fix: add one task triggered rename rule
12 май 2021, 06:24
12 май 2021, 06:24
bffe919
Код
Авторство
О чём код?
const RULE_REGEX = /\(([^)]*)\)/ const PLUS = '+' const MINUS = '-' const OPERATORS = [PLUS, MINUS] export const getRuleString = (out) => { const rule = out.match(RULE_REGEX) const result = rule && rule[1] return result } export const buildRule = (rule) => { let ruleArr let operator = PLUS let init = 1 let step = 1 let len = 1 OPERATORS.some(OPT => { if (rule.includes(OPT)) { ruleArr = rule.split(OPT) operator = OPT return true } return false }) if (ruleArr) { len = ruleArr[0].length init = parseInt(ruleArr[0], 10) step = ruleArr[1] || 1 if (operator === MINUS) { step = -step } } return { init, step, len } } export const buildOuts = (uris = [], out = '') => { const result = [] const count = uris.length if (count === 0 || !out) { return result } if (count === 1) { return [out] } const ruleStr = getRuleString(out) if (!ruleStr) { return result } const rule = buildRule(ruleStr) let idx let temp for (let i = 0; i < count; i++) { idx = `${rule.init + rule.step * i}`.padStart(rule.len, '0') temp = out.replace(RULE_REGEX, idx) result.push(temp) } return result }