This commit is contained in:
Asaki Yuki 2026-02-23 11:00:34 +07:00
parent 581228ada9
commit 08961f692b

View file

@ -204,10 +204,6 @@ export const defaultFunctions = {
str_slice: (str, start, end) => { str_slice: (str, start, end) => {
const prefix = `'asajs:${RandomString(5)}:'` const prefix = `'asajs:${RandomString(5)}:'`
if (isBinding(start)) start = `('%.' + (${start} + ${prefix.length - 2}) + 's')`
else if (isNumber(start)) start = `'%.${+start + prefix.length - 2}s'`
else throw new Error("Invalid start")
const genStrBinds: GenBinding = { const genStrBinds: GenBinding = {
source: ``, source: ``,
target: RandomBindingString(), target: RandomBindingString(),
@ -217,8 +213,12 @@ export const defaultFunctions = {
else if (isString(str)) genStrBinds.source = `${prefix.slice(0, -1)}${str.slice(1)}` else if (isString(str)) genStrBinds.source = `${prefix.slice(0, -1)}${str.slice(1)}`
else throw new Error("Invalid str") else throw new Error("Invalid str")
if (isBinding(start)) start = `('%.' + (${prefix.length - 2} + ${start}) + 's')`
else if (isNumber(start)) start = `'%.${+start + prefix.length - 2}s'`
else throw new Error("Invalid start")
if (end) { if (end) {
if (isBinding(end)) end = `('%.' + (${end} + ${prefix.length - 2}) + 's')` if (isBinding(end)) end = `('%.' + (${prefix.length - 2} + ${end}) + 's')`
else if (isNumber(end)) end = `'%.${+end + prefix.length - 2}s'` else if (isNumber(end)) end = `'%.${+end + prefix.length - 2}s'`
else throw new Error("Invalid end") else throw new Error("Invalid end")