diff --git a/examples/grid/src/index.ts b/examples/grid/src/index.ts
index 31f60411..d8c84e69 100644
--- a/examples/grid/src/index.ts
+++ b/examples/grid/src/index.ts
@@ -1,7 +1,7 @@
import { TopologyNode } from "@topology-foundation/node";
import type { TopologyObject } from "@topology-foundation/object";
import { Grid } from "./objects/grid";
-import { rgbToHsl, hslToRgb, rgbToHex } from "./util/color";
+import { hslToRgb, rgbToHex, rgbToHsl } from "./util/color";
const node = new TopologyNode();
let topologyObject: TopologyObject;
@@ -28,9 +28,9 @@ const hashCode = (str: string): number => {
const getColorForNodeId = (id: string): string => {
if (!colorMap.has(id)) {
const hash = hashCode(id);
- let r = (hash & 0xFF0000) >> 16;
- let g = (hash & 0x00FF00) >> 8;
- let b = (hash & 0x0000FF);
+ let r = (hash & 0xff0000) >> 16;
+ let g = (hash & 0x00ff00) >> 8;
+ let b = hash & 0x0000ff;
// Convert to HSL and adjust lightness to be below 50%
let [h, s, l] = rgbToHsl(r, g, b);
@@ -41,7 +41,7 @@ const getColorForNodeId = (id: string): string => {
const color = rgbToHex(r, g, b); // Convert RGB to hex
colorMap.set(id, color);
}
- return colorMap.get(id) || '#000000';
+ return colorMap.get(id) || "#000000";
};
const render = () => {
@@ -63,17 +63,17 @@ const render = () => {
element_peerId.innerHTML = `${formatNodeId(node.networkNode.peerId)}`;
const element_peers = document.getElementById("peers");
- element_peers.innerHTML = `[${peers.map(peer => `${formatNodeId(peer)}`).join(", ")}]`;
+ element_peers.innerHTML = `[${peers.map((peer) => `${formatNodeId(peer)}`).join(", ")}]`;
const element_discoveryPeers = (
document.getElementById("discoveryPeers")
);
- element_discoveryPeers.innerHTML = `[${discoveryPeers.map(peer => `${formatNodeId(peer)}`).join(", ")}]`;
+ element_discoveryPeers.innerHTML = `[${discoveryPeers.map((peer) => `${formatNodeId(peer)}`).join(", ")}]`;
const element_objectPeers = (
document.getElementById("objectPeers")
);
- element_objectPeers.innerHTML = `[${objectPeers.map(peer => `${formatNodeId(peer)}`).join(", ")}]`;
+ element_objectPeers.innerHTML = `[${objectPeers.map((peer) => `${formatNodeId(peer)}`).join(", ")}]`;
if (!gridCRO) return;
const users = gridCRO.getUsers();
@@ -112,7 +112,7 @@ const render = () => {
}
for (const userColorString of users) {
- const [id, color] = userColorString.split(':');
+ const [id, color] = userColorString.split(":");
const position = gridCRO.getUserPosition(userColorString);
if (position) {
@@ -171,7 +171,10 @@ async function addUser() {
return;
}
- gridCRO.addUser(node.networkNode.peerId, getColorForNodeId(node.networkNode.peerId));
+ gridCRO.addUser(
+ node.networkNode.peerId,
+ getColorForNodeId(node.networkNode.peerId),
+ );
render();
}
@@ -249,13 +252,17 @@ async function main() {
const copyButton = document.getElementById("copyGridId");
copyButton.addEventListener("click", () => {
- const gridIdText = (document.getElementById("gridId")).innerText;
- navigator.clipboard.writeText(gridIdText).then(() => {
- // alert("Grid CRO ID copied to clipboard!");
- console.log("Grid CRO ID copied to clipboard")
- }).catch(err => {
- console.error("Failed to copy: ", err);
- });
+ const gridIdText = (document.getElementById("gridId"))
+ .innerText;
+ navigator.clipboard
+ .writeText(gridIdText)
+ .then(() => {
+ // alert("Grid CRO ID copied to clipboard!");
+ console.log("Grid CRO ID copied to clipboard");
+ })
+ .catch((err) => {
+ console.error("Failed to copy: ", err);
+ });
});
}
diff --git a/examples/grid/src/objects/grid.ts b/examples/grid/src/objects/grid.ts
index 2f43c07e..70e9f286 100644
--- a/examples/grid/src/objects/grid.ts
+++ b/examples/grid/src/objects/grid.ts
@@ -10,10 +10,10 @@ import {
export class Grid implements CRO {
operations: string[] = ["addUser", "moveUser"];
semanticsType: SemanticsType = SemanticsType.pair;
- positions: Map;
+ positions: Map;
constructor() {
- this.positions = new Map();
+ this.positions = new Map();
}
addUser(userId: string, color: string): void {
@@ -22,7 +22,7 @@ export class Grid implements CRO {
private _addUser(userId: string, color: string): void {
const userColorString = `${userId}:${color}`;
- this.positions.set(userColorString, {x: 0, y: 0});
+ this.positions.set(userColorString, { x: 0, y: 0 });
}
moveUser(userId: string, direction: string): void {
@@ -30,7 +30,9 @@ export class Grid implements CRO {
}
private _moveUser(userId: string, direction: string): void {
- const userColorString = [...this.positions.keys()].find(u => u.startsWith(`${userId}:`));
+ const userColorString = [...this.positions.keys()].find((u) =>
+ u.startsWith(`${userId}:`),
+ );
if (userColorString) {
const position = this.positions.get(userColorString);
if (position) {
@@ -56,7 +58,9 @@ export class Grid implements CRO {
return [...this.positions.keys()];
}
- getUserPosition(userColorString: string): { x: number, y: number } | undefined {
+ getUserPosition(
+ userColorString: string,
+ ): { x: number; y: number } | undefined {
const position = this.positions.get(userColorString);
if (position) {
return position;
@@ -70,7 +74,7 @@ export class Grid implements CRO {
mergeCallback(operations: Operation[]): void {
// reset this.positions
- this.positions = new Map();
+ this.positions = new Map();
// apply operations to this.positions
for (const op of operations) {
diff --git a/examples/grid/src/util/color.ts b/examples/grid/src/util/color.ts
index 71d29225..a5243339 100644
--- a/examples/grid/src/util/color.ts
+++ b/examples/grid/src/util/color.ts
@@ -1,5 +1,8 @@
-
-export const rgbToHsl = (rInt: number, gInt: number, bInt: number): [number, number, number] => {
+export const rgbToHsl = (
+ rInt: number,
+ gInt: number,
+ bInt: number,
+): [number, number, number] => {
const r = rInt / 255;
const g = gInt / 255;
const b = bInt / 255;
@@ -15,16 +18,26 @@ export const rgbToHsl = (rInt: number, gInt: number, bInt: number): [number, num
const chromaticity = max - min;
s = l > 0.5 ? chromaticity / (2 - max - min) : chromaticity / (max + min);
switch (max) {
- case r: h = (g - b) / chromaticity + (g < b ? 6 : 0); break;
- case g: h = (b - r) / chromaticity + 2; break;
- case b: h = (r - g) / chromaticity + 4; break;
+ case r:
+ h = (g - b) / chromaticity + (g < b ? 6 : 0);
+ break;
+ case g:
+ h = (b - r) / chromaticity + 2;
+ break;
+ case b:
+ h = (r - g) / chromaticity + 4;
+ break;
}
h /= 6;
}
return [h * 360, s, l];
};
-export const hslToRgb = (h: number, s: number, l: number): [number, number, number] => {
+export const hslToRgb = (
+ h: number,
+ s: number,
+ l: number,
+): [number, number, number] => {
let r: number;
let g: number;
let b: number;
@@ -54,4 +67,4 @@ export const hslToRgb = (h: number, s: number, l: number): [number, number, numb
export const rgbToHex = (r: number, g: number, b: number): string => {
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
-};
\ No newline at end of file
+};
diff --git a/examples/grid/vite.config.mts b/examples/grid/vite.config.mts
index 9dd1b589..e3518486 100644
--- a/examples/grid/vite.config.mts
+++ b/examples/grid/vite.config.mts
@@ -6,9 +6,7 @@ export default defineConfig({
build: {
target: "esnext",
},
- plugins: [
- nodePolyfills(),
- ],
+ plugins: [nodePolyfills()],
optimizeDeps: {
esbuildOptions: {
target: "esnext",