@concord-consortium/cloud-file-manager 2.1.0-pre.9 → 2.2.1

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 (276) hide show
  1. package/dist/347 +276 -0
  2. package/dist/autolaunch/autolaunch.js +1 -1
  3. package/dist/autolaunch/autolaunch.js.map +1 -1
  4. package/dist/cjs/app-options.d.ts +2 -0
  5. package/dist/cjs/client.js +51 -79
  6. package/dist/cjs/client.js.map +1 -1
  7. package/dist/cjs/cloud-file-manager.js +2 -2
  8. package/dist/cjs/cloud-file-manager.js.map +1 -1
  9. package/dist/cjs/create-react-factory.d.ts +1 -0
  10. package/dist/cjs/create-react-factory.js.map +1 -1
  11. package/dist/cjs/providers/document-store-provider.js +7 -10
  12. package/dist/cjs/providers/document-store-provider.js.map +1 -1
  13. package/dist/cjs/providers/document-store-share-provider.js +4 -4
  14. package/dist/cjs/providers/document-store-share-provider.js.map +1 -1
  15. package/dist/cjs/providers/google-drive-provider.js +30 -34
  16. package/dist/cjs/providers/google-drive-provider.js.map +1 -1
  17. package/dist/cjs/providers/interactive-api-provider.d.ts +5 -2
  18. package/dist/cjs/providers/interactive-api-provider.js +27 -21
  19. package/dist/cjs/providers/interactive-api-provider.js.map +1 -1
  20. package/dist/cjs/providers/lara-provider.js +18 -26
  21. package/dist/cjs/providers/lara-provider.js.map +1 -1
  22. package/dist/cjs/providers/legacy-google-drive-provider.js +21 -27
  23. package/dist/cjs/providers/legacy-google-drive-provider.js.map +1 -1
  24. package/dist/cjs/providers/localstorage-provider.js +11 -13
  25. package/dist/cjs/providers/localstorage-provider.js.map +1 -1
  26. package/dist/cjs/providers/patchable-content.js +1 -1
  27. package/dist/cjs/providers/patchable-content.js.map +1 -1
  28. package/dist/cjs/providers/post-message-provider.js +1 -1
  29. package/dist/cjs/providers/post-message-provider.js.map +1 -1
  30. package/dist/cjs/providers/provider-interface.d.ts +1 -2
  31. package/dist/cjs/providers/provider-interface.js +11 -14
  32. package/dist/cjs/providers/provider-interface.js.map +1 -1
  33. package/dist/cjs/providers/readonly-provider.js +6 -6
  34. package/dist/cjs/providers/readonly-provider.js.map +1 -1
  35. package/dist/cjs/providers/s3-provider.js +1 -2
  36. package/dist/cjs/providers/s3-provider.js.map +1 -1
  37. package/dist/cjs/providers/s3-share-provider.js +1 -1
  38. package/dist/cjs/providers/s3-share-provider.js.map +1 -1
  39. package/dist/cjs/providers/test-provider.js +5 -5
  40. package/dist/cjs/providers/test-provider.js.map +1 -1
  41. package/dist/cjs/providers/url-provider.js +1 -1
  42. package/dist/cjs/providers/url-provider.js.map +1 -1
  43. package/dist/cjs/ui.js +2 -3
  44. package/dist/cjs/ui.js.map +1 -1
  45. package/dist/cjs/utils/focus-tracker.d.ts +3 -0
  46. package/dist/cjs/utils/focus-tracker.js +44 -0
  47. package/dist/cjs/utils/focus-tracker.js.map +1 -0
  48. package/dist/cjs/utils/ios-file-saver.d.ts +42 -0
  49. package/dist/cjs/utils/ios-file-saver.js +98 -0
  50. package/dist/cjs/utils/ios-file-saver.js.map +1 -0
  51. package/dist/cjs/utils/lang/en-US.json +9 -0
  52. package/dist/cjs/utils/s3-share-provider-token-service-helper.js +19 -13
  53. package/dist/cjs/utils/s3-share-provider-token-service-helper.js.map +1 -1
  54. package/dist/cjs/utils/url-params.js +1 -2
  55. package/dist/cjs/utils/url-params.js.map +1 -1
  56. package/dist/cjs/views/alert-dialog-view.d.ts +9 -3
  57. package/dist/cjs/views/alert-dialog-view.js +9 -24
  58. package/dist/cjs/views/alert-dialog-view.js.map +1 -1
  59. package/dist/cjs/views/app-view.d.ts +12 -5
  60. package/dist/cjs/views/app-view.js +167 -175
  61. package/dist/cjs/views/app-view.js.map +1 -1
  62. package/dist/cjs/views/blocking-modal-view.d.ts +9 -3
  63. package/dist/cjs/views/blocking-modal-view.js +8 -25
  64. package/dist/cjs/views/blocking-modal-view.js.map +1 -1
  65. package/dist/cjs/views/confirm-dialog-view.d.ts +14 -3
  66. package/dist/cjs/views/confirm-dialog-view.js +14 -31
  67. package/dist/cjs/views/confirm-dialog-view.js.map +1 -1
  68. package/dist/cjs/views/download-dialog-view.d.ts +12 -3
  69. package/dist/cjs/views/download-dialog-view.js +36 -63
  70. package/dist/cjs/views/download-dialog-view.js.map +1 -1
  71. package/dist/cjs/views/dropdown-anchors.d.ts +2 -2
  72. package/dist/cjs/views/dropdown-anchors.js +4 -10
  73. package/dist/cjs/views/dropdown-anchors.js.map +1 -1
  74. package/dist/cjs/views/dropdown-view.d.ts +20 -3
  75. package/dist/cjs/views/dropdown-view.js +40 -157
  76. package/dist/cjs/views/dropdown-view.js.map +1 -1
  77. package/dist/cjs/views/file-dialog-tab-view.d.ts +24 -2
  78. package/dist/cjs/views/file-dialog-tab-view.js +255 -315
  79. package/dist/cjs/views/file-dialog-tab-view.js.map +1 -1
  80. package/dist/cjs/views/icons/spin.d.ts +2 -2
  81. package/dist/cjs/views/icons/spin.js +2 -39
  82. package/dist/cjs/views/icons/spin.js.map +1 -1
  83. package/dist/cjs/views/import-tabbed-dialog-view.d.ts +12 -3
  84. package/dist/cjs/views/import-tabbed-dialog-view.js +33 -65
  85. package/dist/cjs/views/import-tabbed-dialog-view.js.map +1 -1
  86. package/dist/cjs/views/local-file-tab-list-view.d.ts +14 -3
  87. package/dist/cjs/views/local-file-tab-list-view.js +57 -66
  88. package/dist/cjs/views/local-file-tab-list-view.js.map +1 -1
  89. package/dist/cjs/views/local-file-tab-save-view.d.ts +32 -3
  90. package/dist/cjs/views/local-file-tab-save-view.js +125 -138
  91. package/dist/cjs/views/local-file-tab-save-view.js.map +1 -1
  92. package/dist/cjs/views/menu-bar-view.d.ts +58 -3
  93. package/dist/cjs/views/menu-bar-view.js +196 -183
  94. package/dist/cjs/views/menu-bar-view.js.map +1 -1
  95. package/dist/cjs/views/modal-dialog-view.js +7 -8
  96. package/dist/cjs/views/modal-dialog-view.js.map +1 -1
  97. package/dist/cjs/views/modal-tabbed-dialog-view.d.ts +15 -3
  98. package/dist/cjs/views/modal-tabbed-dialog-view.js +5 -17
  99. package/dist/cjs/views/modal-tabbed-dialog-view.js.map +1 -1
  100. package/dist/cjs/views/modal-view.d.ts +5 -32
  101. package/dist/cjs/views/modal-view.js +20 -64
  102. package/dist/cjs/views/modal-view.js.map +1 -1
  103. package/dist/cjs/views/provider-tabbed-dialog-view.d.ts +23 -3
  104. package/dist/cjs/views/provider-tabbed-dialog-view.js +43 -51
  105. package/dist/cjs/views/provider-tabbed-dialog-view.js.map +1 -1
  106. package/dist/cjs/views/rename-dialog-view.d.ts +8 -3
  107. package/dist/cjs/views/rename-dialog-view.js +25 -51
  108. package/dist/cjs/views/rename-dialog-view.js.map +1 -1
  109. package/dist/cjs/views/select-interactive-state-dialog-view.d.ts +1 -1
  110. package/dist/cjs/views/select-interactive-state-dialog-view.js +4 -30
  111. package/dist/cjs/views/select-interactive-state-dialog-view.js.map +1 -1
  112. package/dist/cjs/views/select-provider-dialog-tab-view.d.ts +6 -1
  113. package/dist/cjs/views/select-provider-dialog-tab-view.js +4 -12
  114. package/dist/cjs/views/select-provider-dialog-tab-view.js.map +1 -1
  115. package/dist/cjs/views/share-dialog-status-view.js +6 -13
  116. package/dist/cjs/views/share-dialog-status-view.js.map +1 -1
  117. package/dist/cjs/views/share-dialog-tabs-view.js +22 -61
  118. package/dist/cjs/views/share-dialog-tabs-view.js.map +1 -1
  119. package/dist/cjs/views/share-dialog-view.d.ts +1 -1
  120. package/dist/cjs/views/share-dialog-view.js +15 -21
  121. package/dist/cjs/views/share-dialog-view.js.map +1 -1
  122. package/dist/cjs/views/share-loading-view.d.ts +2 -2
  123. package/dist/cjs/views/share-loading-view.js +2 -4
  124. package/dist/cjs/views/share-loading-view.js.map +1 -1
  125. package/dist/cjs/views/tabbed-panel-view.d.ts +16 -3
  126. package/dist/cjs/views/tabbed-panel-view.js +25 -75
  127. package/dist/cjs/views/tabbed-panel-view.js.map +1 -1
  128. package/dist/cjs/views/url-tab-view.d.ts +12 -3
  129. package/dist/cjs/views/url-tab-view.js +31 -46
  130. package/dist/cjs/views/url-tab-view.js.map +1 -1
  131. package/dist/css/app.css +1 -1
  132. package/dist/css/app.css.map +1 -1
  133. package/dist/esm/app-options.d.ts +2 -0
  134. package/dist/esm/client.js +51 -79
  135. package/dist/esm/client.js.map +1 -1
  136. package/dist/esm/cloud-file-manager.js +2 -2
  137. package/dist/esm/cloud-file-manager.js.map +1 -1
  138. package/dist/esm/create-react-factory.d.ts +1 -0
  139. package/dist/esm/create-react-factory.js.map +1 -1
  140. package/dist/esm/providers/document-store-provider.js +7 -10
  141. package/dist/esm/providers/document-store-provider.js.map +1 -1
  142. package/dist/esm/providers/document-store-share-provider.js +4 -4
  143. package/dist/esm/providers/document-store-share-provider.js.map +1 -1
  144. package/dist/esm/providers/google-drive-provider.js +30 -34
  145. package/dist/esm/providers/google-drive-provider.js.map +1 -1
  146. package/dist/esm/providers/interactive-api-provider.d.ts +5 -2
  147. package/dist/esm/providers/interactive-api-provider.js +25 -20
  148. package/dist/esm/providers/interactive-api-provider.js.map +1 -1
  149. package/dist/esm/providers/lara-provider.js +18 -26
  150. package/dist/esm/providers/lara-provider.js.map +1 -1
  151. package/dist/esm/providers/legacy-google-drive-provider.js +21 -27
  152. package/dist/esm/providers/legacy-google-drive-provider.js.map +1 -1
  153. package/dist/esm/providers/localstorage-provider.js +11 -13
  154. package/dist/esm/providers/localstorage-provider.js.map +1 -1
  155. package/dist/esm/providers/patchable-content.js +1 -1
  156. package/dist/esm/providers/patchable-content.js.map +1 -1
  157. package/dist/esm/providers/post-message-provider.js +1 -1
  158. package/dist/esm/providers/post-message-provider.js.map +1 -1
  159. package/dist/esm/providers/provider-interface.d.ts +1 -2
  160. package/dist/esm/providers/provider-interface.js +11 -14
  161. package/dist/esm/providers/provider-interface.js.map +1 -1
  162. package/dist/esm/providers/readonly-provider.js +6 -6
  163. package/dist/esm/providers/readonly-provider.js.map +1 -1
  164. package/dist/esm/providers/s3-provider.js +1 -2
  165. package/dist/esm/providers/s3-provider.js.map +1 -1
  166. package/dist/esm/providers/s3-share-provider.js +1 -1
  167. package/dist/esm/providers/s3-share-provider.js.map +1 -1
  168. package/dist/esm/providers/test-provider.js +5 -5
  169. package/dist/esm/providers/test-provider.js.map +1 -1
  170. package/dist/esm/providers/url-provider.js +1 -1
  171. package/dist/esm/providers/url-provider.js.map +1 -1
  172. package/dist/esm/ui.js +2 -3
  173. package/dist/esm/ui.js.map +1 -1
  174. package/dist/esm/utils/focus-tracker.d.ts +3 -0
  175. package/dist/esm/utils/focus-tracker.js +38 -0
  176. package/dist/esm/utils/focus-tracker.js.map +1 -0
  177. package/dist/esm/utils/ios-file-saver.d.ts +42 -0
  178. package/dist/esm/utils/ios-file-saver.js +91 -0
  179. package/dist/esm/utils/ios-file-saver.js.map +1 -0
  180. package/dist/esm/utils/lang/en-US.json +9 -0
  181. package/dist/esm/utils/s3-share-provider-token-service-helper.js +19 -10
  182. package/dist/esm/utils/s3-share-provider-token-service-helper.js.map +1 -1
  183. package/dist/esm/utils/url-params.js +1 -2
  184. package/dist/esm/utils/url-params.js.map +1 -1
  185. package/dist/esm/views/alert-dialog-view.d.ts +9 -3
  186. package/dist/esm/views/alert-dialog-view.js +10 -25
  187. package/dist/esm/views/alert-dialog-view.js.map +1 -1
  188. package/dist/esm/views/app-view.d.ts +12 -5
  189. package/dist/esm/views/app-view.js +176 -184
  190. package/dist/esm/views/app-view.js.map +1 -1
  191. package/dist/esm/views/blocking-modal-view.d.ts +9 -3
  192. package/dist/esm/views/blocking-modal-view.js +9 -26
  193. package/dist/esm/views/blocking-modal-view.js.map +1 -1
  194. package/dist/esm/views/confirm-dialog-view.d.ts +14 -3
  195. package/dist/esm/views/confirm-dialog-view.js +15 -32
  196. package/dist/esm/views/confirm-dialog-view.js.map +1 -1
  197. package/dist/esm/views/download-dialog-view.d.ts +12 -3
  198. package/dist/esm/views/download-dialog-view.js +36 -63
  199. package/dist/esm/views/download-dialog-view.js.map +1 -1
  200. package/dist/esm/views/dropdown-anchors.d.ts +2 -2
  201. package/dist/esm/views/dropdown-anchors.js +4 -7
  202. package/dist/esm/views/dropdown-anchors.js.map +1 -1
  203. package/dist/esm/views/dropdown-view.d.ts +20 -3
  204. package/dist/esm/views/dropdown-view.js +40 -154
  205. package/dist/esm/views/dropdown-view.js.map +1 -1
  206. package/dist/esm/views/file-dialog-tab-view.d.ts +24 -2
  207. package/dist/esm/views/file-dialog-tab-view.js +256 -316
  208. package/dist/esm/views/file-dialog-tab-view.js.map +1 -1
  209. package/dist/esm/views/icons/spin.d.ts +2 -2
  210. package/dist/esm/views/icons/spin.js +2 -36
  211. package/dist/esm/views/icons/spin.js.map +1 -1
  212. package/dist/esm/views/import-tabbed-dialog-view.d.ts +12 -3
  213. package/dist/esm/views/import-tabbed-dialog-view.js +36 -68
  214. package/dist/esm/views/import-tabbed-dialog-view.js.map +1 -1
  215. package/dist/esm/views/local-file-tab-list-view.d.ts +14 -3
  216. package/dist/esm/views/local-file-tab-list-view.js +57 -66
  217. package/dist/esm/views/local-file-tab-list-view.js.map +1 -1
  218. package/dist/esm/views/local-file-tab-save-view.d.ts +32 -3
  219. package/dist/esm/views/local-file-tab-save-view.js +125 -138
  220. package/dist/esm/views/local-file-tab-save-view.js.map +1 -1
  221. package/dist/esm/views/menu-bar-view.d.ts +58 -3
  222. package/dist/esm/views/menu-bar-view.js +198 -185
  223. package/dist/esm/views/menu-bar-view.js.map +1 -1
  224. package/dist/esm/views/modal-dialog-view.js +7 -8
  225. package/dist/esm/views/modal-dialog-view.js.map +1 -1
  226. package/dist/esm/views/modal-tabbed-dialog-view.d.ts +15 -3
  227. package/dist/esm/views/modal-tabbed-dialog-view.js +7 -19
  228. package/dist/esm/views/modal-tabbed-dialog-view.js.map +1 -1
  229. package/dist/esm/views/modal-view.d.ts +5 -32
  230. package/dist/esm/views/modal-view.js +21 -61
  231. package/dist/esm/views/modal-view.js.map +1 -1
  232. package/dist/esm/views/provider-tabbed-dialog-view.d.ts +23 -3
  233. package/dist/esm/views/provider-tabbed-dialog-view.js +46 -54
  234. package/dist/esm/views/provider-tabbed-dialog-view.js.map +1 -1
  235. package/dist/esm/views/rename-dialog-view.d.ts +8 -3
  236. package/dist/esm/views/rename-dialog-view.js +25 -51
  237. package/dist/esm/views/rename-dialog-view.js.map +1 -1
  238. package/dist/esm/views/select-interactive-state-dialog-view.d.ts +1 -1
  239. package/dist/esm/views/select-interactive-state-dialog-view.js +4 -30
  240. package/dist/esm/views/select-interactive-state-dialog-view.js.map +1 -1
  241. package/dist/esm/views/select-provider-dialog-tab-view.d.ts +6 -1
  242. package/dist/esm/views/select-provider-dialog-tab-view.js +4 -9
  243. package/dist/esm/views/select-provider-dialog-tab-view.js.map +1 -1
  244. package/dist/esm/views/share-dialog-status-view.js +6 -13
  245. package/dist/esm/views/share-dialog-status-view.js.map +1 -1
  246. package/dist/esm/views/share-dialog-tabs-view.js +22 -61
  247. package/dist/esm/views/share-dialog-tabs-view.js.map +1 -1
  248. package/dist/esm/views/share-dialog-view.d.ts +1 -1
  249. package/dist/esm/views/share-dialog-view.js +15 -21
  250. package/dist/esm/views/share-dialog-view.js.map +1 -1
  251. package/dist/esm/views/share-loading-view.d.ts +2 -2
  252. package/dist/esm/views/share-loading-view.js +2 -4
  253. package/dist/esm/views/share-loading-view.js.map +1 -1
  254. package/dist/esm/views/tabbed-panel-view.d.ts +16 -3
  255. package/dist/esm/views/tabbed-panel-view.js +25 -72
  256. package/dist/esm/views/tabbed-panel-view.js.map +1 -1
  257. package/dist/esm/views/url-tab-view.d.ts +12 -3
  258. package/dist/esm/views/url-tab-view.js +31 -46
  259. package/dist/esm/views/url-tab-view.js.map +1 -1
  260. package/dist/examples/codap3-local-file.html +42 -0
  261. package/dist/examples/index.html +2 -0
  262. package/dist/examples/local-json-save.html +36 -0
  263. package/dist/index.html +1 -1
  264. package/dist/js/app.js +1 -1
  265. package/dist/js/app.js.LICENSE.txt +41 -11
  266. package/dist/js/app.js.map +1 -1
  267. package/dist/js/globals.js +1 -1
  268. package/dist/js/globals.js.map +1 -1
  269. package/package.json +40 -36
  270. package/readme.md +4 -0
  271. package/dist/cjs/lib/file-saver.d.ts +0 -2
  272. package/dist/cjs/lib/file-saver.js +0 -164
  273. package/dist/cjs/lib/file-saver.js.map +0 -1
  274. package/dist/esm/lib/file-saver.d.ts +0 -2
  275. package/dist/esm/lib/file-saver.js +0 -164
  276. package/dist/esm/lib/file-saver.js.map +0 -1
package/dist/347 ADDED
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ (self["webpackChunk"] = self["webpackChunk"] || []).push([[347],{
3
+
4
+ /***/ 47347
5
+ (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6
+
7
+
8
+ // EXPORTS
9
+ __webpack_require__.d(__webpack_exports__, {
10
+ EventStreamSerde: () => (/* reexport */ EventStreamSerde)
11
+ });
12
+
13
+ // EXTERNAL MODULE: ../node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js
14
+ var toUtf8_browser = __webpack_require__(64004);
15
+ // EXTERNAL MODULE: ../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js
16
+ var fromUtf8_browser = __webpack_require__(96169);
17
+ ;// ../node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js
18
+
19
+ class EventStreamSerde {
20
+ marshaller;
21
+ serializer;
22
+ deserializer;
23
+ serdeContext;
24
+ defaultContentType;
25
+ constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {
26
+ this.marshaller = marshaller;
27
+ this.serializer = serializer;
28
+ this.deserializer = deserializer;
29
+ this.serdeContext = serdeContext;
30
+ this.defaultContentType = defaultContentType;
31
+ }
32
+ async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {
33
+ const marshaller = this.marshaller;
34
+ const eventStreamMember = requestSchema.getEventStreamMember();
35
+ const unionSchema = requestSchema.getMemberSchema(eventStreamMember);
36
+ const serializer = this.serializer;
37
+ const defaultContentType = this.defaultContentType;
38
+ const initialRequestMarker = Symbol("initialRequestMarker");
39
+ const eventStreamIterable = {
40
+ async *[Symbol.asyncIterator]() {
41
+ if (initialRequest) {
42
+ const headers = {
43
+ ":event-type": { type: "string", value: "initial-request" },
44
+ ":message-type": { type: "string", value: "event" },
45
+ ":content-type": { type: "string", value: defaultContentType },
46
+ };
47
+ serializer.write(requestSchema, initialRequest);
48
+ const body = serializer.flush();
49
+ yield {
50
+ [initialRequestMarker]: true,
51
+ headers,
52
+ body,
53
+ };
54
+ }
55
+ for await (const page of eventStream) {
56
+ yield page;
57
+ }
58
+ },
59
+ };
60
+ return marshaller.serialize(eventStreamIterable, (event) => {
61
+ if (event[initialRequestMarker]) {
62
+ return {
63
+ headers: event.headers,
64
+ body: event.body,
65
+ };
66
+ }
67
+ const unionMember = Object.keys(event).find((key) => {
68
+ return key !== "__type";
69
+ }) ?? "";
70
+ const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);
71
+ const headers = {
72
+ ":event-type": { type: "string", value: eventType },
73
+ ":message-type": { type: "string", value: "event" },
74
+ ":content-type": { type: "string", value: explicitPayloadContentType ?? defaultContentType },
75
+ ...additionalHeaders,
76
+ };
77
+ return {
78
+ headers,
79
+ body,
80
+ };
81
+ });
82
+ }
83
+ async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {
84
+ const marshaller = this.marshaller;
85
+ const eventStreamMember = responseSchema.getEventStreamMember();
86
+ const unionSchema = responseSchema.getMemberSchema(eventStreamMember);
87
+ const memberSchemas = unionSchema.getMemberSchemas();
88
+ const initialResponseMarker = Symbol("initialResponseMarker");
89
+ const asyncIterable = marshaller.deserialize(response.body, async (event) => {
90
+ const unionMember = Object.keys(event).find((key) => {
91
+ return key !== "__type";
92
+ }) ?? "";
93
+ const body = event[unionMember].body;
94
+ if (unionMember === "initial-response") {
95
+ const dataObject = await this.deserializer.read(responseSchema, body);
96
+ delete dataObject[eventStreamMember];
97
+ return {
98
+ [initialResponseMarker]: true,
99
+ ...dataObject,
100
+ };
101
+ }
102
+ else if (unionMember in memberSchemas) {
103
+ const eventStreamSchema = memberSchemas[unionMember];
104
+ if (eventStreamSchema.isStructSchema()) {
105
+ const out = {};
106
+ let hasBindings = false;
107
+ for (const [name, member] of eventStreamSchema.structIterator()) {
108
+ const { eventHeader, eventPayload } = member.getMergedTraits();
109
+ hasBindings = hasBindings || Boolean(eventHeader || eventPayload);
110
+ if (eventPayload) {
111
+ if (member.isBlobSchema()) {
112
+ out[name] = body;
113
+ }
114
+ else if (member.isStringSchema()) {
115
+ out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8_browser/* toUtf8 */.P)(body);
116
+ }
117
+ else if (member.isStructSchema()) {
118
+ out[name] = await this.deserializer.read(member, body);
119
+ }
120
+ }
121
+ else if (eventHeader) {
122
+ const value = event[unionMember].headers[name]?.value;
123
+ if (value != null) {
124
+ if (member.isNumericSchema()) {
125
+ if (value && typeof value === "object" && "bytes" in value) {
126
+ out[name] = BigInt(value.toString());
127
+ }
128
+ else {
129
+ out[name] = Number(value);
130
+ }
131
+ }
132
+ else {
133
+ out[name] = value;
134
+ }
135
+ }
136
+ }
137
+ }
138
+ if (hasBindings) {
139
+ return {
140
+ [unionMember]: out,
141
+ };
142
+ }
143
+ if (body.byteLength === 0) {
144
+ return {
145
+ [unionMember]: {},
146
+ };
147
+ }
148
+ }
149
+ return {
150
+ [unionMember]: await this.deserializer.read(eventStreamSchema, body),
151
+ };
152
+ }
153
+ else {
154
+ return {
155
+ $unknown: event,
156
+ };
157
+ }
158
+ });
159
+ const asyncIterator = asyncIterable[Symbol.asyncIterator]();
160
+ const firstEvent = await asyncIterator.next();
161
+ if (firstEvent.done) {
162
+ return asyncIterable;
163
+ }
164
+ if (firstEvent.value?.[initialResponseMarker]) {
165
+ if (!responseSchema) {
166
+ throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");
167
+ }
168
+ for (const [key, value] of Object.entries(firstEvent.value)) {
169
+ initialResponseContainer[key] = value;
170
+ }
171
+ }
172
+ return {
173
+ async *[Symbol.asyncIterator]() {
174
+ if (!firstEvent?.value?.[initialResponseMarker]) {
175
+ yield firstEvent.value;
176
+ }
177
+ while (true) {
178
+ const { done, value } = await asyncIterator.next();
179
+ if (done) {
180
+ break;
181
+ }
182
+ yield value;
183
+ }
184
+ },
185
+ };
186
+ }
187
+ writeEventBody(unionMember, unionSchema, event) {
188
+ const serializer = this.serializer;
189
+ let eventType = unionMember;
190
+ let explicitPayloadMember = null;
191
+ let explicitPayloadContentType;
192
+ const isKnownSchema = (() => {
193
+ const struct = unionSchema.getSchema();
194
+ return struct[4].includes(unionMember);
195
+ })();
196
+ const additionalHeaders = {};
197
+ if (!isKnownSchema) {
198
+ const [type, value] = event[unionMember];
199
+ eventType = type;
200
+ serializer.write(15, value);
201
+ }
202
+ else {
203
+ const eventSchema = unionSchema.getMemberSchema(unionMember);
204
+ if (eventSchema.isStructSchema()) {
205
+ for (const [memberName, memberSchema] of eventSchema.structIterator()) {
206
+ const { eventHeader, eventPayload } = memberSchema.getMergedTraits();
207
+ if (eventPayload) {
208
+ explicitPayloadMember = memberName;
209
+ }
210
+ else if (eventHeader) {
211
+ const value = event[unionMember][memberName];
212
+ let type = "binary";
213
+ if (memberSchema.isNumericSchema()) {
214
+ if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {
215
+ type = "integer";
216
+ }
217
+ else {
218
+ type = "long";
219
+ }
220
+ }
221
+ else if (memberSchema.isTimestampSchema()) {
222
+ type = "timestamp";
223
+ }
224
+ else if (memberSchema.isStringSchema()) {
225
+ type = "string";
226
+ }
227
+ else if (memberSchema.isBooleanSchema()) {
228
+ type = "boolean";
229
+ }
230
+ if (value != null) {
231
+ additionalHeaders[memberName] = {
232
+ type,
233
+ value,
234
+ };
235
+ delete event[unionMember][memberName];
236
+ }
237
+ }
238
+ }
239
+ if (explicitPayloadMember !== null) {
240
+ const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);
241
+ if (payloadSchema.isBlobSchema()) {
242
+ explicitPayloadContentType = "application/octet-stream";
243
+ }
244
+ else if (payloadSchema.isStringSchema()) {
245
+ explicitPayloadContentType = "text/plain";
246
+ }
247
+ serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);
248
+ }
249
+ else {
250
+ serializer.write(eventSchema, event[unionMember]);
251
+ }
252
+ }
253
+ else {
254
+ throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");
255
+ }
256
+ }
257
+ const messageSerialization = serializer.flush();
258
+ const body = typeof messageSerialization === "string"
259
+ ? (this.serdeContext?.utf8Decoder ?? fromUtf8_browser/* fromUtf8 */.a)(messageSerialization)
260
+ : messageSerialization;
261
+ return {
262
+ body,
263
+ eventType,
264
+ explicitPayloadContentType,
265
+ additionalHeaders,
266
+ };
267
+ }
268
+ }
269
+
270
+ ;// ../node_modules/@smithy/core/dist-es/submodules/event-streams/index.js
271
+
272
+
273
+
274
+ /***/ }
275
+
276
+ }]);