From 498eb47fd86166b2f99aa592ccfdf9617cb9389d Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Wed, 23 Sep 2026 08:14:33 +0100 Subject: [PATCH] Rename --- .../metadata-persistence-provider.ts | 5 +++ .../src/persistence/persistence.ts | 8 ---- ...test.ts => is-file-type-mergeable.test.ts} | 40 +++++++++---------- ...-mergable.ts => is-file-type-mergeable.ts} | 2 +- 4 files changed, 26 insertions(+), 29 deletions(-) create mode 100644 frontend/sync-client/src/persistence/metadata-persistence-provider.ts delete mode 100644 frontend/sync-client/src/persistence/persistence.ts rename frontend/sync-client/src/utils/{is-file-type-mergable.test.ts => is-file-type-mergeable.test.ts} (51%) rename frontend/sync-client/src/utils/{is-file-type-mergable.ts => is-file-type-mergeable.ts} (90%) diff --git a/frontend/sync-client/src/persistence/metadata-persistence-provider.ts b/frontend/sync-client/src/persistence/metadata-persistence-provider.ts new file mode 100644 index 00000000..b0f9b974 --- /dev/null +++ b/frontend/sync-client/src/persistence/metadata-persistence-provider.ts @@ -0,0 +1,5 @@ +/** Replace the complete metadata value atomically. */ +export interface MetadataPersistenceProvider { + load: () => Promise; + save: (data: T) => Promise; +} diff --git a/frontend/sync-client/src/persistence/persistence.ts b/frontend/sync-client/src/persistence/persistence.ts deleted file mode 100644 index f879d06b..00000000 --- a/frontend/sync-client/src/persistence/persistence.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** save() atomically replaces the entire value and resolves only after both the - * data and its directory entry are durable across power loss. Failed saves must - * leave either complete value readable; callers retain their recovery journal. - */ -export interface PersistenceProvider { - load: () => Promise; - save: (data: T) => Promise; -} diff --git a/frontend/sync-client/src/utils/is-file-type-mergable.test.ts b/frontend/sync-client/src/utils/is-file-type-mergeable.test.ts similarity index 51% rename from frontend/sync-client/src/utils/is-file-type-mergable.test.ts rename to frontend/sync-client/src/utils/is-file-type-mergeable.test.ts index 08972b22..78173b54 100644 --- a/frontend/sync-client/src/utils/is-file-type-mergable.test.ts +++ b/frontend/sync-client/src/utils/is-file-type-mergeable.test.ts @@ -1,34 +1,34 @@ import { describe, it } from "node:test"; import assert from "node:assert"; -import { isFileTypeMergable } from "./is-file-type-mergable"; +import { isFileTypeMergeable } from "./is-file-type-mergeable"; -const mergableExtensions = ["md", "txt"]; -describe("isFileTypeMergable", () => { +const mergeableExtensions = ["md", "txt"]; +describe("isFileTypeMergeable", () => { it("should return true for .md files", () => { - assert.strictEqual(isFileTypeMergable(".md", mergableExtensions), true); + assert.strictEqual(isFileTypeMergeable(".md", mergeableExtensions), true); assert.strictEqual( - isFileTypeMergable("hi.md", mergableExtensions), + isFileTypeMergeable("hi.md", mergeableExtensions), true ); assert.strictEqual( - isFileTypeMergable("my/path/to/my/document.md", mergableExtensions), + isFileTypeMergeable("my/path/to/my/document.md", mergeableExtensions), true ); }); it("should return true for .txt files", () => { assert.strictEqual( - isFileTypeMergable(".txt", mergableExtensions), + isFileTypeMergeable(".txt", mergeableExtensions), true ); assert.strictEqual( - isFileTypeMergable("hi.txt", mergableExtensions), + isFileTypeMergeable("hi.txt", mergeableExtensions), true ); assert.strictEqual( - isFileTypeMergable( + isFileTypeMergeable( "my/path/to/my/document.txt", - mergableExtensions + mergeableExtensions ), true ); @@ -36,37 +36,37 @@ describe("isFileTypeMergable", () => { it("should be case insensitive", () => { assert.strictEqual( - isFileTypeMergable("hi.MD", mergableExtensions), + isFileTypeMergeable("hi.MD", mergeableExtensions), true ); assert.strictEqual( - isFileTypeMergable("my/path/to/my/DOCUMENT.MD", mergableExtensions), + isFileTypeMergeable("my/path/to/my/DOCUMENT.MD", mergeableExtensions), true ); assert.strictEqual( - isFileTypeMergable("hi.TXT", mergableExtensions), + isFileTypeMergeable("hi.TXT", mergeableExtensions), true ); assert.strictEqual( - isFileTypeMergable( + isFileTypeMergeable( "my/path/to/my/DOCUMENT.TXT", - mergableExtensions + mergeableExtensions ), true ); }); - it("should return false for non-mergable file types", () => { + it("should return false for non-mergeable file types", () => { assert.strictEqual( - isFileTypeMergable(".json", mergableExtensions), + isFileTypeMergeable(".json", mergeableExtensions), false ); assert.strictEqual( - isFileTypeMergable("HELLO.JSON", mergableExtensions), + isFileTypeMergeable("HELLO.JSON", mergeableExtensions), false ); assert.strictEqual( - isFileTypeMergable("my/config.yml", mergableExtensions), + isFileTypeMergeable("my/config.yml", mergeableExtensions), false ); }); @@ -82,6 +82,6 @@ for (const path of [ "note." ]) { it(`does not merge an extensionless file: ${path}`, () => { - assert.equal(isFileTypeMergable(path, ["md", "txt"]), false); + assert.equal(isFileTypeMergeable(path, ["md", "txt"]), false); }); } diff --git a/frontend/sync-client/src/utils/is-file-type-mergable.ts b/frontend/sync-client/src/utils/is-file-type-mergeable.ts similarity index 90% rename from frontend/sync-client/src/utils/is-file-type-mergable.ts rename to frontend/sync-client/src/utils/is-file-type-mergeable.ts index c09deaf6..d62dc270 100644 --- a/frontend/sync-client/src/utils/is-file-type-mergable.ts +++ b/frontend/sync-client/src/utils/is-file-type-mergeable.ts @@ -1,4 +1,4 @@ -export function isFileTypeMergable( +export function isFileTypeMergeable( pathOrFileName: string, mergeableExtensions: string[] ): boolean {