@nmtjs/protocol 0.16.0-beta.3 → 0.16.0-beta.5

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.
@@ -1,13 +1,13 @@
1
- import type { ProtocolBlob } from '../common/blob.ts';
1
+ import type { ProtocolBlob, ProtocolBlobInterface } from '../common/blob.ts';
2
2
  import type { DecodeRPCContext } from '../common/types.ts';
3
- import type { ProtocolClientBlobStream, ProtocolServerBlobConsumer } from './stream.ts';
3
+ import type { ProtocolClientBlobStream } from './stream.ts';
4
4
  export interface EncodeRPCContext<T = any> {
5
5
  addStream: (blob: ProtocolBlob) => T;
6
6
  }
7
7
  export type ProtocolRPCEncode = ArrayBufferView;
8
8
  export interface BaseClientDecoder {
9
9
  decode(buffer: ArrayBufferView): unknown;
10
- decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<ProtocolServerBlobConsumer>): unknown;
10
+ decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<ProtocolBlobInterface>): unknown;
11
11
  }
12
12
  export interface BaseClientEncoder {
13
13
  encode(data: unknown): ArrayBufferView;
@@ -18,5 +18,5 @@ export declare abstract class BaseClientFormat implements BaseClientDecoder, Bas
18
18
  abstract encode(data: unknown): ArrayBufferView;
19
19
  abstract encodeRPC(data: unknown, context: EncodeRPCContext): ProtocolRPCEncode;
20
20
  abstract decode(buffer: ArrayBufferView): unknown;
21
- abstract decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<ProtocolServerBlobConsumer>): unknown;
21
+ abstract decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<ProtocolBlobInterface>): unknown;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/client/format.ts"],"names":[],"mappings":"AA6BA,MAAM,OAAgB,gBAAgB;CAerC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/client/format.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAgB,gBAAgB;CAerC"}
@@ -1,13 +1,13 @@
1
- import type { ProtocolBlob, ProtocolBlobMetadata } from '../common/blob.ts';
1
+ import type { ProtocolBlob, ProtocolBlobInterface, ProtocolBlobMetadata } from '../common/blob.ts';
2
2
  import type { ClientMessageType, ProtocolVersion, ServerMessageType } from '../common/enums.ts';
3
3
  import type { BaseProtocolError, EncodeRPCStreams } from '../common/types.ts';
4
4
  import type { BaseClientDecoder, BaseClientEncoder } from './format.ts';
5
- import type { ProtocolClientBlobStream, ProtocolServerBlobConsumer } from './stream.ts';
5
+ import type { ProtocolClientBlobStream } from './stream.ts';
6
6
  export type MessageContext = {
7
7
  decoder: BaseClientDecoder;
8
8
  encoder: BaseClientEncoder;
9
9
  addClientStream: (blob: ProtocolBlob) => ProtocolClientBlobStream;
10
- addServerStream: (streamId: number, metadata: ProtocolBlobMetadata) => ProtocolServerBlobConsumer;
10
+ addServerStream: (streamId: number, metadata: ProtocolBlobMetadata) => ProtocolBlobInterface;
11
11
  transport: {
12
12
  send: (buffer: ArrayBufferView) => void;
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/client/protocol.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAuD5C,MAAM,OAAgB,wBAAwB;IAgBlC,MAAM,CAAC,GAAG,MAAyC,EAAE;QAC7D,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;IAAA,CACzB;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,IAAI,CAAQ;IACZ,IAAI,CAAM;IAEV,YAAY,IAAY,EAAE,OAAgB,EAAE,IAAU,EAAE;QACtD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAAA,CACjB;IAED,IAAI,OAAO,GAAG;QACZ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAAA,CACvC;IAED,QAAQ,GAAG;QACT,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IAAA,CACtC;IAED,MAAM,GAAG;QACP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IAAA,CACF;CACF"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/client/protocol.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAuD5C,MAAM,OAAgB,wBAAwB;IAgBlC,MAAM,CAAC,GAAG,MAAyC,EAAE;QAC7D,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,CAAA;IAAA,CACzB;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,IAAI,CAAQ;IACZ,IAAI,CAAM;IAEV,YAAY,IAAY,EAAE,OAAgB,EAAE,IAAU,EAAE;QACtD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAAA,CACjB;IAED,IAAI,OAAO,GAAG;QACZ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAA;IAAA,CACvC;IAED,QAAQ,GAAG;QACT,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;IAAA,CACtC;IAED,MAAM,GAAG;QACP,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IAAA,CACF;CACF"}
@@ -47,6 +47,3 @@ export declare class ProtocolServerBlobStream extends ProtocolServerStreamInterf
47
47
  */
48
48
  slice(): Blob;
49
49
  }
50
- export type ProtocolServerBlobConsumer = ((options?: {
51
- signal?: AbortSignal;
52
- }) => ProtocolServerBlobStream) & ProtocolBlobInterface;
@@ -6,8 +6,11 @@ export type ProtocolBlobMetadata = {
6
6
  };
7
7
  export interface ProtocolBlobInterface {
8
8
  readonly metadata: ProtocolBlobMetadata;
9
+ readonly streamId?: number;
9
10
  readonly [kBlobKey]: any;
10
11
  }
12
+ export declare const createProtocolBlobReference: (streamId: number, metadata: ProtocolBlobMetadata) => ProtocolBlobInterface;
13
+ export declare const getProtocolBlobStreamId: (blob: ProtocolBlobInterface) => number;
11
14
  export declare class ProtocolBlob implements ProtocolBlobInterface {
12
15
  [kBlobKey]: true;
13
16
  readonly source: any;
@@ -1,4 +1,32 @@
1
1
  import { kBlobKey } from './constants.js';
2
+ export const createProtocolBlobReference = (streamId, metadata) => {
3
+ return Object.defineProperties({}, {
4
+ metadata: {
5
+ configurable: false,
6
+ enumerable: true,
7
+ writable: false,
8
+ value: metadata,
9
+ },
10
+ streamId: {
11
+ configurable: false,
12
+ enumerable: false,
13
+ writable: false,
14
+ value: streamId,
15
+ },
16
+ [kBlobKey]: {
17
+ configurable: false,
18
+ enumerable: false,
19
+ writable: false,
20
+ value: true,
21
+ },
22
+ });
23
+ };
24
+ export const getProtocolBlobStreamId = (blob) => {
25
+ if (typeof blob.streamId !== 'number') {
26
+ throw new Error('Blob does not reference a protocol stream');
27
+ }
28
+ return blob.streamId;
29
+ };
2
30
  export class ProtocolBlob {
3
31
  [kBlobKey] = true;
4
32
  source;
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/common/blob.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/common/blob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAczC,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,QAAgB,EAChB,QAA8B,EACP,EAAE,CAAC;IAC1B,OAAO,MAAM,CAAC,gBAAgB,CAC5B,EAAE,EACF;QACE,QAAQ,EAAE;YACR,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,QAAQ;SAChB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,QAAQ;SAChB;QACD,CAAC,QAAQ,CAAC,EAAE;YACV,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;SACZ;KACF,CACuB,CAAA;AAAA,CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAA2B,EAAE,EAAE,CAAC;IACtE,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,CAAA;AAAA,CACrB,CAAA;AAED,MAAM,OAAO,YAAY;IACvB,CAAC,QAAQ,CAAC,GAAS,IAAI,CAAA;IAEP,MAAM,CAAK;IACX,QAAQ,CAAsB;IAC9B,MAAM,CAA8C;IACpD,MAAM,CAAgB;IAEtC,YAAY,EACV,MAAM,EACN,MAAM,EACN,IAAI,EACJ,IAAI,GAAG,0BAA0B,EACjC,QAAQ,GAOT,EAAE;QACD,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAEzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAA;QACxC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACpC,YAAY,EAAE,KAAK;gBACnB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,MAAM;aACd,CAAC,CAAA;QACJ,CAAC;IAAA,CACF;IAED,MAAM,CAAC,IAAI,CACT,OAAY,EACZ,SAAS,GAAwD,EAAE,EACnE,OAAqD,EACrD;QACA,IAAI,MAAW,CAAA;QACf,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,0BAA0B,EAAE,GAAG,SAAS,EAAE,CAAA;QAEnE,IAAI,OAAO,YAAY,UAAU,CAAC,cAAc,EAAE,CAAC;YACjD,MAAM,GAAG,OAAO,CAAA;QAClB,CAAC;aAAM,IAAI,MAAM,IAAI,UAAU,IAAI,OAAO,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;YACtE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;YACzB,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAA;YAC9B,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAA;QACpC,CAAC;aAAM,IAAI,OAAO,YAAY,UAAU,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;YACzB,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAA;YAC9B,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAA;QAChC,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAChC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YACtB,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;YAC3B,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAA;QAChC,CAAC;aAAM,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAuC,CAAC,CAAC,CAAA;YAChE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YACtB,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;QAC7B,CAAC;aAAM,IAAI,OAAO,YAAY,UAAU,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;YAChC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;YACtB,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,OAAO,CAAA;QAClB,CAAC;QAED,OAAO,IAAI,YAAY,CAAC;YACtB,MAAM;YACN,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAA;IAAA,CACH;CACF"}
@@ -1,5 +1,4 @@
1
1
  import type { ProtocolBlobMetadata } from './blob.ts';
2
- type Stream = any;
3
2
  export interface BaseProtocolError {
4
3
  code: string;
5
4
  message: string;
@@ -8,7 +7,6 @@ export interface BaseProtocolError {
8
7
  export type ProtocolRPCPayload = unknown;
9
8
  export type ProtocolRPCResponse = unknown;
10
9
  export type EncodeRPCStreams = Record<number, ProtocolBlobMetadata>;
11
- export interface DecodeRPCContext<T = Stream> {
10
+ export interface DecodeRPCContext<T = unknown> {
12
11
  addStream: (id: number, metadata: ProtocolBlobMetadata) => T;
13
12
  }
14
- export {};
@@ -1,11 +1,10 @@
1
1
  import type { Pattern } from '@nmtjs/common';
2
- import type { ProtocolBlobMetadata } from '../common/blob.ts';
2
+ import type { ProtocolBlobInterface, ProtocolBlobMetadata } from '../common/blob.ts';
3
3
  import type { DecodeRPCContext, EncodeRPCStreams, ProtocolRPCPayload } from '../common/types.ts';
4
- import type { ProtocolClientStream } from './stream.ts';
5
4
  export interface BaseServerDecoder {
6
5
  accept: Pattern[];
7
6
  decode(buffer: ArrayBufferView): unknown;
8
- decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<() => ProtocolClientStream>): ProtocolRPCPayload;
7
+ decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<ProtocolBlobInterface>): ProtocolRPCPayload;
9
8
  }
10
9
  export interface BaseServerEncoder {
11
10
  contentType: string;
@@ -20,7 +19,7 @@ export declare abstract class BaseServerFormat implements BaseServerDecoder, Bas
20
19
  abstract encodeRPC(data: unknown, streams: EncodeRPCStreams): ArrayBufferView;
21
20
  abstract encodeBlob(streamId: number, metadata: ProtocolBlobMetadata): unknown;
22
21
  abstract decode(buffer: ArrayBufferView): any;
23
- abstract decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<() => ProtocolClientStream>): ProtocolRPCPayload;
22
+ abstract decodeRPC(buffer: ArrayBufferView, context: DecodeRPCContext<ProtocolBlobInterface>): ProtocolRPCPayload;
24
23
  }
25
24
  export declare const parseContentTypes: (types: string) => string[];
26
25
  export declare class ProtocolFormats {
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/server/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/server/format.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,6 @@
1
- import type { PlainType } from '@nmtjs/type';
2
1
  import type { ProtocolBlobInterface, ProtocolBlobMetadata } from '../common/blob.ts';
3
- import type { kBlobKey } from '../common/constants.ts';
4
2
  import type { BaseServerDecoder, BaseServerEncoder } from './format.ts';
5
3
  import type { ProtocolVersionInterface } from './protocol.ts';
6
- import type { ProtocolClientStream } from './stream.ts';
7
- export type ClientStreamConsumer = (() => ProtocolClientStream) & {
8
- readonly [kBlobKey]: any;
9
- readonly metadata: ProtocolBlobMetadata;
10
- };
11
4
  export type MessageContext = {
12
5
  protocol: ProtocolVersionInterface;
13
6
  connectionId: string;
@@ -18,7 +11,7 @@ export type MessageContext = {
18
11
  streamId: number;
19
12
  metadata: ProtocolBlobMetadata;
20
13
  callId: number;
21
- }) => ClientStreamConsumer;
14
+ }) => ProtocolBlobInterface;
22
15
  transport: {
23
16
  send?: (connectionId: string, buffer: ArrayBufferView) => boolean | null;
24
17
  };
@@ -27,8 +20,3 @@ export type ResolveFormatParams = {
27
20
  contentType?: string | null;
28
21
  accept?: string | null;
29
22
  };
30
- export type InputType<T> = T extends ProtocolBlobInterface ? ClientStreamConsumer : T extends {
31
- [PlainType]?: true;
32
- } ? {
33
- [K in keyof Omit<T, PlainType>]: InputType<T[K]>;
34
- } : T;
@@ -5,87 +5,87 @@ import { ProtocolVersionInterface } from '../protocol.ts';
5
5
  export declare class ProtocolVersion1 extends ProtocolVersionInterface {
6
6
  version: ProtocolVersion;
7
7
  decodeMessage(context: MessageContext, buffer: Buffer): {
8
- callId?: undefined;
9
- nonce?: undefined;
10
- size?: undefined;
11
- chunk?: undefined;
12
- streamId?: undefined;
13
- reason?: undefined;
14
8
  type: ClientMessageType.Rpc;
15
9
  rpc: {
16
10
  callId: number;
17
11
  procedure: string;
18
12
  payload: unknown;
19
13
  };
20
- } | {
14
+ callId?: undefined;
21
15
  nonce?: undefined;
22
16
  size?: undefined;
23
- chunk?: undefined;
17
+ reason?: undefined;
24
18
  streamId?: undefined;
19
+ chunk?: undefined;
20
+ } | {
25
21
  rpc?: undefined;
26
22
  type: ClientMessageType.RpcAbort;
27
23
  callId: number;
28
24
  reason: string | undefined;
29
- } | {
30
- callId?: undefined;
25
+ nonce?: undefined;
31
26
  size?: undefined;
32
- chunk?: undefined;
33
27
  streamId?: undefined;
34
- reason?: undefined;
28
+ chunk?: undefined;
29
+ } | {
35
30
  rpc?: undefined;
31
+ callId?: undefined;
36
32
  type: ClientMessageType.Ping;
37
33
  nonce: number;
38
- } | {
39
- callId?: undefined;
40
34
  size?: undefined;
41
- chunk?: undefined;
42
- streamId?: undefined;
43
35
  reason?: undefined;
36
+ streamId?: undefined;
37
+ chunk?: undefined;
38
+ } | {
44
39
  rpc?: undefined;
40
+ callId?: undefined;
45
41
  type: ClientMessageType.Pong;
46
42
  nonce: number;
47
- } | {
48
- callId?: undefined;
49
- nonce?: undefined;
50
43
  size?: undefined;
44
+ reason?: undefined;
45
+ streamId?: undefined;
51
46
  chunk?: undefined;
47
+ } | {
52
48
  rpc?: undefined;
49
+ callId?: undefined;
50
+ nonce?: undefined;
53
51
  type: ClientMessageType.ServerStreamAbort;
54
52
  streamId: number;
55
53
  reason: string | undefined;
54
+ size?: undefined;
55
+ chunk?: undefined;
56
56
  } | {
57
+ rpc?: undefined;
57
58
  callId?: undefined;
58
59
  nonce?: undefined;
59
- chunk?: undefined;
60
- reason?: undefined;
61
- rpc?: undefined;
62
60
  type: ClientMessageType.ServerStreamPull;
63
61
  streamId: number;
64
62
  size: number;
63
+ reason?: undefined;
64
+ chunk?: undefined;
65
65
  } | {
66
+ rpc?: undefined;
66
67
  callId?: undefined;
67
68
  nonce?: undefined;
68
69
  size?: undefined;
69
- chunk?: undefined;
70
- rpc?: undefined;
71
70
  type: ClientMessageType.ClientStreamAbort;
72
71
  streamId: number;
73
72
  reason: string | undefined;
73
+ chunk?: undefined;
74
74
  } | {
75
+ rpc?: undefined;
75
76
  callId?: undefined;
76
77
  nonce?: undefined;
77
78
  size?: undefined;
78
- chunk?: undefined;
79
79
  reason?: undefined;
80
- rpc?: undefined;
81
80
  type: ClientMessageType.ClientStreamEnd;
82
81
  streamId: number;
82
+ chunk?: undefined;
83
83
  } | {
84
+ rpc?: undefined;
84
85
  callId?: undefined;
85
86
  nonce?: undefined;
86
87
  size?: undefined;
87
88
  reason?: undefined;
88
- rpc?: undefined;
89
89
  type: ClientMessageType.ClientStreamPush;
90
90
  streamId: number;
91
91
  chunk: Buffer<ArrayBufferLike>;
package/package.json CHANGED
@@ -21,18 +21,18 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "hookable": "6.1.0",
24
- "@nmtjs/contract": "0.16.0-beta.3",
25
- "@nmtjs/common": "0.16.0-beta.3",
26
- "@nmtjs/type": "0.16.0-beta.3"
24
+ "@nmtjs/common": "0.16.0-beta.5",
25
+ "@nmtjs/contract": "0.16.0-beta.5",
26
+ "@nmtjs/type": "0.16.0-beta.5"
27
27
  },
28
28
  "devDependencies": {
29
- "@nmtjs/core": "0.16.0-beta.3"
29
+ "@nmtjs/core": "0.16.0-beta.5"
30
30
  },
31
31
  "peerDependencies": {
32
- "@nmtjs/common": "0.16.0-beta.3",
33
- "@nmtjs/core": "0.16.0-beta.3",
34
- "@nmtjs/contract": "0.16.0-beta.3",
35
- "@nmtjs/type": "0.16.0-beta.3"
32
+ "@nmtjs/common": "0.16.0-beta.5",
33
+ "@nmtjs/contract": "0.16.0-beta.5",
34
+ "@nmtjs/core": "0.16.0-beta.5",
35
+ "@nmtjs/type": "0.16.0-beta.5"
36
36
  },
37
37
  "files": [
38
38
  "dist",
@@ -40,7 +40,7 @@
40
40
  "LICENSE.md",
41
41
  "README.md"
42
42
  ],
43
- "version": "0.16.0-beta.3",
43
+ "version": "0.16.0-beta.5",
44
44
  "scripts": {
45
45
  "clean-build": "rm -rf ./dist"
46
46
  }
@@ -1,9 +1,6 @@
1
- import type { ProtocolBlob } from '../common/blob.ts'
1
+ import type { ProtocolBlob, ProtocolBlobInterface } from '../common/blob.ts'
2
2
  import type { DecodeRPCContext } from '../common/types.ts'
3
- import type {
4
- ProtocolClientBlobStream,
5
- ProtocolServerBlobConsumer,
6
- } from './stream.ts'
3
+ import type { ProtocolClientBlobStream } from './stream.ts'
7
4
 
8
5
  export interface EncodeRPCContext<T = any> {
9
6
  addStream: (blob: ProtocolBlob) => T
@@ -15,7 +12,7 @@ export interface BaseClientDecoder {
15
12
  decode(buffer: ArrayBufferView): unknown
16
13
  decodeRPC(
17
14
  buffer: ArrayBufferView,
18
- context: DecodeRPCContext<ProtocolServerBlobConsumer>,
15
+ context: DecodeRPCContext<ProtocolBlobInterface>,
19
16
  ): unknown
20
17
  }
21
18
 
@@ -40,6 +37,6 @@ export abstract class BaseClientFormat
40
37
  abstract decode(buffer: ArrayBufferView): unknown
41
38
  abstract decodeRPC(
42
39
  buffer: ArrayBufferView,
43
- context: DecodeRPCContext<ProtocolServerBlobConsumer>,
40
+ context: DecodeRPCContext<ProtocolBlobInterface>,
44
41
  ): unknown
45
42
  }
@@ -1,4 +1,8 @@
1
- import type { ProtocolBlob, ProtocolBlobMetadata } from '../common/blob.ts'
1
+ import type {
2
+ ProtocolBlob,
3
+ ProtocolBlobInterface,
4
+ ProtocolBlobMetadata,
5
+ } from '../common/blob.ts'
2
6
  import type {
3
7
  ClientMessageType,
4
8
  ProtocolVersion,
@@ -6,10 +10,7 @@ import type {
6
10
  } from '../common/enums.ts'
7
11
  import type { BaseProtocolError, EncodeRPCStreams } from '../common/types.ts'
8
12
  import type { BaseClientDecoder, BaseClientEncoder } from './format.ts'
9
- import type {
10
- ProtocolClientBlobStream,
11
- ProtocolServerBlobConsumer,
12
- } from './stream.ts'
13
+ import type { ProtocolClientBlobStream } from './stream.ts'
13
14
  import { concat } from '../common/binary.ts'
14
15
 
15
16
  export type MessageContext = {
@@ -19,7 +20,7 @@ export type MessageContext = {
19
20
  addServerStream: (
20
21
  streamId: number,
21
22
  metadata: ProtocolBlobMetadata,
22
- ) => ProtocolServerBlobConsumer
23
+ ) => ProtocolBlobInterface
23
24
  transport: { send: (buffer: ArrayBufferView) => void }
24
25
  streamId: () => number
25
26
  }
@@ -209,8 +209,3 @@ export class ProtocolServerBlobStream
209
209
  throw new Error('Unable to slice')
210
210
  }
211
211
  }
212
-
213
- export type ProtocolServerBlobConsumer = ((options?: {
214
- signal?: AbortSignal
215
- }) => ProtocolServerBlobStream) &
216
- ProtocolBlobInterface
@@ -8,9 +8,47 @@ export type ProtocolBlobMetadata = {
8
8
 
9
9
  export interface ProtocolBlobInterface {
10
10
  readonly metadata: ProtocolBlobMetadata
11
+ readonly streamId?: number
11
12
  readonly [kBlobKey]: any
12
13
  }
13
14
 
15
+ export const createProtocolBlobReference = (
16
+ streamId: number,
17
+ metadata: ProtocolBlobMetadata,
18
+ ): ProtocolBlobInterface => {
19
+ return Object.defineProperties(
20
+ {},
21
+ {
22
+ metadata: {
23
+ configurable: false,
24
+ enumerable: true,
25
+ writable: false,
26
+ value: metadata,
27
+ },
28
+ streamId: {
29
+ configurable: false,
30
+ enumerable: false,
31
+ writable: false,
32
+ value: streamId,
33
+ },
34
+ [kBlobKey]: {
35
+ configurable: false,
36
+ enumerable: false,
37
+ writable: false,
38
+ value: true,
39
+ },
40
+ },
41
+ ) as ProtocolBlobInterface
42
+ }
43
+
44
+ export const getProtocolBlobStreamId = (blob: ProtocolBlobInterface) => {
45
+ if (typeof blob.streamId !== 'number') {
46
+ throw new Error('Blob does not reference a protocol stream')
47
+ }
48
+
49
+ return blob.streamId
50
+ }
51
+
14
52
  export class ProtocolBlob implements ProtocolBlobInterface {
15
53
  [kBlobKey]: true = true
16
54
 
@@ -1,7 +1,5 @@
1
1
  import type { ProtocolBlobMetadata } from './blob.ts'
2
2
 
3
- type Stream = any
4
-
5
3
  export interface BaseProtocolError {
6
4
  code: string
7
5
  message: string
@@ -13,6 +11,6 @@ export type ProtocolRPCResponse = unknown
13
11
 
14
12
  export type EncodeRPCStreams = Record<number, ProtocolBlobMetadata>
15
13
 
16
- export interface DecodeRPCContext<T = Stream> {
14
+ export interface DecodeRPCContext<T = unknown> {
17
15
  addStream: (id: number, metadata: ProtocolBlobMetadata) => T
18
16
  }
@@ -1,20 +1,22 @@
1
1
  import type { Pattern } from '@nmtjs/common'
2
2
  import { match } from '@nmtjs/common'
3
3
 
4
- import type { ProtocolBlobMetadata } from '../common/blob.ts'
4
+ import type {
5
+ ProtocolBlobInterface,
6
+ ProtocolBlobMetadata,
7
+ } from '../common/blob.ts'
5
8
  import type {
6
9
  DecodeRPCContext,
7
10
  EncodeRPCStreams,
8
11
  ProtocolRPCPayload,
9
12
  } from '../common/types.ts'
10
- import type { ProtocolClientStream } from './stream.ts'
11
13
 
12
14
  export interface BaseServerDecoder {
13
15
  accept: Pattern[]
14
16
  decode(buffer: ArrayBufferView): unknown
15
17
  decodeRPC(
16
18
  buffer: ArrayBufferView,
17
- context: DecodeRPCContext<() => ProtocolClientStream>,
19
+ context: DecodeRPCContext<ProtocolBlobInterface>,
18
20
  ): ProtocolRPCPayload
19
21
  }
20
22
 
@@ -37,7 +39,7 @@ export abstract class BaseServerFormat
37
39
  abstract decode(buffer: ArrayBufferView): any
38
40
  abstract decodeRPC(
39
41
  buffer: ArrayBufferView,
40
- context: DecodeRPCContext<() => ProtocolClientStream>,
42
+ context: DecodeRPCContext<ProtocolBlobInterface>,
41
43
  ): ProtocolRPCPayload
42
44
  }
43
45
 
@@ -1,18 +1,9 @@
1
- import type { PlainType } from '@nmtjs/type'
2
-
3
1
  import type {
4
2
  ProtocolBlobInterface,
5
3
  ProtocolBlobMetadata,
6
4
  } from '../common/blob.ts'
7
- import type { kBlobKey } from '../common/constants.ts'
8
5
  import type { BaseServerDecoder, BaseServerEncoder } from './format.ts'
9
6
  import type { ProtocolVersionInterface } from './protocol.ts'
10
- import type { ProtocolClientStream } from './stream.ts'
11
-
12
- export type ClientStreamConsumer = (() => ProtocolClientStream) & {
13
- readonly [kBlobKey]: any
14
- readonly metadata: ProtocolBlobMetadata
15
- }
16
7
 
17
8
  export type MessageContext = {
18
9
  protocol: ProtocolVersionInterface
@@ -24,7 +15,7 @@ export type MessageContext = {
24
15
  streamId: number
25
16
  metadata: ProtocolBlobMetadata
26
17
  callId: number
27
- }) => ClientStreamConsumer
18
+ }) => ProtocolBlobInterface
28
19
  transport: {
29
20
  send?: (connectionId: string, buffer: ArrayBufferView) => boolean | null
30
21
  }
@@ -34,9 +25,3 @@ export type ResolveFormatParams = {
34
25
  contentType?: string | null
35
26
  accept?: string | null
36
27
  }
37
-
38
- export type InputType<T> = T extends ProtocolBlobInterface
39
- ? ClientStreamConsumer
40
- : T extends { [PlainType]?: true }
41
- ? { [K in keyof Omit<T, PlainType>]: InputType<T[K]> }
42
- : T