@junando/core 0.12.1 → 0.12.3

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.
@@ -0,0 +1,810 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-BMI-E3GI.js";
2
+ import { Fn as hasOwn, Pt as fromUtf8, a as Crc32Node, at as fromHex, bn as init_transport, cn as TypeRegistry, jt as toUtf8, l as init_serde, n as init_checksum, on as init_schema, st as toHex } from "./checksum-Bbvsykod.js";
3
+ import { Readable } from "node:stream";
4
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js
5
+ function negate(bytes) {
6
+ for (let i = 0; i < 8; i++) bytes[i] ^= 255;
7
+ for (let i = 7; i > -1; i--) {
8
+ bytes[i]++;
9
+ if (bytes[i] !== 0) break;
10
+ }
11
+ }
12
+ var Int64;
13
+ var init_Int64 = __esmMin((() => {
14
+ init_serde();
15
+ Int64 = class Int64 {
16
+ bytes;
17
+ constructor(bytes) {
18
+ this.bytes = bytes;
19
+ if (bytes.byteLength !== 8) throw new Error("Int64 buffers must be exactly 8 bytes");
20
+ }
21
+ static fromNumber(number) {
22
+ if (number > 0x8000000000000000 || number < -0x8000000000000000) throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);
23
+ const bytes = /* @__PURE__ */ new Uint8Array(8);
24
+ for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) bytes[i] = remaining;
25
+ if (number < 0) negate(bytes);
26
+ return new Int64(bytes);
27
+ }
28
+ valueOf() {
29
+ const bytes = this.bytes.slice(0);
30
+ const negative = bytes[0] & 128;
31
+ if (negative) negate(bytes);
32
+ return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);
33
+ }
34
+ toString() {
35
+ return String(this.valueOf());
36
+ }
37
+ };
38
+ }));
39
+ //#endregion
40
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js
41
+ var HeaderMarshaller, HEADER_VALUE_TYPE, BOOLEAN_TAG, BYTE_TAG, SHORT_TAG, INT_TAG, LONG_TAG, BINARY_TAG, STRING_TAG, TIMESTAMP_TAG, UUID_TAG, UUID_PATTERN;
42
+ var init_HeaderMarshaller = __esmMin((() => {
43
+ init_transport();
44
+ init_serde();
45
+ init_Int64();
46
+ HeaderMarshaller = class {
47
+ toUtf8;
48
+ fromUtf8;
49
+ constructor(toUtf8, fromUtf8) {
50
+ this.toUtf8 = toUtf8;
51
+ this.fromUtf8 = fromUtf8;
52
+ }
53
+ format(headers) {
54
+ const chunks = [];
55
+ for (const headerName in headers) {
56
+ if (!hasOwn(headers, headerName)) continue;
57
+ const bytes = this.fromUtf8(headerName);
58
+ chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));
59
+ }
60
+ const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));
61
+ let position = 0;
62
+ for (const chunk of chunks) {
63
+ out.set(chunk, position);
64
+ position += chunk.byteLength;
65
+ }
66
+ return out;
67
+ }
68
+ formatHeaderValue(header) {
69
+ switch (header.type) {
70
+ case "boolean": return Uint8Array.from([header.value ? 0 : 1]);
71
+ case "byte": return Uint8Array.from([2, header.value]);
72
+ case "short":
73
+ const shortView = /* @__PURE__ */ new DataView(/* @__PURE__ */ new ArrayBuffer(3));
74
+ shortView.setUint8(0, 3);
75
+ shortView.setInt16(1, header.value, false);
76
+ return new Uint8Array(shortView.buffer);
77
+ case "integer":
78
+ const intView = /* @__PURE__ */ new DataView(/* @__PURE__ */ new ArrayBuffer(5));
79
+ intView.setUint8(0, 4);
80
+ intView.setInt32(1, header.value, false);
81
+ return new Uint8Array(intView.buffer);
82
+ case "long":
83
+ const longBytes = /* @__PURE__ */ new Uint8Array(9);
84
+ longBytes[0] = 5;
85
+ longBytes.set(header.value.bytes, 1);
86
+ return longBytes;
87
+ case "binary":
88
+ const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));
89
+ binView.setUint8(0, 6);
90
+ binView.setUint16(1, header.value.byteLength, false);
91
+ const binBytes = new Uint8Array(binView.buffer);
92
+ binBytes.set(header.value, 3);
93
+ return binBytes;
94
+ case "string":
95
+ const utf8Bytes = this.fromUtf8(header.value);
96
+ const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));
97
+ strView.setUint8(0, 7);
98
+ strView.setUint16(1, utf8Bytes.byteLength, false);
99
+ const strBytes = new Uint8Array(strView.buffer);
100
+ strBytes.set(utf8Bytes, 3);
101
+ return strBytes;
102
+ case "timestamp":
103
+ const tsBytes = /* @__PURE__ */ new Uint8Array(9);
104
+ tsBytes[0] = 8;
105
+ tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);
106
+ return tsBytes;
107
+ case "uuid":
108
+ if (!UUID_PATTERN.test(header.value)) throw new Error(`Invalid UUID received: ${header.value}`);
109
+ const uuidBytes = /* @__PURE__ */ new Uint8Array(17);
110
+ uuidBytes[0] = 9;
111
+ uuidBytes.set(fromHex(header.value.replace(/-/g, "")), 1);
112
+ return uuidBytes;
113
+ }
114
+ }
115
+ parse(headers) {
116
+ const out = {};
117
+ let position = 0;
118
+ while (position < headers.byteLength) {
119
+ const nameLength = headers.getUint8(position++);
120
+ const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));
121
+ position += nameLength;
122
+ switch (headers.getUint8(position++)) {
123
+ case 0:
124
+ out[name] = {
125
+ type: BOOLEAN_TAG,
126
+ value: true
127
+ };
128
+ break;
129
+ case 1:
130
+ out[name] = {
131
+ type: BOOLEAN_TAG,
132
+ value: false
133
+ };
134
+ break;
135
+ case 2:
136
+ out[name] = {
137
+ type: BYTE_TAG,
138
+ value: headers.getInt8(position++)
139
+ };
140
+ break;
141
+ case 3:
142
+ out[name] = {
143
+ type: SHORT_TAG,
144
+ value: headers.getInt16(position, false)
145
+ };
146
+ position += 2;
147
+ break;
148
+ case 4:
149
+ out[name] = {
150
+ type: INT_TAG,
151
+ value: headers.getInt32(position, false)
152
+ };
153
+ position += 4;
154
+ break;
155
+ case 5:
156
+ out[name] = {
157
+ type: LONG_TAG,
158
+ value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8))
159
+ };
160
+ position += 8;
161
+ break;
162
+ case 6:
163
+ const binaryLength = headers.getUint16(position, false);
164
+ position += 2;
165
+ out[name] = {
166
+ type: BINARY_TAG,
167
+ value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength)
168
+ };
169
+ position += binaryLength;
170
+ break;
171
+ case 7:
172
+ const stringLength = headers.getUint16(position, false);
173
+ position += 2;
174
+ out[name] = {
175
+ type: STRING_TAG,
176
+ value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength))
177
+ };
178
+ position += stringLength;
179
+ break;
180
+ case 8:
181
+ out[name] = {
182
+ type: TIMESTAMP_TAG,
183
+ value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf())
184
+ };
185
+ position += 8;
186
+ break;
187
+ case 9:
188
+ const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);
189
+ position += 16;
190
+ out[name] = {
191
+ type: UUID_TAG,
192
+ value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`
193
+ };
194
+ break;
195
+ default: throw new Error(`Unrecognized header type tag`);
196
+ }
197
+ }
198
+ return out;
199
+ }
200
+ };
201
+ (function(HEADER_VALUE_TYPE) {
202
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["boolTrue"] = 0] = "boolTrue";
203
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["boolFalse"] = 1] = "boolFalse";
204
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["byte"] = 2] = "byte";
205
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["short"] = 3] = "short";
206
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["integer"] = 4] = "integer";
207
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["long"] = 5] = "long";
208
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["byteArray"] = 6] = "byteArray";
209
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["string"] = 7] = "string";
210
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["timestamp"] = 8] = "timestamp";
211
+ HEADER_VALUE_TYPE[HEADER_VALUE_TYPE["uuid"] = 9] = "uuid";
212
+ })(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));
213
+ BOOLEAN_TAG = "boolean";
214
+ BYTE_TAG = "byte";
215
+ SHORT_TAG = "short";
216
+ INT_TAG = "integer";
217
+ LONG_TAG = "long";
218
+ BINARY_TAG = "binary";
219
+ STRING_TAG = "string";
220
+ TIMESTAMP_TAG = "timestamp";
221
+ UUID_TAG = "uuid";
222
+ UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
223
+ }));
224
+ //#endregion
225
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js
226
+ function splitMessage({ byteLength, byteOffset, buffer }) {
227
+ if (byteLength < MINIMUM_MESSAGE_LENGTH) throw new Error("Provided message too short to accommodate event stream message overhead");
228
+ const view = new DataView(buffer, byteOffset, byteLength);
229
+ const messageLength = view.getUint32(0, false);
230
+ if (byteLength !== messageLength) throw new Error("Reported message length does not match received message length");
231
+ const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);
232
+ const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);
233
+ const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);
234
+ const checksummer = new Crc32Node();
235
+ checksummer.update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));
236
+ if (expectedPreludeChecksum !== checksummer.digestSync()) throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digestSync()})`);
237
+ checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - 12));
238
+ if (expectedMessageChecksum !== checksummer.digestSync()) throw new Error(`The message checksum (${checksummer.digestSync()}) did not match the expected value of ${expectedMessageChecksum}`);
239
+ return {
240
+ headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),
241
+ body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - 16)
242
+ };
243
+ }
244
+ var PRELUDE_MEMBER_LENGTH, PRELUDE_LENGTH, CHECKSUM_LENGTH, MINIMUM_MESSAGE_LENGTH;
245
+ var init_splitMessage = __esmMin((() => {
246
+ init_checksum();
247
+ PRELUDE_MEMBER_LENGTH = 4;
248
+ PRELUDE_LENGTH = 8;
249
+ CHECKSUM_LENGTH = 4;
250
+ MINIMUM_MESSAGE_LENGTH = 16;
251
+ }));
252
+ //#endregion
253
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js
254
+ var EventStreamCodec;
255
+ var init_EventStreamCodec = __esmMin((() => {
256
+ init_checksum();
257
+ init_HeaderMarshaller();
258
+ init_splitMessage();
259
+ EventStreamCodec = class {
260
+ headerMarshaller;
261
+ messageBuffer;
262
+ isEndOfStream;
263
+ constructor(toUtf8, fromUtf8) {
264
+ this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);
265
+ this.messageBuffer = [];
266
+ this.isEndOfStream = false;
267
+ }
268
+ feed(message) {
269
+ this.messageBuffer.push(this.decode(message));
270
+ }
271
+ endOfStream() {
272
+ this.isEndOfStream = true;
273
+ }
274
+ getMessage() {
275
+ const message = this.messageBuffer.pop();
276
+ const isEndOfStream = this.isEndOfStream;
277
+ return {
278
+ getMessage() {
279
+ return message;
280
+ },
281
+ isEndOfStream() {
282
+ return isEndOfStream;
283
+ }
284
+ };
285
+ }
286
+ getAvailableMessages() {
287
+ const messages = this.messageBuffer;
288
+ this.messageBuffer = [];
289
+ const isEndOfStream = this.isEndOfStream;
290
+ return {
291
+ getMessages() {
292
+ return messages;
293
+ },
294
+ isEndOfStream() {
295
+ return isEndOfStream;
296
+ }
297
+ };
298
+ }
299
+ encode({ headers: rawHeaders, body }) {
300
+ const headers = this.headerMarshaller.format(rawHeaders);
301
+ const length = headers.byteLength + body.byteLength + 16;
302
+ const out = new Uint8Array(length);
303
+ const view = new DataView(out.buffer, out.byteOffset, out.byteLength);
304
+ const checksum = new Crc32Node();
305
+ view.setUint32(0, length, false);
306
+ view.setUint32(4, headers.byteLength, false);
307
+ checksum.update(out.subarray(0, 8));
308
+ view.setUint32(8, checksum.digestSync(), false);
309
+ out.set(headers, 12);
310
+ out.set(body, headers.byteLength + 12);
311
+ checksum.update(out.subarray(8, length - 4));
312
+ view.setUint32(length - 4, checksum.digestSync(), false);
313
+ return out;
314
+ }
315
+ decode(message) {
316
+ const { headers, body } = splitMessage(message);
317
+ return {
318
+ headers: this.headerMarshaller.parse(headers),
319
+ body
320
+ };
321
+ }
322
+ formatHeaders(rawHeaders) {
323
+ return this.headerMarshaller.format(rawHeaders);
324
+ }
325
+ };
326
+ }));
327
+ //#endregion
328
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageDecoderStream.js
329
+ var MessageDecoderStream;
330
+ var init_MessageDecoderStream = __esmMin((() => {
331
+ MessageDecoderStream = class {
332
+ options;
333
+ constructor(options) {
334
+ this.options = options;
335
+ }
336
+ [Symbol.asyncIterator]() {
337
+ return this.asyncIterator();
338
+ }
339
+ async *asyncIterator() {
340
+ for await (const bytes of this.options.inputStream) yield this.options.decoder.decode(bytes);
341
+ }
342
+ };
343
+ }));
344
+ //#endregion
345
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/MessageEncoderStream.js
346
+ var MessageEncoderStream;
347
+ var init_MessageEncoderStream = __esmMin((() => {
348
+ MessageEncoderStream = class {
349
+ options;
350
+ constructor(options) {
351
+ this.options = options;
352
+ }
353
+ [Symbol.asyncIterator]() {
354
+ return this.asyncIterator();
355
+ }
356
+ async *asyncIterator() {
357
+ for await (const msg of this.options.messageStream) yield this.options.encoder.encode(msg);
358
+ if (this.options.includeEndFrame) yield /* @__PURE__ */ new Uint8Array(0);
359
+ }
360
+ };
361
+ }));
362
+ //#endregion
363
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js
364
+ var SmithyMessageDecoderStream;
365
+ var init_SmithyMessageDecoderStream = __esmMin((() => {
366
+ SmithyMessageDecoderStream = class {
367
+ options;
368
+ constructor(options) {
369
+ this.options = options;
370
+ }
371
+ [Symbol.asyncIterator]() {
372
+ return this.asyncIterator();
373
+ }
374
+ async *asyncIterator() {
375
+ for await (const message of this.options.messageStream) {
376
+ const deserialized = await this.options.deserializer(message);
377
+ if (deserialized === void 0) continue;
378
+ yield deserialized;
379
+ }
380
+ }
381
+ };
382
+ }));
383
+ //#endregion
384
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageEncoderStream.js
385
+ var SmithyMessageEncoderStream;
386
+ var init_SmithyMessageEncoderStream = __esmMin((() => {
387
+ SmithyMessageEncoderStream = class {
388
+ options;
389
+ constructor(options) {
390
+ this.options = options;
391
+ }
392
+ [Symbol.asyncIterator]() {
393
+ return this.asyncIterator();
394
+ }
395
+ async *asyncIterator() {
396
+ for await (const chunk of this.options.inputStream) yield this.options.serializer(chunk);
397
+ }
398
+ };
399
+ }));
400
+ //#endregion
401
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getChunkedStream.js
402
+ function getChunkedStream(source) {
403
+ let currentMessageTotalLength = 0;
404
+ let currentMessagePendingLength = 0;
405
+ let currentMessage = null;
406
+ let messageLengthBuffer = null;
407
+ const allocateMessage = (size) => {
408
+ if (typeof size !== "number") throw new Error("Attempted to allocate an event message where size was not a number: " + size);
409
+ currentMessageTotalLength = size;
410
+ currentMessagePendingLength = 4;
411
+ currentMessage = new Uint8Array(size);
412
+ new DataView(currentMessage.buffer).setUint32(0, size, false);
413
+ };
414
+ const iterator = async function* () {
415
+ const sourceIterator = source[Symbol.asyncIterator]();
416
+ while (true) {
417
+ const { value, done } = await sourceIterator.next();
418
+ if (done) {
419
+ if (!currentMessageTotalLength) return;
420
+ else if (currentMessageTotalLength === currentMessagePendingLength) yield currentMessage;
421
+ else throw new Error("Truncated event message received.");
422
+ return;
423
+ }
424
+ const chunkLength = value.length;
425
+ let currentOffset = 0;
426
+ while (currentOffset < chunkLength) {
427
+ if (!currentMessage) {
428
+ const bytesRemaining = chunkLength - currentOffset;
429
+ if (!messageLengthBuffer) messageLengthBuffer = /* @__PURE__ */ new Uint8Array(4);
430
+ const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);
431
+ messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);
432
+ currentMessagePendingLength += numBytesForTotal;
433
+ currentOffset += numBytesForTotal;
434
+ if (currentMessagePendingLength < 4) break;
435
+ allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));
436
+ messageLengthBuffer = null;
437
+ }
438
+ const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);
439
+ currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);
440
+ currentMessagePendingLength += numBytesToWrite;
441
+ currentOffset += numBytesToWrite;
442
+ if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {
443
+ yield currentMessage;
444
+ currentMessage = null;
445
+ currentMessageTotalLength = 0;
446
+ currentMessagePendingLength = 0;
447
+ }
448
+ }
449
+ }
450
+ };
451
+ return { [Symbol.asyncIterator]: iterator };
452
+ }
453
+ var init_getChunkedStream = __esmMin((() => {}));
454
+ //#endregion
455
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js
456
+ function getMessageUnmarshaller(deserializer, toUtf8) {
457
+ return async function(message) {
458
+ const { value: messageType } = message.headers[":message-type"];
459
+ if (messageType === "error") {
460
+ const unmodeledError = new Error(message.headers[":error-message"].value || "UnknownError");
461
+ unmodeledError.name = message.headers[":error-code"].value;
462
+ throw unmodeledError;
463
+ } else if (messageType === "exception") {
464
+ const code = message.headers[":exception-type"].value;
465
+ const deserializedException = await deserializer({ [code]: message });
466
+ if (deserializedException.$unknown) {
467
+ const error = new Error(toUtf8(message.body));
468
+ error.name = code;
469
+ throw error;
470
+ }
471
+ throw deserializedException[code];
472
+ } else if (messageType === "event") {
473
+ const deserialized = await deserializer({ [message.headers[":event-type"].value]: message });
474
+ if (deserialized.$unknown) return;
475
+ return deserialized;
476
+ } else throw Error(`Unrecognizable event type: ${message.headers[":event-type"].value}`);
477
+ };
478
+ }
479
+ var init_getUnmarshalledStream = __esmMin((() => {}));
480
+ //#endregion
481
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/EventStreamMarshaller.js
482
+ var EventStreamMarshaller$1;
483
+ var init_EventStreamMarshaller$1 = __esmMin((() => {
484
+ init_EventStreamCodec();
485
+ init_MessageDecoderStream();
486
+ init_MessageEncoderStream();
487
+ init_SmithyMessageDecoderStream();
488
+ init_SmithyMessageEncoderStream();
489
+ init_getChunkedStream();
490
+ init_getUnmarshalledStream();
491
+ EventStreamMarshaller$1 = class {
492
+ eventStreamCodec;
493
+ utfEncoder;
494
+ constructor({ utf8Encoder, utf8Decoder }) {
495
+ this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);
496
+ this.utfEncoder = utf8Encoder;
497
+ }
498
+ deserialize(body, deserializer) {
499
+ const inputStream = getChunkedStream(body);
500
+ return new SmithyMessageDecoderStream({
501
+ messageStream: new MessageDecoderStream({
502
+ inputStream,
503
+ decoder: this.eventStreamCodec
504
+ }),
505
+ deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder)
506
+ });
507
+ }
508
+ serialize(inputStream, serializer) {
509
+ return new MessageEncoderStream({
510
+ messageStream: new SmithyMessageEncoderStream({
511
+ inputStream,
512
+ serializer
513
+ }),
514
+ encoder: this.eventStreamCodec,
515
+ includeEndFrame: true
516
+ });
517
+ }
518
+ };
519
+ }));
520
+ //#endregion
521
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/EventStreamMarshaller.js
522
+ async function* readableToIterable(readStream) {
523
+ let streamEnded = false;
524
+ let generationEnded = false;
525
+ const records = new Array();
526
+ readStream.on("error", (err) => {
527
+ if (!streamEnded) streamEnded = true;
528
+ if (err) throw err;
529
+ });
530
+ readStream.on("data", (data) => {
531
+ records.push(data);
532
+ });
533
+ readStream.on("end", () => {
534
+ streamEnded = true;
535
+ });
536
+ while (!generationEnded) {
537
+ const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));
538
+ if (value) yield value;
539
+ generationEnded = streamEnded && records.length === 0;
540
+ }
541
+ }
542
+ var EventStreamMarshaller, eventStreamSerdeProvider;
543
+ var init_EventStreamMarshaller = __esmMin((() => {
544
+ init_EventStreamMarshaller$1();
545
+ EventStreamMarshaller = class {
546
+ universalMarshaller;
547
+ constructor({ utf8Encoder, utf8Decoder }) {
548
+ this.universalMarshaller = new EventStreamMarshaller$1({
549
+ utf8Decoder,
550
+ utf8Encoder
551
+ });
552
+ }
553
+ deserialize(body, deserializer) {
554
+ const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : readableToIterable(body);
555
+ return this.universalMarshaller.deserialize(bodyIterable, deserializer);
556
+ }
557
+ serialize(input, serializer) {
558
+ return Readable.from(this.universalMarshaller.serialize(input, serializer));
559
+ }
560
+ };
561
+ eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
562
+ }));
563
+ //#endregion
564
+ //#region ../../node_modules/.pnpm/@smithy+core@3.33.3/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js
565
+ var EventStreamSerde;
566
+ var init_EventStreamSerde = __esmMin((() => {
567
+ init_transport();
568
+ init_schema();
569
+ init_serde();
570
+ EventStreamSerde = class {
571
+ marshaller;
572
+ serializer;
573
+ deserializer;
574
+ serdeContext;
575
+ defaultContentType;
576
+ compositeErrorRegistry;
577
+ constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, compositeErrorRegistry }) {
578
+ this.marshaller = marshaller;
579
+ this.serializer = serializer;
580
+ this.deserializer = deserializer;
581
+ this.serdeContext = serdeContext;
582
+ this.defaultContentType = defaultContentType;
583
+ this.compositeErrorRegistry = compositeErrorRegistry;
584
+ }
585
+ async serializeEventStream({ eventStream, requestSchema, initialRequest, initialMessageType }) {
586
+ const marshaller = this.marshaller;
587
+ const eventStreamMember = requestSchema.getEventStreamMember();
588
+ const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
589
+ const serializer = this.serializer;
590
+ const defaultContentType = this.defaultContentType;
591
+ const initialRequestMarker = Symbol("initialRequestMarker");
592
+ const eventStreamIterable = { async *[Symbol.asyncIterator]() {
593
+ if (initialRequest) {
594
+ const headers = {
595
+ ":event-type": {
596
+ type: "string",
597
+ value: initialMessageType ?? "initial-request"
598
+ },
599
+ ":message-type": {
600
+ type: "string",
601
+ value: "event"
602
+ },
603
+ ":content-type": {
604
+ type: "string",
605
+ value: defaultContentType
606
+ }
607
+ };
608
+ serializer.write(requestSchema, initialRequest);
609
+ const body = serializer.flush();
610
+ yield {
611
+ [initialRequestMarker]: true,
612
+ headers,
613
+ body
614
+ };
615
+ }
616
+ for await (const page of eventStream) yield page;
617
+ } };
618
+ return marshaller.serialize(eventStreamIterable, (event) => {
619
+ if (event[initialRequestMarker]) return {
620
+ headers: event.headers,
621
+ body: event.body
622
+ };
623
+ let unionMember = "";
624
+ for (const key in event) {
625
+ if (!hasOwn(event, key)) continue;
626
+ if (key !== "__type") {
627
+ unionMember = key;
628
+ break;
629
+ }
630
+ }
631
+ const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
632
+ return {
633
+ headers: {
634
+ ":event-type": {
635
+ type: "string",
636
+ value: eventType
637
+ },
638
+ ":message-type": {
639
+ type: "string",
640
+ value: "event"
641
+ },
642
+ ":content-type": {
643
+ type: "string",
644
+ value: explicitPayloadContentType ?? defaultContentType
645
+ },
646
+ ...additionalHeaders
647
+ },
648
+ body
649
+ };
650
+ });
651
+ }
652
+ async deserializeEventStream({ response, responseSchema, initialResponseContainer, initialMessageType }) {
653
+ const marshaller = this.marshaller;
654
+ const eventStreamMember = responseSchema.getEventStreamMember();
655
+ const memberSchemas = responseSchema.getMemberSchema(eventStreamMember).getMemberSchemas();
656
+ const initialResponseMarker = Symbol("initialResponseMarker");
657
+ const asyncIterable = marshaller.deserialize(response.body, async (event) => {
658
+ let unionMember = "";
659
+ for (const key in event) {
660
+ if (!hasOwn(event, key)) continue;
661
+ if (key !== "__type") {
662
+ unionMember = key;
663
+ break;
664
+ }
665
+ }
666
+ const body = event[unionMember].body;
667
+ if (unionMember === (initialMessageType ?? "initial-response")) {
668
+ const dataObject = await this.deserializer.read(responseSchema, body);
669
+ delete dataObject[eventStreamMember];
670
+ return {
671
+ [initialResponseMarker]: true,
672
+ ...dataObject
673
+ };
674
+ } else if (unionMember in memberSchemas) {
675
+ const eventStreamSchema = memberSchemas[unionMember];
676
+ if (eventStreamSchema.isStructSchema()) {
677
+ const out = {};
678
+ let hasBindings = false;
679
+ for (const [name, member] of eventStreamSchema.structIterator()) {
680
+ const { eventHeader, eventPayload } = member.getMergedTraits();
681
+ hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
682
+ if (eventPayload) {
683
+ if (member.isBlobSchema()) out[name] = body;
684
+ else if (member.isStringSchema()) out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);
685
+ else if (member.isStructSchema()) out[name] = await this.deserializer.read(member, body);
686
+ } else if (eventHeader) {
687
+ const value = event[unionMember].headers[name]?.value;
688
+ if (value != null) {
689
+ if (member.isNumericSchema()) {
690
+ if (value && typeof value === "object" && "bytes" in value) out[name] = BigInt(value.toString());
691
+ else out[name] = Number(value);
692
+ } else out[name] = value;
693
+ }
694
+ }
695
+ }
696
+ return { [unionMember]: await this.readEventMember(eventStreamSchema, body, hasBindings, out) };
697
+ }
698
+ return { [unionMember]: await this.deserializer.read(eventStreamSchema, body) };
699
+ } else return { $unknown: event };
700
+ });
701
+ const asyncIterator = asyncIterable[Symbol.asyncIterator]();
702
+ const firstEvent = await asyncIterator.next();
703
+ if (firstEvent.done) return asyncIterable;
704
+ if (firstEvent.value?.[initialResponseMarker]) {
705
+ if (!responseSchema) throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
706
+ for (const key in firstEvent.value) {
707
+ if (!hasOwn(firstEvent.value, key)) continue;
708
+ initialResponseContainer[key] = firstEvent.value[key];
709
+ }
710
+ }
711
+ return { async *[Symbol.asyncIterator]() {
712
+ if (!firstEvent?.value?.[initialResponseMarker]) yield firstEvent.value;
713
+ while (true) {
714
+ const { done, value } = await asyncIterator.next();
715
+ if (done) break;
716
+ yield value;
717
+ }
718
+ } };
719
+ }
720
+ async readEventMember(eventStreamSchema, body, hasBindings, out) {
721
+ let ErrCtor;
722
+ const staticStructuralSchema = eventStreamSchema.getSchema();
723
+ if (Array.isArray(staticStructuralSchema) && staticStructuralSchema[0] === -3) {
724
+ const namespace = staticStructuralSchema[1];
725
+ const nsRegistry = TypeRegistry.for(namespace);
726
+ this.compositeErrorRegistry?.copyFrom(nsRegistry);
727
+ ErrCtor = (this.compositeErrorRegistry ?? nsRegistry)?.getErrorCtor(staticStructuralSchema);
728
+ }
729
+ const dataObject = hasBindings ? out : body.byteLength === 0 ? {} : await this.deserializer.read(eventStreamSchema, body);
730
+ if (ErrCtor) {
731
+ const message = dataObject.message ?? dataObject.Message ?? "Unknown";
732
+ const metadata = {};
733
+ const $fault = eventStreamSchema.getMergedTraits().error;
734
+ if ($fault) metadata.$fault = $fault;
735
+ return Object.assign(new ErrCtor({}), metadata, { message }, dataObject);
736
+ }
737
+ return dataObject;
738
+ }
739
+ writeEventBody(unionMember, unionSchema, event) {
740
+ const serializer = this.serializer;
741
+ let eventType = unionMember;
742
+ let explicitPayloadMember = null;
743
+ let explicitPayloadContentType;
744
+ const isKnownSchema = (() => {
745
+ return unionSchema.getSchema()[4].includes(unionMember);
746
+ })();
747
+ const additionalHeaders = {};
748
+ if (!isKnownSchema) {
749
+ const [type, value] = event[unionMember];
750
+ eventType = type;
751
+ serializer.write(15, value);
752
+ } else {
753
+ const eventSchema = unionSchema.getMemberSchema(unionMember);
754
+ if (eventSchema.isStructSchema()) {
755
+ for (const [memberName, memberSchema] of eventSchema.structIterator()) {
756
+ const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
757
+ if (eventPayload) explicitPayloadMember = memberName;
758
+ else if (eventHeader) {
759
+ const value = event[unionMember][memberName];
760
+ let type = "binary";
761
+ if (memberSchema.isNumericSchema()) {
762
+ if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) type = "integer";
763
+ else type = "long";
764
+ } else if (memberSchema.isTimestampSchema()) type = "timestamp";
765
+ else if (memberSchema.isStringSchema()) type = "string";
766
+ else if (memberSchema.isBooleanSchema()) type = "boolean";
767
+ if (value != null) {
768
+ additionalHeaders[memberName] = {
769
+ type,
770
+ value
771
+ };
772
+ delete event[unionMember][memberName];
773
+ }
774
+ }
775
+ }
776
+ if (explicitPayloadMember !== null) {
777
+ const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
778
+ if (payloadSchema.isBlobSchema()) explicitPayloadContentType = "application/octet-stream";
779
+ else if (payloadSchema.isStringSchema()) explicitPayloadContentType = "text/plain";
780
+ serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
781
+ } else serializer.write(eventSchema, event[unionMember]);
782
+ } else if (eventSchema.isUnitSchema()) serializer.write(eventSchema, {});
783
+ else throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
784
+ }
785
+ const messageSerialization = serializer.flush() ?? /* @__PURE__ */ new Uint8Array();
786
+ return {
787
+ body: typeof messageSerialization === "string" ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization) : messageSerialization,
788
+ eventType,
789
+ explicitPayloadContentType,
790
+ additionalHeaders
791
+ };
792
+ }
793
+ };
794
+ }));
795
+ //#endregion
796
+ __esmMin((() => {
797
+ init_EventStreamCodec();
798
+ init_HeaderMarshaller();
799
+ init_Int64();
800
+ init_MessageDecoderStream();
801
+ init_MessageEncoderStream();
802
+ init_SmithyMessageDecoderStream();
803
+ init_SmithyMessageEncoderStream();
804
+ init_EventStreamMarshaller();
805
+ init_EventStreamMarshaller$1();
806
+ init_EventStreamSerde();
807
+ }))();
808
+ export { EventStreamSerde, eventStreamSerdeProvider };
809
+
810
+ //# sourceMappingURL=event-streams-dzCG2G6i.js.map