fix structuredclone

This commit is contained in:
kwaroran
2024-10-25 18:11:00 +09:00
parent b3fddb814e
commit 0f6246bef6
28 changed files with 114 additions and 104 deletions

View File

@@ -141,7 +141,7 @@
if(rerollid < rerolls.length - 1){
if(Array.isArray(rerolls[rerollid + 1])){
rerollid += 1
let rerollData = structuredClone(rerolls[rerollid])
let rerollData = safeStructuredClone(rerolls[rerollid])
let msgs = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message
for(let i = 0; i < rerollData.length; i++){
msgs[msgs.length - rerollData.length + i] = rerollData[i]
@@ -151,10 +151,10 @@
return
}
if(rerolls.length === 0){
rerolls.push(structuredClone([DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message.at(-1)]))
rerolls.push(safeStructuredClone([DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message.at(-1)]))
rerollid = rerolls.length - 1
}
let cha = structuredClone(DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message)
let cha = safeStructuredClone(DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message)
if(cha.length === 0 ){
return
}
@@ -198,7 +198,7 @@
}
if(Array.isArray(rerolls[rerollid - 1])){
rerollid -= 1
let rerollData = structuredClone(rerolls[rerollid])
let rerollData = safeStructuredClone(rerolls[rerollid])
let msgs = DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message
for(let i = 0; i < rerollData.length; i++){
msgs[msgs.length - rerollData.length + i] = rerollData[i]
@@ -220,7 +220,7 @@
continue:continued
})
if(previousLength < DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message.length){
rerolls.push(structuredClone(DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message).slice(previousLength))
rerolls.push(safeStructuredClone(DBState.db.characters[$selectedCharID].chats[DBState.db.characters[$selectedCharID].chatPage].message).slice(previousLength))
rerollid = rerolls.length - 1
}
} catch (error) {

View File

@@ -253,14 +253,14 @@
{#if subMenu === 0}
{#each builtComponentTrees as component, i}
<button class="p-2 border border-black rounded" onclick={() => {
addContainerToTree(structuredClone(component), selectedContatiner)
addContainerToTree(safeStructuredClone(component), selectedContatiner)
renderMainTree(tree)
}}>{component.type}</button>
{/each}
{:else if subMenu === 1}
{#each builtContainerTrees as container, i}
<button class="p-2 border border-black rounded" onclick={() => {
addContainerToTree(structuredClone(container), selectedContatiner)
addContainerToTree(safeStructuredClone(container), selectedContatiner)
renderMainTree(tree)
}}>{container.type}</button>
{/each}

View File

@@ -85,7 +85,7 @@
<div class="flex mt-2 items-center">
<button class="text-textcolor2 hover:text-green-500 cursor-pointer mr-1" onclick={() => {
let botPresets = DBState.db.botPresets
let newPreset = structuredClone(prebuiltPresets.OAI2)
let newPreset = safeStructuredClone(prebuiltPresets.OAI2)
newPreset.name = `New Preset`
botPresets.push(newPreset)

View File

@@ -38,7 +38,7 @@
"system": "⚙️ System",
"assistant": "✨ Assistant",
}
let formated = structuredClone(previewFormated)
let formated = safeStructuredClone(previewFormated)
if(previewJoin === 'yes'){
let newFormated = []

View File

@@ -107,7 +107,7 @@
const option = await alertChatOptions()
switch(option){
case 0:{
const newChat = structuredClone($state.snapshot(chara.chats[i]))
const newChat = safeStructuredClone($state.snapshot(chara.chats[i]))
newChat.name = `Copy of ${newChat.name}`
chara.chats.unshift(newChat)
chara.chatPage = 0

View File

@@ -137,7 +137,7 @@
const da = db.characterOrder[mainIndex.index]
if(typeof(da) !== 'string'){
mainId = da.id
movingFolder = structuredClone($state.snapshot(da))
movingFolder = safeStructuredClone($state.snapshot(da))
if(targetIndex.folder){
return
}