@multiplayer-app/session-recorder-react-native 1.3.37 → 2.0.17-alpha.10

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 (280) hide show
  1. package/package.json +4 -4
  2. package/src/NativeSessionRecorderModule.ts +4 -2
  3. package/src/NativeSessionRecorderModuleSpec.ts +4 -2
  4. package/src/NativeSessionRecorderNative.ts +1 -1
  5. package/src/index.ts +0 -1
  6. package/src/otel/instrumentations/index.ts +22 -22
  7. package/src/session-recorder.ts +4 -0
  8. package/src/types/configs.ts +1 -2
  9. package/lib/module/NativeSessionRecorderModule.js +0 -5
  10. package/lib/module/NativeSessionRecorderModule.js.map +0 -1
  11. package/lib/module/NativeSessionRecorderModuleSpec.js +0 -5
  12. package/lib/module/NativeSessionRecorderModuleSpec.js.map +0 -1
  13. package/lib/module/NativeSessionRecorderNative.js +0 -5
  14. package/lib/module/NativeSessionRecorderNative.js.map +0 -1
  15. package/lib/module/components/ErrorBoundary.js +0 -32
  16. package/lib/module/components/ErrorBoundary.js.map +0 -1
  17. package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js +0 -23
  18. package/lib/module/components/ScreenRecorderView/ScreenRecorderView.js.map +0 -1
  19. package/lib/module/components/ScreenRecorderView/index.js +0 -4
  20. package/lib/module/components/ScreenRecorderView/index.js.map +0 -1
  21. package/lib/module/components/SessionRecorderWidget/ErrorBanner.js +0 -64
  22. package/lib/module/components/SessionRecorderWidget/ErrorBanner.js.map +0 -1
  23. package/lib/module/components/SessionRecorderWidget/FinalPopover.js +0 -74
  24. package/lib/module/components/SessionRecorderWidget/FinalPopover.js.map +0 -1
  25. package/lib/module/components/SessionRecorderWidget/FloatingButton.js +0 -191
  26. package/lib/module/components/SessionRecorderWidget/FloatingButton.js.map +0 -1
  27. package/lib/module/components/SessionRecorderWidget/InitialPopover.js +0 -138
  28. package/lib/module/components/SessionRecorderWidget/InitialPopover.js.map +0 -1
  29. package/lib/module/components/SessionRecorderWidget/ModalContainer.js +0 -177
  30. package/lib/module/components/SessionRecorderWidget/ModalContainer.js.map +0 -1
  31. package/lib/module/components/SessionRecorderWidget/ModalHeader.js +0 -27
  32. package/lib/module/components/SessionRecorderWidget/ModalHeader.js.map +0 -1
  33. package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js +0 -133
  34. package/lib/module/components/SessionRecorderWidget/SessionRecorderWidget.js.map +0 -1
  35. package/lib/module/components/SessionRecorderWidget/icons.js +0 -93
  36. package/lib/module/components/SessionRecorderWidget/icons.js.map +0 -1
  37. package/lib/module/components/SessionRecorderWidget/index.js +0 -5
  38. package/lib/module/components/SessionRecorderWidget/index.js.map +0 -1
  39. package/lib/module/components/SessionRecorderWidget/styles.js +0 -173
  40. package/lib/module/components/SessionRecorderWidget/styles.js.map +0 -1
  41. package/lib/module/components/index.js +0 -6
  42. package/lib/module/components/index.js.map +0 -1
  43. package/lib/module/config/constants.js +0 -47
  44. package/lib/module/config/constants.js.map +0 -1
  45. package/lib/module/config/defaults.js +0 -87
  46. package/lib/module/config/defaults.js.map +0 -1
  47. package/lib/module/config/index.js +0 -9
  48. package/lib/module/config/index.js.map +0 -1
  49. package/lib/module/config/masking.js +0 -35
  50. package/lib/module/config/masking.js.map +0 -1
  51. package/lib/module/config/session-recorder.js +0 -50
  52. package/lib/module/config/session-recorder.js.map +0 -1
  53. package/lib/module/config/validators.js +0 -28
  54. package/lib/module/config/validators.js.map +0 -1
  55. package/lib/module/config/widget.js +0 -35
  56. package/lib/module/config/widget.js.map +0 -1
  57. package/lib/module/context/SessionRecorderContext.js +0 -100
  58. package/lib/module/context/SessionRecorderContext.js.map +0 -1
  59. package/lib/module/context/SessionRecorderStore.js +0 -12
  60. package/lib/module/context/SessionRecorderStore.js.map +0 -1
  61. package/lib/module/context/createStore.js +0 -27
  62. package/lib/module/context/createStore.js.map +0 -1
  63. package/lib/module/context/useSessionRecorderStore.js +0 -45
  64. package/lib/module/context/useSessionRecorderStore.js.map +0 -1
  65. package/lib/module/context/useStoreSelector.js +0 -27
  66. package/lib/module/context/useStoreSelector.js.map +0 -1
  67. package/lib/module/index.js +0 -14
  68. package/lib/module/index.js.map +0 -1
  69. package/lib/module/native/SessionRecorderNative.js +0 -76
  70. package/lib/module/native/SessionRecorderNative.js.map +0 -1
  71. package/lib/module/native/index.js +0 -4
  72. package/lib/module/native/index.js.map +0 -1
  73. package/lib/module/otel/CrashBufferSpanProcessor.js +0 -42
  74. package/lib/module/otel/CrashBufferSpanProcessor.js.map +0 -1
  75. package/lib/module/otel/helpers.js +0 -218
  76. package/lib/module/otel/helpers.js.map +0 -1
  77. package/lib/module/otel/index.js +0 -202
  78. package/lib/module/otel/index.js.map +0 -1
  79. package/lib/module/otel/instrumentations/index.js +0 -122
  80. package/lib/module/otel/instrumentations/index.js.map +0 -1
  81. package/lib/module/package.json +0 -1
  82. package/lib/module/patch/configs.js +0 -18
  83. package/lib/module/patch/configs.js.map +0 -1
  84. package/lib/module/patch/fetch.js +0 -222
  85. package/lib/module/patch/fetch.js.map +0 -1
  86. package/lib/module/patch/index.js +0 -6
  87. package/lib/module/patch/index.js.map +0 -1
  88. package/lib/module/patch/xhr.js +0 -100
  89. package/lib/module/patch/xhr.js.map +0 -1
  90. package/lib/module/recorder/gestureRecorder.js +0 -641
  91. package/lib/module/recorder/gestureRecorder.js.map +0 -1
  92. package/lib/module/recorder/index.js +0 -176
  93. package/lib/module/recorder/index.js.map +0 -1
  94. package/lib/module/recorder/navigationRecorder.js +0 -238
  95. package/lib/module/recorder/navigationRecorder.js.map +0 -1
  96. package/lib/module/recorder/screenRecorder.js +0 -527
  97. package/lib/module/recorder/screenRecorder.js.map +0 -1
  98. package/lib/module/services/api.service.js +0 -166
  99. package/lib/module/services/api.service.js.map +0 -1
  100. package/lib/module/services/crashBuffer.service.js +0 -280
  101. package/lib/module/services/crashBuffer.service.js.map +0 -1
  102. package/lib/module/services/network.service.js +0 -178
  103. package/lib/module/services/network.service.js.map +0 -1
  104. package/lib/module/services/screenRecordingService.js +0 -107
  105. package/lib/module/services/screenRecordingService.js.map +0 -1
  106. package/lib/module/services/socket.service.js +0 -186
  107. package/lib/module/services/socket.service.js.map +0 -1
  108. package/lib/module/services/storage.service.js +0 -178
  109. package/lib/module/services/storage.service.js.map +0 -1
  110. package/lib/module/session-recorder.js +0 -750
  111. package/lib/module/session-recorder.js.map +0 -1
  112. package/lib/module/types/configs.js +0 -4
  113. package/lib/module/types/configs.js.map +0 -1
  114. package/lib/module/types/expo-constants.d.js +0 -2
  115. package/lib/module/types/expo-constants.d.js.map +0 -1
  116. package/lib/module/types/index.js +0 -10
  117. package/lib/module/types/index.js.map +0 -1
  118. package/lib/module/types/session-recorder.js +0 -68
  119. package/lib/module/types/session-recorder.js.map +0 -1
  120. package/lib/module/utils/app-metadata.js +0 -28
  121. package/lib/module/utils/app-metadata.js.map +0 -1
  122. package/lib/module/utils/constants.optional.expo.js +0 -6
  123. package/lib/module/utils/constants.optional.expo.js.map +0 -1
  124. package/lib/module/utils/constants.optional.js +0 -8
  125. package/lib/module/utils/constants.optional.js.map +0 -1
  126. package/lib/module/utils/index.js +0 -11
  127. package/lib/module/utils/index.js.map +0 -1
  128. package/lib/module/utils/logger.js +0 -185
  129. package/lib/module/utils/logger.js.map +0 -1
  130. package/lib/module/utils/platform.js +0 -340
  131. package/lib/module/utils/platform.js.map +0 -1
  132. package/lib/module/utils/request-utils.js +0 -58
  133. package/lib/module/utils/request-utils.js.map +0 -1
  134. package/lib/module/utils/rrweb-events.js +0 -276
  135. package/lib/module/utils/rrweb-events.js.map +0 -1
  136. package/lib/module/utils/session.js +0 -21
  137. package/lib/module/utils/session.js.map +0 -1
  138. package/lib/module/utils/shallowEqual.js +0 -17
  139. package/lib/module/utils/shallowEqual.js.map +0 -1
  140. package/lib/module/utils/time.js +0 -17
  141. package/lib/module/utils/time.js.map +0 -1
  142. package/lib/module/utils/type-utils.js +0 -69
  143. package/lib/module/utils/type-utils.js.map +0 -1
  144. package/lib/module/version.js +0 -4
  145. package/lib/module/version.js.map +0 -1
  146. package/lib/typescript/package.json +0 -1
  147. package/lib/typescript/src/NativeSessionRecorderModule.d.ts +0 -25
  148. package/lib/typescript/src/NativeSessionRecorderModule.d.ts.map +0 -1
  149. package/lib/typescript/src/NativeSessionRecorderModuleSpec.d.ts +0 -25
  150. package/lib/typescript/src/NativeSessionRecorderModuleSpec.d.ts.map +0 -1
  151. package/lib/typescript/src/NativeSessionRecorderNative.d.ts +0 -25
  152. package/lib/typescript/src/NativeSessionRecorderNative.d.ts.map +0 -1
  153. package/lib/typescript/src/components/ErrorBoundary.d.ts +0 -16
  154. package/lib/typescript/src/components/ErrorBoundary.d.ts.map +0 -1
  155. package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts +0 -6
  156. package/lib/typescript/src/components/ScreenRecorderView/ScreenRecorderView.d.ts.map +0 -1
  157. package/lib/typescript/src/components/ScreenRecorderView/index.d.ts +0 -2
  158. package/lib/typescript/src/components/ScreenRecorderView/index.d.ts.map +0 -1
  159. package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts +0 -8
  160. package/lib/typescript/src/components/SessionRecorderWidget/ErrorBanner.d.ts.map +0 -1
  161. package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts +0 -13
  162. package/lib/typescript/src/components/SessionRecorderWidget/FinalPopover.d.ts.map +0 -1
  163. package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts +0 -9
  164. package/lib/typescript/src/components/SessionRecorderWidget/FloatingButton.d.ts.map +0 -1
  165. package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts +0 -17
  166. package/lib/typescript/src/components/SessionRecorderWidget/InitialPopover.d.ts.map +0 -1
  167. package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts +0 -9
  168. package/lib/typescript/src/components/SessionRecorderWidget/ModalContainer.d.ts.map +0 -1
  169. package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts +0 -7
  170. package/lib/typescript/src/components/SessionRecorderWidget/ModalHeader.d.ts.map +0 -1
  171. package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts +0 -6
  172. package/lib/typescript/src/components/SessionRecorderWidget/SessionRecorderWidget.d.ts.map +0 -1
  173. package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts +0 -12
  174. package/lib/typescript/src/components/SessionRecorderWidget/icons.d.ts.map +0 -1
  175. package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts +0 -3
  176. package/lib/typescript/src/components/SessionRecorderWidget/index.d.ts.map +0 -1
  177. package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts +0 -166
  178. package/lib/typescript/src/components/SessionRecorderWidget/styles.d.ts.map +0 -1
  179. package/lib/typescript/src/components/index.d.ts +0 -4
  180. package/lib/typescript/src/components/index.d.ts.map +0 -1
  181. package/lib/typescript/src/config/constants.d.ts +0 -22
  182. package/lib/typescript/src/config/constants.d.ts.map +0 -1
  183. package/lib/typescript/src/config/defaults.d.ts +0 -5
  184. package/lib/typescript/src/config/defaults.d.ts.map +0 -1
  185. package/lib/typescript/src/config/index.d.ts +0 -6
  186. package/lib/typescript/src/config/index.d.ts.map +0 -1
  187. package/lib/typescript/src/config/masking.d.ts +0 -3
  188. package/lib/typescript/src/config/masking.d.ts.map +0 -1
  189. package/lib/typescript/src/config/session-recorder.d.ts +0 -3
  190. package/lib/typescript/src/config/session-recorder.d.ts.map +0 -1
  191. package/lib/typescript/src/config/validators.d.ts +0 -11
  192. package/lib/typescript/src/config/validators.d.ts.map +0 -1
  193. package/lib/typescript/src/config/widget.d.ts +0 -10
  194. package/lib/typescript/src/config/widget.d.ts.map +0 -1
  195. package/lib/typescript/src/context/SessionRecorderContext.d.ts +0 -22
  196. package/lib/typescript/src/context/SessionRecorderContext.d.ts.map +0 -1
  197. package/lib/typescript/src/context/SessionRecorderStore.d.ts +0 -13
  198. package/lib/typescript/src/context/SessionRecorderStore.d.ts.map +0 -1
  199. package/lib/typescript/src/context/createStore.d.ts +0 -9
  200. package/lib/typescript/src/context/createStore.d.ts.map +0 -1
  201. package/lib/typescript/src/context/useSessionRecorderStore.d.ts +0 -29
  202. package/lib/typescript/src/context/useSessionRecorderStore.d.ts.map +0 -1
  203. package/lib/typescript/src/context/useStoreSelector.d.ts +0 -5
  204. package/lib/typescript/src/context/useStoreSelector.d.ts.map +0 -1
  205. package/lib/typescript/src/index.d.ts +0 -9
  206. package/lib/typescript/src/index.d.ts.map +0 -1
  207. package/lib/typescript/src/native/SessionRecorderNative.d.ts +0 -29
  208. package/lib/typescript/src/native/SessionRecorderNative.d.ts.map +0 -1
  209. package/lib/typescript/src/native/index.d.ts +0 -2
  210. package/lib/typescript/src/native/index.d.ts.map +0 -1
  211. package/lib/typescript/src/otel/CrashBufferSpanProcessor.d.ts +0 -17
  212. package/lib/typescript/src/otel/CrashBufferSpanProcessor.d.ts.map +0 -1
  213. package/lib/typescript/src/otel/helpers.d.ts +0 -46
  214. package/lib/typescript/src/otel/helpers.d.ts.map +0 -1
  215. package/lib/typescript/src/otel/index.d.ts +0 -33
  216. package/lib/typescript/src/otel/index.d.ts.map +0 -1
  217. package/lib/typescript/src/otel/instrumentations/index.d.ts +0 -5
  218. package/lib/typescript/src/otel/instrumentations/index.d.ts.map +0 -1
  219. package/lib/typescript/src/patch/configs.d.ts +0 -9
  220. package/lib/typescript/src/patch/configs.d.ts.map +0 -1
  221. package/lib/typescript/src/patch/fetch.d.ts +0 -2
  222. package/lib/typescript/src/patch/fetch.d.ts.map +0 -1
  223. package/lib/typescript/src/patch/index.d.ts +0 -4
  224. package/lib/typescript/src/patch/index.d.ts.map +0 -1
  225. package/lib/typescript/src/patch/xhr.d.ts +0 -2
  226. package/lib/typescript/src/patch/xhr.d.ts.map +0 -1
  227. package/lib/typescript/src/recorder/gestureRecorder.d.ts +0 -66
  228. package/lib/typescript/src/recorder/gestureRecorder.d.ts.map +0 -1
  229. package/lib/typescript/src/recorder/index.d.ts +0 -79
  230. package/lib/typescript/src/recorder/index.d.ts.map +0 -1
  231. package/lib/typescript/src/recorder/navigationRecorder.d.ts +0 -29
  232. package/lib/typescript/src/recorder/navigationRecorder.d.ts.map +0 -1
  233. package/lib/typescript/src/recorder/screenRecorder.d.ts +0 -127
  234. package/lib/typescript/src/recorder/screenRecorder.d.ts.map +0 -1
  235. package/lib/typescript/src/services/api.service.d.ts +0 -116
  236. package/lib/typescript/src/services/api.service.d.ts.map +0 -1
  237. package/lib/typescript/src/services/crashBuffer.service.d.ts +0 -27
  238. package/lib/typescript/src/services/crashBuffer.service.d.ts.map +0 -1
  239. package/lib/typescript/src/services/network.service.d.ts +0 -47
  240. package/lib/typescript/src/services/network.service.d.ts.map +0 -1
  241. package/lib/typescript/src/services/screenRecordingService.d.ts +0 -48
  242. package/lib/typescript/src/services/screenRecordingService.d.ts.map +0 -1
  243. package/lib/typescript/src/services/socket.service.d.ts +0 -44
  244. package/lib/typescript/src/services/socket.service.d.ts.map +0 -1
  245. package/lib/typescript/src/services/storage.service.d.ts +0 -47
  246. package/lib/typescript/src/services/storage.service.d.ts.map +0 -1
  247. package/lib/typescript/src/session-recorder.d.ts +0 -191
  248. package/lib/typescript/src/session-recorder.d.ts.map +0 -1
  249. package/lib/typescript/src/types/configs.d.ts +0 -92
  250. package/lib/typescript/src/types/configs.d.ts.map +0 -1
  251. package/lib/typescript/src/types/index.d.ts +0 -21
  252. package/lib/typescript/src/types/index.d.ts.map +0 -1
  253. package/lib/typescript/src/types/session-recorder.d.ts +0 -367
  254. package/lib/typescript/src/types/session-recorder.d.ts.map +0 -1
  255. package/lib/typescript/src/utils/app-metadata.d.ts +0 -17
  256. package/lib/typescript/src/utils/app-metadata.d.ts.map +0 -1
  257. package/lib/typescript/src/utils/constants.optional.d.ts +0 -22
  258. package/lib/typescript/src/utils/constants.optional.d.ts.map +0 -1
  259. package/lib/typescript/src/utils/constants.optional.expo.d.ts +0 -4
  260. package/lib/typescript/src/utils/constants.optional.expo.d.ts.map +0 -1
  261. package/lib/typescript/src/utils/index.d.ts +0 -8
  262. package/lib/typescript/src/utils/index.d.ts.map +0 -1
  263. package/lib/typescript/src/utils/logger.d.ts +0 -108
  264. package/lib/typescript/src/utils/logger.d.ts.map +0 -1
  265. package/lib/typescript/src/utils/platform.d.ts +0 -58
  266. package/lib/typescript/src/utils/platform.d.ts.map +0 -1
  267. package/lib/typescript/src/utils/request-utils.d.ts +0 -22
  268. package/lib/typescript/src/utils/request-utils.d.ts.map +0 -1
  269. package/lib/typescript/src/utils/rrweb-events.d.ts +0 -67
  270. package/lib/typescript/src/utils/rrweb-events.d.ts.map +0 -1
  271. package/lib/typescript/src/utils/session.d.ts +0 -7
  272. package/lib/typescript/src/utils/session.d.ts.map +0 -1
  273. package/lib/typescript/src/utils/shallowEqual.d.ts +0 -2
  274. package/lib/typescript/src/utils/shallowEqual.d.ts.map +0 -1
  275. package/lib/typescript/src/utils/time.d.ts +0 -5
  276. package/lib/typescript/src/utils/time.d.ts.map +0 -1
  277. package/lib/typescript/src/utils/type-utils.d.ts +0 -17
  278. package/lib/typescript/src/utils/type-utils.d.ts.map +0 -1
  279. package/lib/typescript/src/version.d.ts +0 -2
  280. package/lib/typescript/src/version.d.ts.map +0 -1
@@ -1,202 +0,0 @@
1
- "use strict";
2
-
3
- import { resourceFromAttributes } from '@opentelemetry/resources';
4
- import { W3CTraceContextPropagator } from '@opentelemetry/core';
5
- import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
6
- import * as SemanticAttributes from '@opentelemetry/semantic-conventions';
7
- import { registerInstrumentations } from '@opentelemetry/instrumentation';
8
- import { SessionType, SessionRecorderSdk, SessionRecorderIdGenerator, SessionRecorderBrowserTraceExporter, ATTR_MULTIPLAYER_SESSION_ID, MULTIPLAYER_TRACE_CLIENT_ID_LENGTH, SessionRecorderTraceIdRatioBasedSampler } from '@multiplayer-app/session-recorder-common';
9
- import { getInstrumentations } from "./instrumentations/index.js";
10
- import { getExporterEndpoint } from "./helpers.js";
11
- import { getPlatformAttributes } from "../utils/platform.js";
12
- import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
13
- import { CrashBufferSpanProcessor } from "./CrashBufferSpanProcessor.js";
14
- const clientIdGenerator = SessionRecorderSdk.getIdGenerator(MULTIPLAYER_TRACE_CLIENT_ID_LENGTH);
15
- export class TracerReactNativeSDK {
16
- clientId = '';
17
- sessionId = '';
18
- globalErrorHandlerRegistered = false;
19
- constructor() {}
20
- _setSessionId(sessionId, sessionType = SessionType.MANUAL) {
21
- this.sessionId = sessionId;
22
- if (!this.idGenerator) {
23
- throw new Error('Id generator not initialized');
24
- }
25
- this.idGenerator.setSessionId(sessionId, sessionType, this.clientId);
26
- }
27
- init(options) {
28
- this.config = options;
29
- this.clientId = clientIdGenerator();
30
- const {
31
- application,
32
- version,
33
- environment
34
- } = this.config;
35
- this.idGenerator = new SessionRecorderIdGenerator();
36
- this._setSessionId('', SessionType.SESSION_CACHE);
37
- this.exporter = new SessionRecorderBrowserTraceExporter({
38
- apiKey: options.apiKey,
39
- url: getExporterEndpoint(options.exporterEndpoint)
40
- });
41
- const resourceAttributes = resourceFromAttributes({
42
- [SemanticAttributes.SEMRESATTRS_SERVICE_NAME]: application,
43
- [SemanticAttributes.SEMRESATTRS_SERVICE_VERSION]: version,
44
- [SemanticAttributes.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT]: environment,
45
- ...getPlatformAttributes()
46
- });
47
- SessionRecorderSdk.setResourceAttributes(resourceAttributes.attributes);
48
- this.tracerProvider = new WebTracerProvider({
49
- resource: resourceAttributes,
50
- idGenerator: this.idGenerator,
51
- sampler: new SessionRecorderTraceIdRatioBasedSampler(this.config.sampleTraceRatio),
52
- spanProcessors: [this._getSpanSessionIdProcessor(), new BatchSpanProcessor(this.exporter), new CrashBufferSpanProcessor(this.crashBuffer, this.exporter.serializeSpan)]
53
- });
54
- this.tracerProvider.register({
55
- propagator: new W3CTraceContextPropagator()
56
- });
57
-
58
- // Register instrumentations
59
- registerInstrumentations({
60
- tracerProvider: this.tracerProvider,
61
- instrumentations: getInstrumentations(this.config)
62
- });
63
- this._registerGlobalErrorHandlers();
64
- }
65
- setCrashBuffer(crashBuffer, windowMs) {
66
- this.crashBuffer = crashBuffer;
67
- if (crashBuffer && typeof windowMs === 'number' && Number.isFinite(windowMs)) {
68
- crashBuffer.setDefaultWindowMs(windowMs);
69
- }
70
- }
71
- async exportTraces(spans) {
72
- if (!this.exporter) {
73
- throw new Error('Trace exporter not initialized');
74
- }
75
- if (!spans || spans.length === 0) {
76
- return Promise.resolve();
77
- }
78
- const readableSpans = spans.map(s => TracerReactNativeSDK._toReadableSpanLike(s));
79
- return new Promise(resolve => {
80
- this.exporter?.exportBuffer(readableSpans, result => {
81
- resolve(result);
82
- });
83
- });
84
- }
85
- start(sessionId, sessionType) {
86
- if (!this.tracerProvider) {
87
- throw new Error('Configuration not initialized. Call init() before start().');
88
- }
89
- this._setSessionId(sessionId, sessionType);
90
- }
91
- stop() {
92
- if (!this.tracerProvider) {
93
- throw new Error('Configuration not initialized. Call init() before start().');
94
- }
95
- this._setSessionId('', SessionType.SESSION_CACHE);
96
- }
97
- setApiKey(apiKey) {
98
- if (!this.exporter) {
99
- throw new Error('Configuration not initialized. Call init() before setApiKey().');
100
- }
101
- this.exporter.setApiKey(apiKey);
102
- }
103
-
104
- /**
105
- * Capture an exception as an error span/event.
106
- * If there is an active span, the exception will be recorded on it.
107
- * Otherwise, a short-lived span will be created to hold the exception event.
108
- */
109
- captureException(error, errorInfo) {
110
- if (!error) return;
111
- SessionRecorderSdk.captureException(error, errorInfo);
112
- }
113
- _getSpanSessionIdProcessor() {
114
- return {
115
- onStart: span => {
116
- if (this.sessionId) {
117
- span.setAttribute(ATTR_MULTIPLAYER_SESSION_ID, this.sessionId);
118
- }
119
- },
120
- onEnd: () => {},
121
- shutdown: () => Promise.resolve(),
122
- forceFlush: () => Promise.resolve()
123
- };
124
- }
125
- _registerGlobalErrorHandlers() {
126
- if (this.globalErrorHandlerRegistered) return;
127
-
128
- // React Native global error handler
129
-
130
- const ErrorUtilsRef = global.ErrorUtils;
131
- if (ErrorUtilsRef && typeof ErrorUtilsRef.setGlobalHandler === 'function') {
132
- const previous = ErrorUtilsRef.getGlobalHandler?.();
133
- ErrorUtilsRef.setGlobalHandler((error, isFatal) => {
134
- try {
135
- const err = error instanceof Error ? error : new Error(String(error?.message || error));
136
- this.captureException(err);
137
- } finally {
138
- if (typeof previous === 'function') {
139
- try {
140
- previous(error, isFatal);
141
- } catch (_e) {
142
- /* ignore */
143
- }
144
- }
145
- }
146
- });
147
- this.globalErrorHandlerRegistered = true;
148
- }
149
- }
150
- static _toReadableSpanLike(span) {
151
- if (span && typeof span.spanContext === 'function' && span.instrumentationScope) {
152
- return span;
153
- }
154
- const spanContext = typeof span?.spanContext === 'function' ? span.spanContext() : span?._spanContext;
155
- const normalizedCtx = spanContext || {
156
- traceId: span?.traceId,
157
- spanId: span?.spanId,
158
- traceFlags: span?.traceFlags,
159
- traceState: span?.traceState
160
- };
161
- const instrumentationScope = span?.instrumentationScope || span?.instrumentationLibrary || {
162
- name: 'multiplayer-buffer',
163
- version: undefined,
164
- schemaUrl: undefined
165
- };
166
- const normalizedScope = {
167
- name: instrumentationScope?.name || 'multiplayer-buffer',
168
- version: instrumentationScope?.version,
169
- schemaUrl: instrumentationScope?.schemaUrl
170
- };
171
- const resource = span?.resource || {
172
- attributes: {},
173
- asyncAttributesPending: false
174
- };
175
- const parentSpanId = span?.parentSpanId;
176
- return {
177
- name: span?.name || '',
178
- kind: span?.kind,
179
- spanContext: () => normalizedCtx,
180
- parentSpanContext: parentSpanId ? {
181
- traceId: normalizedCtx?.traceId,
182
- spanId: parentSpanId,
183
- traceFlags: normalizedCtx?.traceFlags,
184
- traceState: normalizedCtx?.traceState
185
- } : undefined,
186
- startTime: span?.startTime,
187
- endTime: span?.endTime ?? span?.startTime,
188
- duration: span?.duration,
189
- status: span?.status,
190
- attributes: span?.attributes || {},
191
- links: span?.links || [],
192
- events: span?.events || [],
193
- ended: typeof span?.ended === 'boolean' ? span.ended : true,
194
- droppedAttributesCount: span?.droppedAttributesCount || 0,
195
- droppedEventsCount: span?.droppedEventsCount || 0,
196
- droppedLinksCount: span?.droppedLinksCount || 0,
197
- resource,
198
- instrumentationScope: normalizedScope
199
- };
200
- }
201
- }
202
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["resourceFromAttributes","W3CTraceContextPropagator","BatchSpanProcessor","SemanticAttributes","registerInstrumentations","SessionType","SessionRecorderSdk","SessionRecorderIdGenerator","SessionRecorderBrowserTraceExporter","ATTR_MULTIPLAYER_SESSION_ID","MULTIPLAYER_TRACE_CLIENT_ID_LENGTH","SessionRecorderTraceIdRatioBasedSampler","getInstrumentations","getExporterEndpoint","getPlatformAttributes","WebTracerProvider","CrashBufferSpanProcessor","clientIdGenerator","getIdGenerator","TracerReactNativeSDK","clientId","sessionId","globalErrorHandlerRegistered","constructor","_setSessionId","sessionType","MANUAL","idGenerator","Error","setSessionId","init","options","config","application","version","environment","SESSION_CACHE","exporter","apiKey","url","exporterEndpoint","resourceAttributes","SEMRESATTRS_SERVICE_NAME","SEMRESATTRS_SERVICE_VERSION","SEMRESATTRS_DEPLOYMENT_ENVIRONMENT","setResourceAttributes","attributes","tracerProvider","resource","sampler","sampleTraceRatio","spanProcessors","_getSpanSessionIdProcessor","crashBuffer","serializeSpan","register","propagator","instrumentations","_registerGlobalErrorHandlers","setCrashBuffer","windowMs","Number","isFinite","setDefaultWindowMs","exportTraces","spans","length","Promise","resolve","readableSpans","map","s","_toReadableSpanLike","exportBuffer","result","start","stop","setApiKey","captureException","error","errorInfo","onStart","span","setAttribute","onEnd","shutdown","forceFlush","ErrorUtilsRef","global","ErrorUtils","setGlobalHandler","previous","getGlobalHandler","isFatal","err","String","message","_e","spanContext","instrumentationScope","_spanContext","normalizedCtx","traceId","spanId","traceFlags","traceState","instrumentationLibrary","name","undefined","schemaUrl","normalizedScope","asyncAttributesPending","parentSpanId","kind","parentSpanContext","startTime","endTime","duration","status","links","events","ended","droppedAttributesCount","droppedEventsCount","droppedLinksCount"],"sourceRoot":"../../../src","sources":["otel/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1,122 +0,0 @@
1
- "use strict";
2
-
3
- import { FetchInstrumentation } from '@opentelemetry/instrumentation-fetch';
4
- import { XMLHttpRequestInstrumentation } from '@opentelemetry/instrumentation-xml-http-request';
5
- import { logger } from "../../utils/index.js";
6
- import { OTEL_IGNORE_URLS } from "../../config/index.js";
7
- import { extractResponseBody, headersToObject, processHttpPayload } from "../helpers.js";
8
- export function getInstrumentations(config) {
9
- const instrumentations = [];
10
-
11
- // Fetch instrumentation
12
- try {
13
- instrumentations.push(new FetchInstrumentation({
14
- clearTimingResources: false,
15
- ignoreUrls: [...OTEL_IGNORE_URLS, ...(config.ignoreUrls || [])],
16
- propagateTraceHeaderCorsUrls: config.propagateTraceHeaderCorsUrls,
17
- applyCustomAttributesOnSpan: async (span, request, response) => {
18
- if (!config) return;
19
- const {
20
- captureBody,
21
- captureHeaders
22
- } = config;
23
- try {
24
- if (!captureBody && !captureHeaders) {
25
- return;
26
- }
27
-
28
- // Try to get data from our fetch wrapper first
29
- // @ts-ignore
30
- const networkRequest = response?.networkRequest;
31
- let requestBody = null;
32
- let responseBody = null;
33
- let requestHeaders = {};
34
- let responseHeaders = {};
35
- if (networkRequest) {
36
- // Use data captured by our fetch wrapper
37
- requestBody = networkRequest.requestBody;
38
- responseBody = networkRequest.responseBody;
39
- requestHeaders = networkRequest.requestHeaders || {};
40
- responseHeaders = networkRequest.responseHeaders || {};
41
- } else {
42
- // Fallback to original OpenTelemetry approach
43
- requestBody = request.body;
44
- requestHeaders = headersToObject(request.headers);
45
- responseHeaders = headersToObject(response instanceof Response ? response.headers : undefined);
46
- if (response instanceof Response && response.body) {
47
- responseBody = await extractResponseBody(response);
48
- }
49
- }
50
- const payload = {
51
- requestBody,
52
- responseBody,
53
- requestHeaders,
54
- responseHeaders
55
- };
56
- processHttpPayload(payload, config, span);
57
- } catch (error) {
58
- // eslint-disable-next-line
59
- logger.error('DEBUGGER_LIB', 'Failed to capture fetch payload', error);
60
- }
61
- }
62
- }));
63
- } catch (error) {
64
- logger.warn('DEBUGGER_LIB', 'Fetch instrumentation not available', error);
65
- }
66
-
67
- // XMLHttpRequest instrumentation
68
- try {
69
- instrumentations.push(new XMLHttpRequestInstrumentation({
70
- clearTimingResources: false,
71
- ignoreUrls: [...OTEL_IGNORE_URLS, ...(config.ignoreUrls || [])],
72
- propagateTraceHeaderCorsUrls: config.propagateTraceHeaderCorsUrls,
73
- applyCustomAttributesOnSpan: (span, xhr) => {
74
- if (!config) return;
75
- const {
76
- captureBody,
77
- captureHeaders
78
- } = config;
79
- try {
80
- if (!captureBody && !captureHeaders) {
81
- return;
82
- }
83
-
84
- // @ts-ignore
85
- const networkRequest = xhr.networkRequest;
86
- let requestBody = null;
87
- let responseBody = null;
88
- let requestHeaders = {};
89
- let responseHeaders = {};
90
- if (networkRequest) {
91
- requestBody = networkRequest.requestBody;
92
- responseBody = networkRequest.responseBody;
93
- requestHeaders = networkRequest.requestHeaders || {};
94
- responseHeaders = networkRequest.responseHeaders || {};
95
- }
96
- const payload = {
97
- requestBody,
98
- responseBody,
99
- requestHeaders,
100
- responseHeaders
101
- };
102
- processHttpPayload(payload, config, span);
103
- } catch (error) {
104
- // eslint-disable-next-line
105
- logger.error('DEBUGGER_LIB', 'Failed to capture xml-http payload', error);
106
- }
107
- }
108
- }));
109
- } catch (error) {
110
- logger.warn('DEBUGGER_LIB', 'XMLHttpRequest instrumentation not available', error);
111
- }
112
-
113
- // Custom React Native instrumentations
114
- // try {
115
- // instrumentations.push(new ReactNativeInstrumentation())
116
- // } catch (error) {
117
- // console.warn('React Native instrumentation not available:', error)
118
- // }
119
-
120
- return instrumentations;
121
- }
122
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FetchInstrumentation","XMLHttpRequestInstrumentation","logger","OTEL_IGNORE_URLS","extractResponseBody","headersToObject","processHttpPayload","getInstrumentations","config","instrumentations","push","clearTimingResources","ignoreUrls","propagateTraceHeaderCorsUrls","applyCustomAttributesOnSpan","span","request","response","captureBody","captureHeaders","networkRequest","requestBody","responseBody","requestHeaders","responseHeaders","body","headers","Response","undefined","payload","error","warn","xhr"],"sourceRoot":"../../../../src","sources":["otel/instrumentations/index.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"type":"module"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- import { DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE } from "../config/index.js";
4
- export const configs = {
5
- recordRequestHeaders: true,
6
- recordResponseHeaders: true,
7
- shouldRecordBody: true,
8
- maxCapturingHttpPayloadSize: DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE
9
- };
10
- export const setMaxCapturingHttpPayloadSize = _maxCapturingHttpPayloadSize => {
11
- configs.maxCapturingHttpPayloadSize = _maxCapturingHttpPayloadSize;
12
- };
13
- export const setShouldRecordHttpData = (shouldRecordBody, shouldRecordHeaders) => {
14
- configs.recordRequestHeaders = shouldRecordHeaders;
15
- configs.recordResponseHeaders = shouldRecordHeaders;
16
- configs.shouldRecordBody = shouldRecordBody;
17
- };
18
- //# sourceMappingURL=configs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["DEFAULT_MAX_HTTP_CAPTURING_PAYLOAD_SIZE","configs","recordRequestHeaders","recordResponseHeaders","shouldRecordBody","maxCapturingHttpPayloadSize","setMaxCapturingHttpPayloadSize","_maxCapturingHttpPayloadSize","setShouldRecordHttpData","shouldRecordHeaders"],"sourceRoot":"../../../src","sources":["patch/configs.ts"],"mappings":";;AAAA,SAASA,uCAAuC,QAAQ,oBAAW;AAEnE,OAAO,MAAMC,OAAO,GAAG;EACrBC,oBAAoB,EAAE,IAAI;EAC1BC,qBAAqB,EAAE,IAAI;EAC3BC,gBAAgB,EAAE,IAAI;EACtBC,2BAA2B,EAAEL;AAC/B,CAAC;AAED,OAAO,MAAMM,8BAA8B,GACzCC,4BAAoC,IACjC;EACHN,OAAO,CAACI,2BAA2B,GAAGE,4BAA4B;AACpE,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAGA,CACrCJ,gBAAyB,EACzBK,mBAA4B,KACzB;EACHR,OAAO,CAACC,oBAAoB,GAAGO,mBAAmB;EAClDR,OAAO,CAACE,qBAAqB,GAAGM,mBAAmB;EACnDR,OAAO,CAACG,gBAAgB,GAAGA,gBAAgB;AAC7C,CAAC","ignoreList":[]}
@@ -1,222 +0,0 @@
1
- "use strict";
2
-
3
- import { isFormData, isNullish, isObject, isString } from "../utils/type-utils.js";
4
- import { formDataToQuery } from "../utils/request-utils.js";
5
- import { configs } from "./configs.js";
6
- function _tryReadFetchBody({
7
- body
8
- }) {
9
- if (isNullish(body)) {
10
- return null;
11
- }
12
- if (isString(body)) {
13
- return body;
14
- }
15
- if (isFormData(body)) {
16
- return formDataToQuery(body);
17
- }
18
- if (isObject(body)) {
19
- try {
20
- return JSON.stringify(body);
21
- } catch {
22
- return '[Fetch] Failed to stringify request object';
23
- }
24
- }
25
- return `[Fetch] Cannot read body of type ${Object.prototype.toString.call(body)}`;
26
- }
27
-
28
- /**
29
- * Detects if a response is a streaming response that should NOT have its body read.
30
- * Reading the body of streaming responses (SSE, chunked streams, etc.) will either:
31
- * - Block forever (SSE streams never end)
32
- * - Corrupt the stream for the actual consumer
33
- */
34
- function _isStreamingResponse(response) {
35
- const contentType = response.headers.get('content-type')?.toLowerCase() ?? '';
36
-
37
- // SSE - Server-Sent Events (infinite stream)
38
- if (contentType.includes('text/event-stream')) {
39
- return true;
40
- }
41
-
42
- // Binary streams that are typically long-running
43
- if (contentType.includes('application/octet-stream')) {
44
- return true;
45
- }
46
-
47
- // NDJSON streaming (newline-delimited JSON, common in streaming APIs)
48
- if (contentType.includes('application/x-ndjson') || contentType.includes('application/ndjson')) {
49
- return true;
50
- }
51
-
52
- // gRPC-web streaming
53
- if (contentType.includes('application/grpc')) {
54
- return true;
55
- }
56
-
57
- // Check for chunked transfer encoding (often indicates streaming)
58
- const transferEncoding = response.headers.get('transfer-encoding')?.toLowerCase();
59
- if (transferEncoding?.includes('chunked')) {
60
- // Chunked alone isn't definitive, but combined with no content-length = streaming
61
- const contentLength = response.headers.get('content-length');
62
- if (!contentLength) {
63
- return true;
64
- }
65
- }
66
- return false;
67
- }
68
-
69
- /**
70
- * Safely reads response body for non-streaming responses.
71
- * Returns null for streaming responses to avoid blocking/corruption.
72
- */
73
- async function _tryReadResponseBody(response) {
74
- // CRITICAL: Never attempt to read streaming response bodies
75
- if (_isStreamingResponse(response)) {
76
- return null;
77
- }
78
- try {
79
- // Clone the response to avoid consuming the original stream.
80
- const clonedResponse = response.clone();
81
- const contentType = response.headers.get('content-type')?.toLowerCase() ?? '';
82
-
83
- // Check content-length to avoid reading massive responses
84
- const contentLength = response.headers.get('content-length');
85
- if (contentLength) {
86
- const length = parseInt(contentLength, 10);
87
- if (!isNaN(length) && length > configs.maxCapturingHttpPayloadSize) {
88
- return `[Fetch] Response too large (${length} bytes)`;
89
- }
90
- }
91
- if (contentType.includes('application/json')) {
92
- const json = await clonedResponse.json();
93
- return JSON.stringify(json);
94
- }
95
- if (contentType.includes('text/')) {
96
- return await clonedResponse.text();
97
- }
98
-
99
- // For unknown types, attempt text read
100
- try {
101
- return await clonedResponse.text();
102
- } catch {
103
- try {
104
- const arrayBuffer = await clonedResponse.arrayBuffer();
105
- return `[Fetch] Binary data (${arrayBuffer.byteLength} bytes)`;
106
- } catch {
107
- return '[Fetch] Unable to read response body';
108
- }
109
- }
110
- } catch (error) {
111
- return `[Fetch] Error reading response body: ${error instanceof Error ? error.message : 'Unknown error'}`;
112
- }
113
- }
114
- function _headersToObject(headers) {
115
- const result = {};
116
- headers.forEach((value, key) => {
117
- result[key] = value;
118
- });
119
- return result;
120
- }
121
-
122
- // Convert HeadersInit to a plain object without needing to construct a Request
123
- function _headersInitToObject(headersInit) {
124
- if (!headersInit) return {};
125
-
126
- // Headers instance
127
- if (typeof Headers !== 'undefined' && headersInit instanceof Headers) {
128
- return _headersToObject(headersInit);
129
- }
130
- const result = {};
131
-
132
- // Array of tuples
133
- if (Array.isArray(headersInit)) {
134
- for (const [key, value] of headersInit) {
135
- result[String(key).toLowerCase()] = String(value);
136
- }
137
- return result;
138
- }
139
-
140
- // Record<string, string>
141
- for (const [key, value] of Object.entries(headersInit)) {
142
- result[String(key).toLowerCase()] = String(value);
143
- }
144
- return result;
145
- }
146
-
147
- // Only patch fetch if available and safe to do so
148
- if (typeof fetch !== 'undefined' && typeof global !== 'undefined') {
149
- // Store original fetch
150
- const originalFetch = global.fetch;
151
-
152
- // Override fetch with safer implementation
153
- global.fetch = async function (input, init) {
154
- const networkRequest = {};
155
-
156
- // Capture request data
157
- const inputIsRequest = typeof Request !== 'undefined' && input instanceof Request;
158
- if (configs.recordRequestHeaders) {
159
- if (inputIsRequest) {
160
- networkRequest.requestHeaders = _headersToObject(input.headers);
161
- } else {
162
- networkRequest.requestHeaders = _headersInitToObject(init?.headers);
163
- }
164
- }
165
- if (configs.shouldRecordBody) {
166
- // Only attempt to read the body from init (safe); avoid constructing/cloning Requests
167
- // If the caller passed a Request as input, we do not attempt to read its body here
168
- const candidateBody = init?.body;
169
- if (!isNullish(candidateBody)) {
170
- const requestBody = _tryReadFetchBody({
171
- body: candidateBody
172
- });
173
- if (requestBody?.length && (typeof Blob !== 'undefined' ? new Blob([requestBody]).size <= configs.maxCapturingHttpPayloadSize : requestBody.length <= configs.maxCapturingHttpPayloadSize)) {
174
- networkRequest.requestBody = requestBody;
175
- }
176
- }
177
- }
178
- try {
179
- // Make the actual fetch request
180
- const response = await originalFetch(input, init);
181
-
182
- // Capture response data
183
- if (configs.recordResponseHeaders) {
184
- networkRequest.responseHeaders = _headersToObject(response.headers);
185
- }
186
- if (configs.shouldRecordBody) {
187
- const responseBody = await _tryReadResponseBody(response);
188
- if (responseBody?.length && (typeof Blob !== 'undefined' ? new Blob([responseBody]).size <= configs.maxCapturingHttpPayloadSize : responseBody.length <= configs.maxCapturingHttpPayloadSize)) {
189
- networkRequest.responseBody = responseBody;
190
- }
191
- }
192
-
193
- // @ts-expect-error Attach network request data to the response for later access
194
- response.networkRequest = networkRequest;
195
- return response;
196
- } catch (error) {
197
- // Even if the fetch fails, we can still capture the request data
198
- // Attach captured request data to the thrown error for downstream handling
199
- if (error && typeof error === 'object') {
200
- // @ts-expect-error
201
- error.networkRequest = networkRequest;
202
- }
203
- throw error;
204
- }
205
- };
206
-
207
- // Preserve the original fetch function's properties
208
- try {
209
- Object.setPrototypeOf(global.fetch, originalFetch);
210
- Object.defineProperty(global.fetch, 'name', {
211
- value: 'fetch'
212
- });
213
- Object.defineProperty(global.fetch, 'length', {
214
- value: originalFetch.length
215
- });
216
- } catch (error) {
217
- console.warn('[Fetch Patch] Failed to preserve fetch properties:', error);
218
- }
219
- } else {
220
- console.info('Fetch patch: Skipping fetch patching - fetch not available or unsafe environment');
221
- }
222
- //# sourceMappingURL=fetch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["isFormData","isNullish","isObject","isString","formDataToQuery","configs","_tryReadFetchBody","body","JSON","stringify","Object","prototype","toString","call","_isStreamingResponse","response","contentType","headers","get","toLowerCase","includes","transferEncoding","contentLength","_tryReadResponseBody","clonedResponse","clone","length","parseInt","isNaN","maxCapturingHttpPayloadSize","json","text","arrayBuffer","byteLength","error","Error","message","_headersToObject","result","forEach","value","key","_headersInitToObject","headersInit","Headers","Array","isArray","String","entries","fetch","global","originalFetch","input","init","networkRequest","inputIsRequest","Request","recordRequestHeaders","requestHeaders","shouldRecordBody","candidateBody","requestBody","Blob","size","recordResponseHeaders","responseHeaders","responseBody","setPrototypeOf","defineProperty","console","warn","info"],"sourceRoot":"../../../src","sources":["patch/fetch.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,wBAAqB;AAC/E,SAASC,eAAe,QAAQ,2BAAwB;AACxD,SAASC,OAAO,QAAQ,cAAW;AAEnC,SAASC,iBAAiBA,CAAC;EACzBC;AAGF,CAAC,EAAiB;EAChB,IAAIN,SAAS,CAACM,IAAI,CAAC,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,IAAIJ,QAAQ,CAACI,IAAI,CAAC,EAAE;IAClB,OAAOA,IAAI;EACb;EAEA,IAAIP,UAAU,CAACO,IAAI,CAAC,EAAE;IACpB,OAAOH,eAAe,CAACG,IAAI,CAAC;EAC9B;EAEA,IAAIL,QAAQ,CAACK,IAAI,CAAC,EAAE;IAClB,IAAI;MACF,OAAOC,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC;IAC7B,CAAC,CAAC,MAAM;MACN,OAAO,4CAA4C;IACrD;EACF;EAEA,OAAO,oCAAoCG,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACN,IAAI,CAAC,EAAE;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASO,oBAAoBA,CAACC,QAAkB,EAAW;EACzD,MAAMC,WAAW,GAAGD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;;EAE7E;EACA,IAAIH,WAAW,CAACI,QAAQ,CAAC,mBAAmB,CAAC,EAAE;IAC7C,OAAO,IAAI;EACb;;EAEA;EACA,IAAIJ,WAAW,CAACI,QAAQ,CAAC,0BAA0B,CAAC,EAAE;IACpD,OAAO,IAAI;EACb;;EAEA;EACA,IACEJ,WAAW,CAACI,QAAQ,CAAC,sBAAsB,CAAC,IAC5CJ,WAAW,CAACI,QAAQ,CAAC,oBAAoB,CAAC,EAC1C;IACA,OAAO,IAAI;EACb;;EAEA;EACA,IAAIJ,WAAW,CAACI,QAAQ,CAAC,kBAAkB,CAAC,EAAE;IAC5C,OAAO,IAAI;EACb;;EAEA;EACA,MAAMC,gBAAgB,GAAGN,QAAQ,CAACE,OAAO,CACtCC,GAAG,CAAC,mBAAmB,CAAC,EACvBC,WAAW,CAAC,CAAC;EACjB,IAAIE,gBAAgB,EAAED,QAAQ,CAAC,SAAS,CAAC,EAAE;IACzC;IACA,MAAME,aAAa,GAAGP,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAC5D,IAAI,CAACI,aAAa,EAAE;MAClB,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,eAAeC,oBAAoBA,CACjCR,QAAkB,EACM;EACxB;EACA,IAAID,oBAAoB,CAACC,QAAQ,CAAC,EAAE;IAClC,OAAO,IAAI;EACb;EAEA,IAAI;IACF;IACA,MAAMS,cAAc,GAAGT,QAAQ,CAACU,KAAK,CAAC,CAAC;IACvC,MAAMT,WAAW,GACfD,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,cAAc,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;;IAE3D;IACA,MAAMG,aAAa,GAAGP,QAAQ,CAACE,OAAO,CAACC,GAAG,CAAC,gBAAgB,CAAC;IAC5D,IAAII,aAAa,EAAE;MACjB,MAAMI,MAAM,GAAGC,QAAQ,CAACL,aAAa,EAAE,EAAE,CAAC;MAC1C,IAAI,CAACM,KAAK,CAACF,MAAM,CAAC,IAAIA,MAAM,GAAGrB,OAAO,CAACwB,2BAA2B,EAAE;QAClE,OAAO,+BAA+BH,MAAM,SAAS;MACvD;IACF;IAEA,IAAIV,WAAW,CAACI,QAAQ,CAAC,kBAAkB,CAAC,EAAE;MAC5C,MAAMU,IAAI,GAAG,MAAMN,cAAc,CAACM,IAAI,CAAC,CAAC;MACxC,OAAOtB,IAAI,CAACC,SAAS,CAACqB,IAAI,CAAC;IAC7B;IAEA,IAAId,WAAW,CAACI,QAAQ,CAAC,OAAO,CAAC,EAAE;MACjC,OAAO,MAAMI,cAAc,CAACO,IAAI,CAAC,CAAC;IACpC;;IAEA;IACA,IAAI;MACF,OAAO,MAAMP,cAAc,CAACO,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,MAAM;MACN,IAAI;QACF,MAAMC,WAAW,GAAG,MAAMR,cAAc,CAACQ,WAAW,CAAC,CAAC;QACtD,OAAO,wBAAwBA,WAAW,CAACC,UAAU,SAAS;MAChE,CAAC,CAAC,MAAM;QACN,OAAO,sCAAsC;MAC/C;IACF;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,wCAAwCA,KAAK,YAAYC,KAAK,GAAGD,KAAK,CAACE,OAAO,GAAG,eAAe,EAAE;EAC3G;AACF;AAEA,SAASC,gBAAgBA,CAACpB,OAAgB,EAA0B;EAClE,MAAMqB,MAA8B,GAAG,CAAC,CAAC;EACzCrB,OAAO,CAACsB,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IAC9BH,MAAM,CAACG,GAAG,CAAC,GAAGD,KAAK;EACrB,CAAC,CAAC;EACF,OAAOF,MAAM;AACf;;AAEA;AACA,SAASI,oBAAoBA,CAACC,WAAiB,EAA0B;EACvE,IAAI,CAACA,WAAW,EAAE,OAAO,CAAC,CAAC;;EAE3B;EACA,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAID,WAAW,YAAYC,OAAO,EAAE;IACpE,OAAOP,gBAAgB,CAACM,WAAW,CAAC;EACtC;EAEA,MAAML,MAA8B,GAAG,CAAC,CAAC;;EAEzC;EACA,IAAIO,KAAK,CAACC,OAAO,CAACH,WAAW,CAAC,EAAE;IAC9B,KAAK,MAAM,CAACF,GAAG,EAAED,KAAK,CAAC,IAAIG,WAAW,EAAE;MACtCL,MAAM,CAACS,MAAM,CAACN,GAAG,CAAC,CAACtB,WAAW,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAACP,KAAK,CAAC;IACnD;IACA,OAAOF,MAAM;EACf;;EAEA;EACA,KAAK,MAAM,CAACG,GAAG,EAAED,KAAK,CAAC,IAAI9B,MAAM,CAACsC,OAAO,CACvCL,WACF,CAAC,EAAE;IACDL,MAAM,CAACS,MAAM,CAACN,GAAG,CAAC,CAACtB,WAAW,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAACP,KAAK,CAAC;EACnD;EAEA,OAAOF,MAAM;AACf;;AAEA;AACA,IAAI,OAAOW,KAAK,KAAK,WAAW,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;EACjE;EACA,MAAMC,aAAa,GAAGD,MAAM,CAACD,KAAK;;EAElC;EACAC,MAAM,CAACD,KAAK,GAAG,gBAAgBG,KAAU,EAAEC,IAAU,EAAqB;IACxE,MAAMC,cAKL,GAAG,CAAC,CAAC;;IAEN;IACA,MAAMC,cAAc,GAClB,OAAOC,OAAO,KAAK,WAAW,IAAIJ,KAAK,YAAYI,OAAO;IAE5D,IAAInD,OAAO,CAACoD,oBAAoB,EAAE;MAChC,IAAIF,cAAc,EAAE;QAClBD,cAAc,CAACI,cAAc,GAAGrB,gBAAgB,CAC7Ce,KAAK,CAAanC,OACrB,CAAC;MACH,CAAC,MAAM;QACLqC,cAAc,CAACI,cAAc,GAAGhB,oBAAoB,CAACW,IAAI,EAAEpC,OAAO,CAAC;MACrE;IACF;IAEA,IAAIZ,OAAO,CAACsD,gBAAgB,EAAE;MAC5B;MACA;MACA,MAAMC,aAAqC,GAAGP,IAAI,EAAE9C,IAAI;MAExD,IAAI,CAACN,SAAS,CAAC2D,aAAa,CAAC,EAAE;QAC7B,MAAMC,WAAW,GAAGvD,iBAAiB,CAAC;UACpCC,IAAI,EAAEqD;QACR,CAAC,CAAC;QAEF,IACEC,WAAW,EAAEnC,MAAM,KAClB,OAAOoC,IAAI,KAAK,WAAW,GACxB,IAAIA,IAAI,CAAC,CAACD,WAAW,CAAC,CAAC,CAACE,IAAI,IAC5B1D,OAAO,CAACwB,2BAA2B,GACnCgC,WAAW,CAACnC,MAAM,IAAIrB,OAAO,CAACwB,2BAA2B,CAAC,EAC9D;UACAyB,cAAc,CAACO,WAAW,GAAGA,WAAW;QAC1C;MACF;IACF;IAEA,IAAI;MACF;MACA,MAAM9C,QAAQ,GAAG,MAAMoC,aAAa,CAACC,KAAK,EAAEC,IAAI,CAAC;;MAEjD;MACA,IAAIhD,OAAO,CAAC2D,qBAAqB,EAAE;QACjCV,cAAc,CAACW,eAAe,GAAG5B,gBAAgB,CAACtB,QAAQ,CAACE,OAAO,CAAC;MACrE;MAEA,IAAIZ,OAAO,CAACsD,gBAAgB,EAAE;QAC5B,MAAMO,YAAY,GAAG,MAAM3C,oBAAoB,CAACR,QAAQ,CAAC;QAEzD,IACEmD,YAAY,EAAExC,MAAM,KACnB,OAAOoC,IAAI,KAAK,WAAW,GACxB,IAAIA,IAAI,CAAC,CAACI,YAAY,CAAC,CAAC,CAACH,IAAI,IAC7B1D,OAAO,CAACwB,2BAA2B,GACnCqC,YAAY,CAACxC,MAAM,IAAIrB,OAAO,CAACwB,2BAA2B,CAAC,EAC/D;UACAyB,cAAc,CAACY,YAAY,GAAGA,YAAY;QAC5C;MACF;;MAEA;MACAnD,QAAQ,CAACuC,cAAc,GAAGA,cAAc;MAExC,OAAOvC,QAAQ;IACjB,CAAC,CAAC,OAAOmB,KAAK,EAAE;MACd;MACA;MACA,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;QACtC;QACAA,KAAK,CAACoB,cAAc,GAAGA,cAAc;MACvC;MACA,MAAMpB,KAAK;IACb;EACF,CAAC;;EAED;EACA,IAAI;IACFxB,MAAM,CAACyD,cAAc,CAACjB,MAAM,CAACD,KAAK,EAAEE,aAAa,CAAC;IAClDzC,MAAM,CAAC0D,cAAc,CAAClB,MAAM,CAACD,KAAK,EAAE,MAAM,EAAE;MAAET,KAAK,EAAE;IAAQ,CAAC,CAAC;IAC/D9B,MAAM,CAAC0D,cAAc,CAAClB,MAAM,CAACD,KAAK,EAAE,QAAQ,EAAE;MAC5CT,KAAK,EAAEW,aAAa,CAACzB;IACvB,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOQ,KAAK,EAAE;IACdmC,OAAO,CAACC,IAAI,CAAC,oDAAoD,EAAEpC,KAAK,CAAC;EAC3E;AACF,CAAC,MAAM;EACLmC,OAAO,CAACE,IAAI,CACV,kFACF,CAAC;AACH","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- import "./xhr.js";
4
- import "./fetch.js";
5
- export * from "./configs.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../src","sources":["patch/index.ts"],"mappings":";;AAAA,OAAO,UAAO;AACd,OAAO,YAAS;AAEhB,cAAc,cAAW","ignoreList":[]}