From df26fc32782fc3bdf533ff78b89066dcd73e69d0 Mon Sep 17 00:00:00 2001 From: droak Date: Sun, 25 Aug 2024 15:40:01 +0900 Subject: [PATCH] refactor crdt folder structure --- .../src/{builtins => crdts}/2PSet/index.ts | 0 .../src/{builtins => crdts}/GCounter/index.ts | 0 .../src/{builtins => crdts}/GSet/index.ts | 0 .../src/{builtins => crdts}/IPSet/index.ts | 0 .../LWWElementSet/index.ts | 0 .../{builtins => crdts}/LWWRegister/index.ts | 0 .../{builtins => crdts}/PNCounter/index.ts | 0 .../src/{builtins => crdts}/RGA/README.md | 0 .../crdt/src/{builtins => crdts}/RGA/index.ts | 0 packages/crdt/src/index.ts | 12 +++++++---- packages/crdt/tests/GCounter.test.ts | 8 ++++---- packages/crdt/tests/GSet.test.ts | 6 +++--- packages/crdt/tests/IPSet.test.ts | 4 ++-- packages/crdt/tests/LWWElementSet.test.ts | 20 +++++++++---------- packages/crdt/tests/LWWRegister.test.ts | 6 +++--- packages/crdt/tests/PNCounter.test.ts | 12 +++++------ packages/crdt/tests/TwoPSet.test.ts | 12 +++++------ packages/crdt/tests/index.test.ts | 3 --- 18 files changed, 42 insertions(+), 41 deletions(-) rename packages/crdt/src/{builtins => crdts}/2PSet/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/GCounter/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/GSet/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/IPSet/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/LWWElementSet/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/LWWRegister/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/PNCounter/index.ts (100%) rename packages/crdt/src/{builtins => crdts}/RGA/README.md (100%) rename packages/crdt/src/{builtins => crdts}/RGA/index.ts (100%) delete mode 100644 packages/crdt/tests/index.test.ts diff --git a/packages/crdt/src/builtins/2PSet/index.ts b/packages/crdt/src/crdts/2PSet/index.ts similarity index 100% rename from packages/crdt/src/builtins/2PSet/index.ts rename to packages/crdt/src/crdts/2PSet/index.ts diff --git a/packages/crdt/src/builtins/GCounter/index.ts b/packages/crdt/src/crdts/GCounter/index.ts similarity index 100% rename from packages/crdt/src/builtins/GCounter/index.ts rename to packages/crdt/src/crdts/GCounter/index.ts diff --git a/packages/crdt/src/builtins/GSet/index.ts b/packages/crdt/src/crdts/GSet/index.ts similarity index 100% rename from packages/crdt/src/builtins/GSet/index.ts rename to packages/crdt/src/crdts/GSet/index.ts diff --git a/packages/crdt/src/builtins/IPSet/index.ts b/packages/crdt/src/crdts/IPSet/index.ts similarity index 100% rename from packages/crdt/src/builtins/IPSet/index.ts rename to packages/crdt/src/crdts/IPSet/index.ts diff --git a/packages/crdt/src/builtins/LWWElementSet/index.ts b/packages/crdt/src/crdts/LWWElementSet/index.ts similarity index 100% rename from packages/crdt/src/builtins/LWWElementSet/index.ts rename to packages/crdt/src/crdts/LWWElementSet/index.ts diff --git a/packages/crdt/src/builtins/LWWRegister/index.ts b/packages/crdt/src/crdts/LWWRegister/index.ts similarity index 100% rename from packages/crdt/src/builtins/LWWRegister/index.ts rename to packages/crdt/src/crdts/LWWRegister/index.ts diff --git a/packages/crdt/src/builtins/PNCounter/index.ts b/packages/crdt/src/crdts/PNCounter/index.ts similarity index 100% rename from packages/crdt/src/builtins/PNCounter/index.ts rename to packages/crdt/src/crdts/PNCounter/index.ts diff --git a/packages/crdt/src/builtins/RGA/README.md b/packages/crdt/src/crdts/RGA/README.md similarity index 100% rename from packages/crdt/src/builtins/RGA/README.md rename to packages/crdt/src/crdts/RGA/README.md diff --git a/packages/crdt/src/builtins/RGA/index.ts b/packages/crdt/src/crdts/RGA/index.ts similarity index 100% rename from packages/crdt/src/builtins/RGA/index.ts rename to packages/crdt/src/crdts/RGA/index.ts diff --git a/packages/crdt/src/index.ts b/packages/crdt/src/index.ts index cee12030..9bf66ca1 100644 --- a/packages/crdt/src/index.ts +++ b/packages/crdt/src/index.ts @@ -1,4 +1,8 @@ -export * from "./builtins/GCounter/index.js"; -export * from "./builtins/PNCounter/index.js"; -export * from "./builtins/GSet/index.js"; -export * from "./builtins/2PSet/index.js"; +export * from "./crdts/2PSet/index.js" +export * from "./crdts/GCounter/index.js"; +export * from "./crdts/GSet/index.js"; +export * from "./crdts/IPSet/index.js"; +export * from "./crdts/LWWElementSet/index.js"; +export * from "./crdts/LWWRegister/index.js"; +export * from "./crdts/PNCounter/index.js"; +export * from "./crdts/RGA/index.js"; diff --git a/packages/crdt/tests/GCounter.test.ts b/packages/crdt/tests/GCounter.test.ts index 7aecf6e6..179db510 100644 --- a/packages/crdt/tests/GCounter.test.ts +++ b/packages/crdt/tests/GCounter.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach } from "vitest"; -import { GCounter } from "../src/builtins/GCounter"; +import { GCounter } from "../src/crdts/GCounter/index.js"; describe("G-Counter Tests", () => { let set1: GCounter; @@ -31,12 +31,12 @@ describe("G-Counter Tests", () => { test("Test Merge", () => { let set2 = new GCounter({ "node1": 3, "node2": 10}); - let set3 = new GCounter({ "node1": 5, "node3": 15}); - + let set3 = new GCounter({ "node1": 5, "node3": 15}); + expect(set1.counts).toEqual({"node1": 5, "node2": 10}); set2.merge(set1); expect(set2.counts).toEqual({"node1": 5, "node2": 10}); set1.merge(set3); expect(set1.counts).toEqual({"node1": 5, "node2": 10, "node3": 15}); }); -}); \ No newline at end of file +}); diff --git a/packages/crdt/tests/GSet.test.ts b/packages/crdt/tests/GSet.test.ts index 7b20379e..ba33118f 100644 --- a/packages/crdt/tests/GSet.test.ts +++ b/packages/crdt/tests/GSet.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach, afterEach } from "vitest"; -import { GSet } from "../src/builtins/GSet"; +import { GSet } from "../src/crdts/GSet/index.js"; describe("G-Set Tests", () => { @@ -41,6 +41,6 @@ describe("G-Set Tests", () => { set2.merge(set1); expect(set1.compare(set2)).toBe(true); - + }); -}); \ No newline at end of file +}); diff --git a/packages/crdt/tests/IPSet.test.ts b/packages/crdt/tests/IPSet.test.ts index 5c690c82..216f8917 100644 --- a/packages/crdt/tests/IPSet.test.ts +++ b/packages/crdt/tests/IPSet.test.ts @@ -1,6 +1,6 @@ import { describe, test, expect, beforeEach } from "vitest"; -import { IPSet } from "../src/builtins/IPSet"; -import { GCounter } from "../src/builtins/GCounter"; +import { IPSet } from "../src/crdts/IPSet/index.js"; +import { GCounter } from "../src/crdts/GCounter/index.js"; describe("Infinite-phase set Tests", () => { const peerId = "node"; diff --git a/packages/crdt/tests/LWWElementSet.test.ts b/packages/crdt/tests/LWWElementSet.test.ts index 0ec4b3de..0a763bed 100644 --- a/packages/crdt/tests/LWWElementSet.test.ts +++ b/packages/crdt/tests/LWWElementSet.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach } from "vitest"; -import { LWWElementSet, Bias } from "../src/builtins/LWWElementSet"; +import { LWWElementSet, Bias } from "../src/crdts/LWWElementSet/index.js"; describe("LWW-Element-Set Tests", () => { const testValues = ["walter", "jesse", "mike"]; @@ -31,7 +31,7 @@ describe("LWW-Element-Set Tests", () => { expect(set1.lookup("mike")).toBe(true); set1.getRemoves().set("mike", Date.now() + 1); - + expect(set1.lookup("mike")).toBe(false); }); @@ -52,12 +52,12 @@ describe("LWW-Element-Set Tests", () => { // Adding different names to each set set1.add("gustavo"); set2.add("saul"); - + expect(set1.compare(set2)).toBe(false); - + set1.merge(set2); set2.merge(set1); - + expect(set1.compare(set2)).toBe(true); }); @@ -65,12 +65,12 @@ describe("LWW-Element-Set Tests", () => { const timestamp = Date.now(); set1.getAdds().set("gustavo", timestamp); set2.getAdds().set("gustavo", timestamp + 5); - + expect(set1.getAdds().get("gustavo")).toBe(timestamp); - + set1.merge(set2); set2.merge(set1); - + expect(set1.getAdds().get("gustavo")).toBe(timestamp + 5); expect(set2.getAdds().get("gustavo")).toBe(timestamp + 5); }); @@ -82,9 +82,9 @@ describe("LWW-Element-Set Tests", () => { set2.getRemoves().set("gustavo", timestamp + 5); set1.merge(set2); - + expect(set1.lookup("gustavo")).toBe(false); expect(set1.getRemoves().get("gustavo")).toBe(timestamp + 5); }); }); -}); \ No newline at end of file +}); diff --git a/packages/crdt/tests/LWWRegister.test.ts b/packages/crdt/tests/LWWRegister.test.ts index 8f4e9231..8bc86eef 100644 --- a/packages/crdt/tests/LWWRegister.test.ts +++ b/packages/crdt/tests/LWWRegister.test.ts @@ -1,5 +1,5 @@ import { describe, test, expect, beforeEach, vi } from "vitest"; -import { LWWRegister } from "../src/builtins/LWWRegister/index.ts"; +import { LWWRegister } from "../src/crdts/LWWRegister/index.js"; describe('LWW-Register Tests', () => { test('Test Assign', () => { @@ -20,7 +20,7 @@ describe('LWW-Register Tests', () => { let register1 = new LWWRegister("alice", "node1"); vi.useRealTimers(); - + let register2 = new LWWRegister("alice", "node2"); expect(register1.compare(register2)).toEqual(true); @@ -61,4 +61,4 @@ describe('LWW-Register Tests', () => { vi.useRealTimers(); }); -}); \ No newline at end of file +}); diff --git a/packages/crdt/tests/PNCounter.test.ts b/packages/crdt/tests/PNCounter.test.ts index 89c6819f..c676bf37 100644 --- a/packages/crdt/tests/PNCounter.test.ts +++ b/packages/crdt/tests/PNCounter.test.ts @@ -1,6 +1,6 @@ -import { describe, test, expect, beforeEach, afterEach } from "vitest"; -import { PNCounter } from "../src/builtins/PNCounter"; -import { GCounter } from "../src/builtins/GCounter"; +import { describe, test, expect, beforeEach } from "vitest"; +import { PNCounter } from "../src/crdts/PNCounter/index.js"; +import { GCounter } from "../src/crdts/GCounter/index.js"; describe("PN-Counter Tests", () => { let set1: PNCounter; @@ -42,10 +42,10 @@ describe("PN-Counter Tests", () => { set1.increment("node1",10); set2.decrement("node2",5); expect(set1.compare(set2)).toBe(false); - expect(set2.compare(set1)).toBe(false); + expect(set2.compare(set1)).toBe(false); set1.merge(set2); set2.merge(set1); expect(set1.compare(set2)).toBe(true); - expect(set2.compare(set1)).toBe(true); + expect(set2.compare(set1)).toBe(true); }); -}); \ No newline at end of file +}); diff --git a/packages/crdt/tests/TwoPSet.test.ts b/packages/crdt/tests/TwoPSet.test.ts index f72cbf18..ab58fa2d 100644 --- a/packages/crdt/tests/TwoPSet.test.ts +++ b/packages/crdt/tests/TwoPSet.test.ts @@ -1,6 +1,6 @@ import { describe, test, expect, beforeEach } from "vitest"; -import { TwoPSet } from "../src/builtins/2PSet"; -import { GSet } from "../src/builtins/GSet"; +import { TwoPSet } from "../src/crdts/2PSet/index.js"; +import { GSet } from "../src/crdts/GSet/index.js"; describe("2P-Set Tests", () => { @@ -22,7 +22,7 @@ describe("2P-Set Tests", () => { test("Test Remove Element", () => { expect(set1.lookup("mike")).toBe(true); - + set1.remove("mike"); expect(set1.lookup("mike")).toBe(false); @@ -37,13 +37,13 @@ describe("2P-Set Tests", () => { set2.remove("mike"); - expect(set1.compare(set2)).toBe(true); + expect(set1.compare(set2)).toBe(true); }); test("Test Merge Elements", () => { set1.remove("mike"); set2.add("gustavo"); - + expect(set1.compare(set2)).toBe(false); set1.merge(set2); @@ -52,4 +52,4 @@ describe("2P-Set Tests", () => { expect(set1.compare(set2)).toBe(true); }); -}); \ No newline at end of file +}); diff --git a/packages/crdt/tests/index.test.ts b/packages/crdt/tests/index.test.ts deleted file mode 100644 index 59f99d4c..00000000 --- a/packages/crdt/tests/index.test.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { test } from "vitest"; - -test("mock", () => {});