diff --git a/src/lib/types/meta.ts b/src/lib/types/meta.ts index 83cbb78..83b9489 100644 --- a/src/lib/types/meta.ts +++ b/src/lib/types/meta.ts @@ -34,3 +34,25 @@ export type ImageMeta = { sentences: DescribeSentence[]; selectedSentences: string[]; } + +export function isDatasetMeta(value: unknown): value is DatasetMeta { + if (typeof value !== 'object' || value === null) { + return false; + } + + const candidate = value as Partial; + + return ( + typeof candidate.name === 'string' && + typeof candidate.targetModel === 'string' && + typeof candidate.loraType === 'string' && + typeof candidate.unifiedImageSize === 'boolean' && + typeof candidate.unifiedImageRatio === 'boolean' && + Array.isArray(candidate.imageSize) && + candidate.imageSize.length === 2 && + typeof candidate.imageSize[0] === 'number' && + typeof candidate.imageSize[1] === 'number' && + Array.isArray(candidate.triggerWords) && + candidate.triggerWords.every((word) => typeof word === 'string') + ); +} diff --git a/src/routes/boot/+page.svelte b/src/routes/boot/+page.svelte index 522a08c..060130c 100644 --- a/src/routes/boot/+page.svelte +++ b/src/routes/boot/+page.svelte @@ -1,12 +1,72 @@
@@ -15,7 +75,7 @@ afterNavigate(() => { New Dataset - diff --git a/src/routes/create/+page.svelte b/src/routes/create/+page.svelte index 7a5b879..4ef955d 100644 --- a/src/routes/create/+page.svelte +++ b/src/routes/create/+page.svelte @@ -66,7 +66,6 @@ async function createDataset() { const metaPath = await join(storePath, 'meta.json'); await writeTextFile(metaPath, JSON.stringify(datasetMeta, null, 2)); - localStorage.setItem('#sym:openedDatasetDir', storePath); openedDatasetDir.set(storePath); await goto('/dataset');