@replit/river 0.9.3 → 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 (129) hide show
  1. package/dist/{router/builder.d.ts → builder-3c4485f0.d.ts} +82 -28
  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 -10
  25. package/dist/router/index.js +24 -4
  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 +9 -12
  29. package/dist/transport/impls/ws/client.js +10 -101
  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 +14 -10
  33. package/dist/transport/impls/ws/server.js +11 -47
  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 -13
  37. package/dist/transport/index.js +20 -23
  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 +34 -108
  42. package/dist/util/testHelpers.js +137 -320
  43. package/package.json +52 -23
  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__/e2e.test.d.ts +0 -2
  48. package/dist/__tests__/e2e.test.d.ts.map +0 -1
  49. package/dist/__tests__/e2e.test.js +0 -316
  50. package/dist/__tests__/fixtures/cleanup.d.ts +0 -12
  51. package/dist/__tests__/fixtures/cleanup.d.ts.map +0 -1
  52. package/dist/__tests__/fixtures/cleanup.js +0 -39
  53. package/dist/__tests__/fixtures/largePayload.json +0 -33
  54. package/dist/__tests__/fixtures/observable.d.ts +0 -26
  55. package/dist/__tests__/fixtures/observable.d.ts.map +0 -1
  56. package/dist/__tests__/fixtures/observable.js +0 -38
  57. package/dist/__tests__/fixtures/observable.test.d.ts +0 -2
  58. package/dist/__tests__/fixtures/observable.test.d.ts.map +0 -1
  59. package/dist/__tests__/fixtures/observable.test.js +0 -39
  60. package/dist/__tests__/fixtures/services.d.ts +0 -288
  61. package/dist/__tests__/fixtures/services.d.ts.map +0 -1
  62. package/dist/__tests__/fixtures/services.js +0 -224
  63. package/dist/__tests__/handler.test.d.ts +0 -2
  64. package/dist/__tests__/handler.test.d.ts.map +0 -1
  65. package/dist/__tests__/handler.test.js +0 -121
  66. package/dist/__tests__/invariants.test.d.ts +0 -2
  67. package/dist/__tests__/invariants.test.d.ts.map +0 -1
  68. package/dist/__tests__/invariants.test.js +0 -138
  69. package/dist/__tests__/serialize.test.d.ts +0 -2
  70. package/dist/__tests__/serialize.test.d.ts.map +0 -1
  71. package/dist/__tests__/serialize.test.js +0 -208
  72. package/dist/__tests__/typescript-stress.test.d.ts +0 -1583
  73. package/dist/__tests__/typescript-stress.test.d.ts.map +0 -1
  74. package/dist/__tests__/typescript-stress.test.js +0 -123
  75. package/dist/codec/binary.d.ts +0 -7
  76. package/dist/codec/binary.d.ts.map +0 -1
  77. package/dist/codec/binary.js +0 -20
  78. package/dist/codec/codec.test.d.ts +0 -5
  79. package/dist/codec/codec.test.d.ts.map +0 -1
  80. package/dist/codec/codec.test.js +0 -41
  81. package/dist/codec/index.d.ts.map +0 -1
  82. package/dist/codec/json.d.ts +0 -7
  83. package/dist/codec/json.d.ts.map +0 -1
  84. package/dist/codec/json.js +0 -51
  85. package/dist/codec/types.d.ts.map +0 -1
  86. package/dist/codec/types.js +0 -1
  87. package/dist/logging/index.d.ts.map +0 -1
  88. package/dist/router/builder.d.ts.map +0 -1
  89. package/dist/router/builder.js +0 -91
  90. package/dist/router/client.d.ts +0 -68
  91. package/dist/router/client.d.ts.map +0 -1
  92. package/dist/router/client.js +0 -159
  93. package/dist/router/context.d.ts +0 -30
  94. package/dist/router/context.d.ts.map +0 -1
  95. package/dist/router/context.js +0 -1
  96. package/dist/router/index.d.ts.map +0 -1
  97. package/dist/router/result.d.ts +0 -25
  98. package/dist/router/result.d.ts.map +0 -1
  99. package/dist/router/result.js +0 -18
  100. package/dist/router/server.d.ts +0 -39
  101. package/dist/router/server.d.ts.map +0 -1
  102. package/dist/router/server.js +0 -217
  103. package/dist/transport/events.d.ts +0 -19
  104. package/dist/transport/events.d.ts.map +0 -1
  105. package/dist/transport/events.js +0 -26
  106. package/dist/transport/impls/stdio/stdio.d.ts +0 -33
  107. package/dist/transport/impls/stdio/stdio.d.ts.map +0 -1
  108. package/dist/transport/impls/stdio/stdio.js +0 -75
  109. package/dist/transport/impls/stdio/stdio.test.d.ts +0 -2
  110. package/dist/transport/impls/stdio/stdio.test.d.ts.map +0 -1
  111. package/dist/transport/impls/stdio/stdio.test.js +0 -25
  112. package/dist/transport/impls/ws/client.d.ts.map +0 -1
  113. package/dist/transport/impls/ws/connection.d.ts +0 -11
  114. package/dist/transport/impls/ws/connection.d.ts.map +0 -1
  115. package/dist/transport/impls/ws/connection.js +0 -23
  116. package/dist/transport/impls/ws/server.d.ts.map +0 -1
  117. package/dist/transport/impls/ws/ws.test.d.ts +0 -2
  118. package/dist/transport/impls/ws/ws.test.d.ts.map +0 -1
  119. package/dist/transport/impls/ws/ws.test.js +0 -117
  120. package/dist/transport/index.d.ts.map +0 -1
  121. package/dist/transport/message.d.ts +0 -143
  122. package/dist/transport/message.d.ts.map +0 -1
  123. package/dist/transport/message.js +0 -113
  124. package/dist/transport/message.test.d.ts +0 -2
  125. package/dist/transport/message.test.d.ts.map +0 -1
  126. package/dist/transport/message.test.js +0 -52
  127. package/dist/transport/transport.d.ts.map +0 -1
  128. package/dist/transport/transport.js +0 -281
  129. 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
- }