@trevrpc/trevrpc-js 0.2.2 → 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.
Files changed (42) hide show
  1. package/README.md +89 -47
  2. package/bin/protoc-gen-trevrpc-js.js +1 -1
  3. package/package.json +11 -41
  4. package/src/bytes.js +10 -0
  5. package/src/call.js +287 -0
  6. package/src/channel.js +131 -296
  7. package/src/client.js +203 -1292
  8. package/src/framing.js +125 -519
  9. package/src/generator.js +26 -103
  10. package/src/index.d.ts +79 -452
  11. package/src/index.js +4 -3
  12. package/src/status.js +24 -70
  13. package/src/wire.js +4 -59
  14. package/examples/greeter/README.md +0 -35
  15. package/examples/greeter/client.js +0 -172
  16. package/examples/greeter/greeter.node.trevrpc.d.ts +0 -53
  17. package/examples/greeter/greeter.node.trevrpc.js +0 -9
  18. package/examples/greeter/greeter.proto +0 -18
  19. package/examples/greeter/greeter.trevrpc.d.ts +0 -55
  20. package/examples/greeter/greeter.trevrpc.js +0 -103
  21. package/examples/greeter/index.html +0 -140
  22. package/examples/greeter/static-server.js +0 -168
  23. package/src/advanced.d.ts +0 -29
  24. package/src/advanced.js +0 -1
  25. package/src/browser-channel.js +0 -49
  26. package/src/connect.js +0 -6
  27. package/src/connect.node.js +0 -6
  28. package/src/index.node.d.ts +0 -10
  29. package/src/index.node.js +0 -3
  30. package/src/native-loader.js +0 -118
  31. package/src/node-advanced.d.ts +0 -27
  32. package/src/node-advanced.js +0 -1
  33. package/src/node-generated.d.ts +0 -24
  34. package/src/node-generated.js +0 -126
  35. package/src/node-index.d.ts +0 -1
  36. package/src/node-index.js +0 -7
  37. package/src/node.d.ts +0 -298
  38. package/src/node.js +0 -1456
  39. package/src/runtime.js +0 -66
  40. package/src/server-response.js +0 -49
  41. package/src/timer.js +0 -29
  42. 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";
@@ -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
- }