@instantdb/core 0.22.139-experimental.streams.22079869443.1 → 0.22.139

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.
Files changed (40) hide show
  1. package/dist/commonjs/Connection.d.ts +1 -2
  2. package/dist/commonjs/Connection.d.ts.map +1 -1
  3. package/dist/commonjs/Connection.js +2 -6
  4. package/dist/commonjs/Connection.js.map +1 -1
  5. package/dist/commonjs/Reactor.d.ts +0 -12
  6. package/dist/commonjs/Reactor.d.ts.map +1 -1
  7. package/dist/commonjs/Reactor.js +18 -63
  8. package/dist/commonjs/Reactor.js.map +1 -1
  9. package/dist/commonjs/index.d.ts +2 -41
  10. package/dist/commonjs/index.d.ts.map +1 -1
  11. package/dist/commonjs/index.js +1 -41
  12. package/dist/commonjs/index.js.map +1 -1
  13. package/dist/esm/Connection.d.ts +1 -2
  14. package/dist/esm/Connection.d.ts.map +1 -1
  15. package/dist/esm/Connection.js +2 -6
  16. package/dist/esm/Connection.js.map +1 -1
  17. package/dist/esm/Reactor.d.ts +0 -12
  18. package/dist/esm/Reactor.d.ts.map +1 -1
  19. package/dist/esm/Reactor.js +9 -53
  20. package/dist/esm/Reactor.js.map +1 -1
  21. package/dist/esm/index.d.ts +2 -41
  22. package/dist/esm/index.d.ts.map +1 -1
  23. package/dist/esm/index.js +1 -42
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/standalone/index.js +1604 -2203
  26. package/dist/standalone/index.umd.cjs +3 -3
  27. package/package.json +2 -2
  28. package/src/Connection.ts +2 -6
  29. package/src/Reactor.js +10 -56
  30. package/src/index.ts +1 -71
  31. package/tsconfig.json +1 -2
  32. package/dist/commonjs/Stream.d.ts +0 -112
  33. package/dist/commonjs/Stream.d.ts.map +0 -1
  34. package/dist/commonjs/Stream.js +0 -708
  35. package/dist/commonjs/Stream.js.map +0 -1
  36. package/dist/esm/Stream.d.ts +0 -112
  37. package/dist/esm/Stream.d.ts.map +0 -1
  38. package/dist/esm/Stream.js +0 -701
  39. package/dist/esm/Stream.js.map +0 -1
  40. package/src/Stream.ts +0 -1016
@@ -70,7 +70,6 @@ export declare class SSEConnection implements Connection<EventSourceType> {
70
70
  private closeFired;
71
71
  private sseInitTimeout;
72
72
  private ES;
73
- private messageUrl;
74
73
  conn: EventSourceType;
75
74
  url: string;
76
75
  id: string;
@@ -78,7 +77,7 @@ export declare class SSEConnection implements Connection<EventSourceType> {
78
77
  onmessage: (event: MsgEvent<EventSourceType>) => void;
79
78
  onclose: (event: CloseEvent<EventSourceType>) => void;
80
79
  onerror: (event: ErrorEvent<EventSourceType>) => void;
81
- constructor(ES: EventSourceConstructor, url: string, messageUrl?: string);
80
+ constructor(ES: EventSourceConstructor, url: string);
82
81
  private handleMessage;
83
82
  private handleError;
84
83
  private handleClose;
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,6 @@ class SSEConnection {
59
59
  closeFired = false;
60
60
  sseInitTimeout = undefined;
61
61
  ES;
62
- messageUrl;
63
62
  conn;
64
63
  url;
65
64
  id;
@@ -67,10 +66,9 @@ class SSEConnection {
67
66
  onmessage;
68
67
  onclose;
69
68
  onerror;
70
- constructor(ES, url, messageUrl) {
69
+ constructor(ES, url) {
71
70
  this.id = `${this.type}_${_connId++}`;
72
71
  this.url = url;
73
- this.messageUrl = messageUrl || this.url;
74
72
  this.ES = ES;
75
73
  this.conn = new ES(url);
76
74
  // Close the connection if we didn't get an init within 10 seconds
@@ -133,10 +131,8 @@ class SSEConnection {
133
131
  }
134
132
  }
135
133
  async postMessages(messages) {
136
- // TODO(dww): Create a connection with chunked encoding so we can
137
- // send multiple messages over one request
138
134
  try {
139
- const resp = await fetch(this.messageUrl, {
135
+ const resp = await fetch(this.url, {
140
136
  method: 'POST',
141
137
  headers: { 'Content-Type': 'application/json' },
142
138
  body: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":";;;AAkBA,IAAI,OAAO,GAAG,CAAC,CAAC;AA+ChB,MAAa,YAAY;IACvB,IAAI,GAAkB,IAAI,CAAC;IAC3B,IAAI,CAAY;IAChB,EAAE,CAAS;IACX,MAAM,CAAwC;IAC9C,SAAS,CAAuC;IAChD,OAAO,CAAyC;IAChD,OAAO,CAAyC;IAChD,YAAY,GAAW;QACrB,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE;YACxB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC,SAAS,CAAC;oBACb,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE;YACzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,GAAoB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;CACF;AAnDD,oCAmDC;AAQD,MAAa,aAAa;IACxB,IAAI,GAAkB,KAAK,CAAC;IACpB,UAAU,GAAyB,IAAI,CAAC;IACxC,SAAS,GAAU,EAAE,CAAC;IACtB,WAAW,CAAuB;IAClC,UAAU,GAAY,KAAK,CAAC;IAC5B,cAAc,GAA8C,SAAS,CAAC;IACtE,EAAE,CAAyB;IAC3B,UAAU,CAAS;IAC3B,IAAI,CAAkB;IACtB,GAAG,CAAS;IACZ,EAAE,CAAS;IACX,MAAM,CAA8C;IACpD,SAAS,CAA6C;IACtD,OAAO,CAA+C;IACtD,OAAO,CAA+C;IAEtD,YAAY,EAA0B,EAAE,GAAW,EAAE,UAAmB;QACtE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC;QACzC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;QAExB,kEAAkE;QAClE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;YACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,GAAgB;QACpC,IAAI,GAAG,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,GAAG;gBAChB,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;gBAC5B,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC;gBAC5B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC;aAC3B,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC;gBACb,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6CAA6C;IACrC,WAAW;QACjB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,QAAe;QACxC,iEAAiE;QACjE,qDAAqD;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS;oBACtC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS;oBACtC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ;oBACpC,QAAQ;iBACT,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAoB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3E,CAAC;IAED,YAAY;QACV,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,UAAU;YAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CACpE,CAAC;IACJ,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;CACF;AAxJD,sCAwJC","sourcesContent":["export interface EventSourceType {\n readonly url: string;\n readonly readyState: number;\n\n onopen: ((this: EventSourceType, ev: Event) => any) | null;\n onmessage: ((this: EventSourceType, ev: MessageEvent) => any) | null;\n onerror: ((this: EventSourceType, ev: Event) => any) | null;\n\n close(): void;\n}\n\nexport interface EventSourceConstructor {\n OPEN: number;\n CONNECTING: number;\n CLOSED: number;\n new (url: string): EventSourceType;\n}\n\nlet _connId = 0;\n\ntype Conn = EventSourceType | WebSocket;\n\ntype OpenEvent<T extends Conn> = {\n target: Connection<T>;\n};\n\ntype MessageData = {\n op: string;\n [key: string]: any;\n};\n\ntype SendMessageData = {\n 'client-event-id': string;\n [key: string]: any;\n};\n\ntype MsgEvent<T extends Conn> = {\n target: Connection<T>;\n message: MessageData | MessageData[];\n};\n\ntype CloseEvent<T extends Conn> = {\n target: Connection<T>;\n};\n\ninterface ErrorEvent<T extends Conn> {\n target: Connection<T>;\n}\n\nexport type TransportType = 'ws' | 'sse';\n\nexport interface Connection<T extends Conn> {\n conn: T;\n type: 'ws' | 'sse';\n id: string;\n close(): void;\n isOpen(): boolean;\n isConnecting(): boolean;\n send(msg: SendMessageData): void;\n onopen: ((event: OpenEvent<T>) => void) | null;\n onmessage: ((event: MsgEvent<T>) => void) | null;\n onclose: ((event: CloseEvent<T>) => void) | null;\n onerror: ((event: ErrorEvent<T>) => void) | null;\n}\n\nexport class WSConnection implements Connection<WebSocket> {\n type: TransportType = 'ws';\n conn: WebSocket;\n id: string;\n onopen: (event: OpenEvent<WebSocket>) => void;\n onmessage: (event: MsgEvent<WebSocket>) => void;\n onclose: (event: CloseEvent<WebSocket>) => void;\n onerror: (event: ErrorEvent<WebSocket>) => void;\n constructor(url: string) {\n this.id = `${this.type}_${_connId++}`;\n this.conn = new WebSocket(url);\n this.conn.onopen = (_e) => {\n if (this.onopen) {\n this.onopen({ target: this });\n }\n };\n this.conn.onmessage = (e) => {\n if (this.onmessage) {\n this.onmessage({\n target: this,\n message: JSON.parse(e.data.toString()),\n });\n }\n };\n this.conn.onclose = (_e) => {\n if (this.onclose) {\n this.onclose({ target: this });\n }\n };\n this.conn.onerror = (_e) => {\n if (this.onerror) {\n this.onerror({ target: this });\n }\n };\n }\n\n close() {\n this.conn.close();\n }\n\n isOpen(): boolean {\n return this.conn.readyState === (WebSocket.OPEN ?? 1);\n }\n\n isConnecting(): boolean {\n return this.conn.readyState === (WebSocket.CONNECTING ?? 0);\n }\n\n send(msg: SendMessageData) {\n return this.conn.send(JSON.stringify(msg));\n }\n}\n\ntype SSEInitParams = {\n machineId: string;\n sessionId: string;\n sseToken: string;\n};\n\nexport class SSEConnection implements Connection<EventSourceType> {\n type: TransportType = 'sse';\n private initParams: SSEInitParams | null = null;\n private sendQueue: any[] = [];\n private sendPromise: Promise<void> | null;\n private closeFired: boolean = false;\n private sseInitTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private ES: EventSourceConstructor;\n private messageUrl: string;\n conn: EventSourceType;\n url: string;\n id: string;\n onopen: (event: OpenEvent<EventSourceType>) => void;\n onmessage: (event: MsgEvent<EventSourceType>) => void;\n onclose: (event: CloseEvent<EventSourceType>) => void;\n onerror: (event: ErrorEvent<EventSourceType>) => void;\n\n constructor(ES: EventSourceConstructor, url: string, messageUrl?: string) {\n this.id = `${this.type}_${_connId++}`;\n this.url = url;\n this.messageUrl = messageUrl || this.url;\n this.ES = ES;\n this.conn = new ES(url);\n\n // Close the connection if we didn't get an init within 10 seconds\n this.sseInitTimeout = setTimeout(() => {\n if (!this.initParams) {\n this.handleError();\n }\n }, 10000);\n\n this.conn.onmessage = (e) => {\n const message = JSON.parse(e.data);\n if (Array.isArray(message)) {\n for (const msg of message) {\n this.handleMessage(msg);\n }\n } else {\n this.handleMessage(message);\n }\n };\n\n this.conn.onerror = (e) => {\n this.handleError();\n };\n }\n\n private handleMessage(msg: MessageData) {\n if (msg.op === 'sse-init') {\n this.initParams = {\n machineId: msg['machine-id'],\n sessionId: msg['session-id'],\n sseToken: msg['sse-token'],\n };\n if (this.onopen) {\n this.onopen({ target: this });\n }\n clearTimeout(this.sseInitTimeout);\n return;\n }\n if (this.onmessage) {\n this.onmessage({\n target: this,\n message: msg,\n });\n }\n }\n\n // Runs the onerror and closes the connection\n private handleError() {\n try {\n if (this.onerror) {\n this.onerror({ target: this });\n }\n } finally {\n this.handleClose();\n }\n }\n\n private handleClose() {\n this.conn.close();\n if (this.onclose && !this.closeFired) {\n this.closeFired = true;\n this.onclose({ target: this });\n }\n }\n\n private async postMessages(messages: any[]): Promise<void> {\n // TODO(dww): Create a connection with chunked encoding so we can\n // send multiple messages over one request\n try {\n const resp = await fetch(this.messageUrl, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n machine_id: this.initParams?.machineId,\n session_id: this.initParams?.sessionId,\n sse_token: this.initParams?.sseToken,\n messages,\n }),\n });\n if (!resp.ok) {\n this.handleError();\n }\n } catch (e) {\n this.handleError();\n }\n }\n\n private async flushQueue() {\n if (this.sendPromise || !this.sendQueue.length) return;\n\n const messages = this.sendQueue;\n this.sendQueue = [];\n const sendPromise = this.postMessages(messages);\n this.sendPromise = sendPromise;\n sendPromise.then(() => {\n this.sendPromise = null;\n this.flushQueue();\n });\n }\n\n send(msg: SendMessageData) {\n if (!this.isOpen() || !this.initParams) {\n if (this.isConnecting()) {\n throw new Error(\n `Failed to execute 'send' on 'EventSource': Still in CONNECTING state.`,\n );\n }\n if (this.conn.readyState === this.ES.CLOSED) {\n throw new Error(`EventSource is already in CLOSING or CLOSED state.`);\n }\n throw new Error(`EventSource is in invalid state.`);\n }\n this.sendQueue.push(msg);\n this.flushQueue();\n }\n\n isOpen(): boolean {\n return this.conn.readyState === this.ES.OPEN && this.initParams !== null;\n }\n\n isConnecting(): boolean {\n return (\n this.conn.readyState === this.ES.CONNECTING ||\n (this.conn.readyState === this.ES.OPEN && this.initParams === null)\n );\n }\n\n close() {\n this.handleClose();\n }\n}\n"]}
1
+ {"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../src/Connection.ts"],"names":[],"mappings":"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","sourcesContent":["export interface EventSourceType {\n readonly url: string;\n readonly readyState: number;\n\n onopen: ((this: EventSourceType, ev: Event) => any) | null;\n onmessage: ((this: EventSourceType, ev: MessageEvent) => any) | null;\n onerror: ((this: EventSourceType, ev: Event) => any) | null;\n\n close(): void;\n}\n\nexport interface EventSourceConstructor {\n OPEN: number;\n CONNECTING: number;\n CLOSED: number;\n new (url: string): EventSourceType;\n}\n\nlet _connId = 0;\n\ntype Conn = EventSourceType | WebSocket;\n\ntype OpenEvent<T extends Conn> = {\n target: Connection<T>;\n};\n\ntype MessageData = {\n op: string;\n [key: string]: any;\n};\n\ntype SendMessageData = {\n 'client-event-id': string;\n [key: string]: any;\n};\n\ntype MsgEvent<T extends Conn> = {\n target: Connection<T>;\n message: MessageData | MessageData[];\n};\n\ntype CloseEvent<T extends Conn> = {\n target: Connection<T>;\n};\n\ninterface ErrorEvent<T extends Conn> {\n target: Connection<T>;\n}\n\nexport type TransportType = 'ws' | 'sse';\n\nexport interface Connection<T extends Conn> {\n conn: T;\n type: 'ws' | 'sse';\n id: string;\n close(): void;\n isOpen(): boolean;\n isConnecting(): boolean;\n send(msg: SendMessageData): void;\n onopen: ((event: OpenEvent<T>) => void) | null;\n onmessage: ((event: MsgEvent<T>) => void) | null;\n onclose: ((event: CloseEvent<T>) => void) | null;\n onerror: ((event: ErrorEvent<T>) => void) | null;\n}\n\nexport class WSConnection implements Connection<WebSocket> {\n type: TransportType = 'ws';\n conn: WebSocket;\n id: string;\n onopen: (event: OpenEvent<WebSocket>) => void;\n onmessage: (event: MsgEvent<WebSocket>) => void;\n onclose: (event: CloseEvent<WebSocket>) => void;\n onerror: (event: ErrorEvent<WebSocket>) => void;\n constructor(url: string) {\n this.id = `${this.type}_${_connId++}`;\n this.conn = new WebSocket(url);\n this.conn.onopen = (_e) => {\n if (this.onopen) {\n this.onopen({ target: this });\n }\n };\n this.conn.onmessage = (e) => {\n if (this.onmessage) {\n this.onmessage({\n target: this,\n message: JSON.parse(e.data.toString()),\n });\n }\n };\n this.conn.onclose = (_e) => {\n if (this.onclose) {\n this.onclose({ target: this });\n }\n };\n this.conn.onerror = (_e) => {\n if (this.onerror) {\n this.onerror({ target: this });\n }\n };\n }\n\n close() {\n this.conn.close();\n }\n\n isOpen(): boolean {\n return this.conn.readyState === (WebSocket.OPEN ?? 1);\n }\n\n isConnecting(): boolean {\n return this.conn.readyState === (WebSocket.CONNECTING ?? 0);\n }\n\n send(msg: SendMessageData) {\n return this.conn.send(JSON.stringify(msg));\n }\n}\n\ntype SSEInitParams = {\n machineId: string;\n sessionId: string;\n sseToken: string;\n};\n\nexport class SSEConnection implements Connection<EventSourceType> {\n type: TransportType = 'sse';\n private initParams: SSEInitParams | null = null;\n private sendQueue: any[] = [];\n private sendPromise: Promise<void> | null;\n private closeFired: boolean = false;\n private sseInitTimeout: ReturnType<typeof setTimeout> | undefined = undefined;\n private ES: EventSourceConstructor;\n conn: EventSourceType;\n url: string;\n id: string;\n onopen: (event: OpenEvent<EventSourceType>) => void;\n onmessage: (event: MsgEvent<EventSourceType>) => void;\n onclose: (event: CloseEvent<EventSourceType>) => void;\n onerror: (event: ErrorEvent<EventSourceType>) => void;\n\n constructor(ES: EventSourceConstructor, url: string) {\n this.id = `${this.type}_${_connId++}`;\n this.url = url;\n this.ES = ES;\n this.conn = new ES(url);\n\n // Close the connection if we didn't get an init within 10 seconds\n this.sseInitTimeout = setTimeout(() => {\n if (!this.initParams) {\n this.handleError();\n }\n }, 10000);\n\n this.conn.onmessage = (e) => {\n const message = JSON.parse(e.data);\n if (Array.isArray(message)) {\n for (const msg of message) {\n this.handleMessage(msg);\n }\n } else {\n this.handleMessage(message);\n }\n };\n\n this.conn.onerror = (e) => {\n this.handleError();\n };\n }\n\n private handleMessage(msg: MessageData) {\n if (msg.op === 'sse-init') {\n this.initParams = {\n machineId: msg['machine-id'],\n sessionId: msg['session-id'],\n sseToken: msg['sse-token'],\n };\n if (this.onopen) {\n this.onopen({ target: this });\n }\n clearTimeout(this.sseInitTimeout);\n return;\n }\n if (this.onmessage) {\n this.onmessage({\n target: this,\n message: msg,\n });\n }\n }\n\n // Runs the onerror and closes the connection\n private handleError() {\n try {\n if (this.onerror) {\n this.onerror({ target: this });\n }\n } finally {\n this.handleClose();\n }\n }\n\n private handleClose() {\n this.conn.close();\n if (this.onclose && !this.closeFired) {\n this.closeFired = true;\n this.onclose({ target: this });\n }\n }\n\n private async postMessages(messages: any[]): Promise<void> {\n try {\n const resp = await fetch(this.url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n machine_id: this.initParams?.machineId,\n session_id: this.initParams?.sessionId,\n sse_token: this.initParams?.sseToken,\n messages,\n }),\n });\n if (!resp.ok) {\n this.handleError();\n }\n } catch (e) {\n this.handleError();\n }\n }\n\n private async flushQueue() {\n if (this.sendPromise || !this.sendQueue.length) return;\n\n const messages = this.sendQueue;\n this.sendQueue = [];\n const sendPromise = this.postMessages(messages);\n this.sendPromise = sendPromise;\n sendPromise.then(() => {\n this.sendPromise = null;\n this.flushQueue();\n });\n }\n\n send(msg: SendMessageData) {\n if (!this.isOpen() || !this.initParams) {\n if (this.isConnecting()) {\n throw new Error(\n `Failed to execute 'send' on 'EventSource': Still in CONNECTING state.`,\n );\n }\n if (this.conn.readyState === this.ES.CLOSED) {\n throw new Error(`EventSource is already in CLOSING or CLOSED state.`);\n }\n throw new Error(`EventSource is in invalid state.`);\n }\n this.sendQueue.push(msg);\n this.flushQueue();\n }\n\n isOpen(): boolean {\n return this.conn.readyState === this.ES.OPEN && this.initParams !== null;\n }\n\n isConnecting(): boolean {\n return (\n this.conn.readyState === this.ES.CONNECTING ||\n (this.conn.readyState === this.ES.OPEN && this.initParams === null)\n );\n }\n\n close() {\n this.handleClose();\n }\n}\n"]}
@@ -1,10 +1,3 @@
1
- export namespace STATUS {
2
- let CONNECTING: string;
3
- let OPENED: string;
4
- let AUTHENTICATED: string;
5
- let CLOSED: string;
6
- let ERRORED: string;
7
- }
8
1
  /**
9
2
  * @template {import('./presence.ts').RoomSchemaShape} [RoomSchema = {}]
10
3
  */
@@ -21,8 +14,6 @@ export default class Reactor<RoomSchema extends import("./presence.ts").RoomSche
21
14
  kv: PersistedObject<any, any, any>;
22
15
  /** @type {SyncTable} */
23
16
  _syncTable: SyncTable;
24
- /** @type {InstantStream} */
25
- _instantStream: InstantStream;
26
17
  /** @type {Record<string, Array<{ q: any, cb: (data: any) => any }>>} */
27
18
  queryCbs: Record<string, Array<{
28
19
  q: any;
@@ -125,8 +116,6 @@ export default class Reactor<RoomSchema extends import("./presence.ts").RoomSche
125
116
  }, enableCardinalityInference: boolean): void;
126
117
  _handleReceive(connId: any, msg: any): void;
127
118
  _sessionId: any;
128
- createWriteStream(opts: any): import("./Stream.ts").InstantWritableStream<string>;
129
- createReadStream(opts: any): ReadableStream<string>;
130
119
  _pendingMutations(): any;
131
120
  _updatePendingMutations(f: any): void;
132
121
  /**
@@ -382,7 +371,6 @@ export type QuerySubInStorage = import("./reactorTypes.ts").QuerySubInStorage;
382
371
  import * as s from './store.ts';
383
372
  import { PersistedObject } from './utils/PersistedObject.ts';
384
373
  import { SyncTable } from './SyncTable.ts';
385
- import { InstantStream } from './Stream.ts';
386
374
  import { Deferred } from './utils/Deferred.js';
387
375
  import * as authAPI from './authAPI.ts';
388
376
  import * as StorageApi from './StorageAPI.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"Reactor.d.ts","sourceRoot":"","sources":["../../src/Reactor.js"],"names":[],"mappings":";;;;;;;AA2MA;;GAEG;AACH,6BAFwD,UAAU,SAArD,OAAQ,eAAe,EAAE,eAAgB;IAqEpD,8KAiIC;IAnMD,uCAAuC;IACvC,OADW,CAAC,CAAC,UAAU,GAAG,SAAS,CAC7B;IACN,mBAAiB;IACjB,qBAAoB;IACpB,eAA2B;IAE3B,mEAAmE;IACnE,WADW,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CACrD;IAEV,8BAA8B;IAC9B,mCAAG;IAEH,wBAAwB;IACxB,YADW,SAAS,CACT;IACX,4BAA4B;IAC5B,gBADW,aAAa,CACT;IAEf,wEAAwE;IACxE,UADW,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC,CAAC,CACtD;IACd,gFAAgF;IAChF,eADW,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC,CACzD;IACnB,eAAa;IACb,gBAAc;IACd,wBAAsB;IACtB,2BAAyB;IACzB,YAAO;IACP,qCAAkC;IAClC,0BAA2B;IAC3B,4BAAwB;IACxB,yBAAyB;IACzB,YADW,UAAU,CACV;IACX,4BAA4B;IAC5B,gBADW,aAAa,CACF;IAEtB,qCAAqC;IACrC,cADW,sBAAsB,CACpB;IACb,6BAA6B;IAC7B,OADW,OAAO,GAAG,IAAI,CACZ;IACb,qBAAsB;IACtB,oBAAqB;IACrB,gEAAgE;IAChE,wBADW,OAAO,CAAC,IAAI,GAAG;QAAC,KAAK,EAAE;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAAC,GAAG,IAAI,CAC9B;IAE9B,+DAA+D;IAC/D,YADW,IAAI,GAAG,OAAO,sBAAsB,EAAE,SAAS,CACxC;IAElB,yCAAyC;IACzC,mBADU,gBAAgB,GAAG,SAAS,CACpB;IAElB,mFAAmF;IACnF,QADW,MAAM,CAAC,MAAM,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAC,CAAC,CACnE;IACZ,sCAAsC;IACtC,oBADW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACV;IACxB,cAAe;IACf,uBAAqB;IACrB,mBAAoB;IACpB,kFAAkF;IAClF,oBADW;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,GAAG,GAAG,SAAS,CAAC;QAAC,IAAI,EAAE,GAAG,GAAG,SAAS,CAAA;KAAC,CACF;IAC5E,wBAAsB;IACtB,uBAAwB;IACxB,qBAAqB;IACrB,MADW,MAAM,CACZ;IACL,8BAAyB;IACzB,sCAAiC;IACjC,oCAAsC;IAYpC,qBAAwD;IAYxD,cAAmE;IAuLrE,sBAKC;IA/ED,4BAKC;IAED,gCAOC;IAED;;;;MAMC;IAED,mCAIC;IAED,iCA0CC;IASD;;;;OAIG;IACH,2BAJW,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAI,OAAO,WACxD,MAAM,aACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAC,QAoC5E;IAED,wCAKC;IAED,aAAc,QAAG,EAAE,aAAQ,EAAE,cAAS,SAmBpC;IAEF,0CAgBC;IAED;;;;;;OAMG;IACH,iBAJW,GAAG,UACH;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC;KAAE,8BAChC,OAAO,QA8BjB;IAED,4CAwRC;IAtQK,gBAAmC;IAwQzC,kFAEC;IAED,oDAEC;IAED,yBAEC;IAED,sCAMC;IAED;;;;OAIG;IACH,6BAJW,SAAS,GAAG,OAAO,WACnB,MAAM,YACN;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAC,QAoB5E;IAED,oCA6EC;IAED,oEAKC;IAED,4BAUC;IAKD,oBAAqB,MAAC,SAGpB;IAEF,0CASC;IAED;wBA1lB+C,CAAC;kCA4lB/C;IAED;;;;;;;;;OASG;IACH,uDAuBC;IAED,2CAwCC;IAED,sDAQC;IAED,8CAMC;IAED,uCAEC;IAED,uCASC;IAaD;;;;;OAKG;IACH,yBAJW,CAAC,CAAC,UAAU,QACZ,GAAG,kBACH,MAAM,OAgFhB;IAED,sDAEC;IAKD;;OAEG;IACH,mBAFa,CAAC,CAAC,UAAU,CAuCxB;IAED,0CAA0C;IAC1C,wDAgDC;IAED;;;MASC;IAED,0DAA0D;IAC1D,YAAa,SAAI,UAUf;IAEF,qBAAsB,SAAI,UAQxB;IAEF,mBAAoB,SAAI,EAAE,UAAK,UAG7B;IAEF,mCAAmC;IACnC,kBAOC;IAED,wBAKC;IAED,wEAAwE;IACxE,SAAU,WAAM,kBAqBd;IAEF;;;;OAIG;IACH,UAAW,SAJA,GAIO,EAAE,QAHT,GAGc,kBAsBvB;IAEF,iBAIC;IAED;;;;;;OAMG;IACH,iDAqCC;IAKD,4DAA4D;IAC5D,8BAoCC;IAED;;OAEG;IACH,wCAeC;IAED;;;;OAIG;IACH,wCAiBC;IAED,qCAKC;IAED,kDAqBC;IAED,mBAAoB,MAAC,UA+BnB;IAEF,sBAAuB,MAAC,UAyBtB;IAEF,oBAAqB,MAAC,UAWpB;IAEF,+BAsBE;IAEF,oBAAqB,MAAC,UAgCpB;IAEF,qBAqDC;IAED;;;;;;;OAOG;IACH,oCAgBC;IAID,8BAoDC;IAED;;;OAGG;IACH;;;;cA+CC;IAED;eAnrDkC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC;cAqrDlD;IAED,+CAMC;IAED,mCAgBC;IAED,wBAMC;IAED,+CAQC;IAED,oCAUC;IAED,gCAEC;IAED,0CAEC;IAED,wBAIC;IAED,8CAEC;IAED,yCAKC;IAED;mBAxvDuB,OAAO;eAAS,GAAG,GAAG,SAAS;cAAQ,GAAG,GAAG,SAAS;MA0vD5E;IAED,gCAGC;IAED;;qBAjxD4C,MAAM;;;;;;;;;;;;OAuyDjD;IAED,oCAGC;IAED,+CAiBC;IAED,6CAiBC;IAED,wCAmBC;IAED;;+CAMC;IAED;;;wCAYC;IAED,uEAQC;IAED,iDAOC;IAED,8DAoBC;IAED,kCAIC;IAED;;;;;;;OAOG;IACH,oDAJG;QAAuB,UAAU,EAAzB,MAAM;QACS,WAAW,EAA1B,MAAM;KACd,GAAU,MAAM,CAKlB;IAED;;;;OAIG;IACH,6CAHG;QAAuB,IAAI,EAAnB,MAAM;QACU,YAAY;KACtC,mCAaA;IAED,oBAGC;IAED;;;;;OAKG;IACH,kDAJG;QAAuB,UAAU,EAAzB,MAAM;QACS,OAAO,EAAtB,MAAM;QAC6B,KAAK,GAAxC,MAAM,GAAG,IAAI,GAAG,SAAS;KACnC,mCAeA;IAKD;;;;;OAKG;IACH,mBALW,MAAM,UACN,MAAM,oBACN,GAAG,GAAG,IAAI,GAAG,SAAS,cA6BhC;IAED,gCAiBC;IAMD;;;;;;;;;;;aAUC;IAGD,oEAsBC;IAED,8CAMC;IAED,0DAQC;IAED,iCAEC;IAED,0DAKC;IAGD,8EAwBC;IAED,uCAIC;IAED,oDAaC;IAED,mDAyBC;IAED,gDAWC;IAKD;;;;;aAeC;IAED,uEAQC;IAED,4EAoBC;IAED,4DAWC;IAKD,oFAWC;IAED,8DAWC;IAKD,+CAaC;IAED,wCAWC;CACF;qBA/gFa,OAAO,gBAAgB,EAAE,MAAM;;4BAE/B,OAAO,iBAAiB,EAAE,aAAa;qCACvC,OAAO,iBAAiB,EAAE,sBAAsB;uBAChD,OAAO,mBAAmB,EAAE,QAAQ;gCACpC,OAAO,mBAAmB,EAAE,iBAAiB;mBApCxC,YAAY;gCASC,4BAA4B;0BAmBlC,gBAAgB;8BACZ,aAAa;yBArBlB,qBAAqB;yBAJrB,cAAc;4BACX,iBAAiB;6BAHhB,uBAAuB;kCAClB,4BAA4B"}
1
+ {"version":3,"file":"Reactor.d.ts","sourceRoot":"","sources":["../../src/Reactor.js"],"names":[],"mappings":"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"}
@@ -36,7 +36,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.STATUS = void 0;
40
39
  // @ts-check
41
40
  const weakHash_ts_1 = __importDefault(require("./utils/weakHash.js"));
42
41
  const instaql_ts_1 = __importDefault(require("./instaql.js"));
@@ -64,14 +63,13 @@ const fetch_ts_1 = require("./utils/fetch.js");
64
63
  const uuid_1 = require("uuid");
65
64
  const Connection_ts_1 = require("./Connection.js");
66
65
  const SyncTable_ts_1 = require("./SyncTable.js");
67
- const Stream_ts_1 = require("./Stream.js");
68
66
  /** @typedef {import('./utils/log.ts').Logger} Logger */
69
67
  /** @typedef {import('./Connection.ts').Connection} Connection */
70
68
  /** @typedef {import('./Connection.ts').TransportType} TransportType */
71
69
  /** @typedef {import('./Connection.ts').EventSourceConstructor} EventSourceConstructor */
72
70
  /** @typedef {import('./reactorTypes.ts').QuerySub} QuerySub */
73
71
  /** @typedef {import('./reactorTypes.ts').QuerySubInStorage} QuerySubInStorage */
74
- exports.STATUS = {
72
+ const STATUS = {
75
73
  CONNECTING: 'connecting',
76
74
  OPENED: 'opened',
77
75
  AUTHENTICATED: 'authenticated',
@@ -208,15 +206,13 @@ class Reactor {
208
206
  attrs;
209
207
  _isOnline = true;
210
208
  _isShutdown = false;
211
- status = exports.STATUS.CONNECTING;
209
+ status = STATUS.CONNECTING;
212
210
  /** @type {PersistedObject<string, QuerySub, QuerySubInStorage>} */
213
211
  querySubs;
214
212
  /** @type {PersistedObject} */
215
213
  kv;
216
214
  /** @type {SyncTable} */
217
215
  _syncTable;
218
- /** @type {InstantStream} */
219
- _instantStream;
220
216
  /** @type {Record<string, Array<{ q: any, cb: (data: any) => any }>>} */
221
217
  queryCbs = {};
222
218
  /** @type {Record<string, Array<{ q: any, eventId: string, dfd: Deferred }>>} */
@@ -308,12 +304,6 @@ class Reactor {
308
304
  }, this._log, (triples) => {
309
305
  return s.createStore(this.ensureAttrs(), triples, this.config.enableCardinalityInference, this.config.useDateObjects);
310
306
  }, () => this.ensureAttrs());
311
- this._instantStream = new Stream_ts_1.InstantStream({
312
- WStream: this.config.WritableStream || WritableStream,
313
- RStream: this.config.ReadableStream || ReadableStream,
314
- trySend: this._trySendAuthed.bind(this),
315
- log: this._log,
316
- });
317
307
  this._oauthCallbackResponse = this._oauthLoginInit();
318
308
  // kick off a request to cache it
319
309
  this.getCurrentUser().then((userInfo) => {
@@ -339,8 +329,8 @@ class Reactor {
339
329
  this._startSocket();
340
330
  }
341
331
  else {
342
- this._log.info('Changing status from', this.status, 'to', exports.STATUS.CLOSED);
343
- this._setStatus(exports.STATUS.CLOSED);
332
+ this._log.info('Changing status from', this.status, 'to', STATUS.CLOSED);
333
+ this._setStatus(STATUS.CLOSED);
344
334
  }
345
335
  });
346
336
  });
@@ -462,7 +452,6 @@ class Reactor {
462
452
  this.status = status;
463
453
  this._errorMessage = err;
464
454
  this.notifyConnectionStatusSubs(status);
465
- this._instantStream.onConnectionStatusChange(status);
466
455
  }
467
456
  _onMergeKv = (key, storageV, inMemoryV) => {
468
457
  switch (key) {
@@ -540,7 +529,7 @@ class Reactor {
540
529
  }
541
530
  switch (msg.op) {
542
531
  case 'init-ok': {
543
- this._setStatus(exports.STATUS.AUTHENTICATED);
532
+ this._setStatus(STATUS.AUTHENTICATED);
544
533
  this._reconnectTimeoutMs = 0;
545
534
  this._setAttrs(msg.attrs);
546
535
  this._flushPendingMessages();
@@ -604,22 +593,6 @@ class Reactor {
604
593
  this._syncTable.onSyncUpdateTriples(msg);
605
594
  break;
606
595
  }
607
- case 'start-stream-ok': {
608
- this._instantStream.onStartStreamOk(msg);
609
- break;
610
- }
611
- case 'stream-flushed': {
612
- this._instantStream.onStreamFlushed(msg);
613
- break;
614
- }
615
- case 'append-failed': {
616
- this._instantStream.onAppendFailed(msg);
617
- break;
618
- }
619
- case 'stream-append': {
620
- this._instantStream.onStreamAppend(msg);
621
- break;
622
- }
623
596
  case 'refresh-ok': {
624
597
  const { computations, attrs } = msg;
625
598
  const processedTxId = msg['processed-tx-id'];
@@ -764,12 +737,6 @@ class Reactor {
764
737
  break;
765
738
  }
766
739
  }
767
- createWriteStream(opts) {
768
- return this._instantStream.createWriteStream(opts);
769
- }
770
- createReadStream(opts) {
771
- return this._instantStream.createReadStream(opts);
772
- }
773
740
  _pendingMutations() {
774
741
  return this.kv.currentValue.pendingMutations ?? new Map();
775
742
  }
@@ -836,26 +803,17 @@ class Reactor {
836
803
  return;
837
804
  }
838
805
  // We failed to init
839
- this._setStatus(exports.STATUS.ERRORED, errorMessage);
806
+ this._setStatus(STATUS.ERRORED, errorMessage);
840
807
  this.notifyAll();
841
808
  return;
842
809
  }
843
- switch (msg['original-event']?.op) {
844
- case 'resync-table': {
845
- this._syncTable.onResyncError(msg);
846
- return;
847
- }
848
- case 'start-sync': {
849
- this._syncTable.onStartSyncError(msg);
850
- return;
851
- }
852
- case 'start-stream':
853
- case 'append-stream':
854
- case 'subscribe-stream':
855
- case 'unsubscribe-stream': {
856
- this._instantStream.onRecieveError(msg);
857
- return;
858
- }
810
+ if (msg['original-event']?.op === 'resync-table') {
811
+ this._syncTable.onResyncError(msg);
812
+ return;
813
+ }
814
+ if (msg['original-event']?.op === 'start-sync') {
815
+ this._syncTable.onStartSyncError(msg);
816
+ return;
859
817
  }
860
818
  // We've caught some error which has no corresponding listener.
861
819
  // Let's console.error to let the user know.
@@ -1251,7 +1209,7 @@ class Reactor {
1251
1209
  });
1252
1210
  return;
1253
1211
  }
1254
- if (this.status !== exports.STATUS.AUTHENTICATED) {
1212
+ if (this.status !== STATUS.AUTHENTICATED) {
1255
1213
  this._finishTransaction('enqueued', eventId);
1256
1214
  return;
1257
1215
  }
@@ -1347,7 +1305,7 @@ class Reactor {
1347
1305
  });
1348
1306
  }
1349
1307
  _trySendAuthed(...args) {
1350
- if (this.status !== exports.STATUS.AUTHENTICATED) {
1308
+ if (this.status !== STATUS.AUTHENTICATED) {
1351
1309
  return;
1352
1310
  }
1353
1311
  this._trySend(...args);
@@ -1357,10 +1315,7 @@ class Reactor {
1357
1315
  return;
1358
1316
  }
1359
1317
  if (!ignoreLogging[msg.op]) {
1360
- this._log.info('[send]', this._transport.id, msg.op, {
1361
- 'client-event-id': eventId,
1362
- ...msg,
1363
- });
1318
+ this._log.info('[send]', this._transport.id, msg.op, msg);
1364
1319
  }
1365
1320
  switch (msg.op) {
1366
1321
  case 'transact': {
@@ -1381,7 +1336,7 @@ class Reactor {
1381
1336
  return;
1382
1337
  }
1383
1338
  this._log.info('[socket][open]', this._transport.id);
1384
- this._setStatus(exports.STATUS.OPENED);
1339
+ this._setStatus(STATUS.OPENED);
1385
1340
  this.getCurrentUser()
1386
1341
  .then((resp) => {
1387
1342
  this._trySend((0, id_ts_1.default)(), {
@@ -1451,7 +1406,7 @@ class Reactor {
1451
1406
  this._log.info('[socket][close]', targetTransport.id, 'skip; this is no longer the current transport');
1452
1407
  return;
1453
1408
  }
1454
- this._setStatus(exports.STATUS.CLOSED);
1409
+ this._setStatus(STATUS.CLOSED);
1455
1410
  for (const room of Object.values(this._rooms)) {
1456
1411
  room.isConnected = false;
1457
1412
  }