@replit/river 0.10.13 → 0.12.0
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.
- package/README.md +28 -8
- package/dist/{builder-1f26296b.d.ts → builder-c593de11.d.ts} +14 -13
- package/dist/{chunk-3JGVFWKQ.js → chunk-24O3BKZA.js} +205 -180
- package/dist/chunk-4HOR4NUO.js +40 -0
- package/dist/chunk-ANGOKBE5.js +708 -0
- package/dist/{chunk-R6H2BIMC.js → chunk-GZ7HCLLM.js} +31 -7
- package/dist/{chunk-T7M7OKPE.js → chunk-H4BYJELI.js} +5 -1
- package/dist/chunk-IIBVKYDB.js +62 -0
- package/dist/chunk-IUDKWAOK.js +47 -0
- package/dist/chunk-WTOIOXB7.js +125 -0
- package/dist/chunk-XOTIAXAH.js +44 -0
- package/dist/codec/index.cjs +13 -7
- package/dist/codec/index.js +2 -4
- package/dist/connection-2956a1c5.d.ts +17 -0
- package/dist/connection-aaea7c88.d.ts +15 -0
- package/dist/connection-cd963ed5.d.ts +18 -0
- package/dist/index-d91775d9.d.ts +442 -0
- package/dist/logging/index.cjs +8 -3
- package/dist/logging/index.d.cts +6 -1
- package/dist/logging/index.d.ts +6 -1
- package/dist/logging/index.js +5 -3
- package/dist/messageFraming-b200ef25.d.ts +20 -0
- package/dist/router/index.cjs +249 -211
- package/dist/router/index.d.cts +6 -7
- package/dist/router/index.d.ts +6 -7
- package/dist/router/index.js +3 -3
- package/dist/transport/impls/stdio/client.cjs +891 -0
- package/dist/transport/impls/stdio/client.d.cts +27 -0
- package/dist/transport/impls/stdio/client.d.ts +27 -0
- package/dist/transport/impls/stdio/client.js +42 -0
- package/dist/transport/impls/stdio/server.cjs +861 -0
- package/dist/transport/impls/stdio/server.d.cts +25 -0
- package/dist/transport/impls/stdio/server.d.ts +25 -0
- package/dist/transport/impls/stdio/server.js +33 -0
- package/dist/transport/impls/uds/client.cjs +893 -0
- package/dist/transport/impls/uds/client.d.cts +16 -0
- package/dist/transport/impls/uds/client.d.ts +16 -0
- package/dist/transport/impls/uds/client.js +44 -0
- package/dist/transport/impls/uds/server.cjs +863 -0
- package/dist/transport/impls/uds/server.d.cts +16 -0
- package/dist/transport/impls/uds/server.d.ts +16 -0
- package/dist/transport/impls/uds/server.js +39 -0
- package/dist/transport/impls/ws/client.cjs +587 -248
- package/dist/transport/impls/ws/client.d.cts +6 -21
- package/dist/transport/impls/ws/client.d.ts +6 -21
- package/dist/transport/impls/ws/client.js +77 -7
- package/dist/transport/impls/ws/server.cjs +541 -194
- package/dist/transport/impls/ws/server.d.cts +6 -10
- package/dist/transport/impls/ws/server.d.ts +6 -10
- package/dist/transport/impls/ws/server.js +31 -8
- package/dist/transport/index.cjs +652 -129
- package/dist/transport/index.d.cts +3 -276
- package/dist/transport/index.d.ts +3 -276
- package/dist/transport/index.js +13 -10
- package/dist/util/testHelpers.cjs +40 -602
- package/dist/util/testHelpers.d.cts +18 -37
- package/dist/util/testHelpers.d.ts +18 -37
- package/dist/util/testHelpers.js +27 -47
- package/package.json +29 -14
- package/dist/chunk-3MQETIGZ.js +0 -80
- package/dist/chunk-5IC5XMWK.js +0 -140
- package/dist/chunk-L7D75G4K.js +0 -29
- package/dist/chunk-LQXPKF3A.js +0 -282
- package/dist/chunk-PJ2EUO7O.js +0 -63
- package/dist/chunk-WVT5QXMZ.js +0 -20
- package/dist/chunk-ZE4MX7DF.js +0 -75
- package/dist/connection-2529fc14.d.ts +0 -10
- package/dist/connection-316d6e3a.d.ts +0 -10
- package/dist/connection-8e19874c.d.ts +0 -11
- package/dist/connection-f7688cc1.d.ts +0 -11
- package/dist/transport/impls/stdio/stdio.cjs +0 -508
- package/dist/transport/impls/stdio/stdio.d.cts +0 -26
- package/dist/transport/impls/stdio/stdio.d.ts +0 -26
- package/dist/transport/impls/stdio/stdio.js +0 -70
- package/dist/transport/impls/unixsocket/client.cjs +0 -506
- package/dist/transport/impls/unixsocket/client.d.cts +0 -16
- package/dist/transport/impls/unixsocket/client.d.ts +0 -16
- package/dist/transport/impls/unixsocket/client.js +0 -67
- package/dist/transport/impls/unixsocket/server.cjs +0 -510
- package/dist/transport/impls/unixsocket/server.d.cts +0 -18
- package/dist/transport/impls/unixsocket/server.d.ts +0 -18
- package/dist/transport/impls/unixsocket/server.js +0 -73
- /package/dist/{chunk-ORAG7IAU.js → chunk-5IZ2UHWV.js} +0 -0
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
// codec/binary.ts
|
|
2
|
+
import { decode, encode } from "@msgpack/msgpack";
|
|
3
|
+
var BinaryCodec = {
|
|
4
|
+
toBuffer: encode,
|
|
5
|
+
fromBuffer: (buff) => {
|
|
6
|
+
try {
|
|
7
|
+
const res = decode(buff);
|
|
8
|
+
if (typeof res !== "object") {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return res;
|
|
12
|
+
} catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
1
18
|
// codec/json.ts
|
|
2
19
|
var encoder = new TextEncoder();
|
|
3
20
|
var decoder = new TextDecoder();
|
|
@@ -20,7 +37,7 @@ var NaiveJsonCodec = {
|
|
|
20
37
|
toBuffer: (obj) => {
|
|
21
38
|
return encoder.encode(
|
|
22
39
|
JSON.stringify(obj, function replacer(key) {
|
|
23
|
-
|
|
40
|
+
const val = this[key];
|
|
24
41
|
if (val instanceof Uint8Array) {
|
|
25
42
|
return { $t: uint8ArrayToBase64(val) };
|
|
26
43
|
} else {
|
|
@@ -31,13 +48,19 @@ var NaiveJsonCodec = {
|
|
|
31
48
|
},
|
|
32
49
|
fromBuffer: (buff) => {
|
|
33
50
|
try {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
51
|
+
const parsed = JSON.parse(
|
|
52
|
+
decoder.decode(buff),
|
|
53
|
+
function reviver(_key, val) {
|
|
54
|
+
if (val?.$t) {
|
|
55
|
+
return base64ToUint8Array(val.$t);
|
|
56
|
+
} else {
|
|
57
|
+
return val;
|
|
58
|
+
}
|
|
39
59
|
}
|
|
40
|
-
|
|
60
|
+
);
|
|
61
|
+
if (typeof parsed === "object")
|
|
62
|
+
return parsed;
|
|
63
|
+
return null;
|
|
41
64
|
} catch {
|
|
42
65
|
return null;
|
|
43
66
|
}
|
|
@@ -45,5 +68,6 @@ var NaiveJsonCodec = {
|
|
|
45
68
|
};
|
|
46
69
|
|
|
47
70
|
export {
|
|
71
|
+
BinaryCodec,
|
|
48
72
|
NaiveJsonCodec
|
|
49
73
|
};
|
|
@@ -6,7 +6,7 @@ var LoggingLevels = {
|
|
|
6
6
|
error: 2
|
|
7
7
|
};
|
|
8
8
|
var log;
|
|
9
|
-
var defaultLoggingLevel = "
|
|
9
|
+
var defaultLoggingLevel = "info";
|
|
10
10
|
function bindLogger(write, color) {
|
|
11
11
|
const debug = color ? "\x1B[37mdebug\x1B[0m" : "debug";
|
|
12
12
|
const info = color ? "\x1B[37minfo\x1B[0m" : "info";
|
|
@@ -20,6 +20,9 @@ function bindLogger(write, color) {
|
|
|
20
20
|
minLevel: log?.minLevel ?? defaultLoggingLevel
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
|
+
function unbindLogger() {
|
|
24
|
+
log = void 0;
|
|
25
|
+
}
|
|
23
26
|
function setLevel(level) {
|
|
24
27
|
if (log) {
|
|
25
28
|
log.minLevel = level;
|
|
@@ -29,5 +32,6 @@ function setLevel(level) {
|
|
|
29
32
|
export {
|
|
30
33
|
log,
|
|
31
34
|
bindLogger,
|
|
35
|
+
unbindLogger,
|
|
32
36
|
setLevel
|
|
33
37
|
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// transport/transforms/messageFraming.ts
|
|
2
|
+
import { Transform } from "node:stream";
|
|
3
|
+
var Uint32LengthPrefixFraming = class extends Transform {
|
|
4
|
+
receivedBuffer;
|
|
5
|
+
maxBufferSizeBytes;
|
|
6
|
+
constructor({ maxBufferSizeBytes, ...options }) {
|
|
7
|
+
super(options);
|
|
8
|
+
this.maxBufferSizeBytes = maxBufferSizeBytes;
|
|
9
|
+
this.receivedBuffer = Buffer.alloc(0);
|
|
10
|
+
}
|
|
11
|
+
_transform(chunk, _encoding, cb) {
|
|
12
|
+
if (this.receivedBuffer.byteLength + chunk.byteLength > this.maxBufferSizeBytes) {
|
|
13
|
+
const err = new Error(
|
|
14
|
+
`buffer overflow: ${this.receivedBuffer.byteLength}B > ${this.maxBufferSizeBytes}B`
|
|
15
|
+
);
|
|
16
|
+
this.emit("error", err);
|
|
17
|
+
cb(err);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
this.receivedBuffer = Buffer.concat([this.receivedBuffer, chunk]);
|
|
21
|
+
while (this.receivedBuffer.length > 4) {
|
|
22
|
+
const claimedMessageLength = this.receivedBuffer.readUInt32BE(0) + 4;
|
|
23
|
+
if (this.receivedBuffer.length >= claimedMessageLength) {
|
|
24
|
+
const message = this.receivedBuffer.subarray(4, claimedMessageLength);
|
|
25
|
+
this.push(message);
|
|
26
|
+
this.receivedBuffer = this.receivedBuffer.subarray(claimedMessageLength);
|
|
27
|
+
} else {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
cb();
|
|
32
|
+
}
|
|
33
|
+
_flush(cb) {
|
|
34
|
+
if (this.receivedBuffer.length) {
|
|
35
|
+
this.emit("error", new Error("got incomplete message while flushing"));
|
|
36
|
+
}
|
|
37
|
+
this.receivedBuffer = Buffer.alloc(0);
|
|
38
|
+
cb();
|
|
39
|
+
}
|
|
40
|
+
_destroy(error, callback) {
|
|
41
|
+
this.receivedBuffer = Buffer.alloc(0);
|
|
42
|
+
super._destroy(error, callback);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
function createLengthEncodedStream(options) {
|
|
46
|
+
return new Uint32LengthPrefixFraming({
|
|
47
|
+
maxBufferSizeBytes: options?.maxBufferSizeBytes ?? 16 * 1024 * 1024
|
|
48
|
+
// 16MB
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
var MessageFramer = {
|
|
52
|
+
createFramedStream: createLengthEncodedStream,
|
|
53
|
+
write: (buf) => {
|
|
54
|
+
const lengthPrefix = Buffer.alloc(4);
|
|
55
|
+
lengthPrefix.writeUInt32BE(buf.length, 0);
|
|
56
|
+
return Buffer.concat([lengthPrefix, buf]);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
MessageFramer
|
|
62
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MessageFramer
|
|
3
|
+
} from "./chunk-IIBVKYDB.js";
|
|
4
|
+
import {
|
|
5
|
+
Connection
|
|
6
|
+
} from "./chunk-ANGOKBE5.js";
|
|
7
|
+
|
|
8
|
+
// transport/impls/stdio/connection.ts
|
|
9
|
+
var StreamConnection = class extends Connection {
|
|
10
|
+
input;
|
|
11
|
+
output;
|
|
12
|
+
framer;
|
|
13
|
+
constructor(input, output) {
|
|
14
|
+
super();
|
|
15
|
+
this.framer = MessageFramer.createFramedStream();
|
|
16
|
+
this.input = input.pipe(this.framer);
|
|
17
|
+
this.output = output;
|
|
18
|
+
}
|
|
19
|
+
addDataListener(cb) {
|
|
20
|
+
this.input.on("data", cb);
|
|
21
|
+
}
|
|
22
|
+
removeDataListener(cb) {
|
|
23
|
+
this.input.off("data", cb);
|
|
24
|
+
}
|
|
25
|
+
addCloseListener(cb) {
|
|
26
|
+
this.input.on("close", cb);
|
|
27
|
+
this.output.on("close", cb);
|
|
28
|
+
}
|
|
29
|
+
addErrorListener(cb) {
|
|
30
|
+
this.input.on("error", cb);
|
|
31
|
+
this.output.on("error", cb);
|
|
32
|
+
}
|
|
33
|
+
send(payload) {
|
|
34
|
+
if (!this.output.writable)
|
|
35
|
+
return false;
|
|
36
|
+
return this.output.write(MessageFramer.write(payload));
|
|
37
|
+
}
|
|
38
|
+
close() {
|
|
39
|
+
this.output.end();
|
|
40
|
+
this.input.unpipe(this.framer);
|
|
41
|
+
this.framer.destroy();
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
StreamConnection
|
|
47
|
+
};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// transport/message.ts
|
|
2
|
+
import { Type } from "@sinclair/typebox";
|
|
3
|
+
import { nanoid } from "nanoid";
|
|
4
|
+
var TransportMessageSchema = (t) => Type.Object({
|
|
5
|
+
id: Type.String(),
|
|
6
|
+
from: Type.String(),
|
|
7
|
+
to: Type.String(),
|
|
8
|
+
seq: Type.Integer(),
|
|
9
|
+
ack: Type.Integer(),
|
|
10
|
+
serviceName: Type.Optional(Type.Union([Type.String(), Type.Null()])),
|
|
11
|
+
procedureName: Type.Optional(Type.Union([Type.String(), Type.Null()])),
|
|
12
|
+
streamId: Type.String(),
|
|
13
|
+
controlFlags: Type.Integer(),
|
|
14
|
+
payload: t
|
|
15
|
+
});
|
|
16
|
+
var ControlMessageAckSchema = Type.Object({
|
|
17
|
+
type: Type.Literal("ACK")
|
|
18
|
+
});
|
|
19
|
+
var ControlMessageCloseSchema = Type.Object({
|
|
20
|
+
type: Type.Literal("CLOSE")
|
|
21
|
+
});
|
|
22
|
+
var PROTOCOL_VERSION = "v1";
|
|
23
|
+
var ControlMessageHandshakeRequestSchema = Type.Object({
|
|
24
|
+
type: Type.Literal("HANDSHAKE_REQ"),
|
|
25
|
+
protocolVersion: Type.Literal(PROTOCOL_VERSION)
|
|
26
|
+
});
|
|
27
|
+
var ControlMessageHandshakeResponseSchema = Type.Object({
|
|
28
|
+
type: Type.Literal("HANDSHAKE_RESP"),
|
|
29
|
+
status: Type.Union([
|
|
30
|
+
Type.Object({
|
|
31
|
+
ok: Type.Literal(true),
|
|
32
|
+
instanceId: Type.String()
|
|
33
|
+
}),
|
|
34
|
+
Type.Object({
|
|
35
|
+
ok: Type.Literal(false),
|
|
36
|
+
reason: Type.Union([Type.Literal("VERSION_MISMATCH")])
|
|
37
|
+
})
|
|
38
|
+
])
|
|
39
|
+
});
|
|
40
|
+
var ControlMessagePayloadSchema = Type.Union([
|
|
41
|
+
ControlMessageCloseSchema,
|
|
42
|
+
ControlMessageAckSchema,
|
|
43
|
+
ControlMessageHandshakeRequestSchema,
|
|
44
|
+
ControlMessageHandshakeResponseSchema
|
|
45
|
+
]);
|
|
46
|
+
var OpaqueTransportMessageSchema = TransportMessageSchema(
|
|
47
|
+
Type.Unknown()
|
|
48
|
+
);
|
|
49
|
+
function bootRequestMessage(from, to) {
|
|
50
|
+
return {
|
|
51
|
+
id: nanoid(),
|
|
52
|
+
from,
|
|
53
|
+
to,
|
|
54
|
+
seq: 0,
|
|
55
|
+
ack: 0,
|
|
56
|
+
streamId: nanoid(),
|
|
57
|
+
controlFlags: 0,
|
|
58
|
+
payload: {
|
|
59
|
+
type: "HANDSHAKE_REQ",
|
|
60
|
+
protocolVersion: PROTOCOL_VERSION
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function bootResponseMessage(from, instanceId, to, ok) {
|
|
65
|
+
return {
|
|
66
|
+
id: nanoid(),
|
|
67
|
+
from,
|
|
68
|
+
to,
|
|
69
|
+
seq: 0,
|
|
70
|
+
ack: 0,
|
|
71
|
+
streamId: nanoid(),
|
|
72
|
+
controlFlags: 0,
|
|
73
|
+
payload: ok ? {
|
|
74
|
+
type: "HANDSHAKE_RESP",
|
|
75
|
+
status: {
|
|
76
|
+
ok: true,
|
|
77
|
+
instanceId
|
|
78
|
+
}
|
|
79
|
+
} : {
|
|
80
|
+
type: "HANDSHAKE_RESP",
|
|
81
|
+
status: {
|
|
82
|
+
ok: false,
|
|
83
|
+
reason: "VERSION_MISMATCH"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function isAck(controlFlag) {
|
|
89
|
+
return (controlFlag & 1 /* AckBit */) === 1 /* AckBit */;
|
|
90
|
+
}
|
|
91
|
+
function isStreamOpen(controlFlag) {
|
|
92
|
+
return (
|
|
93
|
+
/* eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison */
|
|
94
|
+
(controlFlag & 2 /* StreamOpenBit */) === 2 /* StreamOpenBit */
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
function isStreamClose(controlFlag) {
|
|
98
|
+
return (
|
|
99
|
+
/* eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison */
|
|
100
|
+
(controlFlag & 4 /* StreamClosedBit */) === 4 /* StreamClosedBit */
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// util/stringify.ts
|
|
105
|
+
function coerceErrorString(err) {
|
|
106
|
+
if (err instanceof Error) {
|
|
107
|
+
return err.message;
|
|
108
|
+
}
|
|
109
|
+
return `[coerced to error] ${String(err)}`;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export {
|
|
113
|
+
TransportMessageSchema,
|
|
114
|
+
PROTOCOL_VERSION,
|
|
115
|
+
ControlMessageHandshakeRequestSchema,
|
|
116
|
+
ControlMessageHandshakeResponseSchema,
|
|
117
|
+
ControlMessagePayloadSchema,
|
|
118
|
+
OpaqueTransportMessageSchema,
|
|
119
|
+
bootRequestMessage,
|
|
120
|
+
bootResponseMessage,
|
|
121
|
+
isAck,
|
|
122
|
+
isStreamOpen,
|
|
123
|
+
isStreamClose,
|
|
124
|
+
coerceErrorString
|
|
125
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MessageFramer
|
|
3
|
+
} from "./chunk-IIBVKYDB.js";
|
|
4
|
+
import {
|
|
5
|
+
Connection
|
|
6
|
+
} from "./chunk-ANGOKBE5.js";
|
|
7
|
+
|
|
8
|
+
// transport/impls/uds/connection.ts
|
|
9
|
+
var UdsConnection = class extends Connection {
|
|
10
|
+
sock;
|
|
11
|
+
input;
|
|
12
|
+
framer;
|
|
13
|
+
constructor(sock) {
|
|
14
|
+
super();
|
|
15
|
+
this.framer = MessageFramer.createFramedStream();
|
|
16
|
+
this.sock = sock;
|
|
17
|
+
this.input = sock.pipe(this.framer);
|
|
18
|
+
}
|
|
19
|
+
addDataListener(cb) {
|
|
20
|
+
this.input.on("data", cb);
|
|
21
|
+
}
|
|
22
|
+
removeDataListener(cb) {
|
|
23
|
+
this.input.off("data", cb);
|
|
24
|
+
}
|
|
25
|
+
addCloseListener(cb) {
|
|
26
|
+
this.sock.on("close", cb);
|
|
27
|
+
}
|
|
28
|
+
addErrorListener(cb) {
|
|
29
|
+
this.sock.on("error", cb);
|
|
30
|
+
}
|
|
31
|
+
send(payload) {
|
|
32
|
+
if (this.framer.destroyed || !this.sock.writable)
|
|
33
|
+
return false;
|
|
34
|
+
return this.sock.write(MessageFramer.write(payload));
|
|
35
|
+
}
|
|
36
|
+
close() {
|
|
37
|
+
this.sock.destroy();
|
|
38
|
+
this.framer.destroy();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
UdsConnection
|
|
44
|
+
};
|
package/dist/codec/index.cjs
CHANGED
|
@@ -64,7 +64,7 @@ var NaiveJsonCodec = {
|
|
|
64
64
|
toBuffer: (obj) => {
|
|
65
65
|
return encoder.encode(
|
|
66
66
|
JSON.stringify(obj, function replacer(key) {
|
|
67
|
-
|
|
67
|
+
const val = this[key];
|
|
68
68
|
if (val instanceof Uint8Array) {
|
|
69
69
|
return { $t: uint8ArrayToBase64(val) };
|
|
70
70
|
} else {
|
|
@@ -75,13 +75,19 @@ var NaiveJsonCodec = {
|
|
|
75
75
|
},
|
|
76
76
|
fromBuffer: (buff) => {
|
|
77
77
|
try {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
const parsed = JSON.parse(
|
|
79
|
+
decoder.decode(buff),
|
|
80
|
+
function reviver(_key, val) {
|
|
81
|
+
if (val?.$t) {
|
|
82
|
+
return base64ToUint8Array(val.$t);
|
|
83
|
+
} else {
|
|
84
|
+
return val;
|
|
85
|
+
}
|
|
83
86
|
}
|
|
84
|
-
|
|
87
|
+
);
|
|
88
|
+
if (typeof parsed === "object")
|
|
89
|
+
return parsed;
|
|
90
|
+
return null;
|
|
85
91
|
} catch {
|
|
86
92
|
return null;
|
|
87
93
|
}
|
package/dist/codec/index.js
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { C as Connection } from './index-d91775d9.js';
|
|
2
|
+
import { U as Uint32LengthPrefixFraming } from './messageFraming-b200ef25.js';
|
|
3
|
+
|
|
4
|
+
declare class StreamConnection extends Connection {
|
|
5
|
+
input: NodeJS.ReadableStream;
|
|
6
|
+
output: NodeJS.WritableStream;
|
|
7
|
+
framer: Uint32LengthPrefixFraming;
|
|
8
|
+
constructor(input: NodeJS.ReadableStream, output: NodeJS.WritableStream);
|
|
9
|
+
addDataListener(cb: (msg: Uint8Array) => void): void;
|
|
10
|
+
removeDataListener(cb: (msg: Uint8Array) => void): void;
|
|
11
|
+
addCloseListener(cb: () => void): void;
|
|
12
|
+
addErrorListener(cb: (err: Error) => void): void;
|
|
13
|
+
send(payload: Uint8Array): boolean;
|
|
14
|
+
close(): void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { StreamConnection as S };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import WebSocket from 'isomorphic-ws';
|
|
2
|
+
import { C as Connection } from './index-d91775d9.js';
|
|
3
|
+
|
|
4
|
+
declare class WebSocketConnection extends Connection {
|
|
5
|
+
ws: WebSocket;
|
|
6
|
+
constructor(ws: WebSocket);
|
|
7
|
+
addDataListener(cb: (msg: Uint8Array) => void): void;
|
|
8
|
+
removeDataListener(): void;
|
|
9
|
+
addCloseListener(cb: () => void): void;
|
|
10
|
+
addErrorListener(cb: (err: Error) => void): void;
|
|
11
|
+
send(payload: Uint8Array): boolean;
|
|
12
|
+
close(): void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { WebSocketConnection as W };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { C as Connection } from './index-d91775d9.js';
|
|
2
|
+
import { Socket } from 'node:net';
|
|
3
|
+
import { U as Uint32LengthPrefixFraming } from './messageFraming-b200ef25.js';
|
|
4
|
+
|
|
5
|
+
declare class UdsConnection extends Connection {
|
|
6
|
+
sock: Socket;
|
|
7
|
+
input: NodeJS.ReadableStream;
|
|
8
|
+
framer: Uint32LengthPrefixFraming;
|
|
9
|
+
constructor(sock: Socket);
|
|
10
|
+
addDataListener(cb: (msg: Uint8Array) => void): void;
|
|
11
|
+
removeDataListener(cb: (msg: Uint8Array) => void): void;
|
|
12
|
+
addCloseListener(cb: () => void): void;
|
|
13
|
+
addErrorListener(cb: (err: Error) => void): void;
|
|
14
|
+
send(payload: Uint8Array): boolean;
|
|
15
|
+
close(): void;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { UdsConnection as U };
|