[feat] change save format again
This commit is contained in:
4363
package-lock.json
generated
4363
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,6 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@adobe/css-tools": "4.3.0-beta.2",
|
"@adobe/css-tools": "4.3.0-beta.2",
|
||||||
"@dqbd/tiktoken": "^1.0.4",
|
"@dqbd/tiktoken": "^1.0.4",
|
||||||
"@msgpack/msgpack": "3.0.0-beta2",
|
|
||||||
"@tauri-apps/api": "1.3.0",
|
"@tauri-apps/api": "1.3.0",
|
||||||
"@xenova/transformers": "^2.1.1",
|
"@xenova/transformers": "^2.1.1",
|
||||||
"blueimp-md5": "^2.19.0",
|
"blueimp-md5": "^2.19.0",
|
||||||
@@ -34,6 +33,7 @@
|
|||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"lucide-svelte": "^0.130.0",
|
"lucide-svelte": "^0.130.0",
|
||||||
"mobile-drag-drop": "3.0.0-rc.0",
|
"mobile-drag-drop": "3.0.0-rc.0",
|
||||||
|
"msgpackr": "^1.9.5",
|
||||||
"node-html-parser": "^6.1.5",
|
"node-html-parser": "^6.1.5",
|
||||||
"pako": "^2.1.0",
|
"pako": "^2.1.0",
|
||||||
"png-chunk-text": "^1.0.0",
|
"png-chunk-text": "^1.0.0",
|
||||||
|
|||||||
83
pnpm-lock.yaml
generated
83
pnpm-lock.yaml
generated
@@ -7,9 +7,6 @@ dependencies:
|
|||||||
'@dqbd/tiktoken':
|
'@dqbd/tiktoken':
|
||||||
specifier: ^1.0.4
|
specifier: ^1.0.4
|
||||||
version: 1.0.4
|
version: 1.0.4
|
||||||
'@msgpack/msgpack':
|
|
||||||
specifier: 3.0.0-beta2
|
|
||||||
version: 3.0.0-beta2
|
|
||||||
'@tauri-apps/api':
|
'@tauri-apps/api':
|
||||||
specifier: 1.3.0
|
specifier: 1.3.0
|
||||||
version: 1.3.0
|
version: 1.3.0
|
||||||
@@ -61,6 +58,9 @@ dependencies:
|
|||||||
mobile-drag-drop:
|
mobile-drag-drop:
|
||||||
specifier: 3.0.0-rc.0
|
specifier: 3.0.0-rc.0
|
||||||
version: 3.0.0-rc.0
|
version: 3.0.0-rc.0
|
||||||
|
msgpackr:
|
||||||
|
specifier: ^1.9.5
|
||||||
|
version: 1.9.5
|
||||||
node-html-parser:
|
node-html-parser:
|
||||||
specifier: ^6.1.5
|
specifier: ^6.1.5
|
||||||
version: 6.1.5
|
version: 6.1.5
|
||||||
@@ -405,10 +405,53 @@ packages:
|
|||||||
'@jridgewell/sourcemap-codec': 1.4.14
|
'@jridgewell/sourcemap-codec': 1.4.14
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@msgpack/msgpack@3.0.0-beta2:
|
/@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2:
|
||||||
resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==}
|
resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==}
|
||||||
engines: {node: '>= 14'}
|
cpu: [arm64]
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
dev: false
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2:
|
||||||
|
resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [darwin]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2:
|
||||||
|
resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==}
|
||||||
|
cpu: [arm64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2:
|
||||||
|
resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==}
|
||||||
|
cpu: [arm]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2:
|
||||||
|
resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [linux]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2:
|
||||||
|
resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==}
|
||||||
|
cpu: [x64]
|
||||||
|
os: [win32]
|
||||||
|
requiresBuild: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
/@nodelib/fs.scandir@2.1.5:
|
/@nodelib/fs.scandir@2.1.5:
|
||||||
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
|
||||||
@@ -2079,6 +2122,28 @@ packages:
|
|||||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/msgpackr-extract@3.0.2:
|
||||||
|
resolution: {integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==}
|
||||||
|
hasBin: true
|
||||||
|
requiresBuild: true
|
||||||
|
dependencies:
|
||||||
|
node-gyp-build-optional-packages: 5.0.7
|
||||||
|
optionalDependencies:
|
||||||
|
'@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2
|
||||||
|
'@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2
|
||||||
|
'@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2
|
||||||
|
'@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2
|
||||||
|
'@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2
|
||||||
|
'@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
/msgpackr@1.9.5:
|
||||||
|
resolution: {integrity: sha512-/IJ3cFSN6Ci3eG2wLhbFEL6GT63yEaoN/R5My2QkV6zro+OJaVRLPlwvxY7EtHYSmDlQpk8stvOQTL2qJFkDRg==}
|
||||||
|
optionalDependencies:
|
||||||
|
msgpackr-extract: 3.0.2
|
||||||
|
dev: false
|
||||||
|
|
||||||
/mz@2.7.0:
|
/mz@2.7.0:
|
||||||
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -2113,6 +2178,12 @@ packages:
|
|||||||
resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
|
resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/node-gyp-build-optional-packages@5.0.7:
|
||||||
|
resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
optional: true
|
||||||
|
|
||||||
/node-html-parser@6.1.5:
|
/node-html-parser@6.1.5:
|
||||||
resolution: {integrity: sha512-fAaM511feX++/Chnhe475a0NHD8M7AxDInsqQpz6x63GRF7xYNdS8Vo5dKsIVPgsOvG7eioRRTZQnWBrhDHBSg==}
|
resolution: {integrity: sha512-fAaM511feX++/Chnhe475a0NHD8M7AxDInsqQpz6x63GRF7xYNdS8Vo5dKsIVPgsOvG7eioRRTZQnWBrhDHBSg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { alertConfirm, alertError, alertMd, alertNormal, alertSelect, alertStore
|
|||||||
import { DataBase, defaultSdDataFunc, type character, setDatabase, type customscript, type loreSettings, type loreBook } from "./storage/database"
|
import { DataBase, defaultSdDataFunc, type character, setDatabase, type customscript, type loreSettings, type loreBook } from "./storage/database"
|
||||||
import { checkNullish, selectMultipleFile, selectSingleFile, sleep } from "./util"
|
import { checkNullish, selectMultipleFile, selectSingleFile, sleep } from "./util"
|
||||||
import { language } from "src/lang"
|
import { language } from "src/lang"
|
||||||
import { encode as encodeMsgpack, decode as decodeMsgpack } from "@msgpack/msgpack";
|
import { encode as encodeMsgpack, decode as decodeMsgpack } from "msgpackr";
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
import exifr from 'exifr'
|
import exifr from 'exifr'
|
||||||
import { PngMetadata } from "./exif"
|
import { PngMetadata } from "./exif"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import exifr from 'exifr'
|
|||||||
import { alertConfirm, alertError, alertNormal, alertSelect, alertStore } from "./alert";
|
import { alertConfirm, alertError, alertNormal, alertSelect, alertStore } from "./alert";
|
||||||
import { language } from "../lang";
|
import { language } from "../lang";
|
||||||
import { PngMetadata } from "./exif";
|
import { PngMetadata } from "./exif";
|
||||||
import { encode as encodeMsgpack, decode as decodeMsgpack } from "@msgpack/msgpack";
|
import { encode as encodeMsgpack, decode as decodeMsgpack } from "msgpackr";
|
||||||
import { checkNullish, findCharacterbyId, selectMultipleFile, selectSingleFile, sleep } from "./util";
|
import { checkNullish, findCharacterbyId, selectMultipleFile, selectSingleFile, sleep } from "./util";
|
||||||
import { v4 as uuidv4 } from 'uuid';
|
import { v4 as uuidv4 } from 'uuid';
|
||||||
import { selectedCharID } from "./stores";
|
import { selectedCharID } from "./stores";
|
||||||
|
|||||||
@@ -1,42 +1,34 @@
|
|||||||
import { decode, encode } from "@msgpack/msgpack";
|
import { decode, encode } from "msgpackr";
|
||||||
import { isEqual } from "lodash";
|
|
||||||
import pako from "pako";
|
import pako from "pako";
|
||||||
import { isTauri } from "./globalApi";
|
import { isTauri } from "./globalApi";
|
||||||
|
|
||||||
|
|
||||||
export function encodeRisuSave(data:any){
|
|
||||||
const risuSaveHeader = new Uint8Array(Buffer.from("\u0000\u0000RISU",'utf-8'))
|
|
||||||
const encoded = encode(data)
|
|
||||||
|
|
||||||
|
export function encodeRisuSave(data:any){
|
||||||
|
const encoded = encode(data)
|
||||||
if(isTauri){
|
if(isTauri){
|
||||||
return pako.deflate(encoded)
|
return pako.deflate(encoded)
|
||||||
}
|
}
|
||||||
const mergedArray = new Uint8Array(risuSaveHeader.length + encoded.length);
|
return encoded
|
||||||
mergedArray.set(risuSaveHeader);
|
|
||||||
mergedArray.set(encoded, risuSaveHeader.length);
|
|
||||||
return mergedArray
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function decodeRisuSave(data:Uint8Array){
|
export function decodeRisuSave(data:Uint8Array){
|
||||||
const risuSaveHeader = new Uint8Array(Buffer.from("\u0000\u0000RISU",'utf-8'))
|
try {
|
||||||
const sub = data.subarray(0, risuSaveHeader.length)
|
return decode(data)
|
||||||
if(isEqual(sub, risuSaveHeader)){
|
|
||||||
const realData = data.subarray(risuSaveHeader.length)
|
|
||||||
const dec = decode(realData)
|
|
||||||
return dec
|
|
||||||
}
|
}
|
||||||
else{
|
catch (error) {
|
||||||
try {
|
try {
|
||||||
|
const risuSaveHeader = new Uint8Array(Buffer.from("\u0000\u0000RISU",'utf-8'))
|
||||||
|
const realData = data.subarray(risuSaveHeader.length)
|
||||||
|
const dec = decode(realData)
|
||||||
|
return dec
|
||||||
|
} catch (error) {
|
||||||
const buf = Buffer.from(pako.inflate(Buffer.from(data)))
|
const buf = Buffer.from(pako.inflate(Buffer.from(data)))
|
||||||
try {
|
try {
|
||||||
return JSON.parse(buf.toString('utf-8'))
|
return JSON.parse(buf.toString('utf-8'))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return decode(buf)
|
return decode(buf)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
|
||||||
const realData = data.subarray(risuSaveHeader.length)
|
|
||||||
const dec = decode(realData)
|
|
||||||
return dec
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user