fix updateOperation
This commit is contained in:
parent
28c740b341
commit
99a06ce0b7
|
@ -64,6 +64,14 @@ const rewriteVarValues = (
|
|||
}
|
||||
const tab = (n: number) => new Array(n + 1).fill("").join("\t")
|
||||
const t = tab
|
||||
const replaceLast = (str: string, pattern: string | RegExp, replacement: string) => {
|
||||
const match = typeof pattern === "string"
|
||||
? pattern
|
||||
: (str.match(new RegExp(pattern.source, "g")) || []).slice(-1)[0]
|
||||
if (!match) return str
|
||||
const last = str.lastIndexOf(match)
|
||||
return last !== -1 ? `${str.slice(0, last)}${replacement}${str.slice(last + match.length)}` : str
|
||||
}
|
||||
|
||||
const updateOperation = (
|
||||
{ query, variables, field, level, hasSubField }: UpdateQuery,
|
||||
|
@ -78,14 +86,13 @@ const updateOperation = (
|
|||
)
|
||||
}
|
||||
}
|
||||
query = query
|
||||
.replace(
|
||||
`%${field[level - 1]}`,
|
||||
`${field[level]}${variables ? ` (${convertedType[0].join(", ")})` : ""}${
|
||||
hasSubField ? `${` {\n${t(level + 1)}%${field.at(-1)}\n${t(level)}}`}` : ""
|
||||
}\n${t(level)}%${field[level - 1]}`,
|
||||
)
|
||||
|
||||
query = replaceLast(
|
||||
query,
|
||||
`%${field[level - 1]}`,
|
||||
`${field[level]}${variables ? ` (${convertedType[0].join(", ")})` : ""}${
|
||||
hasSubField ? `${` {\n${t(level + 1)}%${field.at(-1)}\n${t(level)}}`}` : ""
|
||||
}\n${t(level)}%${field[level - 1]}`,
|
||||
)
|
||||
return {
|
||||
get() {
|
||||
// return query
|
||||
|
|
Loading…
Reference in New Issue