@slicemachine/manager 0.1.1-dev-plugins.4 → 0.1.1-dev-plugins.6

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 (157) hide show
  1. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs +65 -0
  2. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.cjs.map +1 -0
  3. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js +65 -0
  4. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/CachedKeyDecoder.js.map +1 -0
  5. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs +40 -0
  6. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.cjs.map +1 -0
  7. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js +40 -0
  8. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/DecodeError.js.map +1 -0
  9. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs +801 -0
  10. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.cjs.map +1 -0
  11. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js +801 -0
  12. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Decoder.js.map +1 -0
  13. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs +351 -0
  14. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.cjs.map +1 -0
  15. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js +351 -0
  16. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/Encoder.js.map +1 -0
  17. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs +11 -0
  18. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.cjs.map +1 -0
  19. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js +11 -0
  20. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtData.js.map +1 -0
  21. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs +62 -0
  22. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.cjs.map +1 -0
  23. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js +62 -0
  24. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/ExtensionCodec.js.map +1 -0
  25. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs +14 -0
  26. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.cjs.map +1 -0
  27. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.js +14 -0
  28. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/decode.js.map +1 -0
  29. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs +13 -0
  30. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.cjs.map +1 -0
  31. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.js +13 -0
  32. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/encode.js.map +1 -0
  33. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs +91 -0
  34. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.cjs.map +1 -0
  35. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js +91 -0
  36. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/timestamp.js.map +1 -0
  37. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs +31 -0
  38. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.cjs.map +1 -0
  39. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js +31 -0
  40. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/int.js.map +1 -0
  41. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs +7 -0
  42. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.cjs.map +1 -0
  43. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js +7 -0
  44. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/prettyByte.js.map +1 -0
  45. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs +23 -0
  46. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.cjs.map +1 -0
  47. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js +23 -0
  48. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/typedArrays.js.map +1 -0
  49. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs +132 -0
  50. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.cjs.map +1 -0
  51. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js +132 -0
  52. package/dist/__node_modules/@msgpack/msgpack/dist.es5_esm/utils/utf8.js.map +1 -0
  53. package/dist/__node_modules/r19/dist/client/createRPCClient.cjs +29 -11
  54. package/dist/__node_modules/r19/dist/client/createRPCClient.cjs.map +1 -1
  55. package/dist/__node_modules/r19/dist/client/createRPCClient.js +29 -11
  56. package/dist/__node_modules/r19/dist/client/createRPCClient.js.map +1 -1
  57. package/dist/__node_modules/r19/dist/createRPCMiddleware.cjs +5 -4
  58. package/dist/__node_modules/r19/dist/createRPCMiddleware.cjs.map +1 -1
  59. package/dist/__node_modules/r19/dist/createRPCMiddleware.js +6 -5
  60. package/dist/__node_modules/r19/dist/createRPCMiddleware.js.map +1 -1
  61. package/dist/__node_modules/r19/dist/handleRPCRequest.cjs +39 -110
  62. package/dist/__node_modules/r19/dist/handleRPCRequest.cjs.map +1 -1
  63. package/dist/__node_modules/r19/dist/handleRPCRequest.js +39 -110
  64. package/dist/__node_modules/r19/dist/handleRPCRequest.js.map +1 -1
  65. package/dist/__node_modules/r19/dist/lib/replaceLeaves.cjs +28 -0
  66. package/dist/__node_modules/r19/dist/lib/replaceLeaves.cjs.map +1 -0
  67. package/dist/__node_modules/r19/dist/lib/replaceLeaves.js +28 -0
  68. package/dist/__node_modules/r19/dist/lib/replaceLeaves.js.map +1 -0
  69. package/dist/managers/createSliceMachineManagerMiddleware.cjs +0 -4
  70. package/dist/managers/createSliceMachineManagerMiddleware.cjs.map +1 -1
  71. package/dist/managers/createSliceMachineManagerMiddleware.js +0 -4
  72. package/dist/managers/createSliceMachineManagerMiddleware.js.map +1 -1
  73. package/dist/managers/screenshots/ScreenshotsManager.cjs +33 -16
  74. package/dist/managers/screenshots/ScreenshotsManager.cjs.map +1 -1
  75. package/dist/managers/screenshots/ScreenshotsManager.d.ts +2 -4
  76. package/dist/managers/screenshots/ScreenshotsManager.js +34 -17
  77. package/dist/managers/screenshots/ScreenshotsManager.js.map +1 -1
  78. package/dist/test/createSliceMachineManagerMSWHandler.cjs +3 -10
  79. package/dist/test/createSliceMachineManagerMSWHandler.cjs.map +1 -1
  80. package/dist/test/createSliceMachineManagerMSWHandler.js +3 -10
  81. package/dist/test/createSliceMachineManagerMSWHandler.js.map +1 -1
  82. package/package.json +4 -4
  83. package/src/client/index.ts +1 -1
  84. package/src/managers/screenshots/ScreenshotsManager.ts +65 -18
  85. package/src/test/createSliceMachineManagerMSWHandler.ts +2 -14
  86. package/dist/__node_modules/busboy/lib/index.cjs +0 -51
  87. package/dist/__node_modules/busboy/lib/index.cjs.map +0 -1
  88. package/dist/__node_modules/busboy/lib/index.js +0 -52
  89. package/dist/__node_modules/busboy/lib/index.js.map +0 -1
  90. package/dist/__node_modules/busboy/lib/types/multipart.cjs +0 -1046
  91. package/dist/__node_modules/busboy/lib/types/multipart.cjs.map +0 -1
  92. package/dist/__node_modules/busboy/lib/types/multipart.js +0 -1047
  93. package/dist/__node_modules/busboy/lib/types/multipart.js.map +0 -1
  94. package/dist/__node_modules/busboy/lib/types/urlencoded.cjs +0 -545
  95. package/dist/__node_modules/busboy/lib/types/urlencoded.cjs.map +0 -1
  96. package/dist/__node_modules/busboy/lib/types/urlencoded.js +0 -546
  97. package/dist/__node_modules/busboy/lib/types/urlencoded.js.map +0 -1
  98. package/dist/__node_modules/busboy/lib/utils.cjs +0 -1681
  99. package/dist/__node_modules/busboy/lib/utils.cjs.map +0 -1
  100. package/dist/__node_modules/busboy/lib/utils.js +0 -1682
  101. package/dist/__node_modules/busboy/lib/utils.js.map +0 -1
  102. package/dist/__node_modules/devalue/src/constants.cjs +0 -15
  103. package/dist/__node_modules/devalue/src/constants.cjs.map +0 -1
  104. package/dist/__node_modules/devalue/src/constants.js +0 -15
  105. package/dist/__node_modules/devalue/src/constants.js.map +0 -1
  106. package/dist/__node_modules/devalue/src/parse.cjs +0 -95
  107. package/dist/__node_modules/devalue/src/parse.cjs.map +0 -1
  108. package/dist/__node_modules/devalue/src/parse.js +0 -95
  109. package/dist/__node_modules/devalue/src/parse.js.map +0 -1
  110. package/dist/__node_modules/devalue/src/stringify.cjs +0 -140
  111. package/dist/__node_modules/devalue/src/stringify.cjs.map +0 -1
  112. package/dist/__node_modules/devalue/src/stringify.js +0 -140
  113. package/dist/__node_modules/devalue/src/stringify.js.map +0 -1
  114. package/dist/__node_modules/devalue/src/uneval.cjs +0 -4
  115. package/dist/__node_modules/devalue/src/uneval.cjs.map +0 -1
  116. package/dist/__node_modules/devalue/src/uneval.js +0 -3
  117. package/dist/__node_modules/devalue/src/uneval.js.map +0 -1
  118. package/dist/__node_modules/devalue/src/utils.cjs +0 -68
  119. package/dist/__node_modules/devalue/src/utils.cjs.map +0 -1
  120. package/dist/__node_modules/devalue/src/utils.js +0 -68
  121. package/dist/__node_modules/devalue/src/utils.js.map +0 -1
  122. package/dist/__node_modules/formdata-node/lib/browser.cjs +0 -16
  123. package/dist/__node_modules/formdata-node/lib/browser.cjs.map +0 -1
  124. package/dist/__node_modules/formdata-node/lib/browser.js +0 -16
  125. package/dist/__node_modules/formdata-node/lib/browser.js.map +0 -1
  126. package/dist/__node_modules/r19/dist/constants.cjs +0 -5
  127. package/dist/__node_modules/r19/dist/constants.cjs.map +0 -1
  128. package/dist/__node_modules/r19/dist/constants.js +0 -5
  129. package/dist/__node_modules/r19/dist/constants.js.map +0 -1
  130. package/dist/__node_modules/r19/dist/lib/encodeFormData.cjs +0 -46
  131. package/dist/__node_modules/r19/dist/lib/encodeFormData.cjs.map +0 -1
  132. package/dist/__node_modules/r19/dist/lib/encodeFormData.js +0 -46
  133. package/dist/__node_modules/r19/dist/lib/encodeFormData.js.map +0 -1
  134. package/dist/__node_modules/r19/dist/lib/flattenObject.cjs +0 -43
  135. package/dist/__node_modules/r19/dist/lib/flattenObject.cjs.map +0 -1
  136. package/dist/__node_modules/r19/dist/lib/flattenObject.js +0 -43
  137. package/dist/__node_modules/r19/dist/lib/flattenObject.js.map +0 -1
  138. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.cjs +0 -19
  139. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.cjs.map +0 -1
  140. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.js +0 -19
  141. package/dist/__node_modules/r19/dist/lib/formDataToObject.client.js.map +0 -1
  142. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.cjs +0 -20
  143. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.cjs.map +0 -1
  144. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.js +0 -20
  145. package/dist/__node_modules/r19/dist/lib/objectToFormData.client.js.map +0 -1
  146. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.cjs +0 -22
  147. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.cjs.map +0 -1
  148. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.js +0 -22
  149. package/dist/__node_modules/r19/dist/lib/objectToFormData.server.js.map +0 -1
  150. package/dist/__node_modules/r19/dist/lib/unflattenObject.cjs +0 -20
  151. package/dist/__node_modules/r19/dist/lib/unflattenObject.cjs.map +0 -1
  152. package/dist/__node_modules/r19/dist/lib/unflattenObject.js +0 -20
  153. package/dist/__node_modules/r19/dist/lib/unflattenObject.js.map +0 -1
  154. package/dist/__node_modules/streamsearch/lib/sbmh.cjs +0 -393
  155. package/dist/__node_modules/streamsearch/lib/sbmh.cjs.map +0 -1
  156. package/dist/__node_modules/streamsearch/lib/sbmh.js +0 -394
  157. package/dist/__node_modules/streamsearch/lib/sbmh.js.map +0 -1
@@ -0,0 +1,132 @@
1
+ import { UINT32_MAX } from "./int.js";
2
+ var _a, _b, _c;
3
+ var TEXT_ENCODING_AVAILABLE = (typeof process === "undefined" || ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a["TEXT_ENCODING"]) !== "never") && typeof TextEncoder !== "undefined" && typeof TextDecoder !== "undefined";
4
+ function utf8Count(str) {
5
+ var strLength = str.length;
6
+ var byteLength = 0;
7
+ var pos = 0;
8
+ while (pos < strLength) {
9
+ var value = str.charCodeAt(pos++);
10
+ if ((value & 4294967168) === 0) {
11
+ byteLength++;
12
+ continue;
13
+ } else if ((value & 4294965248) === 0) {
14
+ byteLength += 2;
15
+ } else {
16
+ if (value >= 55296 && value <= 56319) {
17
+ if (pos < strLength) {
18
+ var extra = str.charCodeAt(pos);
19
+ if ((extra & 64512) === 56320) {
20
+ ++pos;
21
+ value = ((value & 1023) << 10) + (extra & 1023) + 65536;
22
+ }
23
+ }
24
+ }
25
+ if ((value & 4294901760) === 0) {
26
+ byteLength += 3;
27
+ } else {
28
+ byteLength += 4;
29
+ }
30
+ }
31
+ }
32
+ return byteLength;
33
+ }
34
+ function utf8EncodeJs(str, output, outputOffset) {
35
+ var strLength = str.length;
36
+ var offset = outputOffset;
37
+ var pos = 0;
38
+ while (pos < strLength) {
39
+ var value = str.charCodeAt(pos++);
40
+ if ((value & 4294967168) === 0) {
41
+ output[offset++] = value;
42
+ continue;
43
+ } else if ((value & 4294965248) === 0) {
44
+ output[offset++] = value >> 6 & 31 | 192;
45
+ } else {
46
+ if (value >= 55296 && value <= 56319) {
47
+ if (pos < strLength) {
48
+ var extra = str.charCodeAt(pos);
49
+ if ((extra & 64512) === 56320) {
50
+ ++pos;
51
+ value = ((value & 1023) << 10) + (extra & 1023) + 65536;
52
+ }
53
+ }
54
+ }
55
+ if ((value & 4294901760) === 0) {
56
+ output[offset++] = value >> 12 & 15 | 224;
57
+ output[offset++] = value >> 6 & 63 | 128;
58
+ } else {
59
+ output[offset++] = value >> 18 & 7 | 240;
60
+ output[offset++] = value >> 12 & 63 | 128;
61
+ output[offset++] = value >> 6 & 63 | 128;
62
+ }
63
+ }
64
+ output[offset++] = value & 63 | 128;
65
+ }
66
+ }
67
+ var sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : void 0;
68
+ var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE ? UINT32_MAX : typeof process !== "undefined" && ((_b = process === null || process === void 0 ? void 0 : process.env) === null || _b === void 0 ? void 0 : _b["TEXT_ENCODING"]) !== "force" ? 200 : 0;
69
+ function utf8EncodeTEencode(str, output, outputOffset) {
70
+ output.set(sharedTextEncoder.encode(str), outputOffset);
71
+ }
72
+ function utf8EncodeTEencodeInto(str, output, outputOffset) {
73
+ sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));
74
+ }
75
+ var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;
76
+ var CHUNK_SIZE = 4096;
77
+ function utf8DecodeJs(bytes, inputOffset, byteLength) {
78
+ var offset = inputOffset;
79
+ var end = offset + byteLength;
80
+ var units = [];
81
+ var result = "";
82
+ while (offset < end) {
83
+ var byte1 = bytes[offset++];
84
+ if ((byte1 & 128) === 0) {
85
+ units.push(byte1);
86
+ } else if ((byte1 & 224) === 192) {
87
+ var byte2 = bytes[offset++] & 63;
88
+ units.push((byte1 & 31) << 6 | byte2);
89
+ } else if ((byte1 & 240) === 224) {
90
+ var byte2 = bytes[offset++] & 63;
91
+ var byte3 = bytes[offset++] & 63;
92
+ units.push((byte1 & 31) << 12 | byte2 << 6 | byte3);
93
+ } else if ((byte1 & 248) === 240) {
94
+ var byte2 = bytes[offset++] & 63;
95
+ var byte3 = bytes[offset++] & 63;
96
+ var byte4 = bytes[offset++] & 63;
97
+ var unit = (byte1 & 7) << 18 | byte2 << 12 | byte3 << 6 | byte4;
98
+ if (unit > 65535) {
99
+ unit -= 65536;
100
+ units.push(unit >>> 10 & 1023 | 55296);
101
+ unit = 56320 | unit & 1023;
102
+ }
103
+ units.push(unit);
104
+ } else {
105
+ units.push(byte1);
106
+ }
107
+ if (units.length >= CHUNK_SIZE) {
108
+ result += String.fromCharCode.apply(String, units);
109
+ units.length = 0;
110
+ }
111
+ }
112
+ if (units.length > 0) {
113
+ result += String.fromCharCode.apply(String, units);
114
+ }
115
+ return result;
116
+ }
117
+ var sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;
118
+ var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE ? UINT32_MAX : typeof process !== "undefined" && ((_c = process === null || process === void 0 ? void 0 : process.env) === null || _c === void 0 ? void 0 : _c["TEXT_DECODER"]) !== "force" ? 200 : 0;
119
+ function utf8DecodeTD(bytes, inputOffset, byteLength) {
120
+ var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);
121
+ return sharedTextDecoder.decode(stringBytes);
122
+ }
123
+ export {
124
+ TEXT_DECODER_THRESHOLD,
125
+ TEXT_ENCODER_THRESHOLD,
126
+ utf8Count,
127
+ utf8DecodeJs,
128
+ utf8DecodeTD,
129
+ utf8EncodeJs,
130
+ utf8EncodeTE
131
+ };
132
+ //# sourceMappingURL=utf8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utf8.js","sources":["../../../../../../../../node_modules/@msgpack/msgpack/dist.es5+esm/utils/utf8.mjs"],"sourcesContent":["var _a, _b, _c;\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\nimport { UINT32_MAX } from \"./int.mjs\";\nvar TEXT_ENCODING_AVAILABLE = (typeof process === \"undefined\" || ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a[\"TEXT_ENCODING\"]) !== \"never\") &&\n typeof TextEncoder !== \"undefined\" &&\n typeof TextDecoder !== \"undefined\";\nexport function utf8Count(str) {\n var strLength = str.length;\n var byteLength = 0;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n byteLength++;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n byteLength += 2;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n byteLength += 3;\n }\n else {\n // 4-byte\n byteLength += 4;\n }\n }\n }\n return byteLength;\n}\nexport function utf8EncodeJs(str, output, outputOffset) {\n var strLength = str.length;\n var offset = outputOffset;\n var pos = 0;\n while (pos < strLength) {\n var value = str.charCodeAt(pos++);\n if ((value & 0xffffff80) === 0) {\n // 1-byte\n output[offset++] = value;\n continue;\n }\n else if ((value & 0xfffff800) === 0) {\n // 2-bytes\n output[offset++] = ((value >> 6) & 0x1f) | 0xc0;\n }\n else {\n // handle surrogate pair\n if (value >= 0xd800 && value <= 0xdbff) {\n // high surrogate\n if (pos < strLength) {\n var extra = str.charCodeAt(pos);\n if ((extra & 0xfc00) === 0xdc00) {\n ++pos;\n value = ((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000;\n }\n }\n }\n if ((value & 0xffff0000) === 0) {\n // 3-byte\n output[offset++] = ((value >> 12) & 0x0f) | 0xe0;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n else {\n // 4-byte\n output[offset++] = ((value >> 18) & 0x07) | 0xf0;\n output[offset++] = ((value >> 12) & 0x3f) | 0x80;\n output[offset++] = ((value >> 6) & 0x3f) | 0x80;\n }\n }\n output[offset++] = (value & 0x3f) | 0x80;\n }\n}\nvar sharedTextEncoder = TEXT_ENCODING_AVAILABLE ? new TextEncoder() : undefined;\nexport var TEXT_ENCODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && ((_b = process === null || process === void 0 ? void 0 : process.env) === null || _b === void 0 ? void 0 : _b[\"TEXT_ENCODING\"]) !== \"force\"\n ? 200\n : 0;\nfunction utf8EncodeTEencode(str, output, outputOffset) {\n output.set(sharedTextEncoder.encode(str), outputOffset);\n}\nfunction utf8EncodeTEencodeInto(str, output, outputOffset) {\n sharedTextEncoder.encodeInto(str, output.subarray(outputOffset));\n}\nexport var utf8EncodeTE = (sharedTextEncoder === null || sharedTextEncoder === void 0 ? void 0 : sharedTextEncoder.encodeInto) ? utf8EncodeTEencodeInto : utf8EncodeTEencode;\nvar CHUNK_SIZE = 4096;\nexport function utf8DecodeJs(bytes, inputOffset, byteLength) {\n var offset = inputOffset;\n var end = offset + byteLength;\n var units = [];\n var result = \"\";\n while (offset < end) {\n var byte1 = bytes[offset++];\n if ((byte1 & 0x80) === 0) {\n // 1 byte\n units.push(byte1);\n }\n else if ((byte1 & 0xe0) === 0xc0) {\n // 2 bytes\n var byte2 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 6) | byte2);\n }\n else if ((byte1 & 0xf0) === 0xe0) {\n // 3 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n units.push(((byte1 & 0x1f) << 12) | (byte2 << 6) | byte3);\n }\n else if ((byte1 & 0xf8) === 0xf0) {\n // 4 bytes\n var byte2 = bytes[offset++] & 0x3f;\n var byte3 = bytes[offset++] & 0x3f;\n var byte4 = bytes[offset++] & 0x3f;\n var unit = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0c) | (byte3 << 0x06) | byte4;\n if (unit > 0xffff) {\n unit -= 0x10000;\n units.push(((unit >>> 10) & 0x3ff) | 0xd800);\n unit = 0xdc00 | (unit & 0x3ff);\n }\n units.push(unit);\n }\n else {\n units.push(byte1);\n }\n if (units.length >= CHUNK_SIZE) {\n result += String.fromCharCode.apply(String, units);\n units.length = 0;\n }\n }\n if (units.length > 0) {\n result += String.fromCharCode.apply(String, units);\n }\n return result;\n}\nvar sharedTextDecoder = TEXT_ENCODING_AVAILABLE ? new TextDecoder() : null;\nexport var TEXT_DECODER_THRESHOLD = !TEXT_ENCODING_AVAILABLE\n ? UINT32_MAX\n : typeof process !== \"undefined\" && ((_c = process === null || process === void 0 ? void 0 : process.env) === null || _c === void 0 ? void 0 : _c[\"TEXT_DECODER\"]) !== \"force\"\n ? 200\n : 0;\nexport function utf8DecodeTD(bytes, inputOffset, byteLength) {\n var stringBytes = bytes.subarray(inputOffset, inputOffset + byteLength);\n return sharedTextDecoder.decode(stringBytes);\n}\n//# sourceMappingURL=utf8.mjs.map"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const formDataToObject_client = require("../lib/formDataToObject.client.cjs");
3
+ const encode = require("../../../@msgpack/msgpack/dist.es5_esm/encode.cjs");
4
+ const decode = require("../../../@msgpack/msgpack/dist.es5_esm/decode.cjs");
5
+ const replaceLeaves = require("../lib/replaceLeaves.cjs");
4
6
  const isErrorLike = require("../lib/isErrorLike.cjs");
5
- const objectToFormData_client = require("../lib/objectToFormData.client.cjs");
6
7
  const createArbitrarilyNestedFunction = (handler, path = []) => {
7
8
  return new Proxy(() => void 0, {
8
9
  apply(_target, _this, args) {
@@ -19,19 +20,29 @@ const createArbitrarilyNestedFunction = (handler, path = []) => {
19
20
  const createRPCClient = (args) => {
20
21
  const resolvedFetch = args.fetch || globalThis.fetch.bind(globalThis);
21
22
  return createArbitrarilyNestedFunction(async (path, fnArgs) => {
22
- const body = objectToFormData_client.objectToFormData({
23
- procedurePath: path,
24
- procedureArgs: fnArgs[0]
23
+ const preparedProcedureArgs = await replaceLeaves.replaceLeaves(fnArgs[0], async (value) => {
24
+ if (value instanceof Blob) {
25
+ return new Uint8Array(await value.arrayBuffer());
26
+ }
27
+ if (typeof value === "function") {
28
+ throw new Error("r19 does not support function arguments.");
29
+ }
30
+ return value;
25
31
  });
32
+ const body = encode.encode({
33
+ procedurePath: path,
34
+ procedureArgs: preparedProcedureArgs
35
+ }, { ignoreUndefined: true });
26
36
  const res = await resolvedFetch(args.serverURL, {
27
37
  method: "POST",
28
- body
38
+ body,
39
+ headers: {
40
+ "Content-Type": "application/msgpack"
41
+ }
29
42
  });
30
- const formData = await res.formData();
31
- const resObject = formDataToObject_client.formDataToObject(formData);
32
- if ("data" in resObject) {
33
- return resObject.data;
34
- } else {
43
+ const arrayBuffer = await res.arrayBuffer();
44
+ const resObject = decode.decode(new Uint8Array(arrayBuffer));
45
+ if ("error" in resObject) {
35
46
  const resError = resObject.error;
36
47
  if (isErrorLike.isErrorLike(resError)) {
37
48
  const error = new Error(resError.message);
@@ -43,6 +54,13 @@ const createRPCClient = (args) => {
43
54
  cause: resObject
44
55
  });
45
56
  }
57
+ } else {
58
+ return replaceLeaves.replaceLeaves(resObject.data, async (value) => {
59
+ if (value instanceof Uint8Array) {
60
+ return new Blob([value]);
61
+ }
62
+ return value;
63
+ });
46
64
  }
47
65
  });
48
66
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createRPCClient.cjs","sources":["../../../../../../../node_modules/r19/dist/client/createRPCClient.js"],"sourcesContent":["import { formDataToObject } from \"../lib/formDataToObject.client.js\";\nimport { isErrorLike } from \"../lib/isErrorLike.js\";\nimport { objectToFormData } from \"../lib/objectToFormData.client.js\";\nconst createArbitrarilyNestedFunction = (handler, path = []) => {\n return new Proxy(() => void 0, {\n apply(_target, _this, args) {\n return handler(path, args);\n },\n get(_target, property) {\n return createArbitrarilyNestedFunction(handler, [\n ...path,\n property.toString()\n ]);\n }\n });\n};\nconst createRPCClient = (args) => {\n const resolvedFetch = args.fetch || globalThis.fetch.bind(globalThis);\n return createArbitrarilyNestedFunction(async (path, fnArgs) => {\n const body = objectToFormData({\n procedurePath: path,\n procedureArgs: fnArgs[0]\n });\n const res = await resolvedFetch(args.serverURL, {\n method: \"POST\",\n body\n });\n const formData = await res.formData();\n const resObject = formDataToObject(formData);\n if (\"data\" in resObject) {\n return resObject.data;\n } else {\n const resError = resObject.error;\n if (isErrorLike(resError)) {\n const error = new Error(resError.message);\n error.name = resError.name;\n error.stack = resError.stack;\n throw error;\n } else {\n throw new Error(\"An unexpected response was received from the RPC server.\", {\n cause: resObject\n });\n }\n }\n });\n};\nexport {\n createRPCClient\n};\n//# sourceMappingURL=createRPCClient.js.map\n"],"names":["objectToFormData","formDataToObject","isErrorLike"],"mappings":";;;;;AAGA,MAAM,kCAAkC,CAAC,SAAS,OAAO,OAAO;AAC9D,SAAO,IAAI,MAAM,MAAM,QAAQ;AAAA,IAC7B,MAAM,SAAS,OAAO,MAAM;AAC1B,aAAO,QAAQ,MAAM,IAAI;AAAA,IAC1B;AAAA,IACD,IAAI,SAAS,UAAU;AACrB,aAAO,gCAAgC,SAAS;AAAA,QAC9C,GAAG;AAAA,QACH,SAAS,SAAU;AAAA,MAC3B,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH;AACK,MAAC,kBAAkB,CAAC,SAAS;AAChC,QAAM,gBAAgB,KAAK,SAAS,WAAW,MAAM,KAAK,UAAU;AACpE,SAAO,gCAAgC,OAAO,MAAM,WAAW;AAC7D,UAAM,OAAOA,wBAAAA,iBAAiB;AAAA,MAC5B,eAAe;AAAA,MACf,eAAe,OAAO,CAAC;AAAA,IAC7B,CAAK;AACD,UAAM,MAAM,MAAM,cAAc,KAAK,WAAW;AAAA,MAC9C,QAAQ;AAAA,MACR;AAAA,IACN,CAAK;AACD,UAAM,WAAW,MAAM,IAAI;AAC3B,UAAM,YAAYC,yCAAiB,QAAQ;AAC3C,QAAI,UAAU,WAAW;AACvB,aAAO,UAAU;AAAA,IACvB,OAAW;AACL,YAAM,WAAW,UAAU;AAC3B,UAAIC,YAAAA,YAAY,QAAQ,GAAG;AACzB,cAAM,QAAQ,IAAI,MAAM,SAAS,OAAO;AACxC,cAAM,OAAO,SAAS;AACtB,cAAM,QAAQ,SAAS;AACvB,cAAM;AAAA,MACd,OAAa;AACL,cAAM,IAAI,MAAM,4DAA4D;AAAA,UAC1E,OAAO;AAAA,QACjB,CAAS;AAAA,MACF;AAAA,IACF;AAAA,EACL,CAAG;AACH;;"}
1
+ {"version":3,"file":"createRPCClient.cjs","sources":["../../../../../../../node_modules/r19/dist/client/createRPCClient.js"],"sourcesContent":["import { encode, decode } from \"@msgpack/msgpack\";\nimport { replaceLeaves } from \"../lib/replaceLeaves.js\";\nimport { isErrorLike } from \"../lib/isErrorLike.js\";\nconst createArbitrarilyNestedFunction = (handler, path = []) => {\n return new Proxy(() => void 0, {\n apply(_target, _this, args) {\n return handler(path, args);\n },\n get(_target, property) {\n return createArbitrarilyNestedFunction(handler, [\n ...path,\n property.toString()\n ]);\n }\n });\n};\nconst createRPCClient = (args) => {\n const resolvedFetch = args.fetch || globalThis.fetch.bind(globalThis);\n return createArbitrarilyNestedFunction(async (path, fnArgs) => {\n const preparedProcedureArgs = await replaceLeaves(fnArgs[0], async (value) => {\n if (value instanceof Blob) {\n return new Uint8Array(await value.arrayBuffer());\n }\n if (typeof value === \"function\") {\n throw new Error(\"r19 does not support function arguments.\");\n }\n return value;\n });\n const body = encode({\n procedurePath: path,\n procedureArgs: preparedProcedureArgs\n }, { ignoreUndefined: true });\n const res = await resolvedFetch(args.serverURL, {\n method: \"POST\",\n body,\n headers: {\n \"Content-Type\": \"application/msgpack\"\n }\n });\n const arrayBuffer = await res.arrayBuffer();\n const resObject = decode(new Uint8Array(arrayBuffer));\n if (\"error\" in resObject) {\n const resError = resObject.error;\n if (isErrorLike(resError)) {\n const error = new Error(resError.message);\n error.name = resError.name;\n error.stack = resError.stack;\n throw error;\n } else {\n throw new Error(\"An unexpected response was received from the RPC server.\", {\n cause: resObject\n });\n }\n } else {\n return replaceLeaves(resObject.data, async (value) => {\n if (value instanceof Uint8Array) {\n return new Blob([value]);\n }\n return value;\n });\n }\n });\n};\nexport {\n createRPCClient\n};\n//# sourceMappingURL=createRPCClient.js.map\n"],"names":["replaceLeaves","encode","decode","isErrorLike"],"mappings":";;;;;;AAGA,MAAM,kCAAkC,CAAC,SAAS,OAAO,OAAO;AAC9D,SAAO,IAAI,MAAM,MAAM,QAAQ;AAAA,IAC7B,MAAM,SAAS,OAAO,MAAM;AAC1B,aAAO,QAAQ,MAAM,IAAI;AAAA,IAC1B;AAAA,IACD,IAAI,SAAS,UAAU;AACrB,aAAO,gCAAgC,SAAS;AAAA,QAC9C,GAAG;AAAA,QACH,SAAS,SAAU;AAAA,MAC3B,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH;AACK,MAAC,kBAAkB,CAAC,SAAS;AAChC,QAAM,gBAAgB,KAAK,SAAS,WAAW,MAAM,KAAK,UAAU;AACpE,SAAO,gCAAgC,OAAO,MAAM,WAAW;AAC7D,UAAM,wBAAwB,MAAMA,cAAa,cAAC,OAAO,CAAC,GAAG,OAAO,UAAU;AAC5E,UAAI,iBAAiB,MAAM;AACzB,eAAO,IAAI,WAAW,MAAM,MAAM,YAAa,CAAA;AAAA,MAChD;AACD,UAAI,OAAO,UAAU,YAAY;AAC/B,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC3D;AACD,aAAO;AAAA,IACb,CAAK;AACD,UAAM,OAAOC,OAAAA,OAAO;AAAA,MAClB,eAAe;AAAA,MACf,eAAe;AAAA,IACrB,GAAO,EAAE,iBAAiB,KAAI,CAAE;AAC5B,UAAM,MAAM,MAAM,cAAc,KAAK,WAAW;AAAA,MAC9C,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,QACP,gBAAgB;AAAA,MACjB;AAAA,IACP,CAAK;AACD,UAAM,cAAc,MAAM,IAAI;AAC9B,UAAM,YAAYC,OAAM,OAAC,IAAI,WAAW,WAAW,CAAC;AACpD,QAAI,WAAW,WAAW;AACxB,YAAM,WAAW,UAAU;AAC3B,UAAIC,YAAAA,YAAY,QAAQ,GAAG;AACzB,cAAM,QAAQ,IAAI,MAAM,SAAS,OAAO;AACxC,cAAM,OAAO,SAAS;AACtB,cAAM,QAAQ,SAAS;AACvB,cAAM;AAAA,MACd,OAAa;AACL,cAAM,IAAI,MAAM,4DAA4D;AAAA,UAC1E,OAAO;AAAA,QACjB,CAAS;AAAA,MACF;AAAA,IACP,OAAW;AACL,aAAOH,4BAAc,UAAU,MAAM,OAAO,UAAU;AACpD,YAAI,iBAAiB,YAAY;AAC/B,iBAAO,IAAI,KAAK,CAAC,KAAK,CAAC;AAAA,QACxB;AACD,eAAO;AAAA,MACf,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH;;"}
@@ -1,6 +1,7 @@
1
- import { formDataToObject } from "../lib/formDataToObject.client.js";
1
+ import { encode } from "../../../@msgpack/msgpack/dist.es5_esm/encode.js";
2
+ import { decode } from "../../../@msgpack/msgpack/dist.es5_esm/decode.js";
3
+ import { replaceLeaves } from "../lib/replaceLeaves.js";
2
4
  import { isErrorLike } from "../lib/isErrorLike.js";
3
- import { objectToFormData } from "../lib/objectToFormData.client.js";
4
5
  const createArbitrarilyNestedFunction = (handler, path = []) => {
5
6
  return new Proxy(() => void 0, {
6
7
  apply(_target, _this, args) {
@@ -17,19 +18,29 @@ const createArbitrarilyNestedFunction = (handler, path = []) => {
17
18
  const createRPCClient = (args) => {
18
19
  const resolvedFetch = args.fetch || globalThis.fetch.bind(globalThis);
19
20
  return createArbitrarilyNestedFunction(async (path, fnArgs) => {
20
- const body = objectToFormData({
21
- procedurePath: path,
22
- procedureArgs: fnArgs[0]
21
+ const preparedProcedureArgs = await replaceLeaves(fnArgs[0], async (value) => {
22
+ if (value instanceof Blob) {
23
+ return new Uint8Array(await value.arrayBuffer());
24
+ }
25
+ if (typeof value === "function") {
26
+ throw new Error("r19 does not support function arguments.");
27
+ }
28
+ return value;
23
29
  });
30
+ const body = encode({
31
+ procedurePath: path,
32
+ procedureArgs: preparedProcedureArgs
33
+ }, { ignoreUndefined: true });
24
34
  const res = await resolvedFetch(args.serverURL, {
25
35
  method: "POST",
26
- body
36
+ body,
37
+ headers: {
38
+ "Content-Type": "application/msgpack"
39
+ }
27
40
  });
28
- const formData = await res.formData();
29
- const resObject = formDataToObject(formData);
30
- if ("data" in resObject) {
31
- return resObject.data;
32
- } else {
41
+ const arrayBuffer = await res.arrayBuffer();
42
+ const resObject = decode(new Uint8Array(arrayBuffer));
43
+ if ("error" in resObject) {
33
44
  const resError = resObject.error;
34
45
  if (isErrorLike(resError)) {
35
46
  const error = new Error(resError.message);
@@ -41,6 +52,13 @@ const createRPCClient = (args) => {
41
52
  cause: resObject
42
53
  });
43
54
  }
55
+ } else {
56
+ return replaceLeaves(resObject.data, async (value) => {
57
+ if (value instanceof Uint8Array) {
58
+ return new Blob([value]);
59
+ }
60
+ return value;
61
+ });
44
62
  }
45
63
  });
46
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"createRPCClient.js","sources":["../../../../../../../node_modules/r19/dist/client/createRPCClient.js"],"sourcesContent":["import { formDataToObject } from \"../lib/formDataToObject.client.js\";\nimport { isErrorLike } from \"../lib/isErrorLike.js\";\nimport { objectToFormData } from \"../lib/objectToFormData.client.js\";\nconst createArbitrarilyNestedFunction = (handler, path = []) => {\n return new Proxy(() => void 0, {\n apply(_target, _this, args) {\n return handler(path, args);\n },\n get(_target, property) {\n return createArbitrarilyNestedFunction(handler, [\n ...path,\n property.toString()\n ]);\n }\n });\n};\nconst createRPCClient = (args) => {\n const resolvedFetch = args.fetch || globalThis.fetch.bind(globalThis);\n return createArbitrarilyNestedFunction(async (path, fnArgs) => {\n const body = objectToFormData({\n procedurePath: path,\n procedureArgs: fnArgs[0]\n });\n const res = await resolvedFetch(args.serverURL, {\n method: \"POST\",\n body\n });\n const formData = await res.formData();\n const resObject = formDataToObject(formData);\n if (\"data\" in resObject) {\n return resObject.data;\n } else {\n const resError = resObject.error;\n if (isErrorLike(resError)) {\n const error = new Error(resError.message);\n error.name = resError.name;\n error.stack = resError.stack;\n throw error;\n } else {\n throw new Error(\"An unexpected response was received from the RPC server.\", {\n cause: resObject\n });\n }\n }\n });\n};\nexport {\n createRPCClient\n};\n//# sourceMappingURL=createRPCClient.js.map\n"],"names":[],"mappings":";;;AAGA,MAAM,kCAAkC,CAAC,SAAS,OAAO,OAAO;AAC9D,SAAO,IAAI,MAAM,MAAM,QAAQ;AAAA,IAC7B,MAAM,SAAS,OAAO,MAAM;AAC1B,aAAO,QAAQ,MAAM,IAAI;AAAA,IAC1B;AAAA,IACD,IAAI,SAAS,UAAU;AACrB,aAAO,gCAAgC,SAAS;AAAA,QAC9C,GAAG;AAAA,QACH,SAAS,SAAU;AAAA,MAC3B,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH;AACK,MAAC,kBAAkB,CAAC,SAAS;AAChC,QAAM,gBAAgB,KAAK,SAAS,WAAW,MAAM,KAAK,UAAU;AACpE,SAAO,gCAAgC,OAAO,MAAM,WAAW;AAC7D,UAAM,OAAO,iBAAiB;AAAA,MAC5B,eAAe;AAAA,MACf,eAAe,OAAO,CAAC;AAAA,IAC7B,CAAK;AACD,UAAM,MAAM,MAAM,cAAc,KAAK,WAAW;AAAA,MAC9C,QAAQ;AAAA,MACR;AAAA,IACN,CAAK;AACD,UAAM,WAAW,MAAM,IAAI;AAC3B,UAAM,YAAY,iBAAiB,QAAQ;AAC3C,QAAI,UAAU,WAAW;AACvB,aAAO,UAAU;AAAA,IACvB,OAAW;AACL,YAAM,WAAW,UAAU;AAC3B,UAAI,YAAY,QAAQ,GAAG;AACzB,cAAM,QAAQ,IAAI,MAAM,SAAS,OAAO;AACxC,cAAM,OAAO,SAAS;AACtB,cAAM,QAAQ,SAAS;AACvB,cAAM;AAAA,MACd,OAAa;AACL,cAAM,IAAI,MAAM,4DAA4D;AAAA,UAC1E,OAAO;AAAA,QACjB,CAAS;AAAA,MACF;AAAA,IACF;AAAA,EACL,CAAG;AACH;"}
1
+ {"version":3,"file":"createRPCClient.js","sources":["../../../../../../../node_modules/r19/dist/client/createRPCClient.js"],"sourcesContent":["import { encode, decode } from \"@msgpack/msgpack\";\nimport { replaceLeaves } from \"../lib/replaceLeaves.js\";\nimport { isErrorLike } from \"../lib/isErrorLike.js\";\nconst createArbitrarilyNestedFunction = (handler, path = []) => {\n return new Proxy(() => void 0, {\n apply(_target, _this, args) {\n return handler(path, args);\n },\n get(_target, property) {\n return createArbitrarilyNestedFunction(handler, [\n ...path,\n property.toString()\n ]);\n }\n });\n};\nconst createRPCClient = (args) => {\n const resolvedFetch = args.fetch || globalThis.fetch.bind(globalThis);\n return createArbitrarilyNestedFunction(async (path, fnArgs) => {\n const preparedProcedureArgs = await replaceLeaves(fnArgs[0], async (value) => {\n if (value instanceof Blob) {\n return new Uint8Array(await value.arrayBuffer());\n }\n if (typeof value === \"function\") {\n throw new Error(\"r19 does not support function arguments.\");\n }\n return value;\n });\n const body = encode({\n procedurePath: path,\n procedureArgs: preparedProcedureArgs\n }, { ignoreUndefined: true });\n const res = await resolvedFetch(args.serverURL, {\n method: \"POST\",\n body,\n headers: {\n \"Content-Type\": \"application/msgpack\"\n }\n });\n const arrayBuffer = await res.arrayBuffer();\n const resObject = decode(new Uint8Array(arrayBuffer));\n if (\"error\" in resObject) {\n const resError = resObject.error;\n if (isErrorLike(resError)) {\n const error = new Error(resError.message);\n error.name = resError.name;\n error.stack = resError.stack;\n throw error;\n } else {\n throw new Error(\"An unexpected response was received from the RPC server.\", {\n cause: resObject\n });\n }\n } else {\n return replaceLeaves(resObject.data, async (value) => {\n if (value instanceof Uint8Array) {\n return new Blob([value]);\n }\n return value;\n });\n }\n });\n};\nexport {\n createRPCClient\n};\n//# sourceMappingURL=createRPCClient.js.map\n"],"names":[],"mappings":";;;;AAGA,MAAM,kCAAkC,CAAC,SAAS,OAAO,OAAO;AAC9D,SAAO,IAAI,MAAM,MAAM,QAAQ;AAAA,IAC7B,MAAM,SAAS,OAAO,MAAM;AAC1B,aAAO,QAAQ,MAAM,IAAI;AAAA,IAC1B;AAAA,IACD,IAAI,SAAS,UAAU;AACrB,aAAO,gCAAgC,SAAS;AAAA,QAC9C,GAAG;AAAA,QACH,SAAS,SAAU;AAAA,MAC3B,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH;AACK,MAAC,kBAAkB,CAAC,SAAS;AAChC,QAAM,gBAAgB,KAAK,SAAS,WAAW,MAAM,KAAK,UAAU;AACpE,SAAO,gCAAgC,OAAO,MAAM,WAAW;AAC7D,UAAM,wBAAwB,MAAM,cAAc,OAAO,CAAC,GAAG,OAAO,UAAU;AAC5E,UAAI,iBAAiB,MAAM;AACzB,eAAO,IAAI,WAAW,MAAM,MAAM,YAAa,CAAA;AAAA,MAChD;AACD,UAAI,OAAO,UAAU,YAAY;AAC/B,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC3D;AACD,aAAO;AAAA,IACb,CAAK;AACD,UAAM,OAAO,OAAO;AAAA,MAClB,eAAe;AAAA,MACf,eAAe;AAAA,IACrB,GAAO,EAAE,iBAAiB,KAAI,CAAE;AAC5B,UAAM,MAAM,MAAM,cAAc,KAAK,WAAW;AAAA,MAC9C,QAAQ;AAAA,MACR;AAAA,MACA,SAAS;AAAA,QACP,gBAAgB;AAAA,MACjB;AAAA,IACP,CAAK;AACD,UAAM,cAAc,MAAM,IAAI;AAC9B,UAAM,YAAY,OAAO,IAAI,WAAW,WAAW,CAAC;AACpD,QAAI,WAAW,WAAW;AACxB,YAAM,WAAW,UAAU;AAC3B,UAAI,YAAY,QAAQ,GAAG;AACzB,cAAM,QAAQ,IAAI,MAAM,SAAS,OAAO;AACxC,cAAM,OAAO,SAAS;AACtB,cAAM,QAAQ,SAAS;AACvB,cAAM;AAAA,MACd,OAAa;AACL,cAAM,IAAI,MAAM,4DAA4D;AAAA,UAC1E,OAAO;AAAA,QACjB,CAAS;AAAA,MACF;AAAA,IACP,OAAW;AACL,aAAO,cAAc,UAAU,MAAM,OAAO,UAAU;AACpD,YAAI,iBAAiB,YAAY;AAC/B,iBAAO,IAAI,KAAK,CAAC,KAAK,CAAC;AAAA,QACxB;AACD,eAAO;AAAA,MACf,CAAO;AAAA,IACF;AAAA,EACL,CAAG;AACH;"}
@@ -1,20 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const h3 = require("h3");
4
+ const node_buffer = require("node:buffer");
4
5
  const handleRPCRequest = require("./handleRPCRequest.cjs");
5
6
  const createRPCMiddleware = (args) => {
6
7
  const router = h3.createRouter();
7
8
  router.post("/", h3.eventHandler(async (event) => {
8
- const { stream, headers, statusCode } = await handleRPCRequest.handleRPCRequest({
9
+ const eventBody = await h3.readRawBody(event, false);
10
+ const { body, headers, statusCode } = await handleRPCRequest.handleRPCRequest({
9
11
  procedures: args.procedures,
10
- contentTypeHeader: h3.getHeader(event, "Content-Type"),
11
- body: await h3.readRawBody(event)
12
+ body: eventBody
12
13
  });
13
14
  if (statusCode) {
14
15
  event.node.res.statusCode = statusCode;
15
16
  }
16
17
  h3.setHeaders(event, headers);
17
- return h3.sendStream(event, stream);
18
+ return h3.send(event, node_buffer.Buffer.from(body));
18
19
  }));
19
20
  return h3.defineNodeMiddleware(async (req, res) => {
20
21
  const event = h3.createEvent(req, res);
@@ -1 +1 @@
1
- {"version":3,"file":"createRPCMiddleware.cjs","sources":["../../../../../../node_modules/r19/dist/createRPCMiddleware.js"],"sourcesContent":["import { createRouter, eventHandler, getHeader, readRawBody, setHeaders, sendStream, defineNodeMiddleware, createEvent } from \"h3\";\nimport { handleRPCRequest } from \"./handleRPCRequest.js\";\nconst createRPCMiddleware = (args) => {\n const router = createRouter();\n router.post(\"/\", eventHandler(async (event) => {\n const { stream, headers, statusCode } = await handleRPCRequest({\n procedures: args.procedures,\n contentTypeHeader: getHeader(event, \"Content-Type\"),\n body: await readRawBody(event)\n });\n if (statusCode) {\n event.node.res.statusCode = statusCode;\n }\n setHeaders(event, headers);\n return sendStream(event, stream);\n }));\n return defineNodeMiddleware(async (req, res) => {\n const event = createEvent(req, res);\n return await router.handler(event);\n });\n};\nexport {\n createRPCMiddleware\n};\n//# sourceMappingURL=createRPCMiddleware.js.map\n"],"names":["createRouter","eventHandler","handleRPCRequest","getHeader","readRawBody","setHeaders","sendStream","defineNodeMiddleware","createEvent"],"mappings":";;;;AAEK,MAAC,sBAAsB,CAAC,SAAS;AACpC,QAAM,SAASA,GAAAA;AACf,SAAO,KAAK,KAAKC,GAAY,aAAC,OAAO,UAAU;AAC7C,UAAM,EAAE,QAAQ,SAAS,WAAY,IAAG,MAAMC,iBAAAA,iBAAiB;AAAA,MAC7D,YAAY,KAAK;AAAA,MACjB,mBAAmBC,GAAAA,UAAU,OAAO,cAAc;AAAA,MAClD,MAAM,MAAMC,GAAW,YAAC,KAAK;AAAA,IACnC,CAAK;AACD,QAAI,YAAY;AACd,YAAM,KAAK,IAAI,aAAa;AAAA,IAC7B;AACDC,kBAAW,OAAO,OAAO;AACzB,WAAOC,GAAU,WAAC,OAAO,MAAM;AAAA,EAChC,CAAA,CAAC;AACF,SAAOC,GAAoB,qBAAC,OAAO,KAAK,QAAQ;AAC9C,UAAM,QAAQC,GAAAA,YAAY,KAAK,GAAG;AAClC,WAAO,MAAM,OAAO,QAAQ,KAAK;AAAA,EACrC,CAAG;AACH;;"}
1
+ {"version":3,"file":"createRPCMiddleware.cjs","sources":["../../../../../../node_modules/r19/dist/createRPCMiddleware.js"],"sourcesContent":["import { createRouter, eventHandler, readRawBody, setHeaders, send, defineNodeMiddleware, createEvent } from \"h3\";\nimport { Buffer } from \"node:buffer\";\nimport { handleRPCRequest } from \"./handleRPCRequest.js\";\nconst createRPCMiddleware = (args) => {\n const router = createRouter();\n router.post(\"/\", eventHandler(async (event) => {\n const eventBody = await readRawBody(event, false);\n const { body, headers, statusCode } = await handleRPCRequest({\n procedures: args.procedures,\n body: eventBody\n });\n if (statusCode) {\n event.node.res.statusCode = statusCode;\n }\n setHeaders(event, headers);\n return send(event, Buffer.from(body));\n }));\n return defineNodeMiddleware(async (req, res) => {\n const event = createEvent(req, res);\n return await router.handler(event);\n });\n};\nexport {\n createRPCMiddleware\n};\n//# sourceMappingURL=createRPCMiddleware.js.map\n"],"names":["createRouter","eventHandler","readRawBody","handleRPCRequest","setHeaders","send","Buffer","defineNodeMiddleware","createEvent"],"mappings":";;;;;AAGK,MAAC,sBAAsB,CAAC,SAAS;AACpC,QAAM,SAASA,GAAAA;AACf,SAAO,KAAK,KAAKC,GAAY,aAAC,OAAO,UAAU;AAC7C,UAAM,YAAY,MAAMC,GAAAA,YAAY,OAAO,KAAK;AAChD,UAAM,EAAE,MAAM,SAAS,WAAY,IAAG,MAAMC,iBAAAA,iBAAiB;AAAA,MAC3D,YAAY,KAAK;AAAA,MACjB,MAAM;AAAA,IACZ,CAAK;AACD,QAAI,YAAY;AACd,YAAM,KAAK,IAAI,aAAa;AAAA,IAC7B;AACDC,kBAAW,OAAO,OAAO;AACzB,WAAOC,GAAAA,KAAK,OAAOC,YAAAA,OAAO,KAAK,IAAI,CAAC;AAAA,EACrC,CAAA,CAAC;AACF,SAAOC,GAAoB,qBAAC,OAAO,KAAK,QAAQ;AAC9C,UAAM,QAAQC,GAAAA,YAAY,KAAK,GAAG;AAClC,WAAO,MAAM,OAAO,QAAQ,KAAK;AAAA,EACrC,CAAG;AACH;;"}
@@ -1,18 +1,19 @@
1
- import { createRouter, eventHandler, getHeader, readRawBody, setHeaders, sendStream, defineNodeMiddleware, createEvent } from "h3";
1
+ import { createRouter, eventHandler, readRawBody, setHeaders, send, defineNodeMiddleware, createEvent } from "h3";
2
+ import { Buffer } from "node:buffer";
2
3
  import { handleRPCRequest } from "./handleRPCRequest.js";
3
4
  const createRPCMiddleware = (args) => {
4
5
  const router = createRouter();
5
6
  router.post("/", eventHandler(async (event) => {
6
- const { stream, headers, statusCode } = await handleRPCRequest({
7
+ const eventBody = await readRawBody(event, false);
8
+ const { body, headers, statusCode } = await handleRPCRequest({
7
9
  procedures: args.procedures,
8
- contentTypeHeader: getHeader(event, "Content-Type"),
9
- body: await readRawBody(event)
10
+ body: eventBody
10
11
  });
11
12
  if (statusCode) {
12
13
  event.node.res.statusCode = statusCode;
13
14
  }
14
15
  setHeaders(event, headers);
15
- return sendStream(event, stream);
16
+ return send(event, Buffer.from(body));
16
17
  }));
17
18
  return defineNodeMiddleware(async (req, res) => {
18
19
  const event = createEvent(req, res);
@@ -1 +1 @@
1
- {"version":3,"file":"createRPCMiddleware.js","sources":["../../../../../../node_modules/r19/dist/createRPCMiddleware.js"],"sourcesContent":["import { createRouter, eventHandler, getHeader, readRawBody, setHeaders, sendStream, defineNodeMiddleware, createEvent } from \"h3\";\nimport { handleRPCRequest } from \"./handleRPCRequest.js\";\nconst createRPCMiddleware = (args) => {\n const router = createRouter();\n router.post(\"/\", eventHandler(async (event) => {\n const { stream, headers, statusCode } = await handleRPCRequest({\n procedures: args.procedures,\n contentTypeHeader: getHeader(event, \"Content-Type\"),\n body: await readRawBody(event)\n });\n if (statusCode) {\n event.node.res.statusCode = statusCode;\n }\n setHeaders(event, headers);\n return sendStream(event, stream);\n }));\n return defineNodeMiddleware(async (req, res) => {\n const event = createEvent(req, res);\n return await router.handler(event);\n });\n};\nexport {\n createRPCMiddleware\n};\n//# sourceMappingURL=createRPCMiddleware.js.map\n"],"names":[],"mappings":";;AAEK,MAAC,sBAAsB,CAAC,SAAS;AACpC,QAAM,SAAS;AACf,SAAO,KAAK,KAAK,aAAa,OAAO,UAAU;AAC7C,UAAM,EAAE,QAAQ,SAAS,WAAY,IAAG,MAAM,iBAAiB;AAAA,MAC7D,YAAY,KAAK;AAAA,MACjB,mBAAmB,UAAU,OAAO,cAAc;AAAA,MAClD,MAAM,MAAM,YAAY,KAAK;AAAA,IACnC,CAAK;AACD,QAAI,YAAY;AACd,YAAM,KAAK,IAAI,aAAa;AAAA,IAC7B;AACD,eAAW,OAAO,OAAO;AACzB,WAAO,WAAW,OAAO,MAAM;AAAA,EAChC,CAAA,CAAC;AACF,SAAO,qBAAqB,OAAO,KAAK,QAAQ;AAC9C,UAAM,QAAQ,YAAY,KAAK,GAAG;AAClC,WAAO,MAAM,OAAO,QAAQ,KAAK;AAAA,EACrC,CAAG;AACH;"}
1
+ {"version":3,"file":"createRPCMiddleware.js","sources":["../../../../../../node_modules/r19/dist/createRPCMiddleware.js"],"sourcesContent":["import { createRouter, eventHandler, readRawBody, setHeaders, send, defineNodeMiddleware, createEvent } from \"h3\";\nimport { Buffer } from \"node:buffer\";\nimport { handleRPCRequest } from \"./handleRPCRequest.js\";\nconst createRPCMiddleware = (args) => {\n const router = createRouter();\n router.post(\"/\", eventHandler(async (event) => {\n const eventBody = await readRawBody(event, false);\n const { body, headers, statusCode } = await handleRPCRequest({\n procedures: args.procedures,\n body: eventBody\n });\n if (statusCode) {\n event.node.res.statusCode = statusCode;\n }\n setHeaders(event, headers);\n return send(event, Buffer.from(body));\n }));\n return defineNodeMiddleware(async (req, res) => {\n const event = createEvent(req, res);\n return await router.handler(event);\n });\n};\nexport {\n createRPCMiddleware\n};\n//# sourceMappingURL=createRPCMiddleware.js.map\n"],"names":[],"mappings":";;;AAGK,MAAC,sBAAsB,CAAC,SAAS;AACpC,QAAM,SAAS;AACf,SAAO,KAAK,KAAK,aAAa,OAAO,UAAU;AAC7C,UAAM,YAAY,MAAM,YAAY,OAAO,KAAK;AAChD,UAAM,EAAE,MAAM,SAAS,WAAY,IAAG,MAAM,iBAAiB;AAAA,MAC3D,YAAY,KAAK;AAAA,MACjB,MAAM;AAAA,IACZ,CAAK;AACD,QAAI,YAAY;AACd,YAAM,KAAK,IAAI,aAAa;AAAA,IAC7B;AACD,eAAW,OAAO,OAAO;AACzB,WAAO,KAAK,OAAO,OAAO,KAAK,IAAI,CAAC;AAAA,EACrC,CAAA,CAAC;AACF,SAAO,qBAAqB,OAAO,KAAK,QAAQ;AAC9C,UAAM,QAAQ,YAAY,KAAK,GAAG;AAClC,WAAO,MAAM,OAAO,QAAQ,KAAK;AAAA,EACrC,CAAG;AACH;"}
@@ -1,17 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const Stream = require("node:stream");
4
3
  const node_buffer = require("node:buffer");
5
- const index = require("../../busboy/lib/index.cjs");
6
- require("../../devalue/src/uneval.cjs");
7
- const parse = require("../../devalue/src/parse.cjs");
8
- require("../../devalue/src/utils.cjs");
9
- const encodeFormData = require("./lib/encodeFormData.cjs");
4
+ const encode = require("../../@msgpack/msgpack/dist.es5_esm/encode.cjs");
5
+ const decode = require("../../@msgpack/msgpack/dist.es5_esm/decode.cjs");
10
6
  const isErrorLike = require("./lib/isErrorLike.cjs");
11
- const objectToFormData_server = require("./lib/objectToFormData.server.cjs");
12
- const unflattenObject = require("./lib/unflattenObject.cjs");
13
- const formDataToObject_client = require("./lib/formDataToObject.client.cjs");
14
- const constants = require("./constants.cjs");
7
+ const replaceLeaves = require("./lib/replaceLeaves.cjs");
15
8
  const findProcedure = (procedures, path) => {
16
9
  path = [...path];
17
10
  let proceduresPointer = procedures;
@@ -27,119 +20,61 @@ const findProcedure = (procedures, path) => {
27
20
  }
28
21
  }
29
22
  };
30
- const readRPCClientArgs = async (args) => {
31
- const bb = index({
32
- headers: {
33
- "content-type": args.contentTypeHeader
34
- }
35
- });
36
- const clientArgs = {};
37
- const promise = new Promise((resolve, reject) => {
38
- bb.on("file", (name, file, _info) => {
39
- const chunks = [];
40
- file.on("data", (data) => {
41
- chunks.push(data);
42
- });
43
- file.on("close", () => {
44
- clientArgs[name] = node_buffer.Buffer.concat(chunks);
45
- });
46
- });
47
- bb.on("field", (name, value, _info) => {
48
- clientArgs[name] = parse.parse(value);
49
- });
50
- bb.on("close", () => {
51
- const unflattenedArgs = unflattenObject.unflattenObject(clientArgs);
52
- resolve(unflattenedArgs);
53
- });
54
- bb.on("error", (error) => {
55
- reject(error);
56
- });
57
- });
58
- Stream.Readable.from(args.body).pipe(bb);
59
- return promise;
60
- };
61
- const isPlainObject = (value) => {
62
- if (typeof value !== "object" || value === null) {
63
- return false;
64
- }
65
- const prototype = Object.getPrototypeOf(value);
66
- return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
67
- };
68
- const prepareRes = (res) => {
69
- if (Array.isArray(res)) {
70
- const preparedRes = [];
71
- for (let i = 0; i < res.length; i++) {
72
- preparedRes[i] = prepareRes(res[i]);
73
- }
74
- return preparedRes;
75
- }
76
- if (isPlainObject(res)) {
77
- const preparedRes = {};
78
- for (const key in res) {
79
- preparedRes[key] = prepareRes(res[key]);
80
- }
81
- return preparedRes;
82
- }
83
- if (res instanceof Error || isErrorLike.isErrorLike(res)) {
84
- return {
85
- name: res.name,
86
- message: res.message,
87
- stack: process.env.NODE_ENV === "development" ? res.stack : void 0
88
- };
89
- }
90
- return res;
91
- };
92
23
  const handleRPCRequest = async (args) => {
93
- let clientArgs;
94
- if ("body" in args) {
95
- if (!args.body) {
96
- throw new Error("Invalid request body. Only requests from an r19 client are accepted.");
97
- }
98
- if (!args.contentTypeHeader) {
99
- throw new Error("Invalid Content-Type header. Only requests from an r19 client are accepted.");
100
- }
101
- clientArgs = await readRPCClientArgs({
102
- contentTypeHeader: args.contentTypeHeader,
103
- body: args.body
104
- });
105
- } else {
106
- clientArgs = formDataToObject_client.formDataToObject(args.formData);
24
+ if (!args.body) {
25
+ throw new Error("Invalid request body. Only requests from an r19 client are accepted.");
107
26
  }
27
+ const clientArgs = decode.decode(node_buffer.Buffer.from(args.body));
108
28
  const procedure = findProcedure(args.procedures, clientArgs.procedurePath);
29
+ const headers = {
30
+ "Content-Type": "application/msgpack"
31
+ };
109
32
  if (!procedure) {
110
- const formData = objectToFormData_server.objectToFormData({
33
+ const body = encode.encode({
111
34
  error: {
112
35
  name: "RPCError",
113
36
  message: `Invalid procedure name: ${clientArgs.procedurePath.join(".")}`
114
37
  }
115
38
  });
116
- const { headers, stream } = encodeFormData.encodeFormData(formData, {
117
- boundaryPrefix: constants.FORM_DATA_BOUNDARY_PREFIX
118
- });
119
39
  return {
120
- stream,
40
+ body,
121
41
  headers,
122
42
  statusCode: 500
123
43
  };
124
44
  }
125
45
  let res;
126
46
  try {
127
- res = await procedure(clientArgs.procedureArgs);
128
- res = prepareRes(res);
47
+ const procedureArgs = await replaceLeaves.replaceLeaves(clientArgs.procedureArgs, async (value) => {
48
+ if (value instanceof ArrayBuffer) {
49
+ return node_buffer.Buffer.from(value);
50
+ }
51
+ return value;
52
+ });
53
+ res = await procedure(procedureArgs);
54
+ res = await replaceLeaves.replaceLeaves(res, async (value) => {
55
+ if (isErrorLike.isErrorLike(value)) {
56
+ return {
57
+ name: value.name,
58
+ message: value.message,
59
+ stack: process.env.NODE_ENV === "development" ? value.stack : void 0
60
+ };
61
+ }
62
+ if (typeof value === "function") {
63
+ throw new Error("r19 does not support function return values.");
64
+ }
65
+ return value;
66
+ });
129
67
  } catch (error) {
130
68
  if (isErrorLike.isErrorLike(error)) {
131
- const formData = objectToFormData_server.objectToFormData({
69
+ const body = encode.encode({
132
70
  error: {
133
71
  name: error.name,
134
72
  message: error.message,
135
73
  stack: process.env.NODE_ENV === "development" ? error.stack : void 0
136
74
  }
137
- });
138
- const { headers, stream } = encodeFormData.encodeFormData(formData, {
139
- boundaryPrefix: constants.FORM_DATA_BOUNDARY_PREFIX
140
- });
75
+ }, { ignoreUndefined: true });
141
76
  return {
142
- stream,
77
+ body,
143
78
  headers,
144
79
  statusCode: 500
145
80
  };
@@ -147,30 +82,24 @@ const handleRPCRequest = async (args) => {
147
82
  throw error;
148
83
  }
149
84
  try {
150
- const formData = objectToFormData_server.objectToFormData({
85
+ const body = encode.encode({
151
86
  data: res
152
- });
153
- const { headers, stream } = encodeFormData.encodeFormData(formData, {
154
- boundaryPrefix: constants.FORM_DATA_BOUNDARY_PREFIX
155
- });
87
+ }, { ignoreUndefined: true });
156
88
  return {
157
- stream,
89
+ body,
158
90
  headers
159
91
  };
160
92
  } catch (error) {
161
93
  if (error instanceof Error) {
162
94
  console.error(error);
163
- const formData = objectToFormData_server.objectToFormData({
95
+ const body = encode.encode({
164
96
  error: {
165
97
  name: "RPCError",
166
98
  message: "Unable to serialize server response. Check the server log for details."
167
99
  }
168
100
  });
169
- const { headers, stream } = encodeFormData.encodeFormData(formData, {
170
- boundaryPrefix: constants.FORM_DATA_BOUNDARY_PREFIX
171
- });
172
101
  return {
173
- stream,
102
+ body,
174
103
  headers,
175
104
  statusCode: 500
176
105
  };