From 0252d5ea05b66ac244fb1a1bf94ff61b9a39f245 Mon Sep 17 00:00:00 2001 From: guiltygyoza <59590480+guiltygyoza@users.noreply.github.com> Date: Thu, 19 Sep 2024 09:52:33 +0800 Subject: [PATCH] cleanup --- examples/grid/src/index.ts | 16 ++--- packages/crdt/src/crdts/GCounter/index.ts | 68 ------------------- packages/crdt/src/crdts/PNCounter/index.ts | 77 ---------------------- packages/crdt/src/index.ts | 12 ---- 4 files changed, 8 insertions(+), 165 deletions(-) delete mode 100644 packages/crdt/src/crdts/GCounter/index.ts delete mode 100644 packages/crdt/src/crdts/PNCounter/index.ts delete mode 100644 packages/crdt/src/index.ts diff --git a/examples/grid/src/index.ts b/examples/grid/src/index.ts index 6ffb9fba..bf5094d1 100644 --- a/examples/grid/src/index.ts +++ b/examples/grid/src/index.ts @@ -26,14 +26,14 @@ const hashCode = (str: string): number => { }; const rgbToHsl = (r_: number, g_: number, b_: number): [number, number, number] => { - let r = r_ / 255; - let g = g_ / 255; - let b = b_ / 255; + const r = r_ / 255; + const g = g_ / 255; + const b = b_ / 255; const max = Math.max(r, g, b); const min = Math.min(r, g, b); let h = 0; - let s; - let l = (max + min) / 2; // Initialize h with a default value + let s: number; + const l = (max + min) / 2; // Initialize h with a default value if (max === min) { h = s = 0; // achromatic @@ -51,9 +51,9 @@ const rgbToHsl = (r_: number, g_: number, b_: number): [number, number, number] }; const hslToRgb = (h: number, s: number, l: number): [number, number, number] => { - let r; - let g - let b; + let r: number; + let g: number; + let b: number; if (s === 0) { r = g = b = l; // achromatic diff --git a/packages/crdt/src/crdts/GCounter/index.ts b/packages/crdt/src/crdts/GCounter/index.ts deleted file mode 100644 index 096aebc5..00000000 --- a/packages/crdt/src/crdts/GCounter/index.ts +++ /dev/null @@ -1,68 +0,0 @@ -/// GCounter with support for state and op changes -export class GCounter { - globalCounter: number; - // instead of standard incremental id for replicas - // we map the counter with the node id - counts: { [nodeId: string]: number }; - - constructor(counts: { [nodeId: string]: number }) { - this.globalCounter = Object.values(counts).reduce((a, b) => a + b, 0); - this.counts = counts; - } - - value(): number { - return this.globalCounter; - } - - increment(nodeId: string, amount: number): void { - this.globalCounter += amount; - this.counts[nodeId] = (this.counts[nodeId] || 0) + amount; - } - - compare(peerCounter: GCounter): boolean { - return ( - Object.keys(this.counts).length === Object.keys(peerCounter.counts).length && - Object.keys(this.counts).every( - (key) => this.counts[key] <= peerCounter.counts[key], - ) - ); - } - - merge(peerCounter: GCounter): void { - const temp: { [nodeKey: string]: number } = Object.assign( - {}, - this.counts, - peerCounter.counts, - ); - - for (const key of Object.keys(temp)) { - this.counts[key] = Math.max( - this.counts[key] || 0, - peerCounter.counts[key] || 0, - ); - } - - this.globalCounter = Object.values(this.counts).reduce((a, b) => a + b, 0); - } -} - -/// AssemblyScript functions -export function gcounter_create(counts: { [nodeId: string]: number }): GCounter { - return new GCounter(counts); -} - -export function gcounter_value(counter: GCounter): number { - return counter.value(); -} - -export function gcounter_increment(counter: GCounter, nodeId: string, amount: number): void { - counter.increment(nodeId, amount); -} - -export function gcounter_compare(counter: GCounter, peerCounter: GCounter): boolean { - return counter.compare(peerCounter); -} - -export function gcounter_merge(counter: GCounter, peerCounter: GCounter): void { - counter.merge(peerCounter); -} diff --git a/packages/crdt/src/crdts/PNCounter/index.ts b/packages/crdt/src/crdts/PNCounter/index.ts deleted file mode 100644 index c4dd93a6..00000000 --- a/packages/crdt/src/crdts/PNCounter/index.ts +++ /dev/null @@ -1,77 +0,0 @@ -import type { GCounter } from "../GCounter/index.js"; - -/// State-based PNCounter -export class PNCounter { - private _increments: GCounter; - private _decrements: GCounter; - - constructor(increments: GCounter, decrements: GCounter) { - this._increments = increments; - this._decrements = decrements; - } - - value(): number { - return this._increments.value() - this._decrements.value(); - } - - increments(): GCounter { - return this._increments; - } - - decrements(): GCounter { - return this._decrements; - } - - increment(nodeId: string, amount: number): void { - this._increments.increment(nodeId, amount); - } - - decrement(nodeId: string, amount: number): void { - this._decrements.increment(nodeId, amount); - } - - compare(peerCounter: PNCounter): boolean { - return ( - this._increments.compare(peerCounter.increments()) && - this._decrements.compare(peerCounter.decrements()) - ); - } - - merge(peerCounter: PNCounter): void { - this._increments.merge(peerCounter.increments()); - this._decrements.merge(peerCounter.decrements()); - } -} - -/// AssemblyScript functions -export function pncounter_create(increments: GCounter, decrements: GCounter): PNCounter { - return new PNCounter(increments, decrements); -} - -export function pncounter_value(counter: PNCounter): number { - return counter.value(); -} - -export function pncounter_increments(counter: PNCounter): GCounter { - return counter.increments(); -} - -export function pncounter_decrements(counter: PNCounter): GCounter { - return counter.decrements(); -} - -export function pncounter_increment(counter: PNCounter, nodeId: string, amount: number): void { - counter.increment(nodeId, amount); -} - -export function pncounter_decrement(counter: PNCounter, nodeId: string, amount: number): void { - counter.decrement(nodeId, amount); -} - -export function pncounter_compare(counter: PNCounter, peerCounter: PNCounter): boolean { - return counter.compare(peerCounter); -} - -export function pncounter_merge(counter: PNCounter, peerCounter: PNCounter): void { - counter.merge(peerCounter); -} diff --git a/packages/crdt/src/index.ts b/packages/crdt/src/index.ts deleted file mode 100644 index 98d91457..00000000 --- a/packages/crdt/src/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -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/OORSet/index.js"; -export * from "./crdts/PNCounter/index.js"; -export * from "./crdts/RGA/index.js"; -export * from "./crdts/GMap/index.js"; - -export * from "./cros/AddWinsSet/index.js";