@formant/data-sdk 1.80.4 → 1.80.5

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 (355) hide show
  1. package/README.md +3 -0
  2. package/dist/assets/{PcdLoaderWorker-6fe0da29.js.map → PcdLoaderWorker-eaac0b31.js.map} +1 -1
  3. package/dist/assets/data-loader.worker-a6fd974d.js.map +1 -0
  4. package/dist/assets/ui-sdk-realtime-player-core-worker.umd-68a6e16a.js.map +1 -1
  5. package/dist/data-sdk.cjs.js +64 -58
  6. package/dist/data-sdk.cjs.js.map +1 -1
  7. package/dist/data-sdk.es.js +28448 -25706
  8. package/dist/data-sdk.es.js.map +1 -1
  9. package/dist/data-sdk.es6.js +28448 -25706
  10. package/dist/data-sdk.umd.js +64 -58
  11. package/dist/types/common/browser.d.ts +2 -0
  12. package/dist/types/common/defined.d.ts +3 -0
  13. package/dist/types/common/delay.d.ts +1 -0
  14. package/dist/types/common/duration.d.ts +10 -0
  15. package/dist/types/common/fork.d.ts +5 -0
  16. package/dist/types/data-sdk/src/Account.d.ts +10 -0
  17. package/dist/types/data-sdk/src/App.d.ts +47 -0
  18. package/dist/types/data-sdk/src/AppRtcClientPools.d.ts +20 -0
  19. package/dist/types/data-sdk/src/AudioPlayer.d.ts +23 -0
  20. package/dist/types/data-sdk/src/Authentication.d.ts +2 -0
  21. package/dist/types/data-sdk/src/CaptureStream.d.ts +18 -0
  22. package/dist/types/data-sdk/src/DataChannel.d.ts +30 -0
  23. package/dist/types/data-sdk/src/EventTriggerGroup.d.ts +0 -0
  24. package/dist/types/data-sdk/src/Fleet.d.ts +88 -0
  25. package/dist/types/data-sdk/src/KeyValue.d.ts +8 -0
  26. package/dist/types/data-sdk/src/Manipulator.d.ts +21 -0
  27. package/dist/types/data-sdk/src/RequestDataChannel.d.ts +29 -0
  28. package/dist/types/data-sdk/src/Role.d.ts +8 -0
  29. package/dist/types/data-sdk/src/User.d.ts +8 -0
  30. package/dist/types/data-sdk/src/Views.d.ts +9 -0
  31. package/dist/types/data-sdk/src/api/addDeviceToFleet.d.ts +1 -0
  32. package/dist/types/data-sdk/src/api/aggregateTelemetry.d.ts +3 -0
  33. package/dist/types/data-sdk/src/api/createDevice.d.ts +2 -0
  34. package/dist/types/data-sdk/src/api/createFleet.d.ts +2 -0
  35. package/dist/types/data-sdk/src/api/createShareLink.d.ts +22 -0
  36. package/dist/types/data-sdk/src/api/deleteFleet.d.ts +1 -0
  37. package/dist/types/data-sdk/src/api/disableDevice.d.ts +2 -0
  38. package/dist/types/data-sdk/src/api/eventsCounter.d.ts +7 -0
  39. package/dist/types/data-sdk/src/api/getAllEventTriggerGroup.d.ts +2 -0
  40. package/dist/types/data-sdk/src/api/getAnalyticsModules.d.ts +2 -0
  41. package/dist/types/data-sdk/src/api/getAnalyticsRows.d.ts +8 -0
  42. package/dist/types/data-sdk/src/api/getAnalyticsStreams.d.ts +18 -0
  43. package/dist/types/data-sdk/src/api/getAnnotationCount.d.ts +4 -0
  44. package/dist/types/data-sdk/src/api/getAnnotationCountByIntervals.d.ts +8 -0
  45. package/dist/types/data-sdk/src/api/getCurrentGroup.d.ts +2 -0
  46. package/dist/types/data-sdk/src/api/getDevice.d.ts +2 -0
  47. package/dist/types/data-sdk/src/api/getDevices.d.ts +2 -0
  48. package/dist/types/data-sdk/src/api/getDevicesData.d.ts +2 -0
  49. package/dist/types/data-sdk/src/api/getEvent.d.ts +2 -0
  50. package/dist/types/data-sdk/src/api/getEventTriggerGroup.d.ts +2 -0
  51. package/dist/types/data-sdk/src/api/getFileUrl.d.ts +1 -0
  52. package/dist/types/data-sdk/src/api/getFleet.d.ts +2 -0
  53. package/dist/types/data-sdk/src/api/getFleetDevices.d.ts +1 -0
  54. package/dist/types/data-sdk/src/api/getInterventions.d.ts +2 -0
  55. package/dist/types/data-sdk/src/api/getLatestTelemetry.d.ts +3 -0
  56. package/dist/types/data-sdk/src/api/getModuleConfiguration.d.ts +1 -0
  57. package/dist/types/data-sdk/src/api/getOnlineDevices.d.ts +2 -0
  58. package/dist/types/data-sdk/src/api/getPeers.d.ts +2 -0
  59. package/dist/types/data-sdk/src/api/getRealtimeDevices.d.ts +2 -0
  60. package/dist/types/data-sdk/src/api/getRealtimeSessions.d.ts +3 -0
  61. package/dist/types/data-sdk/src/api/getStreams.d.ts +2 -0
  62. package/dist/types/data-sdk/src/api/getTaskReportRows.d.ts +26 -0
  63. package/dist/types/data-sdk/src/api/getTaskreportTables.d.ts +23 -0
  64. package/dist/types/data-sdk/src/api/getTelemetry.d.ts +4 -0
  65. package/dist/types/data-sdk/src/api/getViews.d.ts +2 -0
  66. package/dist/types/data-sdk/src/api/listFleets.d.ts +2 -0
  67. package/dist/types/data-sdk/src/api/patchDevice.d.ts +2 -0
  68. package/dist/types/data-sdk/src/api/patchEventTriggerGroup.d.ts +2 -0
  69. package/dist/types/data-sdk/src/api/patchFleet.d.ts +2 -0
  70. package/dist/types/data-sdk/src/api/patchStreams.d.ts +2 -0
  71. package/dist/types/data-sdk/src/api/patchView.d.ts +2 -0
  72. package/dist/types/data-sdk/src/api/queryAnalytics.d.ts +43 -0
  73. package/dist/types/data-sdk/src/api/queryDevices.d.ts +3 -0
  74. package/dist/types/data-sdk/src/api/queryDevicesData.d.ts +3 -0
  75. package/dist/types/data-sdk/src/api/queryEvents.d.ts +3 -0
  76. package/dist/types/data-sdk/src/api/queryTelemetry.d.ts +3 -0
  77. package/dist/types/data-sdk/src/api/teleopViews.d.ts +73 -0
  78. package/dist/types/data-sdk/src/cache/StoreCache.d.ts +19 -0
  79. package/dist/types/data-sdk/src/cache/filterDataByTime.d.ts +2 -0
  80. package/dist/types/data-sdk/src/cache/filterDataByType.d.ts +3 -0
  81. package/dist/types/data-sdk/src/cache/queryStore.d.ts +11 -0
  82. package/dist/types/data-sdk/src/config/index.d.ts +2 -0
  83. package/dist/types/data-sdk/src/config/whichFormantApiUrl.d.ts +6 -0
  84. package/dist/types/data-sdk/src/connector/common/Color.d.ts +13 -0
  85. package/dist/types/data-sdk/src/connector/common/LruCache.d.ts +18 -0
  86. package/dist/types/data-sdk/src/connector/common/PromiseLruCache.d.ts +11 -0
  87. package/dist/types/data-sdk/src/connector/common/Timeout.d.ts +1 -0
  88. package/dist/types/data-sdk/src/connector/common/defined.d.ts +3 -0
  89. package/dist/types/data-sdk/src/connector/common/delay.d.ts +1 -0
  90. package/dist/types/data-sdk/src/connector/common/duration.d.ts +10 -0
  91. package/dist/types/data-sdk/src/connector/common/equals.d.ts +1 -0
  92. package/dist/types/data-sdk/src/connector/common/errorToObject.d.ts +14 -0
  93. package/dist/types/data-sdk/src/connector/common/errorToString.d.ts +4 -0
  94. package/dist/types/data-sdk/src/connector/common/filterDataByTime.d.ts +2 -0
  95. package/dist/types/data-sdk/src/connector/common/filterDataByType.d.ts +3 -0
  96. package/dist/types/data-sdk/src/connector/common/flattenPoints.d.ts +8 -0
  97. package/dist/types/data-sdk/src/connector/common/fork.d.ts +5 -0
  98. package/dist/types/data-sdk/src/connector/common/range.d.ts +1 -0
  99. package/dist/types/data-sdk/src/connector/common/throttle.d.ts +1 -0
  100. package/dist/types/data-sdk/src/connector/common/toJsonLines.d.ts +1 -0
  101. package/dist/types/data-sdk/src/connector/common/toStringSafe.d.ts +8 -0
  102. package/dist/types/data-sdk/src/connector/data/BaseUniverseDataConnector.d.ts +69 -0
  103. package/dist/types/data-sdk/src/connector/data/DataFetchWorker.d.ts +1 -0
  104. package/dist/types/data-sdk/src/connector/data/LiveUniverseData.d.ts +36 -0
  105. package/dist/types/data-sdk/src/connector/data/PcdLoaderWorker.d.ts +1 -0
  106. package/dist/types/data-sdk/src/connector/data/StoreCache.d.ts +17 -0
  107. package/dist/types/data-sdk/src/connector/data/TelemetryUniverseData.d.ts +44 -0
  108. package/dist/types/data-sdk/src/connector/data/loader/DataLoader.d.ts +27 -0
  109. package/dist/types/data-sdk/src/connector/data/loader/data-loader.worker.d.ts +1 -0
  110. package/dist/types/data-sdk/src/connector/data/pcd.d.ts +23 -0
  111. package/dist/types/data-sdk/src/connector/data/queryStore.d.ts +12 -0
  112. package/dist/types/data-sdk/src/connector/data/range.d.ts +1 -0
  113. package/dist/types/data-sdk/src/connector/model/IPcd.d.ts +20 -0
  114. package/dist/types/data-sdk/src/connector/model/IPose.d.ts +3 -0
  115. package/dist/types/data-sdk/src/connector/model/IUniverseData.d.ts +124 -0
  116. package/dist/types/data-sdk/src/connector/model/IUniverseGridMap.d.ts +11 -0
  117. package/dist/types/data-sdk/src/connector/model/IUniverseOdometry.d.ts +6 -0
  118. package/dist/types/data-sdk/src/connector/model/IUniversePath.d.ts +3 -0
  119. package/dist/types/data-sdk/src/connector/model/IUniversePointCloud.d.ts +6 -0
  120. package/dist/types/data-sdk/src/devices/BaseDevice.d.ts +47 -0
  121. package/dist/types/data-sdk/src/devices/Device.d.ts +88 -0
  122. package/dist/types/data-sdk/src/devices/ICustomDataChannelCreator.d.ts +4 -0
  123. package/dist/types/data-sdk/src/devices/IRealtimeSubscriber.d.ts +7 -0
  124. package/dist/types/data-sdk/src/devices/IView.d.ts +29 -0
  125. package/dist/types/data-sdk/src/devices/PeerDevice.d.ts +35 -0
  126. package/dist/types/data-sdk/src/devices/device.types.d.ts +115 -0
  127. package/dist/types/data-sdk/src/init.d.ts +1 -0
  128. package/dist/types/data-sdk/src/main.d.ts +176 -0
  129. package/dist/types/data-sdk/src/message-bus/bidirectional/getDate.d.ts +1 -0
  130. package/dist/types/data-sdk/src/message-bus/bidirectional/prompt.d.ts +5 -0
  131. package/dist/types/data-sdk/src/message-bus/listeners/EmbeddedAppMessage.d.ts +54 -0
  132. package/dist/types/data-sdk/src/message-bus/listeners/addAccessTokenRefreshListener.d.ts +1 -0
  133. package/dist/types/data-sdk/src/message-bus/listeners/addChannelDataListener.d.ts +4 -0
  134. package/dist/types/data-sdk/src/message-bus/listeners/addMenuListener.d.ts +1 -0
  135. package/dist/types/data-sdk/src/message-bus/listeners/addModuleConfigurationListener.d.ts +2 -0
  136. package/dist/types/data-sdk/src/message-bus/listeners/addModuleDataListener.d.ts +29 -0
  137. package/dist/types/data-sdk/src/message-bus/listeners/addOverviewDeviceListener.d.ts +2 -0
  138. package/dist/types/data-sdk/src/message-bus/listeners/addStreamLIstener.d.ts +3 -0
  139. package/dist/types/data-sdk/src/message-bus/senders/AppMessage.d.ts +63 -0
  140. package/dist/types/data-sdk/src/message-bus/senders/disableAnalyticsBottomBar.d.ts +1 -0
  141. package/dist/types/data-sdk/src/message-bus/senders/goToDevice.d.ts +1 -0
  142. package/dist/types/data-sdk/src/message-bus/senders/goToTime.d.ts +1 -0
  143. package/dist/types/data-sdk/src/message-bus/senders/refreshAuthToken.d.ts +1 -0
  144. package/dist/types/data-sdk/src/message-bus/senders/requestModuleData.d.ts +1 -0
  145. package/dist/types/data-sdk/src/message-bus/senders/sendAppMessage.d.ts +2 -0
  146. package/dist/types/data-sdk/src/message-bus/senders/sendChannelData.d.ts +1 -0
  147. package/dist/types/data-sdk/src/message-bus/senders/setModuleDateTimeRange.d.ts +1 -0
  148. package/dist/types/data-sdk/src/message-bus/senders/setupModuleMenus.d.ts +3 -0
  149. package/dist/types/data-sdk/src/message-bus/senders/showMessage.d.ts +1 -0
  150. package/dist/types/data-sdk/src/model/AccessLevel.d.ts +5 -0
  151. package/dist/types/data-sdk/src/model/AggregateLevel.d.ts +1 -0
  152. package/dist/types/data-sdk/src/model/AggregateType.d.ts +2 -0
  153. package/dist/types/data-sdk/src/model/AnalyticsAggregateType.d.ts +2 -0
  154. package/dist/types/data-sdk/src/model/AnalyticsChartType.d.ts +2 -0
  155. package/dist/types/data-sdk/src/model/AnnotationAreaType.d.ts +2 -0
  156. package/dist/types/data-sdk/src/model/AnnotationType.d.ts +2 -0
  157. package/dist/types/data-sdk/src/model/CognitoRegion.d.ts +2 -0
  158. package/dist/types/data-sdk/src/model/DeviceType.d.ts +2 -0
  159. package/dist/types/data-sdk/src/model/EventSortableColumn.d.ts +1 -0
  160. package/dist/types/data-sdk/src/model/EventType.d.ts +2 -0
  161. package/dist/types/data-sdk/src/model/HealthStatus.d.ts +2 -0
  162. package/dist/types/data-sdk/src/model/HexRgbColor.d.ts +1 -0
  163. package/dist/types/data-sdk/src/model/IAccount.d.ts +7 -0
  164. package/dist/types/data-sdk/src/model/IAccountTree.d.ts +4 -0
  165. package/dist/types/data-sdk/src/model/IAggregateRow.d.ts +8 -0
  166. package/dist/types/data-sdk/src/model/IAnalyticsModule.d.ts +15 -0
  167. package/dist/types/data-sdk/src/model/IAnalyticsModuleConfiguration.d.ts +6 -0
  168. package/dist/types/data-sdk/src/model/IAnnotation.d.ts +13 -0
  169. package/dist/types/data-sdk/src/model/IAnnotationAreaTypeMap.d.ts +4 -0
  170. package/dist/types/data-sdk/src/model/IAnnotationQuery.d.ts +7 -0
  171. package/dist/types/data-sdk/src/model/IAudioInfo.d.ts +4 -0
  172. package/dist/types/data-sdk/src/model/IBaseEntity.d.ts +7 -0
  173. package/dist/types/data-sdk/src/model/IBaseEvent.d.ts +22 -0
  174. package/dist/types/data-sdk/src/model/IBattery.d.ts +6 -0
  175. package/dist/types/data-sdk/src/model/IBitset.d.ts +4 -0
  176. package/dist/types/data-sdk/src/model/IBoundingBox.d.ts +6 -0
  177. package/dist/types/data-sdk/src/model/IChallenge.d.ts +6 -0
  178. package/dist/types/data-sdk/src/model/IColorRGBA.d.ts +6 -0
  179. package/dist/types/data-sdk/src/model/ICommandDeliveryEvent.d.ts +3 -0
  180. package/dist/types/data-sdk/src/model/ICommandEventBase.d.ts +5 -0
  181. package/dist/types/data-sdk/src/model/ICommandParameter.d.ts +9 -0
  182. package/dist/types/data-sdk/src/model/ICommandPropgress.d.ts +5 -0
  183. package/dist/types/data-sdk/src/model/ICommandRequest.d.ts +9 -0
  184. package/dist/types/data-sdk/src/model/ICommandRequestEvent.d.ts +5 -0
  185. package/dist/types/data-sdk/src/model/ICommandResponse.d.ts +13 -0
  186. package/dist/types/data-sdk/src/model/ICommandResponseEvent.d.ts +3 -0
  187. package/dist/types/data-sdk/src/model/IComment.d.ts +7 -0
  188. package/dist/types/data-sdk/src/model/IConfigurationMap.d.ts +3 -0
  189. package/dist/types/data-sdk/src/model/ICustomEvent.d.ts +5 -0
  190. package/dist/types/data-sdk/src/model/IDataAggregate.d.ts +7 -0
  191. package/dist/types/data-sdk/src/model/IDataPoint.d.ts +7 -0
  192. package/dist/types/data-sdk/src/model/IDatapointEvent.d.ts +3 -0
  193. package/dist/types/data-sdk/src/model/IDevice.d.ts +31 -0
  194. package/dist/types/data-sdk/src/model/IDeviceOfflineEvent.d.ts +3 -0
  195. package/dist/types/data-sdk/src/model/IDeviceOnlineEvent.d.ts +3 -0
  196. package/dist/types/data-sdk/src/model/IDeviceQuery.d.ts +14 -0
  197. package/dist/types/data-sdk/src/model/IDeviceReportedConfigurationState.d.ts +3 -0
  198. package/dist/types/data-sdk/src/model/IDeviceRosState.d.ts +4 -0
  199. package/dist/types/data-sdk/src/model/IDeviceScope.d.ts +5 -0
  200. package/dist/types/data-sdk/src/model/IDeviceState.d.ts +16 -0
  201. package/dist/types/data-sdk/src/model/IDictionary.d.ts +3 -0
  202. package/dist/types/data-sdk/src/model/IEvent.d.ts +18 -0
  203. package/dist/types/data-sdk/src/model/IEventFilter.d.ts +19 -0
  204. package/dist/types/data-sdk/src/model/IEventQuery.d.ts +7 -0
  205. package/dist/types/data-sdk/src/model/IEventSort.d.ts +6 -0
  206. package/dist/types/data-sdk/src/model/IEventTriggerGroup.d.ts +13 -0
  207. package/dist/types/data-sdk/src/model/IFieldParametersTypeMap.d.ts +8 -0
  208. package/dist/types/data-sdk/src/model/IFile.d.ts +6 -0
  209. package/dist/types/data-sdk/src/model/IFileInfo.d.ts +6 -0
  210. package/dist/types/data-sdk/src/model/IFilter.d.ts +10 -0
  211. package/dist/types/data-sdk/src/model/IFleet.d.ts +8 -0
  212. package/dist/types/data-sdk/src/model/IGoal.d.ts +5 -0
  213. package/dist/types/data-sdk/src/model/IGoalID.d.ts +3 -0
  214. package/dist/types/data-sdk/src/model/IH264VideoFrame.d.ts +5 -0
  215. package/dist/types/data-sdk/src/model/IHealth.d.ts +4 -0
  216. package/dist/types/data-sdk/src/model/IHwInfo.d.ts +17 -0
  217. package/dist/types/data-sdk/src/model/IImage.d.ts +6 -0
  218. package/dist/types/data-sdk/src/model/IImageAnnotation.d.ts +9 -0
  219. package/dist/types/data-sdk/src/model/IInterventionRequest.d.ts +9 -0
  220. package/dist/types/data-sdk/src/model/IInterventionResponse.d.ts +10 -0
  221. package/dist/types/data-sdk/src/model/IInterventionTypeMap.d.ts +26 -0
  222. package/dist/types/data-sdk/src/model/IJointState.d.ts +8 -0
  223. package/dist/types/data-sdk/src/model/IJoy.d.ts +4 -0
  224. package/dist/types/data-sdk/src/model/IKernelInfo.d.ts +5 -0
  225. package/dist/types/data-sdk/src/model/ILabel.d.ts +4 -0
  226. package/dist/types/data-sdk/src/model/ILabeledPolygon.d.ts +4 -0
  227. package/dist/types/data-sdk/src/model/ILabelingRequestData.d.ts +9 -0
  228. package/dist/types/data-sdk/src/model/ILabelingResponseData.d.ts +4 -0
  229. package/dist/types/data-sdk/src/model/ILocalization.d.ts +14 -0
  230. package/dist/types/data-sdk/src/model/ILocation.d.ts +6 -0
  231. package/dist/types/data-sdk/src/model/IMap.d.ts +10 -0
  232. package/dist/types/data-sdk/src/model/IMarker3D.d.ts +27 -0
  233. package/dist/types/data-sdk/src/model/IMarker3DArray.d.ts +4 -0
  234. package/dist/types/data-sdk/src/model/INetwork.d.ts +4 -0
  235. package/dist/types/data-sdk/src/model/INodeInfo.d.ts +5 -0
  236. package/dist/types/data-sdk/src/model/INumericAggregate.d.ts +7 -0
  237. package/dist/types/data-sdk/src/model/INumericSetAggregateMap.d.ts +5 -0
  238. package/dist/types/data-sdk/src/model/INumericSetEntry.d.ts +5 -0
  239. package/dist/types/data-sdk/src/model/IOdometry.d.ts +7 -0
  240. package/dist/types/data-sdk/src/model/IOnDemandPresenceStreamItemGroup.d.ts +6 -0
  241. package/dist/types/data-sdk/src/model/IOnDemandPresenceTimeRange.d.ts +7 -0
  242. package/dist/types/data-sdk/src/model/IOnDemandState.d.ts +4 -0
  243. package/dist/types/data-sdk/src/model/IOnDemandStreamPresence.d.ts +5 -0
  244. package/dist/types/data-sdk/src/model/IOnDemmandBuffer.d.ts +6 -0
  245. package/dist/types/data-sdk/src/model/IOnvifDevice.d.ts +5 -0
  246. package/dist/types/data-sdk/src/model/IOsInfo.d.ts +6 -0
  247. package/dist/types/data-sdk/src/model/IPath.d.ts +6 -0
  248. package/dist/types/data-sdk/src/model/IPhysicalInterventionMetadata.d.ts +3 -0
  249. package/dist/types/data-sdk/src/model/IPhysicalRequestData.d.ts +8 -0
  250. package/dist/types/data-sdk/src/model/IPhysicalResponsetData.d.ts +3 -0
  251. package/dist/types/data-sdk/src/model/IPointCloud.d.ts +6 -0
  252. package/dist/types/data-sdk/src/model/IPortForwardingSessionRecord.d.ts +3 -0
  253. package/dist/types/data-sdk/src/model/IPoseWithCovariance.d.ts +5 -0
  254. package/dist/types/data-sdk/src/model/IQuaternion.d.ts +6 -0
  255. package/dist/types/data-sdk/src/model/IQuery.d.ts +9 -0
  256. package/dist/types/data-sdk/src/model/IRole.d.ts +9 -0
  257. package/dist/types/data-sdk/src/model/IRosTopic.d.ts +4 -0
  258. package/dist/types/data-sdk/src/model/IRtcPointCloud.d.ts +5 -0
  259. package/dist/types/data-sdk/src/model/IRtcSessionRecord.d.ts +9 -0
  260. package/dist/types/data-sdk/src/model/IScopeFilter.d.ts +6 -0
  261. package/dist/types/data-sdk/src/model/ISelectionRequestData.d.ts +6 -0
  262. package/dist/types/data-sdk/src/model/ISelectionResponseData.d.ts +3 -0
  263. package/dist/types/data-sdk/src/model/IShare.d.ts +16 -0
  264. package/dist/types/data-sdk/src/model/ISheetParameters.d.ts +5 -0
  265. package/dist/types/data-sdk/src/model/ISpreadsheetIdRange.d.ts +4 -0
  266. package/dist/types/data-sdk/src/model/ISqlColumn.d.ts +6 -0
  267. package/dist/types/data-sdk/src/model/ISqlQuery.d.ts +21 -0
  268. package/dist/types/data-sdk/src/model/ISqlResult.d.ts +12 -0
  269. package/dist/types/data-sdk/src/model/ISqlRow.d.ts +5 -0
  270. package/dist/types/data-sdk/src/model/IStatefulEvent.d.ts +5 -0
  271. package/dist/types/data-sdk/src/model/IStream.d.ts +18 -0
  272. package/dist/types/data-sdk/src/model/IStreamAggregateData.d.ts +11 -0
  273. package/dist/types/data-sdk/src/model/IStreamAggregateTypeMap.d.ts +10 -0
  274. package/dist/types/data-sdk/src/model/IStreamColumn.d.ts +7 -0
  275. package/dist/types/data-sdk/src/model/IStreamCurrentValue.d.ts +13 -0
  276. package/dist/types/data-sdk/src/model/IStreamData.d.ts +11 -0
  277. package/dist/types/data-sdk/src/model/IStreamTypeMap.d.ts +27 -0
  278. package/dist/types/data-sdk/src/model/ISystemEvent.d.ts +3 -0
  279. package/dist/types/data-sdk/src/model/ITagParameters.d.ts +3 -0
  280. package/dist/types/data-sdk/src/model/ITagSets.d.ts +3 -0
  281. package/dist/types/data-sdk/src/model/ITaggedEntity.d.ts +5 -0
  282. package/dist/types/data-sdk/src/model/ITaggedUsers.d.ts +4 -0
  283. package/dist/types/data-sdk/src/model/ITags.d.ts +3 -0
  284. package/dist/types/data-sdk/src/model/ITaskReportColumn.d.ts +7 -0
  285. package/dist/types/data-sdk/src/model/ITaskSummary.d.ts +14 -0
  286. package/dist/types/data-sdk/src/model/ITeleopRequestData.d.ts +3 -0
  287. package/dist/types/data-sdk/src/model/ITeleopResponseData.d.ts +4 -0
  288. package/dist/types/data-sdk/src/model/ITeleopSessionRecord.d.ts +3 -0
  289. package/dist/types/data-sdk/src/model/ITransform.d.ts +6 -0
  290. package/dist/types/data-sdk/src/model/ITransformNode.d.ts +7 -0
  291. package/dist/types/data-sdk/src/model/ITriggeredEvent.d.ts +11 -0
  292. package/dist/types/data-sdk/src/model/ITwist.d.ts +5 -0
  293. package/dist/types/data-sdk/src/model/IUser.d.ts +29 -0
  294. package/dist/types/data-sdk/src/model/IUserParameters.d.ts +4 -0
  295. package/dist/types/data-sdk/src/model/IUserScope.d.ts +15 -0
  296. package/dist/types/data-sdk/src/model/IVector2.d.ts +4 -0
  297. package/dist/types/data-sdk/src/model/IVector3.d.ts +5 -0
  298. package/dist/types/data-sdk/src/model/IVideo.d.ts +7 -0
  299. package/dist/types/data-sdk/src/model/IVideoDevice.d.ts +4 -0
  300. package/dist/types/data-sdk/src/model/IView.d.ts +15 -0
  301. package/dist/types/data-sdk/src/model/IdeviceFollower.d.ts +4 -0
  302. package/dist/types/data-sdk/src/model/InetworkInfo.d.ts +4 -0
  303. package/dist/types/data-sdk/src/model/InterventionType.d.ts +2 -0
  304. package/dist/types/data-sdk/src/model/IsoDate.d.ts +1 -0
  305. package/dist/types/data-sdk/src/model/JsonSchema.d.ts +39 -0
  306. package/dist/types/data-sdk/src/model/Marker3DAction.d.ts +2 -0
  307. package/dist/types/data-sdk/src/model/Marker3DType.d.ts +2 -0
  308. package/dist/types/data-sdk/src/model/OnDemandBufferType.d.ts +2 -0
  309. package/dist/types/data-sdk/src/model/Policies.d.ts +35 -0
  310. package/dist/types/data-sdk/src/model/RequiredKeys.d.ts +3 -0
  311. package/dist/types/data-sdk/src/model/Resource.d.ts +2 -0
  312. package/dist/types/data-sdk/src/model/SessionType.d.ts +26 -0
  313. package/dist/types/data-sdk/src/model/Severity.d.ts +2 -0
  314. package/dist/types/data-sdk/src/model/SortOrder.d.ts +1 -0
  315. package/dist/types/data-sdk/src/model/StreamType.d.ts +2 -0
  316. package/dist/types/data-sdk/src/model/TelemetryResult.d.ts +9 -0
  317. package/dist/types/data-sdk/src/model/Timestamp.d.ts +1 -0
  318. package/dist/types/data-sdk/src/model/Uuid.d.ts +1 -0
  319. package/dist/types/data-sdk/src/model/VideoMimeType.d.ts +2 -0
  320. package/dist/types/data-sdk/src/model/accessLevels.d.ts +1 -0
  321. package/dist/types/data-sdk/src/model/aggregateLevels.d.ts +2 -0
  322. package/dist/types/data-sdk/src/model/aggregateTypes.d.ts +1 -0
  323. package/dist/types/data-sdk/src/model/analyticsAggregteTypes.d.ts +1 -0
  324. package/dist/types/data-sdk/src/model/analyticsChartTypes.d.ts +1 -0
  325. package/dist/types/data-sdk/src/model/annotationTypes.d.ts +1 -0
  326. package/dist/types/data-sdk/src/model/cognitoRegions.d.ts +1 -0
  327. package/dist/types/data-sdk/src/model/deviceTypes.d.ts +1 -0
  328. package/dist/types/data-sdk/src/model/eventTypes.d.ts +1 -0
  329. package/dist/types/data-sdk/src/model/healthStatuses.d.ts +1 -0
  330. package/dist/types/data-sdk/src/model/interventionTypes.d.ts +1 -0
  331. package/dist/types/data-sdk/src/model/marker3DActions.d.ts +1 -0
  332. package/dist/types/data-sdk/src/model/marker3DTypes.d.ts +1 -0
  333. package/dist/types/data-sdk/src/model/onDemandBufferTypes.d.ts +1 -0
  334. package/dist/types/data-sdk/src/model/resources.d.ts +1 -0
  335. package/dist/types/data-sdk/src/model/severities.d.ts +1 -0
  336. package/dist/types/data-sdk/src/model/videoMimeTypes.d.ts +1 -0
  337. package/dist/types/data-sdk/src/stores/AuthenticationErrors.d.ts +9 -0
  338. package/dist/types/data-sdk/src/stores/AuthenticationResult.d.ts +15 -0
  339. package/dist/types/data-sdk/src/stores/AuthenticationStore.d.ts +70 -0
  340. package/dist/types/data-sdk/src/stores/IAuthentication.d.ts +6 -0
  341. package/dist/types/data-sdk/src/stores/IAuthenticationStore.d.ts +45 -0
  342. package/dist/types/data-sdk/src/stores/ICheckSsoResult.d.ts +5 -0
  343. package/dist/types/data-sdk/src/stores/IConfirmForgotPasswordRequest.d.ts +5 -0
  344. package/dist/types/data-sdk/src/stores/IRespondToNewPasswordRequiredChallengeRequest.d.ts +5 -0
  345. package/dist/types/data-sdk/src/utils/RtcClientPool.d.ts +25 -0
  346. package/dist/types/data-sdk/src/utils/aggregateFunctionUtils.d.ts +38 -0
  347. package/dist/types/data-sdk/src/utils/getCurrentModuleContext.d.ts +1 -0
  348. package/dist/types/data-sdk/src/utils/isRtcPeer.d.ts +2 -0
  349. package/dist/types/data-sdk/src/utils/numericAggregateUtils.d.ts +26 -0
  350. package/dist/types/data-sdk/src/utils/serializeHash.d.ts +2 -0
  351. package/dist/types/data-sdk/src/utils/stringToArrayBuffer.d.ts +1 -0
  352. package/dist/types/data-sdk/src/utils/timeout.d.ts +1 -0
  353. package/package.json +1 -1
  354. package/dist/assets/DataFetchWorker-0a168933.js.map +0 -1
  355. package/dist/assets/PcdLoaderWorker-6fe0da29.js +0 -6
package/README.md CHANGED
@@ -25,6 +25,9 @@ Distributed under the MIT License. See LICENSE.txt for more information.
25
25
  ## Deploying a new version
26
26
 
27
27
  ```bash
28
+ # build the project
29
+ npm install && npm run build && npm run types
30
+
28
31
  # update the CHANGELOG with the changes since the previous version
29
32
  vim CHANGELOG.md
30
33
 
@@ -1 +1 @@
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]}
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]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-loader.worker-a6fd974d.js","sources":["../node_modules/fast-json-stable-stringify/index.js","../src/connector/common/toStringSafe.ts","../src/connector/common/errorToObject.ts","../src/connector/common/errorToString.ts","../src/connector/data/loader/data-loader.worker.ts"],"sourcesContent":["'use strict';\n\nmodule.exports = function (data, opts) {\n if (!opts) opts = {};\n if (typeof opts === 'function') opts = { cmp: opts };\n var cycles = (typeof opts.cycles === 'boolean') ? opts.cycles : false;\n\n var cmp = opts.cmp && (function (f) {\n return function (node) {\n return function (a, b) {\n var aobj = { key: a, value: node[a] };\n var bobj = { key: b, value: node[b] };\n return f(aobj, bobj);\n };\n };\n })(opts.cmp);\n\n var seen = [];\n return (function stringify (node) {\n if (node && node.toJSON && typeof node.toJSON === 'function') {\n node = node.toJSON();\n }\n\n if (node === undefined) return;\n if (typeof node == 'number') return isFinite(node) ? '' + node : 'null';\n if (typeof node !== 'object') return JSON.stringify(node);\n\n var i, out;\n if (Array.isArray(node)) {\n out = '[';\n for (i = 0; i < node.length; i++) {\n if (i) out += ',';\n out += stringify(node[i]) || 'null';\n }\n return out + ']';\n }\n\n if (node === null) return 'null';\n\n if (seen.indexOf(node) !== -1) {\n if (cycles) return JSON.stringify('__cycle__');\n throw new TypeError('Converting circular structure to JSON');\n }\n\n var seenIndex = seen.push(node) - 1;\n var keys = Object.keys(node).sort(cmp && cmp(node));\n out = '';\n for (i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = stringify(node[key]);\n\n if (!value) continue;\n if (out) out += ',';\n out += JSON.stringify(key) + ':' + value;\n }\n seen.splice(seenIndex, 1);\n return '{' + out + '}';\n })(data);\n};\n","import stringify from \"fast-json-stable-stringify\";\n\n/**\n * Safely stringify input.\n * Similar to `JSON.stringify` but\n * doesn't throw an error if input includes circular properties.\n *\n * Warning: output is not guaranteed to be a valid JSON string.\n */\nexport function toStringSafe(input: unknown): string {\n return stringify(input, { cycles: true });\n}\n","import { toStringSafe } from \"./toStringSafe\";\n\n/**\n * Convert an error object to plain javascript object, including any custom properties.\n */\nexport function errorToObject(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n error: any\n) {\n if (!error.stack) {\n return { message: toStringSafe(error) };\n }\n\n const { name, message, stack, ...meta } = error;\n\n return {\n name,\n message: message !== undefined ? message : toStringSafe(error),\n stack,\n meta: meta && Object.keys(meta).length === 0 ? undefined : meta,\n };\n}\n","import { errorToObject } from \"./errorToObject\";\nimport { toStringSafe } from \"./toStringSafe\";\n\n/**\n * Serialize an error object to a string, including any custom properties.\n */\nexport function errorToString(error: unknown): string {\n const { message, stack, meta } = errorToObject(error);\n\n return `${stack || message || \"\"}${\n meta && Object.keys(meta).length > 0 ? ` -- ${toStringSafe(meta)}` : \"\"\n }`;\n}\n","import { errorToString } from \"../../common/errorToString\";\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst context: Worker = self as any;\nconst previewLength = 1000;\n\naddEventListener(\"message\", async (event) => {\n try {\n const url: string = event.data;\n\n try {\n const response = await fetch(url, { mode: \"cors\" });\n const payload = await response.text();\n\n context.postMessage({\n json: JSON.parse(payload),\n preview: payload.substring(0, previewLength),\n length: payload.length,\n url,\n });\n } catch (error) {\n throw new Error(`Load failed ${errorToString(error)}`);\n }\n } catch (error) {\n context.postMessage({\n error: errorToString(error),\n url: event?.data?.url,\n });\n }\n});\n"],"names":["fastJsonStableStringify","data","opts","cycles","cmp","f","node","a","b","aobj","bobj","seen","stringify","i","out","seenIndex","keys","key","value","toStringSafe","input","errorToObject","error","name","message","stack","meta","errorToString","context","previewLength","event","url","payload","_a"],"mappings":"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","x_google_ignoreList":[0]}