@nmtjs/protocol 0.15.0-beta.37 → 0.15.0-beta.39
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/LICENSE.md +1 -1
- package/README.md +1 -1
- package/dist/client/format.d.ts +18 -13
- package/dist/client/format.js +1 -0
- package/dist/client/format.js.map +1 -0
- package/dist/client/index.d.ts +4 -1
- package/dist/client/index.js +7 -4
- package/dist/client/index.js.map +1 -0
- package/dist/client/protocol.d.ts +102 -138
- package/dist/client/protocol.js +7 -336
- package/dist/client/protocol.js.map +1 -0
- package/dist/client/stream.d.ts +34 -19
- package/dist/client/stream.js +138 -46
- package/dist/client/stream.js.map +1 -0
- package/dist/client/versions/v1.d.ts +108 -0
- package/dist/client/versions/v1.js +128 -0
- package/dist/client/versions/v1.js.map +1 -0
- package/dist/common/binary.d.ts +5 -6
- package/dist/common/binary.js +22 -9
- package/dist/common/binary.js.map +1 -0
- package/dist/common/blob.d.ts +14 -8
- package/dist/common/blob.js +55 -30
- package/dist/common/blob.js.map +1 -0
- package/dist/common/constants.d.ts +2 -0
- package/dist/common/constants.js +2 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/enums.d.ts +17 -7
- package/dist/common/enums.js +34 -14
- package/dist/common/enums.js.map +1 -0
- package/dist/common/index.d.ts +2 -0
- package/dist/common/index.js +7 -4
- package/dist/common/index.js.map +1 -0
- package/dist/common/types.d.ts +5 -24
- package/dist/common/types.js +1 -0
- package/dist/common/types.js.map +1 -0
- package/dist/common/utils.d.ts +2 -0
- package/dist/common/utils.js +7 -0
- package/dist/common/utils.js.map +1 -0
- package/dist/server/format.d.ts +17 -23
- package/dist/server/format.js +13 -8
- package/dist/server/format.js.map +1 -0
- package/dist/server/index.d.ts +4 -6
- package/dist/server/index.js +9 -11
- package/dist/server/index.js.map +1 -0
- package/dist/server/protocol.d.ts +88 -114
- package/dist/server/protocol.js +5 -354
- package/dist/server/protocol.js.map +1 -0
- package/dist/server/stream.d.ts +5 -0
- package/dist/server/stream.js +31 -2
- package/dist/server/stream.js.map +1 -0
- package/dist/server/types.d.ts +29 -8
- package/dist/server/types.js +1 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/utils.d.ts +3 -6
- package/dist/server/utils.js +5 -4
- package/dist/server/utils.js.map +1 -0
- package/dist/server/versions/v1.d.ts +77 -0
- package/dist/server/versions/v1.js +119 -0
- package/dist/server/versions/v1.js.map +1 -0
- package/package.json +18 -24
- package/src/client/format.ts +49 -0
- package/src/client/index.ts +8 -0
- package/src/client/protocol.ts +107 -0
- package/src/client/stream.ts +222 -0
- package/src/client/versions/v1.ts +205 -0
- package/src/common/binary.ts +70 -0
- package/src/common/blob.ts +94 -0
- package/src/common/constants.ts +2 -0
- package/src/common/enums.ts +62 -0
- package/src/common/index.ts +6 -0
- package/src/common/types.ts +18 -0
- package/src/common/utils.ts +12 -0
- package/src/server/format.ts +117 -0
- package/src/server/index.ts +10 -0
- package/src/server/protocol.ts +97 -0
- package/src/server/stream.ts +72 -0
- package/src/server/types.ts +42 -0
- package/src/server/utils.ts +22 -0
- package/src/server/versions/v1.ts +198 -0
- package/dist/client/events.d.ts +0 -15
- package/dist/client/events.js +0 -28
- package/dist/server/api.d.ts +0 -33
- package/dist/server/api.js +0 -7
- package/dist/server/connection.d.ts +0 -25
- package/dist/server/connection.js +0 -22
- package/dist/server/constants.d.ts +0 -4
- package/dist/server/constants.js +0 -2
- package/dist/server/injectables.d.ts +0 -14
- package/dist/server/injectables.js +0 -22
- package/dist/server/registry.d.ts +0 -3
- package/dist/server/registry.js +0 -3
- package/dist/server/transport.d.ts +0 -23
- package/dist/server/transport.js +0 -3
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { BaseProtocolError } from '../../common/types.ts';
|
|
2
|
+
import type { ClientMessageTypePayload, MessageContext } from '../protocol.ts';
|
|
3
|
+
import { ClientMessageType, ProtocolVersion, ServerMessageType } from '../../common/enums.ts';
|
|
4
|
+
import { ProtocolVersionInterface } from '../protocol.ts';
|
|
5
|
+
export declare class ProtocolVersion1 extends ProtocolVersionInterface {
|
|
6
|
+
version: ProtocolVersion;
|
|
7
|
+
decodeMessage(context: MessageContext, buffer: Uint8Array): {
|
|
8
|
+
type: ServerMessageType.RpcResponse;
|
|
9
|
+
callId: number;
|
|
10
|
+
error: BaseProtocolError;
|
|
11
|
+
result?: undefined;
|
|
12
|
+
size?: undefined;
|
|
13
|
+
chunk?: undefined;
|
|
14
|
+
streamId?: undefined;
|
|
15
|
+
reason?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
type: ServerMessageType.RpcResponse;
|
|
18
|
+
callId: number;
|
|
19
|
+
result: unknown;
|
|
20
|
+
error?: undefined;
|
|
21
|
+
size?: undefined;
|
|
22
|
+
chunk?: undefined;
|
|
23
|
+
streamId?: undefined;
|
|
24
|
+
reason?: undefined;
|
|
25
|
+
} | {
|
|
26
|
+
result?: undefined;
|
|
27
|
+
type: ServerMessageType.RpcStreamResponse;
|
|
28
|
+
callId: number;
|
|
29
|
+
error: BaseProtocolError | undefined;
|
|
30
|
+
size?: undefined;
|
|
31
|
+
chunk?: undefined;
|
|
32
|
+
streamId?: undefined;
|
|
33
|
+
reason?: undefined;
|
|
34
|
+
} | {
|
|
35
|
+
result?: undefined;
|
|
36
|
+
error?: undefined;
|
|
37
|
+
type: ServerMessageType.RpcStreamChunk;
|
|
38
|
+
callId: number;
|
|
39
|
+
chunk: Uint8Array<ArrayBufferLike>;
|
|
40
|
+
size?: undefined;
|
|
41
|
+
streamId?: undefined;
|
|
42
|
+
reason?: undefined;
|
|
43
|
+
} | {
|
|
44
|
+
result?: undefined;
|
|
45
|
+
error?: undefined;
|
|
46
|
+
type: ServerMessageType.RpcStreamEnd;
|
|
47
|
+
callId: number;
|
|
48
|
+
size?: undefined;
|
|
49
|
+
chunk?: undefined;
|
|
50
|
+
streamId?: undefined;
|
|
51
|
+
reason?: undefined;
|
|
52
|
+
} | {
|
|
53
|
+
result?: undefined;
|
|
54
|
+
error?: undefined;
|
|
55
|
+
type: ServerMessageType.RpcStreamAbort;
|
|
56
|
+
callId: number;
|
|
57
|
+
reason: string | undefined;
|
|
58
|
+
size?: undefined;
|
|
59
|
+
chunk?: undefined;
|
|
60
|
+
streamId?: undefined;
|
|
61
|
+
} | {
|
|
62
|
+
result?: undefined;
|
|
63
|
+
error?: undefined;
|
|
64
|
+
callId?: undefined;
|
|
65
|
+
type: ServerMessageType.ClientStreamPull;
|
|
66
|
+
streamId: number;
|
|
67
|
+
size: number;
|
|
68
|
+
chunk?: undefined;
|
|
69
|
+
reason?: undefined;
|
|
70
|
+
} | {
|
|
71
|
+
result?: undefined;
|
|
72
|
+
error?: undefined;
|
|
73
|
+
callId?: undefined;
|
|
74
|
+
size?: undefined;
|
|
75
|
+
type: ServerMessageType.ClientStreamAbort;
|
|
76
|
+
streamId: number;
|
|
77
|
+
reason: string | undefined;
|
|
78
|
+
chunk?: undefined;
|
|
79
|
+
} | {
|
|
80
|
+
result?: undefined;
|
|
81
|
+
error?: undefined;
|
|
82
|
+
callId?: undefined;
|
|
83
|
+
size?: undefined;
|
|
84
|
+
type: ServerMessageType.ServerStreamPush;
|
|
85
|
+
streamId: number;
|
|
86
|
+
chunk: Uint8Array<ArrayBufferLike>;
|
|
87
|
+
reason?: undefined;
|
|
88
|
+
} | {
|
|
89
|
+
result?: undefined;
|
|
90
|
+
error?: undefined;
|
|
91
|
+
callId?: undefined;
|
|
92
|
+
size?: undefined;
|
|
93
|
+
chunk?: undefined;
|
|
94
|
+
type: ServerMessageType.ServerStreamEnd;
|
|
95
|
+
streamId: number;
|
|
96
|
+
reason: string | undefined;
|
|
97
|
+
} | {
|
|
98
|
+
result?: undefined;
|
|
99
|
+
error?: undefined;
|
|
100
|
+
callId?: undefined;
|
|
101
|
+
size?: undefined;
|
|
102
|
+
chunk?: undefined;
|
|
103
|
+
type: ServerMessageType.ServerStreamAbort;
|
|
104
|
+
streamId: number;
|
|
105
|
+
reason: string | undefined;
|
|
106
|
+
};
|
|
107
|
+
encodeMessage<T extends ClientMessageType>(context: MessageContext, messageType: T, payload: ClientMessageTypePayload[T]): Uint8Array<ArrayBuffer>;
|
|
108
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { decodeNumber, decodeText, encodeNumber, encodeText, } from '../../common/binary.js';
|
|
2
|
+
import { ClientMessageType, MessageByteLength, ProtocolVersion, ServerMessageType, } from '../../common/enums.js';
|
|
3
|
+
import { ProtocolVersionInterface } from '../protocol.js';
|
|
4
|
+
export class ProtocolVersion1 extends ProtocolVersionInterface {
|
|
5
|
+
version = ProtocolVersion.v1;
|
|
6
|
+
decodeMessage(context, buffer) {
|
|
7
|
+
const messageType = decodeNumber(buffer, 'Uint8');
|
|
8
|
+
const payload = buffer.subarray(MessageByteLength.MessageType);
|
|
9
|
+
switch (messageType) {
|
|
10
|
+
// case ServerMessageType.Event: {
|
|
11
|
+
// const { event, data } = context.decoder.decode(payload)
|
|
12
|
+
// return { type: messageType, event, data }
|
|
13
|
+
// }
|
|
14
|
+
case ServerMessageType.RpcResponse: {
|
|
15
|
+
const callId = decodeNumber(payload, 'Uint32');
|
|
16
|
+
const isError = decodeNumber(payload, 'Uint8', MessageByteLength.CallId);
|
|
17
|
+
const dataPayload = payload.subarray(MessageByteLength.CallId + MessageByteLength.MessageError);
|
|
18
|
+
if (isError) {
|
|
19
|
+
const error = context.decoder.decode(dataPayload);
|
|
20
|
+
return { type: messageType, callId, error };
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
const result = context.decoder.decodeRPC(dataPayload, {
|
|
24
|
+
addStream: (streamId, metadata) => {
|
|
25
|
+
return context.addServerStream(streamId, metadata);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
return { type: messageType, callId, result };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
case ServerMessageType.RpcStreamResponse: {
|
|
32
|
+
const callId = decodeNumber(payload, 'Uint32');
|
|
33
|
+
const errorPayload = payload.subarray(MessageByteLength.CallId);
|
|
34
|
+
const error = errorPayload.byteLength > 0
|
|
35
|
+
? context.decoder.decode(errorPayload)
|
|
36
|
+
: undefined;
|
|
37
|
+
return { type: messageType, callId, error };
|
|
38
|
+
}
|
|
39
|
+
case ServerMessageType.RpcStreamChunk: {
|
|
40
|
+
const callId = decodeNumber(payload, 'Uint32');
|
|
41
|
+
const chunk = payload.subarray(MessageByteLength.CallId);
|
|
42
|
+
return { type: messageType, callId, chunk };
|
|
43
|
+
}
|
|
44
|
+
case ServerMessageType.RpcStreamEnd: {
|
|
45
|
+
const callId = decodeNumber(payload, 'Uint32');
|
|
46
|
+
return { type: messageType, callId };
|
|
47
|
+
}
|
|
48
|
+
case ServerMessageType.RpcStreamAbort: {
|
|
49
|
+
const callId = decodeNumber(payload, 'Uint32');
|
|
50
|
+
const reasonPayload = payload.subarray(MessageByteLength.CallId);
|
|
51
|
+
const reason = reasonPayload.byteLength > 0 ? decodeText(reasonPayload) : undefined;
|
|
52
|
+
return { type: messageType, callId, reason };
|
|
53
|
+
}
|
|
54
|
+
case ServerMessageType.ClientStreamPull: {
|
|
55
|
+
const streamId = decodeNumber(payload, 'Uint32');
|
|
56
|
+
const size = decodeNumber(payload, 'Uint32', MessageByteLength.StreamId);
|
|
57
|
+
return { type: messageType, streamId, size };
|
|
58
|
+
}
|
|
59
|
+
case ServerMessageType.ClientStreamAbort: {
|
|
60
|
+
const streamId = decodeNumber(payload, 'Uint32');
|
|
61
|
+
const reasonPayload = payload.subarray(MessageByteLength.StreamId);
|
|
62
|
+
const reason = reasonPayload.byteLength > 0 ? decodeText(reasonPayload) : undefined;
|
|
63
|
+
return { type: messageType, streamId, reason };
|
|
64
|
+
}
|
|
65
|
+
case ServerMessageType.ServerStreamPush: {
|
|
66
|
+
const streamId = decodeNumber(payload, 'Uint32');
|
|
67
|
+
const chunk = payload.subarray(MessageByteLength.StreamId);
|
|
68
|
+
return { type: messageType, streamId, chunk };
|
|
69
|
+
}
|
|
70
|
+
case ServerMessageType.ServerStreamEnd: {
|
|
71
|
+
const streamId = decodeNumber(payload, 'Uint32');
|
|
72
|
+
const reasonPayload = payload.subarray(MessageByteLength.StreamId);
|
|
73
|
+
const reason = reasonPayload.byteLength > 0 ? decodeText(reasonPayload) : undefined;
|
|
74
|
+
return { type: messageType, streamId, reason };
|
|
75
|
+
}
|
|
76
|
+
case ServerMessageType.ServerStreamAbort: {
|
|
77
|
+
const streamId = decodeNumber(payload, 'Uint32');
|
|
78
|
+
const reasonPayload = payload.subarray(MessageByteLength.StreamId);
|
|
79
|
+
const reason = reasonPayload.byteLength > 0 ? decodeText(reasonPayload) : undefined;
|
|
80
|
+
return { type: messageType, streamId, reason };
|
|
81
|
+
}
|
|
82
|
+
default:
|
|
83
|
+
throw new Error(`Unsupported message type: ${messageType}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
encodeMessage(context, messageType, payload) {
|
|
87
|
+
switch (messageType) {
|
|
88
|
+
case ClientMessageType.Rpc: {
|
|
89
|
+
const { callId, procedure, payload: rpcPayload, } = payload;
|
|
90
|
+
const procedureBuffer = encodeText(procedure);
|
|
91
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(callId, 'Uint32'), encodeNumber(procedureBuffer.byteLength, 'Uint16'), procedureBuffer, context.encoder.encodeRPC(rpcPayload, {
|
|
92
|
+
addStream: (blob) => context.addClientStream(blob),
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
case ClientMessageType.RpcAbort: {
|
|
96
|
+
const { callId, reason } = payload;
|
|
97
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(callId, 'Uint32'), reason ? encodeText(reason) : new Uint8Array(0));
|
|
98
|
+
}
|
|
99
|
+
case ClientMessageType.RpcPull: {
|
|
100
|
+
const { callId } = payload;
|
|
101
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(callId, 'Uint32'));
|
|
102
|
+
}
|
|
103
|
+
case ClientMessageType.ClientStreamPush: {
|
|
104
|
+
const { streamId, chunk } = payload;
|
|
105
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(streamId, 'Uint32'), chunk);
|
|
106
|
+
}
|
|
107
|
+
case ClientMessageType.ClientStreamEnd: {
|
|
108
|
+
const { streamId } = payload;
|
|
109
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(streamId, 'Uint32'));
|
|
110
|
+
}
|
|
111
|
+
case ClientMessageType.ClientStreamAbort: {
|
|
112
|
+
const { streamId, reason } = payload;
|
|
113
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(streamId, 'Uint32'), reason ? encodeText(reason) : new Uint8Array(0));
|
|
114
|
+
}
|
|
115
|
+
case ClientMessageType.ServerStreamPull: {
|
|
116
|
+
const { streamId, size } = payload;
|
|
117
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(streamId, 'Uint32'), encodeNumber(size, 'Uint32'));
|
|
118
|
+
}
|
|
119
|
+
case ClientMessageType.ServerStreamAbort: {
|
|
120
|
+
const { streamId, reason } = payload;
|
|
121
|
+
return this.encode(encodeNumber(messageType, 'Uint8'), encodeNumber(streamId, 'Uint32'), reason ? encodeText(reason) : new Uint8Array(0));
|
|
122
|
+
}
|
|
123
|
+
default:
|
|
124
|
+
throw new Error(`Unsupported message type: ${messageType}`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=v1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v1.js","sourceRoot":"","sources":["../../../src/client/versions/v1.ts"],"names":[],"mappings":"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"}
|
package/dist/common/binary.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
declare const utf8decoder: TextDecoder;
|
|
2
1
|
export type BinaryTypes = {
|
|
3
2
|
Int8: number;
|
|
4
3
|
Int16: number;
|
|
@@ -12,8 +11,8 @@ export type BinaryTypes = {
|
|
|
12
11
|
BigUint64: bigint;
|
|
13
12
|
};
|
|
14
13
|
export declare const encodeNumber: <T extends keyof BinaryTypes>(value: BinaryTypes[T], type: T, littleEndian?: boolean) => ArrayBuffer;
|
|
15
|
-
export declare const decodeNumber: <T extends keyof BinaryTypes>(buffer: ArrayBuffer
|
|
16
|
-
export declare const encodeText: (text: string) => ArrayBuffer
|
|
17
|
-
export declare const decodeText: (buffer:
|
|
18
|
-
export declare const concat: (...buffers: ArrayBuffer[]) => ArrayBuffer
|
|
19
|
-
export
|
|
14
|
+
export declare const decodeNumber: <T extends keyof BinaryTypes>(buffer: ArrayBuffer | ArrayBufferView<ArrayBufferLike>, type: T, offset?: number, littleEndian?: boolean) => BinaryTypes[T];
|
|
15
|
+
export declare const encodeText: (text: string) => Uint8Array<ArrayBuffer>;
|
|
16
|
+
export declare const decodeText: (buffer: AllowSharedBufferSource | undefined) => string;
|
|
17
|
+
export declare const concat: (...buffers: (ArrayBuffer | ArrayBufferView<ArrayBufferLike>)[]) => Uint8Array<ArrayBuffer>;
|
|
18
|
+
export declare const UTF8Transform: () => TransformStream<string, Uint8Array<ArrayBufferLike>>;
|
package/dist/common/binary.js
CHANGED
|
@@ -2,26 +2,39 @@
|
|
|
2
2
|
/// <reference lib="dom" />
|
|
3
3
|
const utf8decoder = new TextDecoder();
|
|
4
4
|
const utf8encoder = new TextEncoder();
|
|
5
|
-
export const encodeNumber = (value, type, littleEndian =
|
|
5
|
+
export const encodeNumber = (value, type, littleEndian = true) => {
|
|
6
6
|
const bytesNeeded = globalThis[`${type}Array`].BYTES_PER_ELEMENT;
|
|
7
7
|
const ab = new ArrayBuffer(bytesNeeded);
|
|
8
8
|
const dv = new DataView(ab);
|
|
9
9
|
dv[`set${type}`](0, value, littleEndian);
|
|
10
10
|
return ab;
|
|
11
11
|
};
|
|
12
|
-
export const decodeNumber = (buffer, type, offset = 0, littleEndian =
|
|
13
|
-
const
|
|
14
|
-
|
|
12
|
+
export const decodeNumber = (buffer, type, offset = 0, littleEndian = true) => {
|
|
13
|
+
const ab = buffer instanceof ArrayBuffer ? buffer : buffer.buffer;
|
|
14
|
+
const baseOffset = buffer instanceof ArrayBuffer ? 0 : buffer.byteOffset;
|
|
15
|
+
const view = new DataView(ab);
|
|
16
|
+
return view[`get${type}`](baseOffset + offset, littleEndian);
|
|
15
17
|
};
|
|
16
|
-
export const encodeText = (text) =>
|
|
18
|
+
export const encodeText = (text) => utf8encoder.encode(text);
|
|
17
19
|
export const decodeText = (buffer) => utf8decoder.decode(buffer);
|
|
18
20
|
export const concat = (...buffers) => {
|
|
19
|
-
|
|
21
|
+
let totalLength = 0;
|
|
22
|
+
for (const buffer of buffers)
|
|
23
|
+
totalLength += buffer.byteLength;
|
|
20
24
|
const view = new Uint8Array(totalLength);
|
|
21
25
|
let offset = 0;
|
|
22
26
|
for (const buffer of buffers) {
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
const chunk = buffer instanceof ArrayBuffer
|
|
28
|
+
? new Uint8Array(buffer)
|
|
29
|
+
: new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
|
|
30
|
+
view.set(chunk, offset);
|
|
31
|
+
offset += chunk.byteLength;
|
|
25
32
|
}
|
|
26
|
-
return view
|
|
33
|
+
return view;
|
|
27
34
|
};
|
|
35
|
+
export const UTF8Transform = () => new TransformStream({
|
|
36
|
+
transform(chunk, controller) {
|
|
37
|
+
controller.enqueue(encodeText(chunk));
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=binary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/common/binary.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,2BAA2B;AAE3B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AACrC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAerC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAqB,EACrB,IAAO,EACP,YAAY,GAAG,IAAI,EACnB,EAAE,CAAC;IACH,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,iBAAiB,CAAA;IAChE,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC3B,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAc,EAAE,YAAY,CAAC,CAAA;IACjD,OAAO,EAAE,CAAA;AAAA,CACV,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAqC,EACrC,IAAO,EACP,MAAM,GAAG,CAAC,EACV,YAAY,GAAG,IAAI,EACH,EAAE,CAAC;IACnB,MAAM,EAAE,GAAG,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IACjE,MAAM,UAAU,GAAG,MAAM,YAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAA;IACxE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC7B,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,EAAE,YAAY,CAAmB,CAAA;AAAA,CAC/E,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAgD,EAAE,EAAE,CAC7E,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AAE5B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAG,OAA0C,EAAE,EAAE,CAAC;IACvE,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,MAAM,MAAM,IAAI,OAAO;QAAE,WAAW,IAAI,MAAM,CAAC,UAAU,CAAA;IAC9D,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IACxC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GACT,MAAM,YAAY,WAAW;YAC3B,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;YACxB,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QACzE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAA;IAC5B,CAAC;IACD,OAAO,IAAI,CAAA;AAAA,CACZ,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE,CAChC,IAAI,eAAe,CAAqB;IACtC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE;QAC3B,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IAAA,CACtC;CACF,CAAC,CAAA"}
|
package/dist/common/blob.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export type BlobKey = typeof BlobKey;
|
|
1
|
+
import { kBlobKey } from './constants.ts';
|
|
3
2
|
export type ProtocolBlobMetadata = {
|
|
4
3
|
type: string;
|
|
5
4
|
size?: number | undefined;
|
|
@@ -7,16 +6,23 @@ export type ProtocolBlobMetadata = {
|
|
|
7
6
|
};
|
|
8
7
|
export interface ProtocolBlobInterface {
|
|
9
8
|
readonly metadata: ProtocolBlobMetadata;
|
|
10
|
-
readonly [
|
|
9
|
+
readonly [kBlobKey]: any;
|
|
11
10
|
}
|
|
12
11
|
export declare class ProtocolBlob implements ProtocolBlobInterface {
|
|
13
|
-
readonly [BlobKey] = true;
|
|
14
|
-
readonly metadata: ProtocolBlobMetadata;
|
|
15
12
|
readonly source: any;
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
readonly metadata: ProtocolBlobMetadata;
|
|
14
|
+
readonly encode?: (metadata: ProtocolBlobMetadata) => unknown;
|
|
15
|
+
readonly toJSON?: () => unknown;
|
|
16
|
+
constructor({ source, encode, size, type, filename }: {
|
|
17
|
+
source: any;
|
|
18
|
+
encode?: () => unknown;
|
|
19
|
+
size?: number;
|
|
20
|
+
type?: string;
|
|
21
|
+
filename?: string;
|
|
22
|
+
});
|
|
23
|
+
static from(_source: any, _metadata?: {
|
|
18
24
|
size?: number;
|
|
19
25
|
type?: string;
|
|
20
26
|
filename?: string;
|
|
21
|
-
}): ProtocolBlob;
|
|
27
|
+
}, _encode?: (metadata: ProtocolBlobMetadata) => unknown): ProtocolBlob;
|
|
22
28
|
}
|
package/dist/common/blob.js
CHANGED
|
@@ -1,42 +1,67 @@
|
|
|
1
|
-
|
|
1
|
+
import { kBlobKey } from './constants.js';
|
|
2
2
|
export class ProtocolBlob {
|
|
3
|
-
[
|
|
4
|
-
metadata;
|
|
3
|
+
[kBlobKey] = true;
|
|
5
4
|
source;
|
|
6
|
-
|
|
5
|
+
metadata;
|
|
6
|
+
encode;
|
|
7
|
+
toJSON;
|
|
8
|
+
constructor({ source, encode, size, type = 'application/octet-stream', filename, }) {
|
|
7
9
|
if (typeof size !== 'undefined' && size <= 0)
|
|
8
10
|
throw new Error('Blob size is invalid');
|
|
11
|
+
this.encode = encode;
|
|
9
12
|
this.source = source;
|
|
10
13
|
this.metadata = { size, type, filename };
|
|
14
|
+
if (encode) {
|
|
15
|
+
Object.defineProperty(this, 'toJSON', {
|
|
16
|
+
configurable: false,
|
|
17
|
+
enumerable: false,
|
|
18
|
+
writable: false,
|
|
19
|
+
value: encode,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
11
22
|
}
|
|
12
|
-
static from(
|
|
13
|
-
let
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
metadata.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
23
|
+
static from(_source, _metadata = {}, _encode) {
|
|
24
|
+
let source;
|
|
25
|
+
const metadata = { type: 'application/octet-stream', ..._metadata };
|
|
26
|
+
if (_source instanceof globalThis.ReadableStream) {
|
|
27
|
+
source = _source;
|
|
28
|
+
}
|
|
29
|
+
else if ('File' in globalThis && _source instanceof globalThis.File) {
|
|
30
|
+
source = _source.stream();
|
|
31
|
+
metadata.size ??= _source.size;
|
|
32
|
+
metadata.filename ??= _source.name;
|
|
33
|
+
}
|
|
34
|
+
else if (_source instanceof globalThis.Blob) {
|
|
35
|
+
source = _source.stream();
|
|
36
|
+
metadata.size ??= _source.size;
|
|
37
|
+
metadata.type ??= _source.type;
|
|
38
|
+
}
|
|
39
|
+
else if (typeof _source === 'string') {
|
|
40
|
+
const blob = new Blob([_source]);
|
|
41
|
+
source = blob.stream();
|
|
42
|
+
metadata.size ??= blob.size;
|
|
43
|
+
metadata.type ??= 'text/plain';
|
|
44
|
+
}
|
|
45
|
+
else if (globalThis.ArrayBuffer.isView(_source)) {
|
|
46
|
+
const blob = new Blob([_source]);
|
|
47
|
+
source = blob.stream();
|
|
48
|
+
metadata.size ??= blob.size;
|
|
49
|
+
}
|
|
50
|
+
else if (_source instanceof globalThis.ArrayBuffer) {
|
|
51
|
+
const blob = new Blob([_source]);
|
|
52
|
+
source = blob.stream();
|
|
53
|
+
metadata.size ??= blob.size;
|
|
36
54
|
}
|
|
37
55
|
else {
|
|
38
|
-
|
|
56
|
+
source = _source;
|
|
39
57
|
}
|
|
40
|
-
return new ProtocolBlob(
|
|
58
|
+
return new ProtocolBlob({
|
|
59
|
+
source,
|
|
60
|
+
encode: _encode?.bind(null, metadata),
|
|
61
|
+
size: metadata.size,
|
|
62
|
+
type: metadata.type,
|
|
63
|
+
filename: metadata.filename,
|
|
64
|
+
});
|
|
41
65
|
}
|
|
42
66
|
}
|
|
67
|
+
//# sourceMappingURL=blob.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/common/blob.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/common/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAkB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA"}
|
package/dist/common/enums.d.ts
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
export declare enum ProtocolVersion {
|
|
2
|
+
v1 = 1
|
|
3
|
+
}
|
|
1
4
|
export declare enum ClientMessageType {
|
|
2
5
|
Rpc = 10,
|
|
3
6
|
RpcAbort = 11,
|
|
4
|
-
|
|
7
|
+
RpcPull = 12,
|
|
5
8
|
ClientStreamPush = 20,
|
|
6
9
|
ClientStreamEnd = 21,
|
|
7
10
|
ClientStreamAbort = 22,
|
|
8
|
-
ServerStreamAbort =
|
|
9
|
-
ServerStreamPull =
|
|
11
|
+
ServerStreamAbort = 33,
|
|
12
|
+
ServerStreamPull = 34
|
|
10
13
|
}
|
|
11
14
|
export declare enum ServerMessageType {
|
|
12
|
-
Event = 1,
|
|
13
15
|
RpcResponse = 10,
|
|
14
16
|
RpcStreamResponse = 11,
|
|
15
17
|
RpcStreamChunk = 12,
|
|
@@ -18,10 +20,10 @@ export declare enum ServerMessageType {
|
|
|
18
20
|
ServerStreamPush = 20,
|
|
19
21
|
ServerStreamEnd = 21,
|
|
20
22
|
ServerStreamAbort = 22,
|
|
21
|
-
ClientStreamAbort =
|
|
22
|
-
ClientStreamPull =
|
|
23
|
+
ClientStreamAbort = 33,
|
|
24
|
+
ClientStreamPull = 34
|
|
23
25
|
}
|
|
24
|
-
export declare enum
|
|
26
|
+
export declare enum ConnectionType {
|
|
25
27
|
Bidirectional = "Bidirectional",
|
|
26
28
|
Unidirectional = "Unidirectional"
|
|
27
29
|
}
|
|
@@ -39,3 +41,11 @@ export declare enum ErrorCode {
|
|
|
39
41
|
ClientRequestError = "ClientRequestError",
|
|
40
42
|
ConnectionError = "ConnectionError"
|
|
41
43
|
}
|
|
44
|
+
export declare enum MessageByteLength {
|
|
45
|
+
MessageType = 1,
|
|
46
|
+
MessageError = 1,
|
|
47
|
+
ProcedureLength = 2,
|
|
48
|
+
CallId = 4,
|
|
49
|
+
StreamId = 4,
|
|
50
|
+
ChunkSize = 4
|
|
51
|
+
}
|
package/dist/common/enums.js
CHANGED
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { ProtocolVersion };
|
|
2
|
+
var ProtocolVersion;
|
|
3
|
+
(function (ProtocolVersion) {
|
|
4
|
+
ProtocolVersion[ProtocolVersion["v1"] = 1] = "v1";
|
|
5
|
+
})(ProtocolVersion || (ProtocolVersion = {}));
|
|
6
|
+
export { ClientMessageType };
|
|
7
|
+
var ClientMessageType;
|
|
2
8
|
(function (ClientMessageType) {
|
|
3
9
|
ClientMessageType[ClientMessageType["Rpc"] = 10] = "Rpc";
|
|
4
10
|
ClientMessageType[ClientMessageType["RpcAbort"] = 11] = "RpcAbort";
|
|
5
|
-
ClientMessageType[ClientMessageType["
|
|
11
|
+
ClientMessageType[ClientMessageType["RpcPull"] = 12] = "RpcPull";
|
|
6
12
|
ClientMessageType[ClientMessageType["ClientStreamPush"] = 20] = "ClientStreamPush";
|
|
7
13
|
ClientMessageType[ClientMessageType["ClientStreamEnd"] = 21] = "ClientStreamEnd";
|
|
8
14
|
ClientMessageType[ClientMessageType["ClientStreamAbort"] = 22] = "ClientStreamAbort";
|
|
9
|
-
ClientMessageType[ClientMessageType["ServerStreamAbort"] =
|
|
10
|
-
ClientMessageType[ClientMessageType["ServerStreamPull"] =
|
|
15
|
+
ClientMessageType[ClientMessageType["ServerStreamAbort"] = 33] = "ServerStreamAbort";
|
|
16
|
+
ClientMessageType[ClientMessageType["ServerStreamPull"] = 34] = "ServerStreamPull";
|
|
11
17
|
})(ClientMessageType || (ClientMessageType = {}));
|
|
12
|
-
export
|
|
18
|
+
export { ServerMessageType };
|
|
19
|
+
var ServerMessageType;
|
|
13
20
|
(function (ServerMessageType) {
|
|
14
|
-
|
|
21
|
+
// Event = 1,
|
|
15
22
|
ServerMessageType[ServerMessageType["RpcResponse"] = 10] = "RpcResponse";
|
|
16
23
|
ServerMessageType[ServerMessageType["RpcStreamResponse"] = 11] = "RpcStreamResponse";
|
|
17
24
|
ServerMessageType[ServerMessageType["RpcStreamChunk"] = 12] = "RpcStreamChunk";
|
|
@@ -20,15 +27,17 @@ export var ServerMessageType;
|
|
|
20
27
|
ServerMessageType[ServerMessageType["ServerStreamPush"] = 20] = "ServerStreamPush";
|
|
21
28
|
ServerMessageType[ServerMessageType["ServerStreamEnd"] = 21] = "ServerStreamEnd";
|
|
22
29
|
ServerMessageType[ServerMessageType["ServerStreamAbort"] = 22] = "ServerStreamAbort";
|
|
23
|
-
ServerMessageType[ServerMessageType["ClientStreamAbort"] =
|
|
24
|
-
ServerMessageType[ServerMessageType["ClientStreamPull"] =
|
|
30
|
+
ServerMessageType[ServerMessageType["ClientStreamAbort"] = 33] = "ClientStreamAbort";
|
|
31
|
+
ServerMessageType[ServerMessageType["ClientStreamPull"] = 34] = "ClientStreamPull";
|
|
25
32
|
})(ServerMessageType || (ServerMessageType = {}));
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
export { ConnectionType };
|
|
34
|
+
var ConnectionType;
|
|
35
|
+
(function (ConnectionType) {
|
|
36
|
+
ConnectionType["Bidirectional"] = "Bidirectional";
|
|
37
|
+
ConnectionType["Unidirectional"] = "Unidirectional";
|
|
38
|
+
})(ConnectionType || (ConnectionType = {}));
|
|
39
|
+
export { ErrorCode };
|
|
40
|
+
var ErrorCode;
|
|
32
41
|
(function (ErrorCode) {
|
|
33
42
|
ErrorCode["ValidationError"] = "ValidationError";
|
|
34
43
|
ErrorCode["BadRequest"] = "BadRequest";
|
|
@@ -43,3 +52,14 @@ export var ErrorCode;
|
|
|
43
52
|
ErrorCode["ClientRequestError"] = "ClientRequestError";
|
|
44
53
|
ErrorCode["ConnectionError"] = "ConnectionError";
|
|
45
54
|
})(ErrorCode || (ErrorCode = {}));
|
|
55
|
+
export { MessageByteLength };
|
|
56
|
+
var MessageByteLength;
|
|
57
|
+
(function (MessageByteLength) {
|
|
58
|
+
MessageByteLength[MessageByteLength["MessageType"] = 1] = "MessageType";
|
|
59
|
+
MessageByteLength[MessageByteLength["MessageError"] = 1] = "MessageError";
|
|
60
|
+
MessageByteLength[MessageByteLength["ProcedureLength"] = 2] = "ProcedureLength";
|
|
61
|
+
MessageByteLength[MessageByteLength["CallId"] = 4] = "CallId";
|
|
62
|
+
MessageByteLength[MessageByteLength["StreamId"] = 4] = "StreamId";
|
|
63
|
+
MessageByteLength[MessageByteLength["ChunkSize"] = 4] = "ChunkSize";
|
|
64
|
+
})(MessageByteLength || (MessageByteLength = {}));
|
|
65
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/common/enums.ts"],"names":[],"mappings":"SAAY,eAAe;AAA3B,IAAY,eAEX;AAFD,WAAY,eAAe;IACzB,iDAAM,CAAA;AAAC,CACT,EAFY,eAAe,KAAf,eAAe,QAE1B;SAEW,iBAAiB;AAA7B,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,wDAAQ,CAAA;IACR,kEAAa,CAAA;IACb,gEAAY,CAAA;IAEZ,kFAAqB,CAAA;IACrB,gFAAoB,CAAA;IACpB,oFAAsB,CAAA;IAEtB,oFAAsB,CAAA;IACtB,kFAAqB,CAAA;AAAC,CACxB,EAXY,iBAAiB,KAAjB,iBAAiB,QAW5B;SAEW,iBAAiB;AAA7B,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC3B,aAAa;IAEb,wEAAgB,CAAA;IAChB,oFAAsB,CAAA;IACtB,8EAAmB,CAAA;IACnB,0EAAiB,CAAA;IACjB,8EAAmB,CAAA;IAEnB,kFAAqB,CAAA;IACrB,gFAAoB,CAAA;IACpB,oFAAsB,CAAA;IAEtB,oFAAsB,CAAA;IACtB,kFAAqB,CAAA;AAAC,CACxB,EAfY,iBAAiB,KAAjB,iBAAiB,QAe5B;SAEW,cAAc;AAA1B,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;AAAC,CACpC,EAHY,cAAc,KAAd,cAAc,QAGzB;SAEW,SAAS;AAArB,IAAY,SAaX;AAbD,WAAY,SAAS;IACnB,gDAAmC,CAAA;IACnC,sCAAyB,CAAA;IACzB,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,0CAA6B,CAAA;IAC7B,wDAA2C,CAAA;IAC3C,4CAA+B,CAAA;IAC/B,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,sDAAyC,CAAA;IACzC,sDAAyC,CAAA;IACzC,gDAAmC,CAAA;AAAC,CACtC,EAbY,SAAS,KAAT,SAAS,QAapB;SAEW,iBAAiB;AAA7B,IAAY,iBAOX;AAPD,WAAY,iBAAiB;IAC3B,uEAAe,CAAA;IACf,yEAAgB,CAAA;IAChB,+EAAmB,CAAA;IACnB,6DAAU,CAAA;IACV,iEAAY,CAAA;IACZ,mEAAa,CAAA;AAAC,CAChB,EAPY,iBAAiB,KAAjB,iBAAiB,QAO5B"}
|
package/dist/common/index.d.ts
CHANGED
package/dist/common/index.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
1
|
+
export * from './binary.js';
|
|
2
|
+
export * from './blob.js';
|
|
3
|
+
export * from './constants.js';
|
|
4
|
+
export * from './enums.js';
|
|
5
|
+
export * from './types.js';
|
|
6
|
+
export * from './utils.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA"}
|