@trevrpc/trevrpc-js 0.2.3 → 1.0.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 +89 -47
- package/bin/protoc-gen-trevrpc-js.js +1 -1
- package/package.json +11 -41
- package/src/bytes.js +10 -0
- package/src/call.js +287 -0
- package/src/channel.js +131 -296
- package/src/client.js +203 -1292
- package/src/framing.js +125 -519
- package/src/generator.js +26 -103
- package/src/index.d.ts +79 -452
- package/src/index.js +4 -3
- package/src/status.js +24 -70
- package/src/wire.js +4 -59
- package/examples/greeter/README.md +0 -35
- package/examples/greeter/client.js +0 -172
- package/examples/greeter/greeter.node.trevrpc.d.ts +0 -53
- package/examples/greeter/greeter.node.trevrpc.js +0 -9
- package/examples/greeter/greeter.proto +0 -18
- package/examples/greeter/greeter.trevrpc.d.ts +0 -55
- package/examples/greeter/greeter.trevrpc.js +0 -103
- package/examples/greeter/index.html +0 -140
- package/examples/greeter/static-server.js +0 -168
- package/src/advanced.d.ts +0 -29
- package/src/advanced.js +0 -1
- package/src/browser-channel.js +0 -49
- package/src/connect.js +0 -6
- package/src/connect.node.js +0 -6
- package/src/index.node.d.ts +0 -10
- package/src/index.node.js +0 -3
- package/src/native-loader.js +0 -118
- package/src/node-advanced.d.ts +0 -27
- package/src/node-advanced.js +0 -1
- package/src/node-generated.d.ts +0 -24
- package/src/node-generated.js +0 -126
- package/src/node-index.d.ts +0 -1
- package/src/node-index.js +0 -7
- package/src/node.d.ts +0 -298
- package/src/node.js +0 -1456
- package/src/runtime.js +0 -66
- package/src/server-response.js +0 -49
- package/src/timer.js +0 -29
- package/src/webtransport.js +0 -639
package/src/runtime.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
export {
|
|
2
|
-
Code,
|
|
3
|
-
FrameTooLargeError,
|
|
4
|
-
TrevRpcError,
|
|
5
|
-
cancelled,
|
|
6
|
-
codeFromNumber,
|
|
7
|
-
codeName,
|
|
8
|
-
deadlineExceeded,
|
|
9
|
-
internal,
|
|
10
|
-
invalidArgument,
|
|
11
|
-
isOkStatus,
|
|
12
|
-
resourceExhausted,
|
|
13
|
-
statusError,
|
|
14
|
-
statusFromResponse,
|
|
15
|
-
unavailable,
|
|
16
|
-
} from "./status.js";
|
|
17
|
-
export {
|
|
18
|
-
MaxMetadataEntries,
|
|
19
|
-
MaxMetadataKeyLen,
|
|
20
|
-
MaxMetadataTotalSize,
|
|
21
|
-
MaxMetadataValueLen,
|
|
22
|
-
ReservedMetadataPrefix,
|
|
23
|
-
metadataValueToBytes,
|
|
24
|
-
normalizeMetadata,
|
|
25
|
-
normalizeMetadataKey,
|
|
26
|
-
validateMetadata,
|
|
27
|
-
} from "./metadata.js";
|
|
28
|
-
export {
|
|
29
|
-
RpcKind,
|
|
30
|
-
RpcRequest,
|
|
31
|
-
RpcResponse,
|
|
32
|
-
RpcStreamFrame,
|
|
33
|
-
RpcStreamFrameKind,
|
|
34
|
-
WireVersion,
|
|
35
|
-
createRoot,
|
|
36
|
-
messageFrame,
|
|
37
|
-
protobuf,
|
|
38
|
-
wireRoot,
|
|
39
|
-
} from "./wire.js";
|
|
40
|
-
export {
|
|
41
|
-
DefaultMaxFrameSize,
|
|
42
|
-
FrameReader,
|
|
43
|
-
decodeFrame,
|
|
44
|
-
decodeStreamFrameBody,
|
|
45
|
-
encodeFrame,
|
|
46
|
-
encodeMessageStreamFrame,
|
|
47
|
-
encodeMessageStreamFrames,
|
|
48
|
-
frameBodyLength,
|
|
49
|
-
marshalMessage,
|
|
50
|
-
unmarshalMessage,
|
|
51
|
-
writeFrame,
|
|
52
|
-
writeMessageStreamFrames,
|
|
53
|
-
} from "./framing.js";
|
|
54
|
-
export {
|
|
55
|
-
BidirectionalStreamingCall,
|
|
56
|
-
ClientStreamingCall,
|
|
57
|
-
bidirectionalStreaming,
|
|
58
|
-
clientStreaming,
|
|
59
|
-
createServiceClient,
|
|
60
|
-
defaultCallOptions,
|
|
61
|
-
mergeCallOptions,
|
|
62
|
-
serverStreaming,
|
|
63
|
-
unary,
|
|
64
|
-
unaryWithResponse,
|
|
65
|
-
} from "./client.js";
|
|
66
|
-
export { createStreamingResponse, createUnaryResponse } from "./server-response.js";
|
package/src/server-response.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { normalizeMetadata } from "./metadata.js";
|
|
2
|
-
import { Code, codeFromNumber } from "./status.js";
|
|
3
|
-
|
|
4
|
-
const UnaryResponseBrand = Symbol("trevrpc.unaryServerResponse");
|
|
5
|
-
const StreamingResponseBrand = Symbol("trevrpc.streamingServerResponse");
|
|
6
|
-
|
|
7
|
-
/** Creates an opaque unary generated-server response envelope. */
|
|
8
|
-
export function createUnaryResponse(message, metadata = {}) {
|
|
9
|
-
return Object.freeze({
|
|
10
|
-
[UnaryResponseBrand]: true,
|
|
11
|
-
message,
|
|
12
|
-
metadata: Object.freeze(normalizeMetadata(metadata)),
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/** Creates an opaque streaming generated-server response envelope. */
|
|
17
|
-
export function createStreamingResponse(messages, status = {}) {
|
|
18
|
-
if (!isIterable(messages)) {
|
|
19
|
-
throw new TypeError("streaming response messages must be an iterable or async iterable");
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
return Object.freeze({
|
|
23
|
-
[StreamingResponseBrand]: true,
|
|
24
|
-
messages,
|
|
25
|
-
status: Object.freeze({
|
|
26
|
-
code: codeFromNumber(status.code ?? Code.Ok),
|
|
27
|
-
message: status.message ?? "",
|
|
28
|
-
metadata: Object.freeze(normalizeMetadata(status.metadata ?? {})),
|
|
29
|
-
}),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/** Internal generated-dispatcher predicate. */
|
|
34
|
-
export function isUnaryServerResponse(value) {
|
|
35
|
-
return value?.[UnaryResponseBrand] === true;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/** Internal generated-dispatcher predicate. */
|
|
39
|
-
export function isStreamingServerResponse(value) {
|
|
40
|
-
return value?.[StreamingResponseBrand] === true;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function isIterable(value) {
|
|
44
|
-
return (
|
|
45
|
-
value != null &&
|
|
46
|
-
(typeof value[Symbol.iterator] === "function" ||
|
|
47
|
-
typeof value[Symbol.asyncIterator] === "function")
|
|
48
|
-
);
|
|
49
|
-
}
|
package/src/timer.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const MaxTimerDelayMs = 2_147_483_647;
|
|
2
|
-
|
|
3
|
-
/** Schedules a cancellable timeout without overflowing platform timer limits. */
|
|
4
|
-
export function scheduleTimeout(callback, delayMs) {
|
|
5
|
-
let remaining = delayMs;
|
|
6
|
-
let timer;
|
|
7
|
-
let cancelled = false;
|
|
8
|
-
|
|
9
|
-
const schedule = () => {
|
|
10
|
-
const chunk = Math.min(remaining, MaxTimerDelayMs);
|
|
11
|
-
timer = setTimeout(() => {
|
|
12
|
-
if (cancelled) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
remaining -= chunk;
|
|
16
|
-
if (remaining > 0) {
|
|
17
|
-
schedule();
|
|
18
|
-
} else {
|
|
19
|
-
callback();
|
|
20
|
-
}
|
|
21
|
-
}, chunk);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
schedule();
|
|
25
|
-
return () => {
|
|
26
|
-
cancelled = true;
|
|
27
|
-
clearTimeout(timer);
|
|
28
|
-
};
|
|
29
|
-
}
|