@ebarahona/loopback-transport-core 1.0.0 → 1.2.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 +472 -35
- package/dist/client/client-proxy.d.ts +73 -42
- package/dist/client/client-proxy.js +71 -42
- package/dist/client/client-proxy.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.js +3 -15
- package/dist/client/index.js.map +1 -1
- package/dist/context/execution-context.d.ts +58 -11
- package/dist/context/execution-context.js +62 -17
- package/dist/context/execution-context.js.map +1 -1
- package/dist/context/index.d.ts +2 -1
- package/dist/context/index.js +3 -15
- package/dist/context/index.js.map +1 -1
- package/dist/decorators/constants.d.ts +20 -10
- package/dist/decorators/constants.js +6 -2
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/event-handler.decorator.d.ts +10 -7
- package/dist/decorators/event-handler.decorator.js +18 -13
- package/dist/decorators/event-handler.decorator.js.map +1 -1
- package/dist/decorators/index.d.ts +5 -4
- package/dist/decorators/index.js +11 -18
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/message-handler.decorator.d.ts +8 -5
- package/dist/decorators/message-handler.decorator.js +16 -11
- package/dist/decorators/message-handler.decorator.js.map +1 -1
- package/dist/decorators/payload.decorator.d.ts +16 -7
- package/dist/decorators/payload.decorator.js +16 -8
- package/dist/decorators/payload.decorator.js.map +1 -1
- package/dist/discovery/discovery.service.d.ts +143 -0
- package/dist/discovery/discovery.service.js +165 -0
- package/dist/discovery/discovery.service.js.map +1 -0
- package/dist/discovery/event-handler-discoverer.d.ts +19 -0
- package/dist/discovery/event-handler-discoverer.js +50 -0
- package/dist/discovery/event-handler-discoverer.js.map +1 -0
- package/dist/discovery/handler-discoverer.d.ts +48 -0
- package/dist/discovery/handler-discoverer.js +3 -0
- package/dist/discovery/handler-discoverer.js.map +1 -0
- package/dist/discovery/handler-kind.d.ts +23 -0
- package/dist/discovery/handler-kind.js +14 -0
- package/dist/discovery/handler-kind.js.map +1 -0
- package/dist/discovery/index.d.ts +7 -0
- package/dist/discovery/index.js +13 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/discovery/message-handler-discoverer.d.ts +19 -0
- package/dist/discovery/message-handler-discoverer.js +50 -0
- package/dist/discovery/message-handler-discoverer.js.map +1 -0
- package/dist/discovery/registered-handler.d.ts +35 -0
- package/dist/discovery/registered-handler.js +3 -0
- package/dist/discovery/registered-handler.js.map +1 -0
- package/dist/helpers/errors.d.ts +61 -0
- package/dist/helpers/errors.js +80 -0
- package/dist/helpers/errors.js.map +1 -0
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/index.js +14 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/register-server.d.ts +44 -0
- package/dist/helpers/register-server.js +72 -0
- package/dist/helpers/register-server.js.map +1 -0
- package/dist/index.d.ts +15 -7
- package/dist/index.js +33 -9
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.d.ts +4 -4
- package/dist/interfaces/index.js +0 -18
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/message-handler.interface.d.ts +12 -6
- package/dist/interfaces/packet.interface.d.ts +20 -2
- package/dist/interfaces/transport-client.interface.d.ts +25 -13
- package/dist/interfaces/transport-server.interface.d.ts +36 -10
- package/dist/keys.d.ts +143 -46
- package/dist/keys.js +142 -68
- package/dist/keys.js.map +1 -1
- package/dist/registry/handler-registry.d.ts +94 -24
- package/dist/registry/handler-registry.js +279 -89
- package/dist/registry/handler-registry.js.map +1 -1
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.js +3 -15
- package/dist/registry/index.js.map +1 -1
- package/dist/serializers/cloudevents-serializer.d.ts +107 -0
- package/dist/serializers/cloudevents-serializer.js +130 -0
- package/dist/serializers/cloudevents-serializer.js.map +1 -0
- package/dist/serializers/index.d.ts +4 -1
- package/dist/serializers/index.js +7 -15
- package/dist/serializers/index.js.map +1 -1
- package/dist/serializers/serializer.interface.d.ts +49 -16
- package/dist/serializers/serializer.interface.js +41 -15
- package/dist/serializers/serializer.interface.js.map +1 -1
- package/dist/server/index.d.ts +2 -1
- package/dist/server/index.js +3 -15
- package/dist/server/index.js.map +1 -1
- package/dist/server/server-base.d.ts +125 -52
- package/dist/server/server-base.js +168 -57
- package/dist/server/server-base.js.map +1 -1
- package/dist/transport.component.d.ts +21 -8
- package/dist/transport.component.js +41 -18
- package/dist/transport.component.js.map +1 -1
- package/dist/transport.observer.d.ts +91 -0
- package/dist/transport.observer.js +297 -0
- package/dist/transport.observer.js.map +1 -0
- package/dist/utils/normalize-pattern.d.ts +11 -6
- package/dist/utils/normalize-pattern.js +18 -13
- package/dist/utils/normalize-pattern.js.map +1 -1
- package/package.json +58 -16
- package/dist/transport-booter.d.ts +0 -31
- package/dist/transport-booter.js +0 -117
- package/dist/transport-booter.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-registry.js","sourceRoot":"","sources":["../../src/registry/handler-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handler-registry.js","sourceRoot":"","sources":["../../src/registry/handler-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { HandlerRegistry } from './handler-registry';
|
package/dist/registry/index.js
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
3
|
+
exports.HandlerRegistry = void 0;
|
|
4
|
+
var handler_registry_1 = require("./handler-registry");
|
|
5
|
+
Object.defineProperty(exports, "HandlerRegistry", { enumerable: true, get: function () { return handler_registry_1.HandlerRegistry; } });
|
|
18
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AAA3C,mHAAA,eAAe,OAAA"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { Deserializer, Serializer, TransportPacket } from './serializer.interface';
|
|
2
|
+
/**
|
|
3
|
+
* Options for {@link CloudEventsSerializer} / {@link CloudEventsDeserializer}.
|
|
4
|
+
*
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
7
|
+
export interface CloudEventsSerializerOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The event source URI (RFC 3986). Required.
|
|
10
|
+
*
|
|
11
|
+
* @example `/orders`
|
|
12
|
+
* @example `urn:example:com:orders`
|
|
13
|
+
*/
|
|
14
|
+
source: string;
|
|
15
|
+
/**
|
|
16
|
+
* The CloudEvents `type` attribute prefix. The packet's pattern is
|
|
17
|
+
* appended, separated by a dot.
|
|
18
|
+
*
|
|
19
|
+
* @example `com.example.order` with pattern `placed` becomes
|
|
20
|
+
* `com.example.order.placed`.
|
|
21
|
+
*/
|
|
22
|
+
typePrefix: string;
|
|
23
|
+
/**
|
|
24
|
+
* Encoding mode. `binary` puts the CloudEvents attributes in transport
|
|
25
|
+
* headers (suitable for Kafka, AMQP, HTTP binary content mode);
|
|
26
|
+
* `structured` embeds the attributes in the JSON payload itself
|
|
27
|
+
* (broker-agnostic, the default).
|
|
28
|
+
*
|
|
29
|
+
* @defaultValue `structured`
|
|
30
|
+
*/
|
|
31
|
+
mode?: 'binary' | 'structured';
|
|
32
|
+
/**
|
|
33
|
+
* Optional generator for the CloudEvents `id` attribute.
|
|
34
|
+
*
|
|
35
|
+
* @defaultValue `crypto.randomUUID()`
|
|
36
|
+
*/
|
|
37
|
+
idGenerator?: () => string;
|
|
38
|
+
/**
|
|
39
|
+
* Optional generator for the CloudEvents `time` attribute.
|
|
40
|
+
*
|
|
41
|
+
* @defaultValue `new Date().toISOString()`
|
|
42
|
+
*/
|
|
43
|
+
timeGenerator?: () => string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Serializes a {@link TransportPacket} into a CloudEvents 1.0 envelope
|
|
47
|
+
* encoded as a JSON `Buffer`.
|
|
48
|
+
*
|
|
49
|
+
* The packet's `pattern` becomes `${typePrefix}.${pattern}` in the
|
|
50
|
+
* CloudEvents `type` attribute. The packet's `correlationId` (if
|
|
51
|
+
* present) becomes the CloudEvents `id`; otherwise a UUID is generated.
|
|
52
|
+
*
|
|
53
|
+
* Structured mode (default) embeds attributes in the JSON payload and
|
|
54
|
+
* is broker-agnostic. Binary mode places attributes in transport
|
|
55
|
+
* headers and keeps the payload clean; over a Buffer-only wire the
|
|
56
|
+
* `{headers, body}` envelope is JSON-encoded so the inverse
|
|
57
|
+
* deserializer can recover the attributes.
|
|
58
|
+
*
|
|
59
|
+
* Underlying SDK errors are wrapped in {@link
|
|
60
|
+
* TransportSerializationError} via `cause`.
|
|
61
|
+
*
|
|
62
|
+
* @experimental
|
|
63
|
+
*/
|
|
64
|
+
export declare class CloudEventsSerializer implements Serializer<TransportPacket, Buffer> {
|
|
65
|
+
private readonly options;
|
|
66
|
+
private readonly mode;
|
|
67
|
+
private readonly idGenerator;
|
|
68
|
+
private readonly timeGenerator;
|
|
69
|
+
constructor(options: CloudEventsSerializerOptions);
|
|
70
|
+
/**
|
|
71
|
+
* Encode a {@link TransportPacket} as a CloudEvents 1.0 JSON envelope.
|
|
72
|
+
*
|
|
73
|
+
* @param packet - The transport packet to encode.
|
|
74
|
+
* @returns The serialized envelope as a UTF-8 `Buffer`.
|
|
75
|
+
* @throws {@link TransportSerializationError} When the CloudEvents
|
|
76
|
+
* SDK rejects the event (invalid attributes, non-serializable
|
|
77
|
+
* payload, etc.). The original error is attached via `cause`.
|
|
78
|
+
*/
|
|
79
|
+
serialize(packet: TransportPacket): Buffer;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Deserializes a CloudEvents 1.0 JSON envelope (as produced by
|
|
83
|
+
* {@link CloudEventsSerializer}) back into a {@link TransportPacket}.
|
|
84
|
+
*
|
|
85
|
+
* Supports both `binary` and `structured` encodings — the mode is
|
|
86
|
+
* detected from the envelope's content-type header by the CloudEvents
|
|
87
|
+
* SDK. The CloudEvent `type` attribute is restored as the packet's
|
|
88
|
+
* `pattern` and the CloudEvent `id` becomes the packet's
|
|
89
|
+
* `correlationId`.
|
|
90
|
+
*
|
|
91
|
+
* Underlying SDK errors are wrapped in {@link
|
|
92
|
+
* TransportSerializationError} via `cause`.
|
|
93
|
+
*
|
|
94
|
+
* @experimental
|
|
95
|
+
*/
|
|
96
|
+
export declare class CloudEventsDeserializer implements Deserializer<Buffer, TransportPacket> {
|
|
97
|
+
/**
|
|
98
|
+
* Decode a CloudEvents 1.0 JSON envelope.
|
|
99
|
+
*
|
|
100
|
+
* @param buf - The wire-format envelope.
|
|
101
|
+
* @returns The decoded {@link TransportPacket}.
|
|
102
|
+
* @throws {@link TransportSerializationError} When the envelope is
|
|
103
|
+
* malformed, not a CloudEvent, or fails schema validation. The
|
|
104
|
+
* original error is attached via `cause`.
|
|
105
|
+
*/
|
|
106
|
+
deserialize(buf: Buffer): TransportPacket;
|
|
107
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloudEventsDeserializer = exports.CloudEventsSerializer = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const cloudevents_1 = require("cloudevents");
|
|
6
|
+
const errors_1 = require("../helpers/errors");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
function patternToString(pattern) {
|
|
9
|
+
return typeof pattern === 'string' ? pattern : (0, utils_1.normalizePattern)(pattern);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Serializes a {@link TransportPacket} into a CloudEvents 1.0 envelope
|
|
13
|
+
* encoded as a JSON `Buffer`.
|
|
14
|
+
*
|
|
15
|
+
* The packet's `pattern` becomes `${typePrefix}.${pattern}` in the
|
|
16
|
+
* CloudEvents `type` attribute. The packet's `correlationId` (if
|
|
17
|
+
* present) becomes the CloudEvents `id`; otherwise a UUID is generated.
|
|
18
|
+
*
|
|
19
|
+
* Structured mode (default) embeds attributes in the JSON payload and
|
|
20
|
+
* is broker-agnostic. Binary mode places attributes in transport
|
|
21
|
+
* headers and keeps the payload clean; over a Buffer-only wire the
|
|
22
|
+
* `{headers, body}` envelope is JSON-encoded so the inverse
|
|
23
|
+
* deserializer can recover the attributes.
|
|
24
|
+
*
|
|
25
|
+
* Underlying SDK errors are wrapped in {@link
|
|
26
|
+
* TransportSerializationError} via `cause`.
|
|
27
|
+
*
|
|
28
|
+
* @experimental
|
|
29
|
+
*/
|
|
30
|
+
class CloudEventsSerializer {
|
|
31
|
+
options;
|
|
32
|
+
mode;
|
|
33
|
+
idGenerator;
|
|
34
|
+
timeGenerator;
|
|
35
|
+
constructor(options) {
|
|
36
|
+
this.options = options;
|
|
37
|
+
this.mode = options.mode ?? 'structured';
|
|
38
|
+
this.idGenerator = options.idGenerator ?? (() => (0, crypto_1.randomUUID)());
|
|
39
|
+
this.timeGenerator =
|
|
40
|
+
options.timeGenerator ?? (() => new Date().toISOString());
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Encode a {@link TransportPacket} as a CloudEvents 1.0 JSON envelope.
|
|
44
|
+
*
|
|
45
|
+
* @param packet - The transport packet to encode.
|
|
46
|
+
* @returns The serialized envelope as a UTF-8 `Buffer`.
|
|
47
|
+
* @throws {@link TransportSerializationError} When the CloudEvents
|
|
48
|
+
* SDK rejects the event (invalid attributes, non-serializable
|
|
49
|
+
* payload, etc.). The original error is attached via `cause`.
|
|
50
|
+
*/
|
|
51
|
+
serialize(packet) {
|
|
52
|
+
try {
|
|
53
|
+
const event = new cloudevents_1.CloudEvent({
|
|
54
|
+
id: packet.correlationId ?? this.idGenerator(),
|
|
55
|
+
type: `${this.options.typePrefix}.${patternToString(packet.pattern)}`,
|
|
56
|
+
source: this.options.source,
|
|
57
|
+
time: this.timeGenerator(),
|
|
58
|
+
data: packet.data,
|
|
59
|
+
});
|
|
60
|
+
const message = this.mode === 'binary' ? cloudevents_1.HTTP.binary(event) : cloudevents_1.HTTP.structured(event);
|
|
61
|
+
const envelope = {
|
|
62
|
+
headers: message.headers,
|
|
63
|
+
body: typeof message.body === 'string'
|
|
64
|
+
? message.body
|
|
65
|
+
: Buffer.isBuffer(message.body)
|
|
66
|
+
? message.body.toString('utf-8')
|
|
67
|
+
: message.body,
|
|
68
|
+
};
|
|
69
|
+
return Buffer.from(JSON.stringify(envelope), 'utf-8');
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
throw new errors_1.TransportSerializationError(`Failed to serialize CloudEvent: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.CloudEventsSerializer = CloudEventsSerializer;
|
|
77
|
+
/**
|
|
78
|
+
* Deserializes a CloudEvents 1.0 JSON envelope (as produced by
|
|
79
|
+
* {@link CloudEventsSerializer}) back into a {@link TransportPacket}.
|
|
80
|
+
*
|
|
81
|
+
* Supports both `binary` and `structured` encodings — the mode is
|
|
82
|
+
* detected from the envelope's content-type header by the CloudEvents
|
|
83
|
+
* SDK. The CloudEvent `type` attribute is restored as the packet's
|
|
84
|
+
* `pattern` and the CloudEvent `id` becomes the packet's
|
|
85
|
+
* `correlationId`.
|
|
86
|
+
*
|
|
87
|
+
* Underlying SDK errors are wrapped in {@link
|
|
88
|
+
* TransportSerializationError} via `cause`.
|
|
89
|
+
*
|
|
90
|
+
* @experimental
|
|
91
|
+
*/
|
|
92
|
+
class CloudEventsDeserializer {
|
|
93
|
+
/**
|
|
94
|
+
* Decode a CloudEvents 1.0 JSON envelope.
|
|
95
|
+
*
|
|
96
|
+
* @param buf - The wire-format envelope.
|
|
97
|
+
* @returns The decoded {@link TransportPacket}.
|
|
98
|
+
* @throws {@link TransportSerializationError} When the envelope is
|
|
99
|
+
* malformed, not a CloudEvent, or fails schema validation. The
|
|
100
|
+
* original error is attached via `cause`.
|
|
101
|
+
*/
|
|
102
|
+
deserialize(buf) {
|
|
103
|
+
try {
|
|
104
|
+
const envelope = JSON.parse(buf.toString('utf-8'));
|
|
105
|
+
if (envelope === null ||
|
|
106
|
+
typeof envelope !== 'object' ||
|
|
107
|
+
typeof envelope.headers !== 'object' ||
|
|
108
|
+
envelope.headers === null) {
|
|
109
|
+
throw new Error('envelope must be a {headers, body} object');
|
|
110
|
+
}
|
|
111
|
+
const event = cloudevents_1.HTTP.toEvent(envelope);
|
|
112
|
+
// toEvent returns CloudEventV1<unknown> | CloudEventV1<unknown>[].
|
|
113
|
+
// Batch mode is not produced by this serializer; reject it
|
|
114
|
+
// rather than silently dropping all but the first event.
|
|
115
|
+
if (Array.isArray(event)) {
|
|
116
|
+
throw new Error('batch CloudEvents are not supported');
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
pattern: event.type,
|
|
120
|
+
data: event.data,
|
|
121
|
+
correlationId: event.id,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
throw new errors_1.TransportSerializationError(`Failed to deserialize CloudEvent: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
exports.CloudEventsDeserializer = CloudEventsDeserializer;
|
|
130
|
+
//# sourceMappingURL=cloudevents-serializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudevents-serializer.js","sourceRoot":"","sources":["../../src/serializers/cloudevents-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { JsonSerializer, JsonDeserializer } from './serializer.interface';
|
|
2
|
+
export type { Deserializer, Serializer, TransportPacket, } from './serializer.interface';
|
|
3
|
+
export { CloudEventsSerializer, CloudEventsDeserializer, } from './cloudevents-serializer';
|
|
4
|
+
export type { CloudEventsSerializerOptions } from './cloudevents-serializer';
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
3
|
+
exports.CloudEventsDeserializer = exports.CloudEventsSerializer = exports.JsonDeserializer = exports.JsonSerializer = void 0;
|
|
4
|
+
var serializer_interface_1 = require("./serializer.interface");
|
|
5
|
+
Object.defineProperty(exports, "JsonSerializer", { enumerable: true, get: function () { return serializer_interface_1.JsonSerializer; } });
|
|
6
|
+
Object.defineProperty(exports, "JsonDeserializer", { enumerable: true, get: function () { return serializer_interface_1.JsonDeserializer; } });
|
|
7
|
+
var cloudevents_serializer_1 = require("./cloudevents-serializer");
|
|
8
|
+
Object.defineProperty(exports, "CloudEventsSerializer", { enumerable: true, get: function () { return cloudevents_serializer_1.CloudEventsSerializer; } });
|
|
9
|
+
Object.defineProperty(exports, "CloudEventsDeserializer", { enumerable: true, get: function () { return cloudevents_serializer_1.CloudEventsDeserializer; } });
|
|
18
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serializers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serializers/index.ts"],"names":[],"mappings":";;;AAAA,+DAAwE;AAAhE,sHAAA,cAAc,OAAA;AAAE,wHAAA,gBAAgB,OAAA;AAMxC,mEAGkC;AAFhC,+HAAA,qBAAqB,OAAA;AACrB,iIAAA,uBAAuB,OAAA"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
/**
|
|
4
2
|
* Serializes outgoing messages before sending to the broker.
|
|
5
3
|
*
|
|
6
4
|
* Supports both sync and async implementations to allow for
|
|
7
5
|
* compression, encryption, schema registry lookup, protobuf/avro
|
|
8
6
|
* encoding, and streaming codecs.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
9
|
+
* @typeParam TInput - Type of values fed to the serializer.
|
|
10
|
+
* @typeParam TOutput - Type of values produced by the serializer.
|
|
9
11
|
*/
|
|
10
12
|
export interface Serializer<TInput = unknown, TOutput = unknown> {
|
|
11
13
|
serialize(value: TInput): TOutput | Promise<TOutput>;
|
|
@@ -13,18 +15,25 @@ export interface Serializer<TInput = unknown, TOutput = unknown> {
|
|
|
13
15
|
/**
|
|
14
16
|
* Deserializes incoming messages received from the broker.
|
|
15
17
|
*
|
|
16
|
-
* Supports async implementations for decompression, decryption,
|
|
17
|
-
*
|
|
18
|
+
* Supports async implementations for decompression, decryption, schema
|
|
19
|
+
* registry lookup, and streaming codecs.
|
|
20
|
+
*
|
|
21
|
+
* @public
|
|
22
|
+
* @typeParam TInput - Wire format consumed by the deserializer.
|
|
23
|
+
* @typeParam TOutput - Decoded message shape.
|
|
18
24
|
*/
|
|
19
25
|
export interface Deserializer<TInput = unknown, TOutput = unknown> {
|
|
20
26
|
deserialize(value: TInput): TOutput | Promise<TOutput>;
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
|
-
* Transport message envelope with metadata for tracing,
|
|
24
|
-
*
|
|
29
|
+
* Transport message envelope with metadata for tracing, correlation,
|
|
30
|
+
* retries, and distributed context propagation.
|
|
31
|
+
*
|
|
32
|
+
* Transport adapters should serialize/deserialize this envelope rather
|
|
33
|
+
* than raw payloads when full transport metadata is needed.
|
|
25
34
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
35
|
+
* @public
|
|
36
|
+
* @typeParam T - The payload shape.
|
|
28
37
|
*/
|
|
29
38
|
export interface TransportPacket<T = unknown> {
|
|
30
39
|
readonly pattern: string | Record<string, unknown>;
|
|
@@ -36,27 +45,51 @@ export interface TransportPacket<T = unknown> {
|
|
|
36
45
|
/**
|
|
37
46
|
* Default JSON serializer. Converts objects to JSON strings.
|
|
38
47
|
*
|
|
39
|
-
* Wraps JSON.stringify errors into deterministic transport errors
|
|
40
|
-
* instead of exposing raw runtime exceptions (circular refs, BigInt,
|
|
48
|
+
* Wraps `JSON.stringify` errors into deterministic transport errors
|
|
49
|
+
* instead of exposing raw runtime exceptions (circular refs, BigInt,
|
|
50
|
+
* etc.).
|
|
41
51
|
*
|
|
42
52
|
* Input: any JSON-serializable value.
|
|
43
53
|
* Output: JSON string (compatible with all text-based transports).
|
|
44
54
|
*
|
|
45
|
-
* Note: Buffer/Uint8Array output for binary transports requires
|
|
46
|
-
*
|
|
55
|
+
* Note: Buffer/Uint8Array output for binary transports requires a
|
|
56
|
+
* custom serializer implementation.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
47
59
|
*/
|
|
48
60
|
export declare class JsonSerializer implements Serializer<unknown, string> {
|
|
61
|
+
/**
|
|
62
|
+
* Serialize `value` to a JSON string.
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
* @param value - Any JSON-serializable value.
|
|
66
|
+
* @returns The serialized JSON payload.
|
|
67
|
+
* @throws TransportSerializationError When the value contains
|
|
68
|
+
* circular references, BigInt, or otherwise cannot be encoded.
|
|
69
|
+
* The original error is attached via `cause`.
|
|
70
|
+
*/
|
|
49
71
|
serialize(value: unknown): string;
|
|
50
72
|
}
|
|
51
73
|
/**
|
|
52
74
|
* Default JSON deserializer. Parses JSON strings or Buffers to objects.
|
|
53
75
|
*
|
|
54
|
-
* Wraps JSON.parse errors into deterministic transport errors
|
|
55
|
-
*
|
|
76
|
+
* Wraps `JSON.parse` errors into deterministic transport errors instead
|
|
77
|
+
* of exposing raw `SyntaxError` from corrupted broker payloads.
|
|
78
|
+
*
|
|
79
|
+
* Input: string or `Buffer` (Node.js). For browser/WebSocket transports,
|
|
80
|
+
* use string or `Uint8Array` with a custom deserializer.
|
|
56
81
|
*
|
|
57
|
-
*
|
|
58
|
-
* use string or Uint8Array with a custom deserializer.
|
|
82
|
+
* @public
|
|
59
83
|
*/
|
|
60
84
|
export declare class JsonDeserializer implements Deserializer<string | Buffer, unknown> {
|
|
85
|
+
/**
|
|
86
|
+
* Decode a JSON payload from a string or `Buffer`.
|
|
87
|
+
*
|
|
88
|
+
* @public
|
|
89
|
+
* @param value - The wire-format payload.
|
|
90
|
+
* @returns The decoded JavaScript value.
|
|
91
|
+
* @throws TransportSerializationError When the payload is not valid
|
|
92
|
+
* JSON. The original `SyntaxError` is attached via `cause`.
|
|
93
|
+
*/
|
|
61
94
|
deserialize(value: string | Buffer): unknown;
|
|
62
95
|
}
|
|
@@ -1,50 +1,76 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.JsonDeserializer = exports.JsonSerializer = void 0;
|
|
4
|
+
const errors_1 = require("../helpers/errors");
|
|
4
5
|
/**
|
|
5
6
|
* Default JSON serializer. Converts objects to JSON strings.
|
|
6
7
|
*
|
|
7
|
-
* Wraps JSON.stringify errors into deterministic transport errors
|
|
8
|
-
* instead of exposing raw runtime exceptions (circular refs, BigInt,
|
|
8
|
+
* Wraps `JSON.stringify` errors into deterministic transport errors
|
|
9
|
+
* instead of exposing raw runtime exceptions (circular refs, BigInt,
|
|
10
|
+
* etc.).
|
|
9
11
|
*
|
|
10
12
|
* Input: any JSON-serializable value.
|
|
11
13
|
* Output: JSON string (compatible with all text-based transports).
|
|
12
14
|
*
|
|
13
|
-
* Note: Buffer/Uint8Array output for binary transports requires
|
|
14
|
-
*
|
|
15
|
+
* Note: Buffer/Uint8Array output for binary transports requires a
|
|
16
|
+
* custom serializer implementation.
|
|
17
|
+
*
|
|
18
|
+
* @public
|
|
15
19
|
*/
|
|
16
20
|
class JsonSerializer {
|
|
21
|
+
/**
|
|
22
|
+
* Serialize `value` to a JSON string.
|
|
23
|
+
*
|
|
24
|
+
* @public
|
|
25
|
+
* @param value - Any JSON-serializable value.
|
|
26
|
+
* @returns The serialized JSON payload.
|
|
27
|
+
* @throws TransportSerializationError When the value contains
|
|
28
|
+
* circular references, BigInt, or otherwise cannot be encoded.
|
|
29
|
+
* The original error is attached via `cause`.
|
|
30
|
+
*/
|
|
17
31
|
serialize(value) {
|
|
32
|
+
let serialized;
|
|
18
33
|
try {
|
|
19
|
-
|
|
20
|
-
if (serialized === undefined) {
|
|
21
|
-
throw new Error('value is not JSON-serializable');
|
|
22
|
-
}
|
|
23
|
-
return serialized;
|
|
34
|
+
serialized = JSON.stringify(value);
|
|
24
35
|
}
|
|
25
36
|
catch (err) {
|
|
26
|
-
throw new
|
|
37
|
+
throw new errors_1.TransportSerializationError(`Failed to serialize outgoing message: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
38
|
+
}
|
|
39
|
+
if (serialized === undefined) {
|
|
40
|
+
throw new errors_1.TransportSerializationError('Failed to serialize outgoing message: value is not JSON-serializable');
|
|
27
41
|
}
|
|
42
|
+
return serialized;
|
|
28
43
|
}
|
|
29
44
|
}
|
|
30
45
|
exports.JsonSerializer = JsonSerializer;
|
|
31
46
|
/**
|
|
32
47
|
* Default JSON deserializer. Parses JSON strings or Buffers to objects.
|
|
33
48
|
*
|
|
34
|
-
* Wraps JSON.parse errors into deterministic transport errors
|
|
35
|
-
*
|
|
49
|
+
* Wraps `JSON.parse` errors into deterministic transport errors instead
|
|
50
|
+
* of exposing raw `SyntaxError` from corrupted broker payloads.
|
|
51
|
+
*
|
|
52
|
+
* Input: string or `Buffer` (Node.js). For browser/WebSocket transports,
|
|
53
|
+
* use string or `Uint8Array` with a custom deserializer.
|
|
36
54
|
*
|
|
37
|
-
*
|
|
38
|
-
* use string or Uint8Array with a custom deserializer.
|
|
55
|
+
* @public
|
|
39
56
|
*/
|
|
40
57
|
class JsonDeserializer {
|
|
58
|
+
/**
|
|
59
|
+
* Decode a JSON payload from a string or `Buffer`.
|
|
60
|
+
*
|
|
61
|
+
* @public
|
|
62
|
+
* @param value - The wire-format payload.
|
|
63
|
+
* @returns The decoded JavaScript value.
|
|
64
|
+
* @throws TransportSerializationError When the payload is not valid
|
|
65
|
+
* JSON. The original `SyntaxError` is attached via `cause`.
|
|
66
|
+
*/
|
|
41
67
|
deserialize(value) {
|
|
42
68
|
try {
|
|
43
69
|
const str = typeof value === 'string' ? value : value.toString('utf-8');
|
|
44
70
|
return JSON.parse(str);
|
|
45
71
|
}
|
|
46
72
|
catch (err) {
|
|
47
|
-
throw new
|
|
73
|
+
throw new errors_1.TransportSerializationError(`Failed to deserialize incoming message: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
48
74
|
}
|
|
49
75
|
}
|
|
50
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.interface.js","sourceRoot":"","sources":["../../src/serializers/serializer.interface.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"serializer.interface.js","sourceRoot":"","sources":["../../src/serializers/serializer.interface.ts"],"names":[],"mappings":";;;AAAA,8CAA8D;AAmD9D;;;;;;;;;;;;;;GAcG;AACH,MAAa,cAAc;IACzB;;;;;;;;;OASG;IACH,SAAS,CAAC,KAAc;QACtB,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,oCAA2B,CACnC,yCACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,EACF,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,oCAA2B,CACnC,sEAAsE,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AA9BD,wCA8BC;AAED;;;;;;;;;;GAUG;AACH,MAAa,gBAAgB;IAI3B;;;;;;;;OAQG;IACH,WAAW,CAAC,KAAsB;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,oCAA2B,CACnC,2CACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,EACF,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA1BD,4CA0BC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { ServerBase } from './server-base';
|
|
2
|
+
export type { HandlerResult } from './server-base';
|
package/dist/server/index.js
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
3
|
+
exports.ServerBase = void 0;
|
|
4
|
+
var server_base_1 = require("./server-base");
|
|
5
|
+
Object.defineProperty(exports, "ServerBase", { enumerable: true, get: function () { return server_base_1.ServerBase; } });
|
|
18
6
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAAjC,yGAAA,UAAU,OAAA"}
|