applesauce-relay 0.0.0-next-20250918142212 → 0.0.0-next-20250919114711

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,65 +0,0 @@
1
- export function createClientSpy(addOnMessageListener) {
2
- let queue = { type: "empty" };
3
- addOnMessageListener((message) => {
4
- switch (queue.type) {
5
- case "empty": {
6
- queue = {
7
- type: "message",
8
- items: [message],
9
- };
10
- break;
11
- }
12
- case "message": {
13
- queue.items.push(message);
14
- break;
15
- }
16
- case "resolver": {
17
- const item = queue.items.shift();
18
- if (item) {
19
- const resolve = item[0];
20
- resolve(message);
21
- }
22
- if (queue.items.length <= 0) {
23
- queue = { type: "empty" };
24
- }
25
- }
26
- }
27
- });
28
- return {
29
- __createClientSpy: true,
30
- next: () => new Promise((resolve, reject) => {
31
- switch (queue.type) {
32
- case "empty": {
33
- queue = {
34
- type: "resolver",
35
- items: [[resolve, reject]],
36
- };
37
- break;
38
- }
39
- case "message": {
40
- const msg = queue.items.shift();
41
- if (msg) {
42
- resolve(msg);
43
- }
44
- if (queue.items.length <= 0) {
45
- queue = { type: "empty" };
46
- }
47
- break;
48
- }
49
- case "resolver": {
50
- queue.items.push([resolve, reject]);
51
- break;
52
- }
53
- }
54
- }),
55
- dispose: () => {
56
- if (queue.type === "resolver") {
57
- for (const item of queue.items) {
58
- const reject = item[1];
59
- reject(new Error());
60
- }
61
- }
62
- queue = { type: "empty" };
63
- },
64
- };
65
- }
@@ -1,3 +0,0 @@
1
- export declare class TimeoutError extends Error {
2
- }
3
- export declare function withTimeout<T>(task: Promise<T> | (() => Promise<T>), message?: string, timeout?: number): Promise<T>;
@@ -1,8 +0,0 @@
1
- export class TimeoutError extends Error {
2
- }
3
- export function withTimeout(task, message, timeout = 1000) {
4
- return Promise.race([
5
- typeof task === "function" ? task() : task,
6
- new Promise((_, reject) => setTimeout(() => reject(new TimeoutError(message)), timeout)),
7
- ]);
8
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,15 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import * as exports from "../index.js";
3
- describe("exports", () => {
4
- it("should export the expected functions", () => {
5
- expect(Object.keys(exports).sort()).toMatchInlineSnapshot(`
6
- [
7
- "completeOnEose",
8
- "markFromRelay",
9
- "onlyEvents",
10
- "storeEvents",
11
- "toEventStore",
12
- ]
13
- `);
14
- });
15
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,18 +0,0 @@
1
- import { EventStore } from "applesauce-core";
2
- import { describe, expect, it } from "vitest";
3
- import { FakeUser } from "../../__tests__/fake-user.js";
4
- import { of } from "rxjs";
5
- import { subscribeSpyTo } from "@hirez_io/observer-spy";
6
- import { toEventStore } from "../to-event-store.js";
7
- const user = new FakeUser();
8
- describe("toEventStore", () => {
9
- it("should remove duplicate events", () => {
10
- const eventStore = new EventStore();
11
- const event = user.note("original content");
12
- const source = of(event, { ...event }, { ...event }, { ...event });
13
- const spy = subscribeSpyTo(source.pipe(toEventStore(eventStore)));
14
- expect(spy.getValuesLength()).toBe(1);
15
- expect(spy.getValueAt(0).length).toBe(1);
16
- expect(spy.getValueAt(0)[0]).toBe(event);
17
- });
18
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,9 +0,0 @@
1
- import { z } from "zod";
2
- const IncomingREQ = z.tuple([z.literal("REQ"), z.string(), z.array(z.any())]);
3
- const IncomingEVENT = z.tuple([z.literal("EVENT"), z.any()]);
4
- const IncomingCLOSE = z.tuple([z.literal("CLOSE"), z.string()]);
5
- const IncomingAUTH = z.tuple([z.literal("AUTH"), z.any()]);
6
- const OutgoingEVENT = z.tuple([z.literal("EVENT"), z.string(), z.any()]);
7
- const OutgoingNOTICE = z.tuple([z.literal("NOTICE"), z.string()]);
8
- const OutgoingCLOSE = z.tuple([z.literal("CLOSE"), z.string()]);
9
- const OutgoingAUTH = z.tuple([z.literal("AUTH"), z.string()]);