decentralised sync engine

refactor: nullable opts

serenity 0a968f67 c43f0a2f

Changed files
+14 -16
src
lib
utils
+14 -16
src/lib/utils/prism.ts
···
import { PRISM_URL } from "@/lib/env";
import WebSocket from "ws";
-
export const connectToPrism = ({
-
wantedCollections,
-
wantedDids,
-
cursor,
-
}: {
+
export const connectToPrism = (opts?: {
wantedCollections?: Array<string>;
wantedDids?: Array<string>;
-
cursor: number;
+
cursor?: number;
}) => {
const endpoint = PRISM_URL;
-
if (wantedCollections)
-
wantedCollections.forEach((collection) => {
-
endpoint.searchParams.append("wantedCollections", collection);
-
});
-
if (wantedDids)
-
wantedDids.forEach((did) => {
-
endpoint.searchParams.append("wantedDids", did);
-
});
-
if (cursor) endpoint.searchParams.append("cursor", cursor.toString());
-
+
if (opts) {
+
const { wantedCollections, wantedDids, cursor } = opts;
+
if (wantedCollections)
+
wantedCollections.forEach((collection) => {
+
endpoint.searchParams.append("wantedCollections", collection);
+
});
+
if (wantedDids)
+
wantedDids.forEach((did) => {
+
endpoint.searchParams.append("wantedDids", did);
+
});
+
if (cursor) endpoint.searchParams.append("cursor", cursor.toString());
+
}
return new WebSocket(endpoint);
};