@formant/data-sdk 1.80.3 → 1.80.4

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 (354) hide show
  1. package/dist/assets/DataFetchWorker-0a168933.js.map +1 -0
  2. package/dist/assets/PcdLoaderWorker-6fe0da29.js +6 -0
  3. package/dist/assets/{PcdLoaderWorker-eaac0b31.js.map → PcdLoaderWorker-6fe0da29.js.map} +1 -1
  4. package/dist/assets/ui-sdk-realtime-player-core-worker.umd-68a6e16a.js.map +1 -1
  5. package/dist/data-sdk.cjs.js +58 -64
  6. package/dist/data-sdk.cjs.js.map +1 -1
  7. package/dist/data-sdk.es.js +17397 -20139
  8. package/dist/data-sdk.es.js.map +1 -1
  9. package/dist/data-sdk.es6.js +17397 -20139
  10. package/dist/data-sdk.umd.js +58 -64
  11. package/package.json +1 -1
  12. package/dist/assets/data-loader.worker-a6fd974d.js.map +0 -1
  13. package/dist/types/common/browser.d.ts +0 -2
  14. package/dist/types/common/defined.d.ts +0 -3
  15. package/dist/types/common/delay.d.ts +0 -1
  16. package/dist/types/common/duration.d.ts +0 -10
  17. package/dist/types/common/fork.d.ts +0 -5
  18. package/dist/types/data-sdk/src/Account.d.ts +0 -10
  19. package/dist/types/data-sdk/src/App.d.ts +0 -47
  20. package/dist/types/data-sdk/src/AppRtcClientPools.d.ts +0 -20
  21. package/dist/types/data-sdk/src/AudioPlayer.d.ts +0 -23
  22. package/dist/types/data-sdk/src/Authentication.d.ts +0 -2
  23. package/dist/types/data-sdk/src/CaptureStream.d.ts +0 -18
  24. package/dist/types/data-sdk/src/DataChannel.d.ts +0 -30
  25. package/dist/types/data-sdk/src/EventTriggerGroup.d.ts +0 -0
  26. package/dist/types/data-sdk/src/Fleet.d.ts +0 -88
  27. package/dist/types/data-sdk/src/KeyValue.d.ts +0 -8
  28. package/dist/types/data-sdk/src/Manipulator.d.ts +0 -21
  29. package/dist/types/data-sdk/src/RequestDataChannel.d.ts +0 -29
  30. package/dist/types/data-sdk/src/Role.d.ts +0 -8
  31. package/dist/types/data-sdk/src/User.d.ts +0 -8
  32. package/dist/types/data-sdk/src/Views.d.ts +0 -9
  33. package/dist/types/data-sdk/src/api/addDeviceToFleet.d.ts +0 -1
  34. package/dist/types/data-sdk/src/api/aggregateTelemetry.d.ts +0 -3
  35. package/dist/types/data-sdk/src/api/createDevice.d.ts +0 -2
  36. package/dist/types/data-sdk/src/api/createFleet.d.ts +0 -2
  37. package/dist/types/data-sdk/src/api/createShareLink.d.ts +0 -22
  38. package/dist/types/data-sdk/src/api/deleteFleet.d.ts +0 -1
  39. package/dist/types/data-sdk/src/api/disableDevice.d.ts +0 -2
  40. package/dist/types/data-sdk/src/api/eventsCounter.d.ts +0 -7
  41. package/dist/types/data-sdk/src/api/getAllEventTriggerGroup.d.ts +0 -2
  42. package/dist/types/data-sdk/src/api/getAnalyticsModules.d.ts +0 -2
  43. package/dist/types/data-sdk/src/api/getAnalyticsRows.d.ts +0 -8
  44. package/dist/types/data-sdk/src/api/getAnalyticsStreams.d.ts +0 -18
  45. package/dist/types/data-sdk/src/api/getAnnotationCount.d.ts +0 -4
  46. package/dist/types/data-sdk/src/api/getAnnotationCountByIntervals.d.ts +0 -8
  47. package/dist/types/data-sdk/src/api/getCurrentGroup.d.ts +0 -2
  48. package/dist/types/data-sdk/src/api/getDevice.d.ts +0 -2
  49. package/dist/types/data-sdk/src/api/getDevices.d.ts +0 -2
  50. package/dist/types/data-sdk/src/api/getDevicesData.d.ts +0 -2
  51. package/dist/types/data-sdk/src/api/getEvent.d.ts +0 -2
  52. package/dist/types/data-sdk/src/api/getEventTriggerGroup.d.ts +0 -2
  53. package/dist/types/data-sdk/src/api/getFileUrl.d.ts +0 -1
  54. package/dist/types/data-sdk/src/api/getFleet.d.ts +0 -2
  55. package/dist/types/data-sdk/src/api/getFleetDevices.d.ts +0 -1
  56. package/dist/types/data-sdk/src/api/getInterventions.d.ts +0 -2
  57. package/dist/types/data-sdk/src/api/getLatestTelemetry.d.ts +0 -3
  58. package/dist/types/data-sdk/src/api/getModuleConfiguration.d.ts +0 -1
  59. package/dist/types/data-sdk/src/api/getOnlineDevices.d.ts +0 -2
  60. package/dist/types/data-sdk/src/api/getPeers.d.ts +0 -2
  61. package/dist/types/data-sdk/src/api/getRealtimeDevices.d.ts +0 -2
  62. package/dist/types/data-sdk/src/api/getRealtimeSessions.d.ts +0 -3
  63. package/dist/types/data-sdk/src/api/getStreams.d.ts +0 -2
  64. package/dist/types/data-sdk/src/api/getTaskReportRows.d.ts +0 -26
  65. package/dist/types/data-sdk/src/api/getTaskreportTables.d.ts +0 -23
  66. package/dist/types/data-sdk/src/api/getTelemetry.d.ts +0 -4
  67. package/dist/types/data-sdk/src/api/getViews.d.ts +0 -2
  68. package/dist/types/data-sdk/src/api/listFleets.d.ts +0 -2
  69. package/dist/types/data-sdk/src/api/patchDevice.d.ts +0 -2
  70. package/dist/types/data-sdk/src/api/patchEventTriggerGroup.d.ts +0 -2
  71. package/dist/types/data-sdk/src/api/patchFleet.d.ts +0 -2
  72. package/dist/types/data-sdk/src/api/patchStreams.d.ts +0 -2
  73. package/dist/types/data-sdk/src/api/patchView.d.ts +0 -2
  74. package/dist/types/data-sdk/src/api/queryAnalytics.d.ts +0 -43
  75. package/dist/types/data-sdk/src/api/queryDevices.d.ts +0 -3
  76. package/dist/types/data-sdk/src/api/queryDevicesData.d.ts +0 -3
  77. package/dist/types/data-sdk/src/api/queryEvents.d.ts +0 -3
  78. package/dist/types/data-sdk/src/api/queryTelemetry.d.ts +0 -3
  79. package/dist/types/data-sdk/src/api/teleopViews.d.ts +0 -73
  80. package/dist/types/data-sdk/src/cache/StoreCache.d.ts +0 -19
  81. package/dist/types/data-sdk/src/cache/filterDataByTime.d.ts +0 -2
  82. package/dist/types/data-sdk/src/cache/filterDataByType.d.ts +0 -3
  83. package/dist/types/data-sdk/src/cache/queryStore.d.ts +0 -11
  84. package/dist/types/data-sdk/src/config/index.d.ts +0 -2
  85. package/dist/types/data-sdk/src/config/whichFormantApiUrl.d.ts +0 -6
  86. package/dist/types/data-sdk/src/connector/common/Color.d.ts +0 -13
  87. package/dist/types/data-sdk/src/connector/common/LruCache.d.ts +0 -18
  88. package/dist/types/data-sdk/src/connector/common/PromiseLruCache.d.ts +0 -11
  89. package/dist/types/data-sdk/src/connector/common/Timeout.d.ts +0 -1
  90. package/dist/types/data-sdk/src/connector/common/defined.d.ts +0 -3
  91. package/dist/types/data-sdk/src/connector/common/delay.d.ts +0 -1
  92. package/dist/types/data-sdk/src/connector/common/duration.d.ts +0 -10
  93. package/dist/types/data-sdk/src/connector/common/equals.d.ts +0 -1
  94. package/dist/types/data-sdk/src/connector/common/errorToObject.d.ts +0 -14
  95. package/dist/types/data-sdk/src/connector/common/errorToString.d.ts +0 -4
  96. package/dist/types/data-sdk/src/connector/common/filterDataByTime.d.ts +0 -2
  97. package/dist/types/data-sdk/src/connector/common/filterDataByType.d.ts +0 -3
  98. package/dist/types/data-sdk/src/connector/common/flattenPoints.d.ts +0 -8
  99. package/dist/types/data-sdk/src/connector/common/fork.d.ts +0 -5
  100. package/dist/types/data-sdk/src/connector/common/range.d.ts +0 -1
  101. package/dist/types/data-sdk/src/connector/common/throttle.d.ts +0 -1
  102. package/dist/types/data-sdk/src/connector/common/toJsonLines.d.ts +0 -1
  103. package/dist/types/data-sdk/src/connector/common/toStringSafe.d.ts +0 -8
  104. package/dist/types/data-sdk/src/connector/data/BaseUniverseDataConnector.d.ts +0 -69
  105. package/dist/types/data-sdk/src/connector/data/DataFetchWorker.d.ts +0 -1
  106. package/dist/types/data-sdk/src/connector/data/LiveUniverseData.d.ts +0 -36
  107. package/dist/types/data-sdk/src/connector/data/PcdLoaderWorker.d.ts +0 -1
  108. package/dist/types/data-sdk/src/connector/data/StoreCache.d.ts +0 -17
  109. package/dist/types/data-sdk/src/connector/data/TelemetryUniverseData.d.ts +0 -44
  110. package/dist/types/data-sdk/src/connector/data/loader/DataLoader.d.ts +0 -27
  111. package/dist/types/data-sdk/src/connector/data/loader/data-loader.worker.d.ts +0 -1
  112. package/dist/types/data-sdk/src/connector/data/pcd.d.ts +0 -23
  113. package/dist/types/data-sdk/src/connector/data/queryStore.d.ts +0 -12
  114. package/dist/types/data-sdk/src/connector/data/range.d.ts +0 -1
  115. package/dist/types/data-sdk/src/connector/model/IPcd.d.ts +0 -20
  116. package/dist/types/data-sdk/src/connector/model/IPose.d.ts +0 -3
  117. package/dist/types/data-sdk/src/connector/model/IUniverseData.d.ts +0 -124
  118. package/dist/types/data-sdk/src/connector/model/IUniverseGridMap.d.ts +0 -11
  119. package/dist/types/data-sdk/src/connector/model/IUniverseOdometry.d.ts +0 -6
  120. package/dist/types/data-sdk/src/connector/model/IUniversePath.d.ts +0 -3
  121. package/dist/types/data-sdk/src/connector/model/IUniversePointCloud.d.ts +0 -6
  122. package/dist/types/data-sdk/src/devices/BaseDevice.d.ts +0 -47
  123. package/dist/types/data-sdk/src/devices/Device.d.ts +0 -88
  124. package/dist/types/data-sdk/src/devices/ICustomDataChannelCreator.d.ts +0 -4
  125. package/dist/types/data-sdk/src/devices/IRealtimeSubscriber.d.ts +0 -7
  126. package/dist/types/data-sdk/src/devices/IView.d.ts +0 -29
  127. package/dist/types/data-sdk/src/devices/PeerDevice.d.ts +0 -35
  128. package/dist/types/data-sdk/src/devices/device.types.d.ts +0 -115
  129. package/dist/types/data-sdk/src/init.d.ts +0 -1
  130. package/dist/types/data-sdk/src/main.d.ts +0 -176
  131. package/dist/types/data-sdk/src/message-bus/bidirectional/getDate.d.ts +0 -1
  132. package/dist/types/data-sdk/src/message-bus/bidirectional/prompt.d.ts +0 -5
  133. package/dist/types/data-sdk/src/message-bus/listeners/EmbeddedAppMessage.d.ts +0 -54
  134. package/dist/types/data-sdk/src/message-bus/listeners/addAccessTokenRefreshListener.d.ts +0 -1
  135. package/dist/types/data-sdk/src/message-bus/listeners/addChannelDataListener.d.ts +0 -4
  136. package/dist/types/data-sdk/src/message-bus/listeners/addMenuListener.d.ts +0 -1
  137. package/dist/types/data-sdk/src/message-bus/listeners/addModuleConfigurationListener.d.ts +0 -2
  138. package/dist/types/data-sdk/src/message-bus/listeners/addModuleDataListener.d.ts +0 -29
  139. package/dist/types/data-sdk/src/message-bus/listeners/addOverviewDeviceListener.d.ts +0 -2
  140. package/dist/types/data-sdk/src/message-bus/listeners/addStreamLIstener.d.ts +0 -3
  141. package/dist/types/data-sdk/src/message-bus/senders/AppMessage.d.ts +0 -63
  142. package/dist/types/data-sdk/src/message-bus/senders/disableAnalyticsBottomBar.d.ts +0 -1
  143. package/dist/types/data-sdk/src/message-bus/senders/goToDevice.d.ts +0 -1
  144. package/dist/types/data-sdk/src/message-bus/senders/goToTime.d.ts +0 -1
  145. package/dist/types/data-sdk/src/message-bus/senders/refreshAuthToken.d.ts +0 -1
  146. package/dist/types/data-sdk/src/message-bus/senders/requestModuleData.d.ts +0 -1
  147. package/dist/types/data-sdk/src/message-bus/senders/sendAppMessage.d.ts +0 -2
  148. package/dist/types/data-sdk/src/message-bus/senders/sendChannelData.d.ts +0 -1
  149. package/dist/types/data-sdk/src/message-bus/senders/setModuleDateTimeRange.d.ts +0 -1
  150. package/dist/types/data-sdk/src/message-bus/senders/setupModuleMenus.d.ts +0 -3
  151. package/dist/types/data-sdk/src/message-bus/senders/showMessage.d.ts +0 -1
  152. package/dist/types/data-sdk/src/model/AccessLevel.d.ts +0 -5
  153. package/dist/types/data-sdk/src/model/AggregateLevel.d.ts +0 -1
  154. package/dist/types/data-sdk/src/model/AggregateType.d.ts +0 -2
  155. package/dist/types/data-sdk/src/model/AnalyticsAggregateType.d.ts +0 -2
  156. package/dist/types/data-sdk/src/model/AnalyticsChartType.d.ts +0 -2
  157. package/dist/types/data-sdk/src/model/AnnotationAreaType.d.ts +0 -2
  158. package/dist/types/data-sdk/src/model/AnnotationType.d.ts +0 -2
  159. package/dist/types/data-sdk/src/model/CognitoRegion.d.ts +0 -2
  160. package/dist/types/data-sdk/src/model/DeviceType.d.ts +0 -2
  161. package/dist/types/data-sdk/src/model/EventSortableColumn.d.ts +0 -1
  162. package/dist/types/data-sdk/src/model/EventType.d.ts +0 -2
  163. package/dist/types/data-sdk/src/model/HealthStatus.d.ts +0 -2
  164. package/dist/types/data-sdk/src/model/HexRgbColor.d.ts +0 -1
  165. package/dist/types/data-sdk/src/model/IAccount.d.ts +0 -7
  166. package/dist/types/data-sdk/src/model/IAccountTree.d.ts +0 -4
  167. package/dist/types/data-sdk/src/model/IAggregateRow.d.ts +0 -8
  168. package/dist/types/data-sdk/src/model/IAnalyticsModule.d.ts +0 -15
  169. package/dist/types/data-sdk/src/model/IAnalyticsModuleConfiguration.d.ts +0 -6
  170. package/dist/types/data-sdk/src/model/IAnnotation.d.ts +0 -13
  171. package/dist/types/data-sdk/src/model/IAnnotationAreaTypeMap.d.ts +0 -4
  172. package/dist/types/data-sdk/src/model/IAnnotationQuery.d.ts +0 -7
  173. package/dist/types/data-sdk/src/model/IAudioInfo.d.ts +0 -4
  174. package/dist/types/data-sdk/src/model/IBaseEntity.d.ts +0 -7
  175. package/dist/types/data-sdk/src/model/IBaseEvent.d.ts +0 -22
  176. package/dist/types/data-sdk/src/model/IBattery.d.ts +0 -6
  177. package/dist/types/data-sdk/src/model/IBitset.d.ts +0 -4
  178. package/dist/types/data-sdk/src/model/IBoundingBox.d.ts +0 -6
  179. package/dist/types/data-sdk/src/model/IChallenge.d.ts +0 -6
  180. package/dist/types/data-sdk/src/model/IColorRGBA.d.ts +0 -6
  181. package/dist/types/data-sdk/src/model/ICommandDeliveryEvent.d.ts +0 -3
  182. package/dist/types/data-sdk/src/model/ICommandEventBase.d.ts +0 -5
  183. package/dist/types/data-sdk/src/model/ICommandParameter.d.ts +0 -9
  184. package/dist/types/data-sdk/src/model/ICommandPropgress.d.ts +0 -5
  185. package/dist/types/data-sdk/src/model/ICommandRequest.d.ts +0 -9
  186. package/dist/types/data-sdk/src/model/ICommandRequestEvent.d.ts +0 -5
  187. package/dist/types/data-sdk/src/model/ICommandResponse.d.ts +0 -13
  188. package/dist/types/data-sdk/src/model/ICommandResponseEvent.d.ts +0 -3
  189. package/dist/types/data-sdk/src/model/IComment.d.ts +0 -7
  190. package/dist/types/data-sdk/src/model/IConfigurationMap.d.ts +0 -3
  191. package/dist/types/data-sdk/src/model/ICustomEvent.d.ts +0 -5
  192. package/dist/types/data-sdk/src/model/IDataAggregate.d.ts +0 -7
  193. package/dist/types/data-sdk/src/model/IDataPoint.d.ts +0 -7
  194. package/dist/types/data-sdk/src/model/IDatapointEvent.d.ts +0 -3
  195. package/dist/types/data-sdk/src/model/IDevice.d.ts +0 -31
  196. package/dist/types/data-sdk/src/model/IDeviceOfflineEvent.d.ts +0 -3
  197. package/dist/types/data-sdk/src/model/IDeviceOnlineEvent.d.ts +0 -3
  198. package/dist/types/data-sdk/src/model/IDeviceQuery.d.ts +0 -14
  199. package/dist/types/data-sdk/src/model/IDeviceReportedConfigurationState.d.ts +0 -3
  200. package/dist/types/data-sdk/src/model/IDeviceRosState.d.ts +0 -4
  201. package/dist/types/data-sdk/src/model/IDeviceScope.d.ts +0 -5
  202. package/dist/types/data-sdk/src/model/IDeviceState.d.ts +0 -16
  203. package/dist/types/data-sdk/src/model/IDictionary.d.ts +0 -3
  204. package/dist/types/data-sdk/src/model/IEvent.d.ts +0 -18
  205. package/dist/types/data-sdk/src/model/IEventFilter.d.ts +0 -19
  206. package/dist/types/data-sdk/src/model/IEventQuery.d.ts +0 -7
  207. package/dist/types/data-sdk/src/model/IEventSort.d.ts +0 -6
  208. package/dist/types/data-sdk/src/model/IEventTriggerGroup.d.ts +0 -13
  209. package/dist/types/data-sdk/src/model/IFieldParametersTypeMap.d.ts +0 -8
  210. package/dist/types/data-sdk/src/model/IFile.d.ts +0 -6
  211. package/dist/types/data-sdk/src/model/IFileInfo.d.ts +0 -6
  212. package/dist/types/data-sdk/src/model/IFilter.d.ts +0 -10
  213. package/dist/types/data-sdk/src/model/IFleet.d.ts +0 -8
  214. package/dist/types/data-sdk/src/model/IGoal.d.ts +0 -5
  215. package/dist/types/data-sdk/src/model/IGoalID.d.ts +0 -3
  216. package/dist/types/data-sdk/src/model/IH264VideoFrame.d.ts +0 -5
  217. package/dist/types/data-sdk/src/model/IHealth.d.ts +0 -4
  218. package/dist/types/data-sdk/src/model/IHwInfo.d.ts +0 -17
  219. package/dist/types/data-sdk/src/model/IImage.d.ts +0 -6
  220. package/dist/types/data-sdk/src/model/IImageAnnotation.d.ts +0 -9
  221. package/dist/types/data-sdk/src/model/IInterventionRequest.d.ts +0 -9
  222. package/dist/types/data-sdk/src/model/IInterventionResponse.d.ts +0 -10
  223. package/dist/types/data-sdk/src/model/IInterventionTypeMap.d.ts +0 -26
  224. package/dist/types/data-sdk/src/model/IJointState.d.ts +0 -8
  225. package/dist/types/data-sdk/src/model/IJoy.d.ts +0 -4
  226. package/dist/types/data-sdk/src/model/IKernelInfo.d.ts +0 -5
  227. package/dist/types/data-sdk/src/model/ILabel.d.ts +0 -4
  228. package/dist/types/data-sdk/src/model/ILabeledPolygon.d.ts +0 -4
  229. package/dist/types/data-sdk/src/model/ILabelingRequestData.d.ts +0 -9
  230. package/dist/types/data-sdk/src/model/ILabelingResponseData.d.ts +0 -4
  231. package/dist/types/data-sdk/src/model/ILocalization.d.ts +0 -14
  232. package/dist/types/data-sdk/src/model/ILocation.d.ts +0 -6
  233. package/dist/types/data-sdk/src/model/IMap.d.ts +0 -10
  234. package/dist/types/data-sdk/src/model/IMarker3D.d.ts +0 -27
  235. package/dist/types/data-sdk/src/model/IMarker3DArray.d.ts +0 -4
  236. package/dist/types/data-sdk/src/model/INetwork.d.ts +0 -4
  237. package/dist/types/data-sdk/src/model/INodeInfo.d.ts +0 -5
  238. package/dist/types/data-sdk/src/model/INumericAggregate.d.ts +0 -7
  239. package/dist/types/data-sdk/src/model/INumericSetAggregateMap.d.ts +0 -5
  240. package/dist/types/data-sdk/src/model/INumericSetEntry.d.ts +0 -5
  241. package/dist/types/data-sdk/src/model/IOdometry.d.ts +0 -7
  242. package/dist/types/data-sdk/src/model/IOnDemandPresenceStreamItemGroup.d.ts +0 -6
  243. package/dist/types/data-sdk/src/model/IOnDemandPresenceTimeRange.d.ts +0 -7
  244. package/dist/types/data-sdk/src/model/IOnDemandState.d.ts +0 -4
  245. package/dist/types/data-sdk/src/model/IOnDemandStreamPresence.d.ts +0 -5
  246. package/dist/types/data-sdk/src/model/IOnDemmandBuffer.d.ts +0 -6
  247. package/dist/types/data-sdk/src/model/IOnvifDevice.d.ts +0 -5
  248. package/dist/types/data-sdk/src/model/IOsInfo.d.ts +0 -6
  249. package/dist/types/data-sdk/src/model/IPath.d.ts +0 -6
  250. package/dist/types/data-sdk/src/model/IPhysicalInterventionMetadata.d.ts +0 -3
  251. package/dist/types/data-sdk/src/model/IPhysicalRequestData.d.ts +0 -8
  252. package/dist/types/data-sdk/src/model/IPhysicalResponsetData.d.ts +0 -3
  253. package/dist/types/data-sdk/src/model/IPointCloud.d.ts +0 -6
  254. package/dist/types/data-sdk/src/model/IPortForwardingSessionRecord.d.ts +0 -3
  255. package/dist/types/data-sdk/src/model/IPoseWithCovariance.d.ts +0 -5
  256. package/dist/types/data-sdk/src/model/IQuaternion.d.ts +0 -6
  257. package/dist/types/data-sdk/src/model/IQuery.d.ts +0 -9
  258. package/dist/types/data-sdk/src/model/IRole.d.ts +0 -9
  259. package/dist/types/data-sdk/src/model/IRosTopic.d.ts +0 -4
  260. package/dist/types/data-sdk/src/model/IRtcPointCloud.d.ts +0 -5
  261. package/dist/types/data-sdk/src/model/IRtcSessionRecord.d.ts +0 -9
  262. package/dist/types/data-sdk/src/model/IScopeFilter.d.ts +0 -6
  263. package/dist/types/data-sdk/src/model/ISelectionRequestData.d.ts +0 -6
  264. package/dist/types/data-sdk/src/model/ISelectionResponseData.d.ts +0 -3
  265. package/dist/types/data-sdk/src/model/IShare.d.ts +0 -16
  266. package/dist/types/data-sdk/src/model/ISheetParameters.d.ts +0 -5
  267. package/dist/types/data-sdk/src/model/ISpreadsheetIdRange.d.ts +0 -4
  268. package/dist/types/data-sdk/src/model/ISqlColumn.d.ts +0 -6
  269. package/dist/types/data-sdk/src/model/ISqlQuery.d.ts +0 -21
  270. package/dist/types/data-sdk/src/model/ISqlResult.d.ts +0 -12
  271. package/dist/types/data-sdk/src/model/ISqlRow.d.ts +0 -5
  272. package/dist/types/data-sdk/src/model/IStatefulEvent.d.ts +0 -5
  273. package/dist/types/data-sdk/src/model/IStream.d.ts +0 -18
  274. package/dist/types/data-sdk/src/model/IStreamAggregateData.d.ts +0 -11
  275. package/dist/types/data-sdk/src/model/IStreamAggregateTypeMap.d.ts +0 -10
  276. package/dist/types/data-sdk/src/model/IStreamColumn.d.ts +0 -7
  277. package/dist/types/data-sdk/src/model/IStreamCurrentValue.d.ts +0 -13
  278. package/dist/types/data-sdk/src/model/IStreamData.d.ts +0 -11
  279. package/dist/types/data-sdk/src/model/IStreamTypeMap.d.ts +0 -32
  280. package/dist/types/data-sdk/src/model/ISystemEvent.d.ts +0 -3
  281. package/dist/types/data-sdk/src/model/ITagParameters.d.ts +0 -3
  282. package/dist/types/data-sdk/src/model/ITagSets.d.ts +0 -3
  283. package/dist/types/data-sdk/src/model/ITaggedEntity.d.ts +0 -5
  284. package/dist/types/data-sdk/src/model/ITaggedUsers.d.ts +0 -4
  285. package/dist/types/data-sdk/src/model/ITags.d.ts +0 -3
  286. package/dist/types/data-sdk/src/model/ITaskReportColumn.d.ts +0 -7
  287. package/dist/types/data-sdk/src/model/ITaskSummary.d.ts +0 -14
  288. package/dist/types/data-sdk/src/model/ITeleopRequestData.d.ts +0 -3
  289. package/dist/types/data-sdk/src/model/ITeleopResponseData.d.ts +0 -4
  290. package/dist/types/data-sdk/src/model/ITeleopSessionRecord.d.ts +0 -3
  291. package/dist/types/data-sdk/src/model/ITransform.d.ts +0 -6
  292. package/dist/types/data-sdk/src/model/ITransformNode.d.ts +0 -7
  293. package/dist/types/data-sdk/src/model/ITriggeredEvent.d.ts +0 -11
  294. package/dist/types/data-sdk/src/model/ITwist.d.ts +0 -5
  295. package/dist/types/data-sdk/src/model/IUser.d.ts +0 -29
  296. package/dist/types/data-sdk/src/model/IUserParameters.d.ts +0 -4
  297. package/dist/types/data-sdk/src/model/IUserScope.d.ts +0 -15
  298. package/dist/types/data-sdk/src/model/IVector2.d.ts +0 -4
  299. package/dist/types/data-sdk/src/model/IVector3.d.ts +0 -5
  300. package/dist/types/data-sdk/src/model/IVideo.d.ts +0 -7
  301. package/dist/types/data-sdk/src/model/IVideoDevice.d.ts +0 -4
  302. package/dist/types/data-sdk/src/model/IView.d.ts +0 -15
  303. package/dist/types/data-sdk/src/model/IdeviceFollower.d.ts +0 -4
  304. package/dist/types/data-sdk/src/model/InetworkInfo.d.ts +0 -4
  305. package/dist/types/data-sdk/src/model/InterventionType.d.ts +0 -2
  306. package/dist/types/data-sdk/src/model/IsoDate.d.ts +0 -1
  307. package/dist/types/data-sdk/src/model/JsonSchema.d.ts +0 -39
  308. package/dist/types/data-sdk/src/model/Marker3DAction.d.ts +0 -2
  309. package/dist/types/data-sdk/src/model/Marker3DType.d.ts +0 -2
  310. package/dist/types/data-sdk/src/model/OnDemandBufferType.d.ts +0 -2
  311. package/dist/types/data-sdk/src/model/Policies.d.ts +0 -35
  312. package/dist/types/data-sdk/src/model/RequiredKeys.d.ts +0 -3
  313. package/dist/types/data-sdk/src/model/Resource.d.ts +0 -2
  314. package/dist/types/data-sdk/src/model/SessionType.d.ts +0 -26
  315. package/dist/types/data-sdk/src/model/Severity.d.ts +0 -2
  316. package/dist/types/data-sdk/src/model/SortOrder.d.ts +0 -1
  317. package/dist/types/data-sdk/src/model/StreamType.d.ts +0 -2
  318. package/dist/types/data-sdk/src/model/TelemetryResult.d.ts +0 -9
  319. package/dist/types/data-sdk/src/model/Timestamp.d.ts +0 -1
  320. package/dist/types/data-sdk/src/model/Uuid.d.ts +0 -1
  321. package/dist/types/data-sdk/src/model/VideoMimeType.d.ts +0 -2
  322. package/dist/types/data-sdk/src/model/accessLevels.d.ts +0 -1
  323. package/dist/types/data-sdk/src/model/aggregateLevels.d.ts +0 -2
  324. package/dist/types/data-sdk/src/model/aggregateTypes.d.ts +0 -1
  325. package/dist/types/data-sdk/src/model/analyticsAggregteTypes.d.ts +0 -1
  326. package/dist/types/data-sdk/src/model/analyticsChartTypes.d.ts +0 -1
  327. package/dist/types/data-sdk/src/model/annotationTypes.d.ts +0 -1
  328. package/dist/types/data-sdk/src/model/cognitoRegions.d.ts +0 -1
  329. package/dist/types/data-sdk/src/model/deviceTypes.d.ts +0 -1
  330. package/dist/types/data-sdk/src/model/eventTypes.d.ts +0 -1
  331. package/dist/types/data-sdk/src/model/healthStatuses.d.ts +0 -1
  332. package/dist/types/data-sdk/src/model/interventionTypes.d.ts +0 -1
  333. package/dist/types/data-sdk/src/model/marker3DActions.d.ts +0 -1
  334. package/dist/types/data-sdk/src/model/marker3DTypes.d.ts +0 -1
  335. package/dist/types/data-sdk/src/model/onDemandBufferTypes.d.ts +0 -1
  336. package/dist/types/data-sdk/src/model/resources.d.ts +0 -1
  337. package/dist/types/data-sdk/src/model/severities.d.ts +0 -1
  338. package/dist/types/data-sdk/src/model/videoMimeTypes.d.ts +0 -1
  339. package/dist/types/data-sdk/src/stores/AuthenticationErrors.d.ts +0 -9
  340. package/dist/types/data-sdk/src/stores/AuthenticationResult.d.ts +0 -15
  341. package/dist/types/data-sdk/src/stores/AuthenticationStore.d.ts +0 -70
  342. package/dist/types/data-sdk/src/stores/IAuthentication.d.ts +0 -6
  343. package/dist/types/data-sdk/src/stores/IAuthenticationStore.d.ts +0 -45
  344. package/dist/types/data-sdk/src/stores/ICheckSsoResult.d.ts +0 -5
  345. package/dist/types/data-sdk/src/stores/IConfirmForgotPasswordRequest.d.ts +0 -5
  346. package/dist/types/data-sdk/src/stores/IRespondToNewPasswordRequiredChallengeRequest.d.ts +0 -5
  347. package/dist/types/data-sdk/src/utils/RtcClientPool.d.ts +0 -25
  348. package/dist/types/data-sdk/src/utils/aggregateFunctionUtils.d.ts +0 -38
  349. package/dist/types/data-sdk/src/utils/getCurrentModuleContext.d.ts +0 -1
  350. package/dist/types/data-sdk/src/utils/isRtcPeer.d.ts +0 -2
  351. package/dist/types/data-sdk/src/utils/numericAggregateUtils.d.ts +0 -26
  352. package/dist/types/data-sdk/src/utils/serializeHash.d.ts +0 -2
  353. package/dist/types/data-sdk/src/utils/stringToArrayBuffer.d.ts +0 -1
  354. package/dist/types/data-sdk/src/utils/timeout.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataFetchWorker-0a168933.js","sources":["../src/connector/common/duration.ts","../src/connector/common/fork.ts","../src/connector/data/StoreCache.ts","../src/connector/data/DataFetchWorker.ts"],"sourcesContent":["const millisecond = 1;\nconst second = 1000;\nconst minute = 60 * second;\nconst hour = 60 * minute;\nconst day = 24 * hour;\nconst week = 7 * day;\nconst month = 30 * day;\nconst year = 365 * day;\n\nexport const duration = {\n millisecond,\n second,\n minute,\n hour,\n day,\n week,\n month,\n year,\n} as const;\n","/**\n * Used to fire-and-forget a promise.\n * This is useful as a function wrapper to suppress floating promise warnings.\n */\nexport function fork<T>(_: Promise<T>): void {\n return undefined;\n}\n","import { duration } from \"../common/duration\";\nimport { fork } from \"../common/fork\";\n\ninterface ICacheEntryMetadata<Value> {\n generating: boolean;\n expiration: Date;\n lastValue?: Value;\n}\n\ntype CacheKey = string;\n\nexport class StoreCache<Key, Value> {\n private entries = new Map<CacheKey, Value>();\n private metadata = new Map<CacheKey, ICacheEntryMetadata<Value>>();\n private capacity!: number;\n private timeout!: number;\n\n constructor({\n capacity,\n timeout,\n }: { capacity?: number; timeout?: number } = {}) {\n this.capacity = capacity || 10000;\n this.timeout = timeout || duration.minute;\n }\n\n public get(key: Key, generator?: () => Promise<Value>): Value | undefined {\n const cacheKey = this.keyToCacheKey(key);\n const entry = this.entries.get(cacheKey);\n const metadata = this.metadata.get(cacheKey);\n\n if (\n (entry === undefined ||\n (metadata && metadata?.expiration.getTime() < Date.now())) &&\n !metadata?.generating &&\n generator\n ) {\n this.generate(key, generator());\n }\n\n if (entry === undefined && metadata && metadata.lastValue !== undefined) {\n return metadata.lastValue;\n }\n\n return entry;\n }\n\n public set(key: Key, value: Value) {\n const cacheKey = this.keyToCacheKey(key);\n this.metadata.set(cacheKey, {\n generating: false,\n expiration: new Date(Date.now() + this.timeout),\n lastValue: value,\n });\n this.entries.set(cacheKey, value);\n\n if (this.metadata.size > this.capacity) {\n this.deleteOldestEntry();\n }\n }\n\n public clear() {\n this.entries.clear();\n [...this.metadata.values()].forEach((value) => (value.generating = false));\n }\n\n public clearKey(key: string): void {\n this.metadata.delete(key);\n this.entries.delete(key);\n }\n\n private keyToCacheKey(key: Key): CacheKey {\n return JSON.stringify(key);\n }\n\n private deleteOldestEntry() {\n if (this.metadata.size < 1) {\n return;\n }\n const [key] = [...this.metadata.entries()].reduce(\n ([oldestKey, oldestEntry], [thisKey, entry]) =>\n entry.expiration.getTime() < oldestEntry.expiration.getTime()\n ? [thisKey, entry]\n : [oldestKey, oldestEntry]\n );\n this.clearKey(key);\n }\n\n private generate(key: Key, promise: Promise<Value>) {\n const cacheKey = this.keyToCacheKey(key);\n const existingMetadata = this.metadata.get(cacheKey) || {};\n this.metadata.set(cacheKey, {\n ...existingMetadata,\n generating: true,\n expiration: new Date(Date.now() + this.timeout),\n });\n setTimeout(() => {\n fork(\n promise.then((value) => {\n const metadata = this.metadata.get(cacheKey);\n const canceled = !metadata?.generating;\n if (!canceled) {\n this.set(key, value);\n }\n })\n );\n }, 0);\n }\n}\n","import { duration } from \"../common/duration\";\nimport { StoreCache } from \"./StoreCache\";\n\nconst cache = new StoreCache<string, any>({\n capacity: 1000,\n timeout: 1 * duration.minute,\n});\n\nonmessage = async (event: MessageEvent<{ url?: string }>) => {\n const { url } = event.data;\n\n if (url) {\n // Check if the point cloud for the given URL is already in the cache\n const cached = cache.get(url, async () => {\n // Fetch the point cloud and store it in the cache\n const res = await fetch(url, { mode: \"cors\" }).then((r) => r.json());\n return res;\n });\n\n if (cached) {\n postMessage({ url, response: cached });\n }\n }\n};\n"],"names":["duration","fork","_","StoreCache","capacity","timeout","__publicField","key","generator","cacheKey","entry","metadata","value","oldestKey","oldestEntry","thisKey","promise","existingMetadata","cache","event","url","cached","r"],"mappings":"iMASO,MAAMA,EAAW,CACtB,cACA,WACA,WACA,UACA,UACA,YACA,aACA,YACF,ECdO,SAASC,EAAQC,EAAqB,CAE7C,CCKO,MAAMC,CAAuB,CAMlC,YAAY,CACV,SAAAC,EACA,QAAAC,CACF,EAA6C,GAAI,CARzCC,EAAA,mBAAc,KACdA,EAAA,oBAAe,KACfA,EAAA,iBACAA,EAAA,gBAMN,KAAK,SAAWF,GAAY,IACvB,KAAA,QAAUC,GAAWL,EAAS,MACrC,CAEO,IAAIO,EAAUC,EAAqD,CAClE,MAAAC,EAAW,KAAK,cAAcF,CAAG,EACjCG,EAAQ,KAAK,QAAQ,IAAID,CAAQ,EACjCE,EAAW,KAAK,SAAS,IAAIF,CAAQ,EAW3C,OARGC,IAAU,QACRC,IAAYA,GAAA,YAAAA,EAAU,WAAW,WAAY,KAAK,IAAI,IACzD,EAACA,GAAA,MAAAA,EAAU,aACXH,GAEK,KAAA,SAASD,EAAKC,EAAW,CAAA,EAG5BE,IAAU,QAAaC,GAAYA,EAAS,YAAc,OACrDA,EAAS,UAGXD,CACT,CAEO,IAAIH,EAAUK,EAAc,CAC3B,MAAAH,EAAW,KAAK,cAAcF,CAAG,EAClC,KAAA,SAAS,IAAIE,EAAU,CAC1B,WAAY,GACZ,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,KAAK,OAAO,EAC9C,UAAWG,CAAA,CACZ,EACI,KAAA,QAAQ,IAAIH,EAAUG,CAAK,EAE5B,KAAK,SAAS,KAAO,KAAK,UAC5B,KAAK,kBAAkB,CAE3B,CAEO,OAAQ,CACb,KAAK,QAAQ,QACZ,CAAA,GAAG,KAAK,SAAS,QAAQ,EAAE,QAASA,GAAWA,EAAM,WAAa,EAAM,CAC3E,CAEO,SAASL,EAAmB,CAC5B,KAAA,SAAS,OAAOA,CAAG,EACnB,KAAA,QAAQ,OAAOA,CAAG,CACzB,CAEQ,cAAcA,EAAoB,CACjC,OAAA,KAAK,UAAUA,CAAG,CAC3B,CAEQ,mBAAoB,CACtB,GAAA,KAAK,SAAS,KAAO,EACvB,OAEI,KAAA,CAACA,CAAG,EAAI,CAAC,GAAG,KAAK,SAAS,QAAS,CAAA,EAAE,OACzC,CAAC,CAACM,EAAWC,CAAW,EAAG,CAACC,EAASL,CAAK,IACxCA,EAAM,WAAW,QAAY,EAAAI,EAAY,WAAW,UAChD,CAACC,EAASL,CAAK,EACf,CAACG,EAAWC,CAAW,CAAA,EAE/B,KAAK,SAASP,CAAG,CACnB,CAEQ,SAASA,EAAUS,EAAyB,CAC5C,MAAAP,EAAW,KAAK,cAAcF,CAAG,EACjCU,EAAmB,KAAK,SAAS,IAAIR,CAAQ,GAAK,GACnD,KAAA,SAAS,IAAIA,EAAU,CAC1B,GAAGQ,EACH,WAAY,GACZ,WAAY,IAAI,KAAK,KAAK,IAAI,EAAI,KAAK,OAAO,CAAA,CAC/C,EACD,WAAW,IAAM,CAEbD,EAAQ,KAAMJ,GAAU,CACtB,MAAMD,EAAW,KAAK,SAAS,IAAIF,CAAQ,EAC1B,EAACE,GAAA,MAAAA,EAAU,aAErB,KAAA,IAAIJ,EAAKK,CAAK,CACrB,CACD,GAEF,CAAC,CACN,CACF,CCxGA,MAAMM,EAAQ,IAAIf,EAAwB,CACxC,SAAU,IACV,QAAS,EAAIH,EAAS,MACxB,CAAC,EAED,UAAY,MAAOmB,GAA0C,CACrD,KAAA,CAAE,IAAAC,CAAI,EAAID,EAAM,KAEtB,GAAIC,EAAK,CAEP,MAAMC,EAASH,EAAM,IAAIE,EAAK,SAEhB,MAAM,MAAMA,EAAK,CAAE,KAAM,OAAQ,EAAE,KAAME,GAAMA,EAAE,KAAM,CAAA,CAEpE,EAEGD,GACF,YAAY,CAAE,IAAAD,EAAK,SAAUC,CAAQ,CAAA,CAEzC,CACF"}
@@ -0,0 +1,6 @@
1
+ var R=Object.defineProperty;var G=(M,b,x)=>b in M?R(M,b,{enumerable:!0,configurable:!0,writable:!0,value:x}):M[b]=x;var I=(M,b,x)=>(G(M,typeof b!="symbol"?b+"":b,x),x);(function(){"use strict";const S={millisecond:1,second:1e3,minute:6e4,hour:36e5,day:864e5,week:6048e5,month:2592e6,year:31536e6};function q(o){}class _{constructor({capacity:t,timeout:n}={}){I(this,"entries",new Map);I(this,"metadata",new Map);I(this,"capacity");I(this,"timeout");this.capacity=t||1e4,this.timeout=n||S.minute}get(t,n){const e=this.keyToCacheKey(t),c=this.entries.get(e),i=this.metadata.get(e);return(c===void 0||i&&(i==null?void 0:i.expiration.getTime())<Date.now())&&!(i!=null&&i.generating)&&n&&this.generate(t,n()),c===void 0&&i&&i.lastValue!==void 0?i.lastValue:c}set(t,n){const e=this.keyToCacheKey(t);this.metadata.set(e,{generating:!1,expiration:new Date(Date.now()+this.timeout),lastValue:n}),this.entries.set(e,n),this.metadata.size>this.capacity&&this.deleteOldestEntry()}clear(){this.entries.clear(),[...this.metadata.values()].forEach(t=>t.generating=!1)}clearKey(t){this.metadata.delete(t),this.entries.delete(t)}keyToCacheKey(t){return JSON.stringify(t)}deleteOldestEntry(){if(this.metadata.size<1)return;const[t]=[...this.metadata.entries()].reduce(([n,e],[c,i])=>i.expiration.getTime()<e.expiration.getTime()?[c,i]:[n,e]);this.clearKey(t)}generate(t,n){const e=this.keyToCacheKey(t),c=this.metadata.get(e)||{};this.metadata.set(e,{...c,generating:!0,expiration:new Date(Date.now()+this.timeout)}),setTimeout(()=>{n.then(i=>{const r=this.metadata.get(e);!(r!=null&&r.generating)||this.set(t,i)})},0)}}/**
2
+ * LZF compression/decompression module. Ported from the C
3
+ * implementation of liblzf, specfically lzf_c.c and lzf_d.c
4
+ * @license BSD-2-Clause
5
+ */function K(o){var t=new Uint8Array(o),n=[],e=0,c=0;do{var i=t[e++];if(i<32){if(i++,e+i>t.length)throw new Error("Invalid input");for(;i--;)n[c++]=t[e++]}else{var r=i>>5,f=c-((i&31)<<8)-1;if(e>=t.length)throw new Error("Invalid input");if(r==7&&(r+=t[e++],e>=t.length))throw new Error("Invalid input");if(f-=t[e++],f<0)throw new Error("Invalid input");r+=2;do n[c++]=n[f++];while(--r)}}while(e<t.length);if(typeof Buffer!="undefined")return new Buffer(n);var u=new Uint8Array(n.length);return u.set(n),u}function O(o){var t=16,n=1<<t,e=8192,c=256+8,i=32;function r(v,T){return v[T]<<8|v[T+1]}function f(v,T,P){return v<<8|T[P+2]}function u(v){return v*506832829>>32-t-8&n-1}for(var s=new Uint8Array(o),a=[],d=new Uint32Array(n),y=s.length,h=0,g=r(s,h),p=1,l=0;h<y-2;){g=f(g,o,h);var z=u(g),m=d[z];d[z]=h;var E;if(m<h&&(E=h-m-1)<e&&m>0&&s[m+2]==s[h+2]&&s[m+1]==s[h+1]&&s[m]==s[h]){var w=2,F=y-h-w;F=F>c?c:F,a[p-l-1]=l-1&255,l==0&&(p-=1);do w++;while(w<F&&s[m+w]==s[h+w]);if(w-=2,h++,w<7?a[p++]=(E>>8)+(w<<5)&255:(a[p++]=(E>>8)+224&255,a[p++]=w-7&255),a[p++]=E&255,l=0,p++,h+=w+1,h>=y-2)break;--h,--h,g=r(s,h),g=f(g,s,h),d[u(g)]=h++,g=f(g,s,h),d[u(g)]=h++}else l++,a[p++]=s[h++],l==i&&(a[p-l-1]=l-1&255,l=0,p++)}for(;h<y;)l++,a[p++]=s[h++],l==i&&(a[p-l-1]=l-1&255,l=0,p++);if(l!=0&&(a[p-l-1]=l-1&255),typeof Buffer!="undefined")return new Buffer(a);var U=new Uint8Array(a.length);return U.set(a),U}var B={decompress:K,compress:O};const C=(o,t)=>t<=o?[]:new Array(t-o).fill(0).map((n,e)=>e+o),A=!0;function H(o){const t=atob(o),n=t.length,e=new Uint8Array(n);for(let c=0;c<n;c+=1)e[c]=t.charCodeAt(c);return e.buffer}function L(o){const t=new Uint8Array(o);let n="",e=0;for(;e<t.length&&n.search(/[\r\n]DATA\s(\S*)\s/i)===-1;e+=1)n+=String.fromCharCode(t[e]);return{body:o.slice(e),header:n.replace(/#.*/gi,"")}}function V(o){const n=new Uint32Array(o,0,2)[0];return n===0?new ArrayBuffer(0):B.decompress(new Uint8Array(o,8,n)).buffer}function k(o){const{header:t,body:n}=L(o),e=/VERSION (.*)/i.exec(t);if(e===null)throw new Error(`Missing version. Header ${t}`);const c=e[1],i=/FIELDS (.*)/i.exec(t);if(!i)throw new Error("Missing fields");const r=i[1].split(" "),f=/SIZE (.*)/i.exec(t);if(!f)throw new Error("Missing size");const u=f[1].split(" ").map(v=>parseInt(v,10)),s=/TYPE (.*)/i.exec(t);if(!s)throw new Error("Missing type");const a=s[1].split(" "),d=/COUNT (.*)/i.exec(t);let y;d&&(y=d[1].split(" ").map(v=>parseInt(v,10)));const h=y||r.map(v=>1),g=/WIDTH (.*)/i.exec(t);if(!g)throw new Error("Missing width");const p=parseInt(g[1],10),l=/HEIGHT (.*)/i.exec(t);if(!l)throw new Error("Missing height");const z=parseInt(l[1],10),m=/POINTS (.*)/i.exec(t);let E;m&&(E=parseInt(m[1],10));const w=E||p*z,F=/DATA (.*)/i.exec(t);if(!F)throw new Error("Missing data");const U=F[1];return{body:n,header:{count:h,data:U,fields:r,height:z,points:w,size:u,type:a,version:c,width:p}}}function N(o){const t={};return o.fields.reduce(({offsets:n,size:e},c,i)=>{let r=e;return c==="x"&&(n.x=r),c==="y"&&(n.y=r),c==="z"&&(n.z=r),c==="rgb"&&(n.rgb=r),c==="rgba"&&(n.rgba=r),c==="intensity"&&(n.intensity=r),o.data==="ascii"?r+=1:o.data==="binary"?r+=o.size[i]*o.count[i]:o.data==="binary_compressed"&&(r+=o.size[i]*o.count[i]*o.points),{offsets:n,size:r}},{offsets:t,size:0})}function D(o){const{header:t,body:n}=k(o),{offsets:e,size:c}=N(t);let i;e.x!==void 0&&e.y!==void 0&&e.z!==void 0&&(i=new Float32Array(t.points*3));let r;(e.rgb!==void 0||e.rgba!==void 0)&&(r=new Float32Array(t.points*4));let f;if(e.intensity!==void 0&&(f=new Float32Array(t.points)),t.data==="ascii")String.fromCharCode(...new Uint8Array(n)).split(`
6
+ `).forEach((a,d)=>{const y=a.split(" ");if(i!==void 0&&(i[d*3+0]=parseFloat(y[e.x||0]),i[d*3+1]=parseFloat(y[e.y||0]),i[d*3+2]=parseFloat(y[e.z||0])),r!==void 0){const h=new Int32Array([parseInt(y[e.rgb||e.rgba||0],10)]),g=new DataView(h.buffer,0);r[d*3+0]=g.getUint8(2)/255,r[d*3+1]=g.getUint8(1)/255,r[d*3+2]=g.getUint8(0)/255}f!==void 0&&(f[d]=parseFloat(y[e.intensity||0]))});else if(t.data==="binary"){const u=new DataView(n);C(0,t.points).forEach(s=>{const a=c*s;if(i!==void 0&&(i[s*3+0]=u.getFloat32(a+(e.x||0),A),i[s*3+1]=u.getFloat32(a+(e.y||0),A),i[s*3+2]=u.getFloat32(a+(e.z||0),A)),r!==void 0){const d=a+(e.rgb||e.rgba||0);d+2<=u.byteLength&&(r[s*4+0]=u.getUint8(d+2)/255,r[s*4+1]=u.getUint8(d+1)/255,r[s*4+2]=u.getUint8(d+0)/255,r[s*4+3]=1)}f!==void 0&&(f[s]=u.getFloat32(a+(e.intensity||0),A))})}else if(t.data==="binary_compressed"){const u=V(n),s=new DataView(u);C(0,t.points).forEach(a=>{if(i!==void 0&&(i[a*3+0]=s.getFloat32((e.x||0)+a*4,A),i[a*3+1]=s.getFloat32((e.y||0)+a*4,A),i[a*3+2]=s.getFloat32((e.z||0)+a*4,A)),r!==void 0){const d=(e.rgb||e.rgba||0)+a*4;d+2<=s.byteLength&&(r[a*4+0]=s.getUint8(d+2)/255,r[a*4+1]=s.getUint8(d+1)/255,r[a*4+2]=s.getUint8(d+0)/255,r[a*4+3]=1)}f!==void 0&&(f[a]=s.getFloat32((e.intensity||0)+a*4,A))})}return{colors:r,header:t,intensity:f,positions:i}}function X(o){return D(H(o))}const Z=new _({capacity:1e3,timeout:1*S.minute});onmessage=async o=>{const{url:t,id:n,pointCloud:e}=o.data;if(t){const c=Z.get(t,async()=>D(await fetch(t,{mode:"cors"}).then(r=>r.arrayBuffer())));c&&postMessage({url:t,pcd:c})}if(n&&e){const c=X(e);postMessage({id:n,pcd:c})}}})();
@@ -1 +1 @@
1
- {"version":3,"file":"PcdLoaderWorker-eaac0b31.js","sources":["../src/connector/common/duration.ts","../src/connector/common/fork.ts","../src/connector/data/StoreCache.ts","../node_modules/lzfjs/lzf.js","../src/connector/data/range.ts","../src/connector/data/pcd.ts","../src/connector/data/PcdLoaderWorker.ts"],"sourcesContent":["const millisecond = 1;\nconst second = 1000;\nconst minute = 60 * second;\nconst hour = 60 * minute;\nconst day = 24 * hour;\nconst week = 7 * day;\nconst month = 30 * day;\nconst year = 365 * day;\n\nexport const duration = {\n millisecond,\n second,\n minute,\n hour,\n day,\n week,\n month,\n year,\n} as const;\n","/**\n * Used to fire-and-forget a promise.\n * This is useful as a function wrapper to suppress floating promise warnings.\n */\nexport function fork<T>(_: Promise<T>): void {\n return undefined;\n}\n","import { duration } from \"../common/duration\";\nimport { fork } from \"../common/fork\";\n\ninterface ICacheEntryMetadata<Value> {\n generating: boolean;\n expiration: Date;\n lastValue?: Value;\n}\n\ntype CacheKey = string;\n\nexport class StoreCache<Key, Value> {\n private entries = new Map<CacheKey, Value>();\n private metadata = new Map<CacheKey, ICacheEntryMetadata<Value>>();\n private capacity!: number;\n private timeout!: number;\n\n constructor({\n capacity,\n timeout,\n }: { capacity?: number; timeout?: number } = {}) {\n this.capacity = capacity || 10000;\n this.timeout = timeout || duration.minute;\n }\n\n public get(key: Key, generator?: () => Promise<Value>): Value | undefined {\n const cacheKey = this.keyToCacheKey(key);\n const entry = this.entries.get(cacheKey);\n const metadata = this.metadata.get(cacheKey);\n\n if (\n (entry === undefined ||\n (metadata && metadata?.expiration.getTime() < Date.now())) &&\n !metadata?.generating &&\n generator\n ) {\n this.generate(key, generator());\n }\n\n if (entry === undefined && metadata && metadata.lastValue !== undefined) {\n return metadata.lastValue;\n }\n\n return entry;\n }\n\n public set(key: Key, value: Value) {\n const cacheKey = this.keyToCacheKey(key);\n this.metadata.set(cacheKey, {\n generating: false,\n expiration: new Date(Date.now() + this.timeout),\n lastValue: value,\n });\n this.entries.set(cacheKey, value);\n\n if (this.metadata.size > this.capacity) {\n this.deleteOldestEntry();\n }\n }\n\n public clear() {\n this.entries.clear();\n [...this.metadata.values()].forEach((value) => (value.generating = false));\n }\n\n public clearKey(key: string): void {\n this.metadata.delete(key);\n this.entries.delete(key);\n }\n\n private keyToCacheKey(key: Key): CacheKey {\n return JSON.stringify(key);\n }\n\n private deleteOldestEntry() {\n if (this.metadata.size < 1) {\n return;\n }\n const [key] = [...this.metadata.entries()].reduce(\n ([oldestKey, oldestEntry], [thisKey, entry]) =>\n entry.expiration.getTime() < oldestEntry.expiration.getTime()\n ? [thisKey, entry]\n : [oldestKey, oldestEntry]\n );\n this.clearKey(key);\n }\n\n private generate(key: Key, promise: Promise<Value>) {\n const cacheKey = this.keyToCacheKey(key);\n const existingMetadata = this.metadata.get(cacheKey) || {};\n this.metadata.set(cacheKey, {\n ...existingMetadata,\n generating: true,\n expiration: new Date(Date.now() + this.timeout),\n });\n setTimeout(() => {\n fork(\n promise.then((value) => {\n const metadata = this.metadata.get(cacheKey);\n const canceled = !metadata?.generating;\n if (!canceled) {\n this.set(key, value);\n }\n })\n );\n }, 0);\n }\n}\n","/**\r\n * LZF compression/decompression module. Ported from the C\r\n * implementation of liblzf, specfically lzf_c.c and lzf_d.c\r\n * @license BSD-2-Clause\r\n */\r\n\r\n \"use strict\";\r\n\r\n/**\r\n * Decompress a TypedArray (in browser) or Buffer (in node)\r\n * containing LZF compressed data.\r\n * @param {(ArrayBuffer|TypedArray|Buffer)} data - the data to be decompressed\r\n * @returns {(Uint8Array|Buffer)} - decompressed data\r\n */\r\nfunction decompress(data) {\r\n var input = new Uint8Array(data);\r\n var output = [];\r\n\r\n var ip = 0;\r\n var op = 0;\r\n\r\n do {\r\n var ctrl = input[ip++];\r\n\r\n if (ctrl < (1 << 5)) { /* literal run */\r\n ctrl++;\r\n\r\n if (ip + ctrl > input.length) {\r\n throw new Error('Invalid input'); \r\n }\r\n\r\n while (ctrl--) {\r\n output[op++] = input[ip++];\r\n }\r\n } else { /* back reference */\r\n var len = ctrl >> 5;\r\n var ref = op - ((ctrl & 0x1f) << 8) - 1;\r\n\r\n if (ip >= input.length) {\r\n throw new Error('Invalid input');\r\n }\r\n\r\n if (len == 7) {\r\n len += input[ip++];\r\n\r\n if (ip >= input.length) {\r\n throw new Error('Invalid input');\r\n }\r\n }\r\n\r\n ref -= input[ip++];\r\n\r\n if (ref < 0) {\r\n throw new Error('Invalid input');\r\n }\r\n\r\n len += 2;\r\n\r\n do {\r\n output[op++] = output[ref++];\r\n } while (--len);\r\n }\r\n } while (ip < input.length);\r\n\r\n // Return a Buffer if it exists (say in node), otherwise just\r\n // use a normal Uint8Array.\r\n if (typeof Buffer !== 'undefined') {\r\n return new Buffer(output);\r\n } else {\r\n var res = new Uint8Array(output.length);\r\n res.set(output);\r\n return res;\r\n }\r\n}\r\n\r\n/**\r\n * Compress a buffer containing some data\r\n * @param {(ArrayBuffer|TypedArray|Buffer)} data - the data to be compressed\r\n * @returns {(Uint8Array|Buffer)} - compressed data\r\n */\r\nfunction compress(data) {\r\n var HLOG = 16;\r\n var HSIZE = (1 << HLOG);\r\n var LZF_MAX_OFF = (1 << 13);\r\n var LZF_MAX_REF = ((1 << 8) + (1 << 3));\r\n var LZF_MAX_LIT = (1 << 5);\r\n\r\n function FRST(data, p) {\r\n return (((data[p]) << 8) | data[p+1]);\r\n }\r\n\r\n function NEXT(v, data, p) {\r\n return (((v) << 8) | data[p+2]);\r\n }\r\n\r\n function IDX(h) {\r\n return (((h * 0x1e35a7bd) >> (32 - HLOG - 8)) & (HSIZE - 1));\r\n }\r\n\r\n var input = new Uint8Array(data);\r\n var output = [];\r\n var htab = new Uint32Array(HSIZE);\r\n\r\n var in_end = input.length, ip = 0, hval = FRST(input, ip);\r\n var op = 1, lit = 0; /* start run */\r\n\r\n while (ip < in_end - 2) {\r\n hval = NEXT(hval, data, ip);\r\n var hslot = IDX(hval);\r\n var ref = htab[hslot];\r\n htab[hslot] = ip;\r\n\r\n var off;\r\n\r\n if (ref < ip /* the next test will actually take care of this, but this is faster */\r\n && (off = ip - ref - 1) < LZF_MAX_OFF\r\n && ref > 0\r\n && input[ref + 2] == input[ip + 2]\r\n && input[ref + 1] == input[ip + 1]\r\n && input[ref] == input[ip]\r\n ) {\r\n /* match found at *ref++ */\r\n var len = 2;\r\n var maxlen = in_end - ip - len;\r\n maxlen = maxlen > LZF_MAX_REF ? LZF_MAX_REF : maxlen;\r\n\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n if (lit == 0) {\r\n op -= 1; /* undo run if length is zero */\r\n }\r\n\r\n do {\r\n len++;\r\n }\r\n while (len < maxlen && input[ref + len] == input[ip + len]);\r\n\r\n len -= 2; /* len is now #octets - 1 */\r\n ip++;\r\n\r\n if (len < 7) {\r\n output[op++] = ((off >> 8) + (len << 5)) & 255;\r\n } else {\r\n output[op++] = ((off >> 8) + (7 << 5)) & 255;\r\n output[op++] = (len - 7) & 255;\r\n }\r\n\r\n output[op++] = off & 255;\r\n\r\n lit = 0; op++; /* start run */\r\n\r\n ip += len + 1;\r\n\r\n if (ip >= in_end - 2) {\r\n break;\r\n }\r\n\r\n --ip;\r\n --ip;\r\n hval = FRST(input, ip);\r\n\r\n hval = NEXT(hval, input, ip);\r\n htab[IDX(hval)] = ip++;\r\n\r\n hval = NEXT(hval, input, ip);\r\n htab[IDX(hval)] = ip++;\r\n } else {\r\n lit++;\r\n output[op++] = input[ip++];\r\n\r\n if (lit == LZF_MAX_LIT) {\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n lit = 0; op++; /* start run */\r\n }\r\n }\r\n }\r\n\r\n while (ip < in_end) {\r\n lit++;\r\n output[op++] = input[ip++];\r\n\r\n if (lit == LZF_MAX_LIT) {\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n lit = 0; op++; /* start run */\r\n }\r\n }\r\n\r\n if (lit != 0) {\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n }\r\n\r\n // Return a Buffer if it exists (say in node), otherwise just\r\n // use a normal Uint8Array.\r\n if (typeof Buffer !== 'undefined') {\r\n return new Buffer(output);\r\n } else {\r\n var res = new Uint8Array(output.length);\r\n res.set(output);\r\n return res;\r\n }\r\n}\r\n\r\nmodule.exports = {\r\n decompress: decompress,\r\n compress: compress\r\n};\r\n","export const range = (start: number, end: number) =>\n end <= start ? [] : new Array(end - start).fill(0).map((_, i) => i + start);\n","// @ts-ignore-next-line\nimport * as lzfjs from \"lzfjs\";\nimport { range } from \"./range\";\n\nexport type Field = \"x\" | \"y\" | \"z\" | \"rgb\" | \"rgba\" | \"intensity\";\nexport type Type = \"i\" | \"u\" | \"f\";\nexport type Data = \"ascii\" | \"binary\" | \"binary_compressed\";\n\nexport interface IPcdHeader {\n version: string;\n fields: Field[];\n size: number[];\n type: Type[];\n count: number[];\n height: number;\n width: number;\n points: number;\n data: Data;\n}\n\ninterface IOffsets {\n x?: number;\n y?: number;\n z?: number;\n rgb?: number;\n rgba?: number;\n intensity?: number;\n}\n\nexport interface IPcd {\n header: IPcdHeader;\n positions?: Float32Array;\n colors?: Float32Array;\n intensity?: Float32Array;\n}\n\nconst littleEndian = true;\n\nfunction base64ToArrayBuffer(b: string) {\n const binaryString = atob(b);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i += 1) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes.buffer;\n}\n\nfunction extractHeader(buffer: ArrayBuffer): {\n header: string;\n body: ArrayBuffer;\n} {\n const chars = new Uint8Array(buffer);\n let header = \"\";\n\n let i = 0;\n for (\n ;\n i < chars.length && header.search(/[\\r\\n]DATA\\s(\\S*)\\s/i) === -1;\n i += 1\n ) {\n header += String.fromCharCode(chars[i]);\n }\n return {\n body: buffer.slice(i),\n header: header.replace(/#.*/gi, \"\"),\n };\n}\n\nfunction decompress(data: ArrayBuffer): ArrayBufferLike {\n const sizes = new Uint32Array(data, 0, 2);\n const compressedSize = sizes[0];\n if (compressedSize === 0) {\n return new ArrayBuffer(0);\n }\n return lzfjs.decompress(new Uint8Array(data, 8, compressedSize)).buffer;\n}\n\nfunction parseHeader(buffer: ArrayBuffer): {\n header: IPcdHeader;\n body: ArrayBuffer;\n} {\n const { header, body } = extractHeader(buffer);\n\n const versionMatch = /VERSION (.*)/i.exec(header);\n if (versionMatch === null) {\n throw new Error(`Missing version. Header ${header}`);\n }\n const version = versionMatch[1];\n\n const fieldsMatch = /FIELDS (.*)/i.exec(header);\n if (!fieldsMatch) {\n throw new Error(\"Missing fields\");\n }\n const fields = fieldsMatch[1].split(\" \") as Field[];\n\n const sizeMatch = /SIZE (.*)/i.exec(header);\n if (!sizeMatch) {\n throw new Error(\"Missing size\");\n }\n const size = sizeMatch[1].split(\" \").map((_) => parseInt(_, 10));\n\n const typeMatch = /TYPE (.*)/i.exec(header);\n if (!typeMatch) {\n throw new Error(\"Missing type\");\n }\n const type = typeMatch[1].split(\" \") as Type[];\n\n const countMatch = /COUNT (.*)/i.exec(header);\n let optionalCount: number[] | undefined;\n if (countMatch) {\n optionalCount = countMatch[1].split(\" \").map((_) => parseInt(_, 10));\n }\n const count = optionalCount || fields.map((_) => 1);\n\n const widthMatch = /WIDTH (.*)/i.exec(header);\n if (!widthMatch) {\n throw new Error(\"Missing width\");\n }\n const width = parseInt(widthMatch[1], 10);\n\n const heightMatch = /HEIGHT (.*)/i.exec(header);\n if (!heightMatch) {\n throw new Error(\"Missing height\");\n }\n const height = parseInt(heightMatch[1], 10);\n\n const pointsMatch = /POINTS (.*)/i.exec(header);\n let optionalPoints: number | undefined;\n if (pointsMatch) {\n optionalPoints = parseInt(pointsMatch[1], 10);\n }\n const points = optionalPoints || width * height;\n\n const dataMatch = /DATA (.*)/i.exec(header);\n if (!dataMatch) {\n throw new Error(\"Missing data\");\n }\n const data = dataMatch[1] as Data;\n\n return {\n body,\n header: {\n count,\n data,\n fields,\n height,\n points,\n size,\n type,\n version,\n width,\n },\n };\n}\n\nfunction calculateOffsets(header: IPcdHeader): {\n offsets: IOffsets;\n size: number;\n} {\n const empty: IOffsets = {};\n return header.fields.reduce(\n ({ offsets, size }, field, i) => {\n let newSize = size;\n if (field === \"x\") {\n offsets.x = newSize;\n }\n if (field === \"y\") {\n offsets.y = newSize;\n }\n if (field === \"z\") {\n offsets.z = newSize;\n }\n if (field === \"rgb\") {\n offsets.rgb = newSize;\n }\n if (field === \"rgba\") {\n offsets.rgba = newSize;\n }\n if (field === \"intensity\") {\n offsets.intensity = newSize;\n }\n if (header.data === \"ascii\") {\n newSize += 1;\n } else if (header.data === \"binary\") {\n newSize += header.size[i] * header.count[i];\n } else if (header.data === \"binary_compressed\") {\n newSize += header.size[i] * header.count[i] * header.points;\n }\n return {\n offsets,\n size: newSize,\n };\n },\n {\n offsets: empty,\n size: 0,\n }\n );\n}\n\nexport function parse(buffer: ArrayBuffer): IPcd {\n const { header, body } = parseHeader(buffer);\n\n const { offsets, size } = calculateOffsets(header);\n\n let positions: Float32Array | undefined;\n if (\n offsets.x !== undefined &&\n offsets.y !== undefined &&\n offsets.z !== undefined\n ) {\n positions = new Float32Array(header.points * 3);\n }\n\n let colors: Float32Array | undefined;\n if (offsets.rgb !== undefined || offsets.rgba !== undefined) {\n colors = new Float32Array(header.points * 4);\n }\n let intensity: Float32Array | undefined;\n if (offsets.intensity !== undefined) {\n intensity = new Float32Array(header.points);\n }\n\n if (header.data === \"ascii\") {\n const dataString: string = String.fromCharCode(...new Uint8Array(body));\n\n const lines = dataString.split(\"\\n\");\n lines.forEach((line, i) => {\n const column = line.split(\" \");\n\n if (positions !== undefined) {\n positions[i * 3 + 0] = parseFloat(column[offsets.x || 0]);\n positions[i * 3 + 1] = parseFloat(column[offsets.y || 0]);\n positions[i * 3 + 2] = parseFloat(column[offsets.z || 0]);\n }\n\n if (colors !== undefined) {\n const intArray = new Int32Array([\n parseInt(column[offsets.rgb || offsets.rgba || 0], 10),\n ]);\n const view = new DataView(intArray.buffer, 0);\n colors[i * 3 + 0] = view.getUint8(2) / 255.0;\n colors[i * 3 + 1] = view.getUint8(1) / 255.0;\n colors[i * 3 + 2] = view.getUint8(0) / 255.0;\n }\n\n if (intensity !== undefined) {\n intensity[i] = parseFloat(column[offsets.intensity || 0]);\n }\n });\n } else if (header.data === \"binary\") {\n const view = new DataView(body);\n\n range(0, header.points).forEach((i) => {\n const row = size * i;\n\n if (positions !== undefined) {\n positions[i * 3 + 0] = view.getFloat32(\n row + (offsets.x || 0),\n littleEndian\n );\n positions[i * 3 + 1] = view.getFloat32(\n row + (offsets.y || 0),\n littleEndian\n );\n positions[i * 3 + 2] = view.getFloat32(\n row + (offsets.z || 0),\n littleEndian\n );\n }\n\n if (colors !== undefined) {\n const offset = row + (offsets.rgb || offsets.rgba || 0);\n if (offset + 2 <= view.byteLength) {\n colors[i * 4 + 0] = view.getUint8(offset + 2) / 255.0;\n colors[i * 4 + 1] = view.getUint8(offset + 1) / 255.0;\n colors[i * 4 + 2] = view.getUint8(offset + 0) / 255.0;\n colors[i * 4 + 3] = 1.0;\n }\n }\n\n if (intensity !== undefined) {\n intensity[i] = view.getFloat32(\n row + (offsets.intensity || 0),\n littleEndian\n );\n }\n });\n } else if (header.data === \"binary_compressed\") {\n const uncompressed = decompress(body);\n const view = new DataView(uncompressed);\n\n range(0, header.points).forEach((i) => {\n if (positions !== undefined) {\n positions[i * 3 + 0] = view.getFloat32(\n (offsets.x || 0) + i * 4,\n littleEndian\n );\n positions[i * 3 + 1] = view.getFloat32(\n (offsets.y || 0) + i * 4,\n littleEndian\n );\n positions[i * 3 + 2] = view.getFloat32(\n (offsets.z || 0) + i * 4,\n littleEndian\n );\n }\n\n if (colors !== undefined) {\n const offset = (offsets.rgb || offsets.rgba || 0) + i * 4;\n if (offset + 2 <= view.byteLength) {\n colors[i * 4 + 0] = view.getUint8(offset + 2) / 255.0;\n colors[i * 4 + 1] = view.getUint8(offset + 1) / 255.0;\n colors[i * 4 + 2] = view.getUint8(offset + 0) / 255.0;\n colors[i * 4 + 3] = 1.0;\n }\n }\n\n if (intensity !== undefined) {\n intensity[i] = view.getFloat32(\n (offsets.intensity || 0) + i * 4,\n littleEndian\n );\n }\n });\n }\n\n return {\n colors,\n header,\n intensity,\n positions,\n };\n}\n\nexport async function loadFromUrl(path: string): Promise<IPcd> {\n const response = await fetch(path, { mode: \"cors\" });\n return parse(await response.arrayBuffer());\n}\n\nexport function loadFromBase64(data: string): IPcd {\n return parse(base64ToArrayBuffer(data));\n}\n","import { duration } from \"../common/duration\";\nimport { StoreCache } from \"./StoreCache\";\nimport { IPcd, loadFromBase64, parse } from \"./pcd\";\n\nconst cache = new StoreCache<string, IPcd>({\n capacity: 1000,\n timeout: 1 * duration.minute,\n});\n\nonmessage = async (\n event: MessageEvent<{ id?: number; url?: string; pointCloud: string }>\n) => {\n const { url, id, pointCloud } = event.data;\n\n if (url) {\n // Check if the point cloud for the given URL is already in the cache\n const cached = cache.get(url, async () => {\n // Fetch the point cloud and store it in the cache\n const pcd = parse(\n await fetch(url, { mode: \"cors\" }).then((r) => r.arrayBuffer())\n );\n return pcd;\n });\n\n if (cached) {\n postMessage({ url, pcd: cached });\n }\n }\n\n if (id && pointCloud) {\n // Process the base64-encoded point cloud\n const pcd = loadFromBase64(pointCloud);\n postMessage({ id, pcd });\n }\n};\n"],"names":["duration","fork","_","StoreCache","capacity","timeout","__publicField","key","generator","cacheKey","entry","metadata","value","oldestKey","oldestEntry","thisKey","promise","existingMetadata","decompress","data","input","output","ip","op","ctrl","len","ref","res","compress","HLOG","HSIZE","LZF_MAX_OFF","LZF_MAX_REF","LZF_MAX_LIT","FRST","p","NEXT","IDX","h","htab","in_end","hval","lit","hslot","off","maxlen","lzf","range","start","end","i","littleEndian","base64ToArrayBuffer","b","binaryString","bytes","extractHeader","buffer","chars","header","compressedSize","lzfjs.decompress","parseHeader","body","versionMatch","version","fieldsMatch","fields","sizeMatch","size","typeMatch","type","countMatch","optionalCount","count","widthMatch","width","heightMatch","height","pointsMatch","optionalPoints","points","dataMatch","calculateOffsets","empty","offsets","field","newSize","parse","positions","colors","intensity","line","column","intArray","view","row","offset","uncompressed","loadFromBase64","cache","event","url","id","pointCloud","cached","pcd"],"mappings":"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","x_google_ignoreList":[3]}
1
+ {"version":3,"file":"PcdLoaderWorker-6fe0da29.js","sources":["../src/connector/common/duration.ts","../src/connector/common/fork.ts","../src/connector/data/StoreCache.ts","../node_modules/lzfjs/lzf.js","../src/connector/data/range.ts","../src/connector/data/pcd.ts","../src/connector/data/PcdLoaderWorker.ts"],"sourcesContent":["const millisecond = 1;\nconst second = 1000;\nconst minute = 60 * second;\nconst hour = 60 * minute;\nconst day = 24 * hour;\nconst week = 7 * day;\nconst month = 30 * day;\nconst year = 365 * day;\n\nexport const duration = {\n millisecond,\n second,\n minute,\n hour,\n day,\n week,\n month,\n year,\n} as const;\n","/**\n * Used to fire-and-forget a promise.\n * This is useful as a function wrapper to suppress floating promise warnings.\n */\nexport function fork<T>(_: Promise<T>): void {\n return undefined;\n}\n","import { duration } from \"../common/duration\";\nimport { fork } from \"../common/fork\";\n\ninterface ICacheEntryMetadata<Value> {\n generating: boolean;\n expiration: Date;\n lastValue?: Value;\n}\n\ntype CacheKey = string;\n\nexport class StoreCache<Key, Value> {\n private entries = new Map<CacheKey, Value>();\n private metadata = new Map<CacheKey, ICacheEntryMetadata<Value>>();\n private capacity!: number;\n private timeout!: number;\n\n constructor({\n capacity,\n timeout,\n }: { capacity?: number; timeout?: number } = {}) {\n this.capacity = capacity || 10000;\n this.timeout = timeout || duration.minute;\n }\n\n public get(key: Key, generator?: () => Promise<Value>): Value | undefined {\n const cacheKey = this.keyToCacheKey(key);\n const entry = this.entries.get(cacheKey);\n const metadata = this.metadata.get(cacheKey);\n\n if (\n (entry === undefined ||\n (metadata && metadata?.expiration.getTime() < Date.now())) &&\n !metadata?.generating &&\n generator\n ) {\n this.generate(key, generator());\n }\n\n if (entry === undefined && metadata && metadata.lastValue !== undefined) {\n return metadata.lastValue;\n }\n\n return entry;\n }\n\n public set(key: Key, value: Value) {\n const cacheKey = this.keyToCacheKey(key);\n this.metadata.set(cacheKey, {\n generating: false,\n expiration: new Date(Date.now() + this.timeout),\n lastValue: value,\n });\n this.entries.set(cacheKey, value);\n\n if (this.metadata.size > this.capacity) {\n this.deleteOldestEntry();\n }\n }\n\n public clear() {\n this.entries.clear();\n [...this.metadata.values()].forEach((value) => (value.generating = false));\n }\n\n public clearKey(key: string): void {\n this.metadata.delete(key);\n this.entries.delete(key);\n }\n\n private keyToCacheKey(key: Key): CacheKey {\n return JSON.stringify(key);\n }\n\n private deleteOldestEntry() {\n if (this.metadata.size < 1) {\n return;\n }\n const [key] = [...this.metadata.entries()].reduce(\n ([oldestKey, oldestEntry], [thisKey, entry]) =>\n entry.expiration.getTime() < oldestEntry.expiration.getTime()\n ? [thisKey, entry]\n : [oldestKey, oldestEntry]\n );\n this.clearKey(key);\n }\n\n private generate(key: Key, promise: Promise<Value>) {\n const cacheKey = this.keyToCacheKey(key);\n const existingMetadata = this.metadata.get(cacheKey) || {};\n this.metadata.set(cacheKey, {\n ...existingMetadata,\n generating: true,\n expiration: new Date(Date.now() + this.timeout),\n });\n setTimeout(() => {\n fork(\n promise.then((value) => {\n const metadata = this.metadata.get(cacheKey);\n const canceled = !metadata?.generating;\n if (!canceled) {\n this.set(key, value);\n }\n })\n );\n }, 0);\n }\n}\n","/**\r\n * LZF compression/decompression module. Ported from the C\r\n * implementation of liblzf, specfically lzf_c.c and lzf_d.c\r\n * @license BSD-2-Clause\r\n */\r\n\r\n \"use strict\";\r\n\r\n/**\r\n * Decompress a TypedArray (in browser) or Buffer (in node)\r\n * containing LZF compressed data.\r\n * @param {(ArrayBuffer|TypedArray|Buffer)} data - the data to be decompressed\r\n * @returns {(Uint8Array|Buffer)} - decompressed data\r\n */\r\nfunction decompress(data) {\r\n var input = new Uint8Array(data);\r\n var output = [];\r\n\r\n var ip = 0;\r\n var op = 0;\r\n\r\n do {\r\n var ctrl = input[ip++];\r\n\r\n if (ctrl < (1 << 5)) { /* literal run */\r\n ctrl++;\r\n\r\n if (ip + ctrl > input.length) {\r\n throw new Error('Invalid input'); \r\n }\r\n\r\n while (ctrl--) {\r\n output[op++] = input[ip++];\r\n }\r\n } else { /* back reference */\r\n var len = ctrl >> 5;\r\n var ref = op - ((ctrl & 0x1f) << 8) - 1;\r\n\r\n if (ip >= input.length) {\r\n throw new Error('Invalid input');\r\n }\r\n\r\n if (len == 7) {\r\n len += input[ip++];\r\n\r\n if (ip >= input.length) {\r\n throw new Error('Invalid input');\r\n }\r\n }\r\n\r\n ref -= input[ip++];\r\n\r\n if (ref < 0) {\r\n throw new Error('Invalid input');\r\n }\r\n\r\n len += 2;\r\n\r\n do {\r\n output[op++] = output[ref++];\r\n } while (--len);\r\n }\r\n } while (ip < input.length);\r\n\r\n // Return a Buffer if it exists (say in node), otherwise just\r\n // use a normal Uint8Array.\r\n if (typeof Buffer !== 'undefined') {\r\n return new Buffer(output);\r\n } else {\r\n var res = new Uint8Array(output.length);\r\n res.set(output);\r\n return res;\r\n }\r\n}\r\n\r\n/**\r\n * Compress a buffer containing some data\r\n * @param {(ArrayBuffer|TypedArray|Buffer)} data - the data to be compressed\r\n * @returns {(Uint8Array|Buffer)} - compressed data\r\n */\r\nfunction compress(data) {\r\n var HLOG = 16;\r\n var HSIZE = (1 << HLOG);\r\n var LZF_MAX_OFF = (1 << 13);\r\n var LZF_MAX_REF = ((1 << 8) + (1 << 3));\r\n var LZF_MAX_LIT = (1 << 5);\r\n\r\n function FRST(data, p) {\r\n return (((data[p]) << 8) | data[p+1]);\r\n }\r\n\r\n function NEXT(v, data, p) {\r\n return (((v) << 8) | data[p+2]);\r\n }\r\n\r\n function IDX(h) {\r\n return (((h * 0x1e35a7bd) >> (32 - HLOG - 8)) & (HSIZE - 1));\r\n }\r\n\r\n var input = new Uint8Array(data);\r\n var output = [];\r\n var htab = new Uint32Array(HSIZE);\r\n\r\n var in_end = input.length, ip = 0, hval = FRST(input, ip);\r\n var op = 1, lit = 0; /* start run */\r\n\r\n while (ip < in_end - 2) {\r\n hval = NEXT(hval, data, ip);\r\n var hslot = IDX(hval);\r\n var ref = htab[hslot];\r\n htab[hslot] = ip;\r\n\r\n var off;\r\n\r\n if (ref < ip /* the next test will actually take care of this, but this is faster */\r\n && (off = ip - ref - 1) < LZF_MAX_OFF\r\n && ref > 0\r\n && input[ref + 2] == input[ip + 2]\r\n && input[ref + 1] == input[ip + 1]\r\n && input[ref] == input[ip]\r\n ) {\r\n /* match found at *ref++ */\r\n var len = 2;\r\n var maxlen = in_end - ip - len;\r\n maxlen = maxlen > LZF_MAX_REF ? LZF_MAX_REF : maxlen;\r\n\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n if (lit == 0) {\r\n op -= 1; /* undo run if length is zero */\r\n }\r\n\r\n do {\r\n len++;\r\n }\r\n while (len < maxlen && input[ref + len] == input[ip + len]);\r\n\r\n len -= 2; /* len is now #octets - 1 */\r\n ip++;\r\n\r\n if (len < 7) {\r\n output[op++] = ((off >> 8) + (len << 5)) & 255;\r\n } else {\r\n output[op++] = ((off >> 8) + (7 << 5)) & 255;\r\n output[op++] = (len - 7) & 255;\r\n }\r\n\r\n output[op++] = off & 255;\r\n\r\n lit = 0; op++; /* start run */\r\n\r\n ip += len + 1;\r\n\r\n if (ip >= in_end - 2) {\r\n break;\r\n }\r\n\r\n --ip;\r\n --ip;\r\n hval = FRST(input, ip);\r\n\r\n hval = NEXT(hval, input, ip);\r\n htab[IDX(hval)] = ip++;\r\n\r\n hval = NEXT(hval, input, ip);\r\n htab[IDX(hval)] = ip++;\r\n } else {\r\n lit++;\r\n output[op++] = input[ip++];\r\n\r\n if (lit == LZF_MAX_LIT) {\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n lit = 0; op++; /* start run */\r\n }\r\n }\r\n }\r\n\r\n while (ip < in_end) {\r\n lit++;\r\n output[op++] = input[ip++];\r\n\r\n if (lit == LZF_MAX_LIT) {\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n lit = 0; op++; /* start run */\r\n }\r\n }\r\n\r\n if (lit != 0) {\r\n output[op - lit - 1] = (lit - 1) & 255; /* stop run */\r\n }\r\n\r\n // Return a Buffer if it exists (say in node), otherwise just\r\n // use a normal Uint8Array.\r\n if (typeof Buffer !== 'undefined') {\r\n return new Buffer(output);\r\n } else {\r\n var res = new Uint8Array(output.length);\r\n res.set(output);\r\n return res;\r\n }\r\n}\r\n\r\nmodule.exports = {\r\n decompress: decompress,\r\n compress: compress\r\n};\r\n","export const range = (start: number, end: number) =>\n end <= start ? [] : new Array(end - start).fill(0).map((_, i) => i + start);\n","// @ts-ignore-next-line\nimport * as lzfjs from \"lzfjs\";\nimport { range } from \"./range\";\n\nexport type Field = \"x\" | \"y\" | \"z\" | \"rgb\" | \"rgba\" | \"intensity\";\nexport type Type = \"i\" | \"u\" | \"f\";\nexport type Data = \"ascii\" | \"binary\" | \"binary_compressed\";\n\nexport interface IPcdHeader {\n version: string;\n fields: Field[];\n size: number[];\n type: Type[];\n count: number[];\n height: number;\n width: number;\n points: number;\n data: Data;\n}\n\ninterface IOffsets {\n x?: number;\n y?: number;\n z?: number;\n rgb?: number;\n rgba?: number;\n intensity?: number;\n}\n\nexport interface IPcd {\n header: IPcdHeader;\n positions?: Float32Array;\n colors?: Float32Array;\n intensity?: Float32Array;\n}\n\nconst littleEndian = true;\n\nfunction base64ToArrayBuffer(b: string) {\n const binaryString = atob(b);\n const len = binaryString.length;\n const bytes = new Uint8Array(len);\n for (let i = 0; i < len; i += 1) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes.buffer;\n}\n\nfunction extractHeader(buffer: ArrayBuffer): {\n header: string;\n body: ArrayBuffer;\n} {\n const chars = new Uint8Array(buffer);\n let header = \"\";\n\n let i = 0;\n for (\n ;\n i < chars.length && header.search(/[\\r\\n]DATA\\s(\\S*)\\s/i) === -1;\n i += 1\n ) {\n header += String.fromCharCode(chars[i]);\n }\n return {\n body: buffer.slice(i),\n header: header.replace(/#.*/gi, \"\"),\n };\n}\n\nfunction decompress(data: ArrayBuffer): ArrayBufferLike {\n const sizes = new Uint32Array(data, 0, 2);\n const compressedSize = sizes[0];\n if (compressedSize === 0) {\n return new ArrayBuffer(0);\n }\n return lzfjs.decompress(new Uint8Array(data, 8, compressedSize)).buffer;\n}\n\nfunction parseHeader(buffer: ArrayBuffer): {\n header: IPcdHeader;\n body: ArrayBuffer;\n} {\n const { header, body } = extractHeader(buffer);\n\n const versionMatch = /VERSION (.*)/i.exec(header);\n if (versionMatch === null) {\n throw new Error(`Missing version. Header ${header}`);\n }\n const version = versionMatch[1];\n\n const fieldsMatch = /FIELDS (.*)/i.exec(header);\n if (!fieldsMatch) {\n throw new Error(\"Missing fields\");\n }\n const fields = fieldsMatch[1].split(\" \") as Field[];\n\n const sizeMatch = /SIZE (.*)/i.exec(header);\n if (!sizeMatch) {\n throw new Error(\"Missing size\");\n }\n const size = sizeMatch[1].split(\" \").map((_) => parseInt(_, 10));\n\n const typeMatch = /TYPE (.*)/i.exec(header);\n if (!typeMatch) {\n throw new Error(\"Missing type\");\n }\n const type = typeMatch[1].split(\" \") as Type[];\n\n const countMatch = /COUNT (.*)/i.exec(header);\n let optionalCount: number[] | undefined;\n if (countMatch) {\n optionalCount = countMatch[1].split(\" \").map((_) => parseInt(_, 10));\n }\n const count = optionalCount || fields.map((_) => 1);\n\n const widthMatch = /WIDTH (.*)/i.exec(header);\n if (!widthMatch) {\n throw new Error(\"Missing width\");\n }\n const width = parseInt(widthMatch[1], 10);\n\n const heightMatch = /HEIGHT (.*)/i.exec(header);\n if (!heightMatch) {\n throw new Error(\"Missing height\");\n }\n const height = parseInt(heightMatch[1], 10);\n\n const pointsMatch = /POINTS (.*)/i.exec(header);\n let optionalPoints: number | undefined;\n if (pointsMatch) {\n optionalPoints = parseInt(pointsMatch[1], 10);\n }\n const points = optionalPoints || width * height;\n\n const dataMatch = /DATA (.*)/i.exec(header);\n if (!dataMatch) {\n throw new Error(\"Missing data\");\n }\n const data = dataMatch[1] as Data;\n\n return {\n body,\n header: {\n count,\n data,\n fields,\n height,\n points,\n size,\n type,\n version,\n width,\n },\n };\n}\n\nfunction calculateOffsets(header: IPcdHeader): {\n offsets: IOffsets;\n size: number;\n} {\n const empty: IOffsets = {};\n return header.fields.reduce(\n ({ offsets, size }, field, i) => {\n let newSize = size;\n if (field === \"x\") {\n offsets.x = newSize;\n }\n if (field === \"y\") {\n offsets.y = newSize;\n }\n if (field === \"z\") {\n offsets.z = newSize;\n }\n if (field === \"rgb\") {\n offsets.rgb = newSize;\n }\n if (field === \"rgba\") {\n offsets.rgba = newSize;\n }\n if (field === \"intensity\") {\n offsets.intensity = newSize;\n }\n if (header.data === \"ascii\") {\n newSize += 1;\n } else if (header.data === \"binary\") {\n newSize += header.size[i] * header.count[i];\n } else if (header.data === \"binary_compressed\") {\n newSize += header.size[i] * header.count[i] * header.points;\n }\n return {\n offsets,\n size: newSize,\n };\n },\n {\n offsets: empty,\n size: 0,\n }\n );\n}\n\nexport function parse(buffer: ArrayBuffer): IPcd {\n const { header, body } = parseHeader(buffer);\n\n const { offsets, size } = calculateOffsets(header);\n\n let positions: Float32Array | undefined;\n if (\n offsets.x !== undefined &&\n offsets.y !== undefined &&\n offsets.z !== undefined\n ) {\n positions = new Float32Array(header.points * 3);\n }\n\n let colors: Float32Array | undefined;\n if (offsets.rgb !== undefined || offsets.rgba !== undefined) {\n colors = new Float32Array(header.points * 4);\n }\n let intensity: Float32Array | undefined;\n if (offsets.intensity !== undefined) {\n intensity = new Float32Array(header.points);\n }\n\n if (header.data === \"ascii\") {\n const dataString: string = String.fromCharCode(...new Uint8Array(body));\n\n const lines = dataString.split(\"\\n\");\n lines.forEach((line, i) => {\n const column = line.split(\" \");\n\n if (positions !== undefined) {\n positions[i * 3 + 0] = parseFloat(column[offsets.x || 0]);\n positions[i * 3 + 1] = parseFloat(column[offsets.y || 0]);\n positions[i * 3 + 2] = parseFloat(column[offsets.z || 0]);\n }\n\n if (colors !== undefined) {\n const intArray = new Int32Array([\n parseInt(column[offsets.rgb || offsets.rgba || 0], 10),\n ]);\n const view = new DataView(intArray.buffer, 0);\n colors[i * 3 + 0] = view.getUint8(2) / 255.0;\n colors[i * 3 + 1] = view.getUint8(1) / 255.0;\n colors[i * 3 + 2] = view.getUint8(0) / 255.0;\n }\n\n if (intensity !== undefined) {\n intensity[i] = parseFloat(column[offsets.intensity || 0]);\n }\n });\n } else if (header.data === \"binary\") {\n const view = new DataView(body);\n\n range(0, header.points).forEach((i) => {\n const row = size * i;\n\n if (positions !== undefined) {\n positions[i * 3 + 0] = view.getFloat32(\n row + (offsets.x || 0),\n littleEndian\n );\n positions[i * 3 + 1] = view.getFloat32(\n row + (offsets.y || 0),\n littleEndian\n );\n positions[i * 3 + 2] = view.getFloat32(\n row + (offsets.z || 0),\n littleEndian\n );\n }\n\n if (colors !== undefined) {\n const offset = row + (offsets.rgb || offsets.rgba || 0);\n if (offset + 2 <= view.byteLength) {\n colors[i * 4 + 0] = view.getUint8(offset + 2) / 255.0;\n colors[i * 4 + 1] = view.getUint8(offset + 1) / 255.0;\n colors[i * 4 + 2] = view.getUint8(offset + 0) / 255.0;\n colors[i * 4 + 3] = 1.0;\n }\n }\n\n if (intensity !== undefined) {\n intensity[i] = view.getFloat32(\n row + (offsets.intensity || 0),\n littleEndian\n );\n }\n });\n } else if (header.data === \"binary_compressed\") {\n const uncompressed = decompress(body);\n const view = new DataView(uncompressed);\n\n range(0, header.points).forEach((i) => {\n if (positions !== undefined) {\n positions[i * 3 + 0] = view.getFloat32(\n (offsets.x || 0) + i * 4,\n littleEndian\n );\n positions[i * 3 + 1] = view.getFloat32(\n (offsets.y || 0) + i * 4,\n littleEndian\n );\n positions[i * 3 + 2] = view.getFloat32(\n (offsets.z || 0) + i * 4,\n littleEndian\n );\n }\n\n if (colors !== undefined) {\n const offset = (offsets.rgb || offsets.rgba || 0) + i * 4;\n if (offset + 2 <= view.byteLength) {\n colors[i * 4 + 0] = view.getUint8(offset + 2) / 255.0;\n colors[i * 4 + 1] = view.getUint8(offset + 1) / 255.0;\n colors[i * 4 + 2] = view.getUint8(offset + 0) / 255.0;\n colors[i * 4 + 3] = 1.0;\n }\n }\n\n if (intensity !== undefined) {\n intensity[i] = view.getFloat32(\n (offsets.intensity || 0) + i * 4,\n littleEndian\n );\n }\n });\n }\n\n return {\n colors,\n header,\n intensity,\n positions,\n };\n}\n\nexport async function loadFromUrl(path: string): Promise<IPcd> {\n const response = await fetch(path, { mode: \"cors\" });\n return parse(await response.arrayBuffer());\n}\n\nexport function loadFromBase64(data: string): IPcd {\n return parse(base64ToArrayBuffer(data));\n}\n","import { duration } from \"../common/duration\";\nimport { StoreCache } from \"./StoreCache\";\nimport { IPcd, loadFromBase64, parse } from \"./pcd\";\n\nconst cache = new StoreCache<string, IPcd>({\n capacity: 1000,\n timeout: 1 * duration.minute,\n});\n\nonmessage = async (\n event: MessageEvent<{ id?: number; url?: string; pointCloud: string }>\n) => {\n const { url, id, pointCloud } = event.data;\n\n if (url) {\n // Check if the point cloud for the given URL is already in the cache\n const cached = cache.get(url, async () => {\n // Fetch the point cloud and store it in the cache\n const pcd = parse(\n await fetch(url, { mode: \"cors\" }).then((r) => r.arrayBuffer())\n );\n return pcd;\n });\n\n if (cached) {\n postMessage({ url, pcd: cached });\n }\n }\n\n if (id && pointCloud) {\n // Process the base64-encoded point cloud\n const pcd = loadFromBase64(pointCloud);\n postMessage({ id, pcd });\n }\n};\n"],"names":["duration","fork","_","StoreCache","capacity","timeout","__publicField","key","generator","cacheKey","entry","metadata","value","oldestKey","oldestEntry","thisKey","promise","existingMetadata","decompress","data","input","output","ip","op","ctrl","len","ref","res","compress","HLOG","HSIZE","LZF_MAX_OFF","LZF_MAX_REF","LZF_MAX_LIT","FRST","p","NEXT","IDX","h","htab","in_end","hval","lit","hslot","off","maxlen","lzf","range","start","end","i","littleEndian","base64ToArrayBuffer","b","binaryString","bytes","extractHeader","buffer","chars","header","compressedSize","lzfjs.decompress","parseHeader","body","versionMatch","version","fieldsMatch","fields","sizeMatch","size","typeMatch","type","countMatch","optionalCount","count","widthMatch","width","heightMatch","height","pointsMatch","optionalPoints","points","dataMatch","calculateOffsets","empty","offsets","field","newSize","parse","positions","colors","intensity","line","column","intArray","view","row","offset","uncompressed","loadFromBase64","cache","event","url","id","pointCloud","cached","pcd"],"mappings":"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","x_google_ignoreList":[3]}