@replit/river 0.10.0 → 0.10.1

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 (135) hide show
  1. package/dist/{router/builder.d.ts → builder-3c4485f0.d.ts} +76 -21
  2. package/dist/chunk-7WJ6YLE5.js +683 -0
  3. package/dist/chunk-AJQU4AZG.js +284 -0
  4. package/dist/chunk-ORAG7IAU.js +0 -0
  5. package/dist/chunk-PC65ZFWJ.js +29 -0
  6. package/dist/chunk-R6H2BIMC.js +49 -0
  7. package/dist/chunk-RGMHF6PF.js +65 -0
  8. package/dist/chunk-SLUSVGQH.js +30 -0
  9. package/dist/chunk-UU2Z7LDR.js +113 -0
  10. package/dist/chunk-WVT5QXMZ.js +20 -0
  11. package/dist/chunk-ZE4MX7DF.js +75 -0
  12. package/dist/codec/index.cjs +94 -0
  13. package/dist/codec/index.d.cts +15 -0
  14. package/dist/codec/index.d.ts +15 -4
  15. package/dist/codec/index.js +10 -2
  16. package/dist/connection-8e19874c.d.ts +11 -0
  17. package/dist/connection-f7688cc1.d.ts +11 -0
  18. package/dist/logging/index.cjs +56 -0
  19. package/dist/logging/index.d.cts +28 -0
  20. package/dist/logging/index.d.ts +6 -6
  21. package/dist/logging/index.js +9 -40
  22. package/dist/router/index.cjs +770 -0
  23. package/dist/router/index.d.cts +114 -0
  24. package/dist/router/index.d.ts +114 -12
  25. package/dist/router/index.js +24 -5
  26. package/dist/transport/impls/ws/client.cjs +505 -0
  27. package/dist/transport/impls/ws/client.d.cts +42 -0
  28. package/dist/transport/impls/ws/client.d.ts +8 -8
  29. package/dist/transport/impls/ws/client.js +10 -100
  30. package/dist/transport/impls/ws/server.cjs +457 -0
  31. package/dist/transport/impls/ws/server.d.cts +21 -0
  32. package/dist/transport/impls/ws/server.d.ts +11 -10
  33. package/dist/transport/impls/ws/server.js +11 -52
  34. package/dist/transport/index.cjs +362 -0
  35. package/dist/transport/{transport.d.ts → index.d.cts} +119 -7
  36. package/dist/transport/index.d.ts +273 -4
  37. package/dist/transport/index.js +20 -2
  38. package/dist/{codec/types.d.ts → types-3e5768ec.d.ts} +3 -2
  39. package/dist/util/testHelpers.cjs +731 -0
  40. package/dist/util/testHelpers.d.cts +79 -0
  41. package/dist/util/testHelpers.d.ts +22 -19
  42. package/dist/util/testHelpers.js +135 -163
  43. package/package.json +41 -13
  44. package/dist/__tests__/bandwidth.bench.d.ts +0 -2
  45. package/dist/__tests__/bandwidth.bench.d.ts.map +0 -1
  46. package/dist/__tests__/bandwidth.bench.js +0 -90
  47. package/dist/__tests__/cleanup.test.d.ts +0 -2
  48. package/dist/__tests__/cleanup.test.d.ts.map +0 -1
  49. package/dist/__tests__/cleanup.test.js +0 -165
  50. package/dist/__tests__/disconnects.test.d.ts +0 -2
  51. package/dist/__tests__/disconnects.test.d.ts.map +0 -1
  52. package/dist/__tests__/disconnects.test.js +0 -163
  53. package/dist/__tests__/e2e.test.d.ts +0 -2
  54. package/dist/__tests__/e2e.test.d.ts.map +0 -1
  55. package/dist/__tests__/e2e.test.js +0 -317
  56. package/dist/__tests__/fixtures/cleanup.d.ts +0 -12
  57. package/dist/__tests__/fixtures/cleanup.d.ts.map +0 -1
  58. package/dist/__tests__/fixtures/cleanup.js +0 -36
  59. package/dist/__tests__/fixtures/largePayload.json +0 -33
  60. package/dist/__tests__/fixtures/observable.d.ts +0 -26
  61. package/dist/__tests__/fixtures/observable.d.ts.map +0 -1
  62. package/dist/__tests__/fixtures/observable.js +0 -38
  63. package/dist/__tests__/fixtures/observable.test.d.ts +0 -2
  64. package/dist/__tests__/fixtures/observable.test.d.ts.map +0 -1
  65. package/dist/__tests__/fixtures/observable.test.js +0 -39
  66. package/dist/__tests__/fixtures/services.d.ts +0 -288
  67. package/dist/__tests__/fixtures/services.d.ts.map +0 -1
  68. package/dist/__tests__/fixtures/services.js +0 -207
  69. package/dist/__tests__/handler.test.d.ts +0 -2
  70. package/dist/__tests__/handler.test.d.ts.map +0 -1
  71. package/dist/__tests__/handler.test.js +0 -120
  72. package/dist/__tests__/serialize.test.d.ts +0 -2
  73. package/dist/__tests__/serialize.test.d.ts.map +0 -1
  74. package/dist/__tests__/serialize.test.js +0 -208
  75. package/dist/__tests__/typescript-stress.test.d.ts +0 -1583
  76. package/dist/__tests__/typescript-stress.test.d.ts.map +0 -1
  77. package/dist/__tests__/typescript-stress.test.js +0 -123
  78. package/dist/codec/binary.d.ts +0 -7
  79. package/dist/codec/binary.d.ts.map +0 -1
  80. package/dist/codec/binary.js +0 -20
  81. package/dist/codec/codec.test.d.ts +0 -5
  82. package/dist/codec/codec.test.d.ts.map +0 -1
  83. package/dist/codec/codec.test.js +0 -41
  84. package/dist/codec/index.d.ts.map +0 -1
  85. package/dist/codec/json.d.ts +0 -7
  86. package/dist/codec/json.d.ts.map +0 -1
  87. package/dist/codec/json.js +0 -51
  88. package/dist/codec/types.d.ts.map +0 -1
  89. package/dist/codec/types.js +0 -1
  90. package/dist/logging/index.d.ts.map +0 -1
  91. package/dist/router/builder.d.ts.map +0 -1
  92. package/dist/router/builder.js +0 -91
  93. package/dist/router/client.d.ts +0 -72
  94. package/dist/router/client.d.ts.map +0 -1
  95. package/dist/router/client.js +0 -257
  96. package/dist/router/context.d.ts +0 -30
  97. package/dist/router/context.d.ts.map +0 -1
  98. package/dist/router/context.js +0 -1
  99. package/dist/router/defs.d.ts +0 -16
  100. package/dist/router/defs.d.ts.map +0 -1
  101. package/dist/router/defs.js +0 -11
  102. package/dist/router/index.d.ts.map +0 -1
  103. package/dist/router/result.d.ts +0 -26
  104. package/dist/router/result.d.ts.map +0 -1
  105. package/dist/router/result.js +0 -22
  106. package/dist/router/server.d.ts +0 -39
  107. package/dist/router/server.d.ts.map +0 -1
  108. package/dist/router/server.js +0 -260
  109. package/dist/transport/events.d.ts +0 -19
  110. package/dist/transport/events.d.ts.map +0 -1
  111. package/dist/transport/events.js +0 -26
  112. package/dist/transport/impls/stdio/stdio.d.ts +0 -33
  113. package/dist/transport/impls/stdio/stdio.d.ts.map +0 -1
  114. package/dist/transport/impls/stdio/stdio.js +0 -75
  115. package/dist/transport/impls/stdio/stdio.test.d.ts +0 -2
  116. package/dist/transport/impls/stdio/stdio.test.d.ts.map +0 -1
  117. package/dist/transport/impls/stdio/stdio.test.js +0 -24
  118. package/dist/transport/impls/ws/client.d.ts.map +0 -1
  119. package/dist/transport/impls/ws/connection.d.ts +0 -11
  120. package/dist/transport/impls/ws/connection.d.ts.map +0 -1
  121. package/dist/transport/impls/ws/connection.js +0 -23
  122. package/dist/transport/impls/ws/server.d.ts.map +0 -1
  123. package/dist/transport/impls/ws/ws.test.d.ts +0 -2
  124. package/dist/transport/impls/ws/ws.test.d.ts.map +0 -1
  125. package/dist/transport/impls/ws/ws.test.js +0 -185
  126. package/dist/transport/index.d.ts.map +0 -1
  127. package/dist/transport/message.d.ts +0 -142
  128. package/dist/transport/message.d.ts.map +0 -1
  129. package/dist/transport/message.js +0 -113
  130. package/dist/transport/message.test.d.ts +0 -2
  131. package/dist/transport/message.test.d.ts.map +0 -1
  132. package/dist/transport/message.test.js +0 -52
  133. package/dist/transport/transport.d.ts.map +0 -1
  134. package/dist/transport/transport.js +0 -281
  135. package/dist/util/testHelpers.d.ts.map +0 -1
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // codec/index.ts
21
+ var codec_exports = {};
22
+ __export(codec_exports, {
23
+ BinaryCodec: () => BinaryCodec,
24
+ NaiveJsonCodec: () => NaiveJsonCodec
25
+ });
26
+ module.exports = __toCommonJS(codec_exports);
27
+
28
+ // codec/binary.ts
29
+ var import_msgpack = require("@msgpack/msgpack");
30
+ var BinaryCodec = {
31
+ toBuffer: import_msgpack.encode,
32
+ fromBuffer: (buff) => {
33
+ try {
34
+ const res = (0, import_msgpack.decode)(buff);
35
+ if (typeof res !== "object") {
36
+ return null;
37
+ }
38
+ return res;
39
+ } catch {
40
+ return null;
41
+ }
42
+ }
43
+ };
44
+
45
+ // codec/json.ts
46
+ var encoder = new TextEncoder();
47
+ var decoder = new TextDecoder();
48
+ function uint8ArrayToBase64(uint8Array) {
49
+ let binary = "";
50
+ uint8Array.forEach((byte) => {
51
+ binary += String.fromCharCode(byte);
52
+ });
53
+ return btoa(binary);
54
+ }
55
+ function base64ToUint8Array(base64) {
56
+ const binaryString = atob(base64);
57
+ const uint8Array = new Uint8Array(binaryString.length);
58
+ for (let i = 0; i < binaryString.length; i++) {
59
+ uint8Array[i] = binaryString.charCodeAt(i);
60
+ }
61
+ return uint8Array;
62
+ }
63
+ var NaiveJsonCodec = {
64
+ toBuffer: (obj) => {
65
+ return encoder.encode(
66
+ JSON.stringify(obj, function replacer(key) {
67
+ let val = this[key];
68
+ if (val instanceof Uint8Array) {
69
+ return { $t: uint8ArrayToBase64(val) };
70
+ } else {
71
+ return val;
72
+ }
73
+ })
74
+ );
75
+ },
76
+ fromBuffer: (buff) => {
77
+ try {
78
+ return JSON.parse(decoder.decode(buff), function reviver(_key, val) {
79
+ if (val?.$t) {
80
+ return base64ToUint8Array(val.$t);
81
+ } else {
82
+ return val;
83
+ }
84
+ });
85
+ } catch {
86
+ return null;
87
+ }
88
+ }
89
+ };
90
+ // Annotate the CommonJS export names for ESM import in node:
91
+ 0 && (module.exports = {
92
+ BinaryCodec,
93
+ NaiveJsonCodec
94
+ });
@@ -0,0 +1,15 @@
1
+ import { C as Codec } from '../types-3e5768ec.js';
2
+
3
+ /**
4
+ * Binary codec, uses [msgpack](https://www.npmjs.com/package/@msgpack/msgpack) under the hood
5
+ * @type {Codec}
6
+ */
7
+ declare const BinaryCodec: Codec;
8
+
9
+ /**
10
+ * Naive JSON codec implementation using JSON.stringify and JSON.parse.
11
+ * @type {Codec}
12
+ */
13
+ declare const NaiveJsonCodec: Codec;
14
+
15
+ export { BinaryCodec, Codec, NaiveJsonCodec };
@@ -1,4 +1,15 @@
1
- export { BinaryCodec } from './binary';
2
- export { NaiveJsonCodec } from './json';
3
- export type { Codec } from './types';
4
- //# sourceMappingURL=index.d.ts.map
1
+ import { C as Codec } from '../types-3e5768ec.js';
2
+
3
+ /**
4
+ * Binary codec, uses [msgpack](https://www.npmjs.com/package/@msgpack/msgpack) under the hood
5
+ * @type {Codec}
6
+ */
7
+ declare const BinaryCodec: Codec;
8
+
9
+ /**
10
+ * Naive JSON codec implementation using JSON.stringify and JSON.parse.
11
+ * @type {Codec}
12
+ */
13
+ declare const NaiveJsonCodec: Codec;
14
+
15
+ export { BinaryCodec, Codec, NaiveJsonCodec };
@@ -1,2 +1,10 @@
1
- export { BinaryCodec } from './binary';
2
- export { NaiveJsonCodec } from './json';
1
+ import {
2
+ BinaryCodec
3
+ } from "../chunk-WVT5QXMZ.js";
4
+ import {
5
+ NaiveJsonCodec
6
+ } from "../chunk-R6H2BIMC.js";
7
+ export {
8
+ BinaryCodec,
9
+ NaiveJsonCodec
10
+ };
@@ -0,0 +1,11 @@
1
+ import { Connection, Transport, TransportClientId } from './transport/index.js';
2
+ import WebSocket from 'isomorphic-ws';
3
+
4
+ declare class WebSocketConnection extends Connection {
5
+ ws: WebSocket;
6
+ constructor(transport: Transport<WebSocketConnection>, connectedTo: TransportClientId, ws: WebSocket);
7
+ send(payload: Uint8Array): boolean;
8
+ close(): Promise<void>;
9
+ }
10
+
11
+ export { WebSocketConnection as W };
@@ -0,0 +1,11 @@
1
+ import { Connection, Transport, TransportClientId } from './transport/index.cjs';
2
+ import WebSocket from 'isomorphic-ws';
3
+
4
+ declare class WebSocketConnection extends Connection {
5
+ ws: WebSocket;
6
+ constructor(transport: Transport<WebSocketConnection>, connectedTo: TransportClientId, ws: WebSocket);
7
+ send(payload: Uint8Array): boolean;
8
+ close(): Promise<void>;
9
+ }
10
+
11
+ export { WebSocketConnection as W };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // logging/index.ts
21
+ var logging_exports = {};
22
+ __export(logging_exports, {
23
+ bindLogger: () => bindLogger,
24
+ log: () => log,
25
+ setLevel: () => setLevel
26
+ });
27
+ module.exports = __toCommonJS(logging_exports);
28
+ var LoggingLevels = {
29
+ info: 0,
30
+ warn: 1,
31
+ error: 2
32
+ };
33
+ var log;
34
+ var defaultLoggingLevel = "warn";
35
+ function bindLogger(write, color) {
36
+ const info = color ? "\x1B[37minfo\x1B[0m" : "info";
37
+ const warn = color ? "\x1B[33mwarn\x1B[0m" : "warn";
38
+ const error = color ? "\x1B[31merr\x1B[0m" : "err";
39
+ log = {
40
+ info: (msg) => log && LoggingLevels[log.minLevel] <= 0 && write(`[river:${info}] ${msg}`),
41
+ warn: (msg) => log && LoggingLevels[log.minLevel] <= 1 && write(`[river:${warn}] ${msg}`),
42
+ error: (msg) => log && LoggingLevels[log.minLevel] <= 2 && write(`[river:${error}] ${msg}`),
43
+ minLevel: log?.minLevel ?? defaultLoggingLevel
44
+ };
45
+ }
46
+ function setLevel(level) {
47
+ if (log) {
48
+ log.minLevel = level;
49
+ }
50
+ }
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ bindLogger,
54
+ log,
55
+ setLevel
56
+ });
@@ -0,0 +1,28 @@
1
+ declare const LoggingLevels: {
2
+ readonly info: 0;
3
+ readonly warn: 1;
4
+ readonly error: 2;
5
+ };
6
+ type LoggingLevel = keyof typeof LoggingLevels;
7
+ type Logger = {
8
+ minLevel: LoggingLevel;
9
+ } & {
10
+ [key in LoggingLevel]: (msg: string) => void;
11
+ };
12
+ /**
13
+ * The global River logger instance.
14
+ */
15
+ declare let log: Logger | undefined;
16
+ /**
17
+ * Binds the given write function to River's logger {@link log}.
18
+ * @param write - The function to write log messages.
19
+ * @param color - Whether to use colored log levels.
20
+ */
21
+ declare function bindLogger(write: (msg: string) => void, color?: boolean): void;
22
+ /**
23
+ * Sets the minimum logging level for the logger.
24
+ * @param level - The minimum logging level to set.
25
+ */
26
+ declare function setLevel(level: LoggingLevel): void;
27
+
28
+ export { Logger, bindLogger, log, setLevel };
@@ -4,7 +4,7 @@ declare const LoggingLevels: {
4
4
  readonly error: 2;
5
5
  };
6
6
  type LoggingLevel = keyof typeof LoggingLevels;
7
- export type Logger = {
7
+ type Logger = {
8
8
  minLevel: LoggingLevel;
9
9
  } & {
10
10
  [key in LoggingLevel]: (msg: string) => void;
@@ -12,17 +12,17 @@ export type Logger = {
12
12
  /**
13
13
  * The global River logger instance.
14
14
  */
15
- export declare let log: Logger | undefined;
15
+ declare let log: Logger | undefined;
16
16
  /**
17
17
  * Binds the given write function to River's logger {@link log}.
18
18
  * @param write - The function to write log messages.
19
19
  * @param color - Whether to use colored log levels.
20
20
  */
21
- export declare function bindLogger(write: (msg: string) => void, color?: boolean): void;
21
+ declare function bindLogger(write: (msg: string) => void, color?: boolean): void;
22
22
  /**
23
23
  * Sets the minimum logging level for the logger.
24
24
  * @param level - The minimum logging level to set.
25
25
  */
26
- export declare function setLevel(level: LoggingLevel): void;
27
- export {};
28
- //# sourceMappingURL=index.d.ts.map
26
+ declare function setLevel(level: LoggingLevel): void;
27
+
28
+ export { Logger, bindLogger, log, setLevel };
@@ -1,41 +1,10 @@
1
- const LoggingLevels = {
2
- info: 0,
3
- warn: 1,
4
- error: 2,
1
+ import {
2
+ bindLogger,
3
+ log,
4
+ setLevel
5
+ } from "../chunk-SLUSVGQH.js";
6
+ export {
7
+ bindLogger,
8
+ log,
9
+ setLevel
5
10
  };
6
- /**
7
- * The global River logger instance.
8
- */
9
- export let log;
10
- const defaultLoggingLevel = 'warn';
11
- /**
12
- * Binds the given write function to River's logger {@link log}.
13
- * @param write - The function to write log messages.
14
- * @param color - Whether to use colored log levels.
15
- */
16
- export function bindLogger(write, color) {
17
- const info = color ? '\u001b[37minfo\u001b[0m' : 'info';
18
- const warn = color ? '\u001b[33mwarn\u001b[0m' : 'warn';
19
- const error = color ? '\u001b[31merr\u001b[0m' : 'err';
20
- log = {
21
- info: (msg) => log &&
22
- LoggingLevels[log.minLevel] <= 0 &&
23
- write(`[river:${info}] ${msg}`),
24
- warn: (msg) => log &&
25
- LoggingLevels[log.minLevel] <= 1 &&
26
- write(`[river:${warn}] ${msg}`),
27
- error: (msg) => log &&
28
- LoggingLevels[log.minLevel] <= 2 &&
29
- write(`[river:${error}] ${msg}`),
30
- minLevel: log?.minLevel ?? defaultLoggingLevel,
31
- };
32
- }
33
- /**
34
- * Sets the minimum logging level for the logger.
35
- * @param level - The minimum logging level to set.
36
- */
37
- export function setLevel(level) {
38
- if (log) {
39
- log.minLevel = level;
40
- }
41
- }