@dronedeploy/rocos-js-sdk 2.6.1 → 3.0.0-alpha.20

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 (618) hide show
  1. package/IRocosSDK.d.ts +3 -26
  2. package/IRocosSDK.js +1 -5
  3. package/README.md +18 -0
  4. package/RocosSDK.d.ts +6 -1
  5. package/RocosSDK.js +103 -95
  6. package/api/StreamRegister.d.ts +1 -1
  7. package/api/StreamRegister.js +23 -12
  8. package/api/atoms/StreamHeartbeat.js +3 -7
  9. package/api/streams/caller/CallerStream.d.ts +6 -6
  10. package/api/streams/caller/CallerStream.js +41 -49
  11. package/api/streams/caller/CallerStreamAbstract.d.ts +6 -11
  12. package/api/streams/caller/CallerStreamAbstract.js +55 -67
  13. package/api/streams/caller/CallerStreamNode.d.ts +6 -6
  14. package/api/streams/caller/CallerStreamNode.js +48 -61
  15. package/api/streams/command/CommandStream.d.ts +2 -4
  16. package/api/streams/command/CommandStream.js +28 -30
  17. package/api/streams/command/CommandStreamAbstract.d.ts +4 -8
  18. package/api/streams/command/CommandStreamAbstract.js +33 -42
  19. package/api/streams/command/CommandStreamNode.d.ts +2 -4
  20. package/api/streams/command/CommandStreamNode.js +16 -40
  21. package/api/streams/control/ControlStream.d.ts +4 -6
  22. package/api/streams/control/ControlStream.js +30 -36
  23. package/api/streams/control/ControlStreamAbstract.d.ts +6 -9
  24. package/api/streams/control/ControlStreamAbstract.js +57 -54
  25. package/api/streams/control/ControlStreamNode.d.ts +3 -5
  26. package/api/streams/control/ControlStreamNode.js +19 -44
  27. package/api/streams/fileAccessor/FileAccessorStream.d.ts +2 -4
  28. package/api/streams/fileAccessor/FileAccessorStream.js +42 -57
  29. package/api/streams/fileAccessor/FileAccessorStreamAbstract.d.ts +4 -9
  30. package/api/streams/fileAccessor/FileAccessorStreamAbstract.js +28 -48
  31. package/api/streams/fileAccessor/FileAccessorStreamNode.d.ts +1 -3
  32. package/api/streams/fileAccessor/FileAccessorStreamNode.js +23 -53
  33. package/api/streams/search/SearchStream.d.ts +2 -5
  34. package/api/streams/search/SearchStream.js +50 -74
  35. package/api/streams/search/SearchStreamAbstract.d.ts +4 -9
  36. package/api/streams/search/SearchStreamAbstract.js +33 -35
  37. package/api/streams/search/SearchStreamNode.d.ts +2 -5
  38. package/api/streams/search/SearchStreamNode.js +23 -48
  39. package/api/streams/telemetry/TelemetryStream.d.ts +4 -4
  40. package/api/streams/telemetry/TelemetryStream.js +49 -78
  41. package/api/streams/telemetry/TelemetryStreamAbstract.d.ts +8 -11
  42. package/api/streams/telemetry/TelemetryStreamAbstract.js +126 -145
  43. package/api/streams/telemetry/TelemetryStreamNode.d.ts +5 -5
  44. package/api/streams/telemetry/TelemetryStreamNode.js +44 -64
  45. package/api/streams/webRTCSignalling/WebRTCSignallingStream.d.ts +5 -10
  46. package/api/streams/webRTCSignalling/WebRTCSignallingStream.js +37 -20
  47. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.d.ts +10 -13
  48. package/api/streams/webRTCSignalling/WebRTCSignallingStreamAbstract.js +37 -37
  49. package/constants/api.d.ts +14 -5
  50. package/constants/api.js +130 -126
  51. package/constants/auth.d.ts +2 -0
  52. package/constants/auth.js +2 -0
  53. package/constants/grpc.js +5 -8
  54. package/constants/identifier.js +6 -9
  55. package/constants/timezones.d.ts +1 -1
  56. package/constants/timezones.js +1 -4
  57. package/grpc/conker_pb.client.d.ts +78 -0
  58. package/grpc/conker_pb.client.js +55 -0
  59. package/grpc/conker_pb.d.ts +141 -0
  60. package/grpc/conker_pb.grpc-client.d.ts +81 -0
  61. package/grpc/conker_pb.grpc-client.js +58 -0
  62. package/grpc/conker_pb.js +104 -0
  63. package/grpc/filagree_pb.client.d.ts +68 -0
  64. package/grpc/filagree_pb.client.js +48 -0
  65. package/grpc/filagree_pb.d.ts +404 -0
  66. package/grpc/filagree_pb.grpc-client.d.ts +69 -0
  67. package/grpc/filagree_pb.grpc-client.js +51 -0
  68. package/grpc/filagree_pb.js +329 -0
  69. package/grpc/google/protobuf/descriptor_pb.d.ts +1798 -0
  70. package/grpc/google/protobuf/descriptor_pb.js +2378 -0
  71. package/grpc/google/protobuf/empty_pb.d.ts +23 -0
  72. package/grpc/google/protobuf/empty_pb.js +47 -0
  73. package/grpc/pigeon_pb.client.d.ts +96 -0
  74. package/grpc/pigeon_pb.client.js +72 -0
  75. package/grpc/pigeon_pb.d.ts +207 -0
  76. package/grpc/pigeon_pb.grpc-client.d.ts +98 -0
  77. package/grpc/pigeon_pb.grpc-client.js +68 -0
  78. package/grpc/pigeon_pb.js +144 -0
  79. package/grpc/rambo.uri.v1_pb.d.ts +73 -0
  80. package/grpc/rambo.uri.v1_pb.js +48 -0
  81. package/grpc/rambo.v1_pb.client.d.ts +66 -0
  82. package/grpc/rambo.v1_pb.client.js +48 -0
  83. package/grpc/rambo.v1_pb.d.ts +392 -0
  84. package/grpc/rambo.v1_pb.grpc-client.d.ts +56 -0
  85. package/grpc/rambo.v1_pb.grpc-client.js +44 -0
  86. package/grpc/rambo.v1_pb.js +272 -0
  87. package/grpc/serviette.uri.v1_pb.d.ts +89 -0
  88. package/grpc/serviette.uri.v1_pb.js +62 -0
  89. package/grpc/serviette.v1_pb.client.d.ts +225 -0
  90. package/grpc/serviette.v1_pb.client.js +174 -0
  91. package/grpc/serviette.v1_pb.d.ts +827 -0
  92. package/grpc/serviette.v1_pb.grpc-client.d.ts +215 -0
  93. package/grpc/serviette.v1_pb.grpc-client.js +162 -0
  94. package/grpc/serviette.v1_pb.js +553 -0
  95. package/grpc/slowlane_pb.client.d.ts +61 -0
  96. package/grpc/slowlane_pb.client.js +41 -0
  97. package/grpc/slowlane_pb.d.ts +303 -0
  98. package/grpc/slowlane_pb.grpc-client.d.ts +64 -0
  99. package/grpc/slowlane_pb.grpc-client.js +44 -0
  100. package/grpc/slowlane_pb.js +185 -0
  101. package/grpc/teletubby_pb.client.d.ts +145 -0
  102. package/grpc/teletubby_pb.client.js +104 -0
  103. package/grpc/teletubby_pb.d.ts +634 -0
  104. package/grpc/teletubby_pb.grpc-client.d.ts +152 -0
  105. package/grpc/teletubby_pb.grpc-client.js +100 -0
  106. package/grpc/teletubby_pb.js +1264 -0
  107. package/helpers/arrayRemove.js +2 -6
  108. package/helpers/arrayUnique.js +2 -6
  109. package/helpers/average.js +2 -7
  110. package/helpers/callerMessageHelpers.d.ts +14 -0
  111. package/helpers/callerMessageHelpers.js +86 -0
  112. package/helpers/cleanObject.js +17 -19
  113. package/helpers/cleanObject.spec.d.ts +1 -0
  114. package/helpers/cleanObject.spec.js +53 -0
  115. package/helpers/enviroment.js +4 -11
  116. package/helpers/flattenCallsignsLookup.d.ts +1 -1
  117. package/helpers/flattenCallsignsLookup.js +1 -5
  118. package/helpers/flattenObject.js +1 -5
  119. package/helpers/flattenObject.spec.d.ts +1 -0
  120. package/helpers/flattenObject.spec.js +29 -0
  121. package/helpers/flattenOneOf.d.ts +67 -0
  122. package/helpers/flattenOneOf.js +29 -0
  123. package/helpers/flattenOneOf.spec.d.ts +1 -0
  124. package/helpers/flattenOneOf.spec.js +157 -0
  125. package/helpers/formatServiceUrl.js +1 -5
  126. package/helpers/formatServiceUrl.spec.d.ts +1 -0
  127. package/helpers/formatServiceUrl.spec.js +16 -0
  128. package/helpers/generateUUID.js +3 -7
  129. package/helpers/getSubscriptionsDifference.d.ts +3 -3
  130. package/helpers/getSubscriptionsDifference.js +6 -10
  131. package/helpers/getURLSearchParams.d.ts +2 -0
  132. package/helpers/getURLSearchParams.js +9 -0
  133. package/helpers/getURLSearchParams.spec.d.ts +1 -0
  134. package/helpers/getURLSearchParams.spec.js +19 -0
  135. package/helpers/getUniqueConfigKey.js +1 -6
  136. package/helpers/getUniqueId.js +3 -7
  137. package/helpers/getUnixTimeMs.js +1 -5
  138. package/helpers/index.d.ts +3 -1
  139. package/helpers/index.js +5 -15
  140. package/helpers/nanosecondToMillisecond.d.ts +1 -1
  141. package/helpers/nanosecondToMillisecond.js +11 -6
  142. package/helpers/nanosecondToMillisecond.spec.d.ts +1 -0
  143. package/helpers/nanosecondToMillisecond.spec.js +20 -0
  144. package/helpers/randomString.js +1 -5
  145. package/helpers/standardDeviation.js +4 -8
  146. package/helpers/standardDeviation.spec.d.ts +1 -0
  147. package/helpers/standardDeviation.spec.js +11 -0
  148. package/helpers/stringToUint8Array.js +3 -7
  149. package/helpers/uint8ArrayToString.js +3 -8
  150. package/helpers/websandbox/connection.d.ts +67 -0
  151. package/helpers/websandbox/connection.js +133 -0
  152. package/helpers/websandbox/frame/frame.d.ts +12 -0
  153. package/helpers/websandbox/frame/frame.js +22 -0
  154. package/helpers/websandbox/frame/frame.source.d.ts +2 -0
  155. package/helpers/websandbox/frame/frame.source.js +5 -0
  156. package/helpers/websandbox/frame/index.d.ts +2 -0
  157. package/helpers/websandbox/frame/index.js +2 -0
  158. package/helpers/websandbox/frame/worker/index.d.ts +2 -0
  159. package/helpers/websandbox/frame/worker/index.js +2 -0
  160. package/helpers/websandbox/frame/worker/manager.d.ts +11 -0
  161. package/helpers/websandbox/frame/worker/manager.js +67 -0
  162. package/helpers/websandbox/frame/worker/manager.spec.d.ts +4 -0
  163. package/helpers/websandbox/frame/worker/manager.spec.js +127 -0
  164. package/helpers/websandbox/frame/worker/types.d.ts +11 -0
  165. package/helpers/websandbox/frame/worker/types.js +1 -0
  166. package/helpers/websandbox/frame/worker/worker.d.ts +1 -0
  167. package/helpers/websandbox/frame/worker/worker.js +74 -0
  168. package/helpers/websandbox/frame/worker/worker.source.d.ts +2 -0
  169. package/helpers/websandbox/frame/worker/worker.source.js +4 -0
  170. package/helpers/websandbox/index.d.ts +2 -0
  171. package/helpers/websandbox/index.js +2 -0
  172. package/helpers/websandbox/sandbox.d.ts +57 -0
  173. package/helpers/websandbox/sandbox.js +175 -0
  174. package/helpers/websandbox/types.d.ts +13 -0
  175. package/helpers/websandbox/types.js +1 -0
  176. package/index.js +7 -19
  177. package/logger/RocosLogger.js +18 -44
  178. package/models/CallsignStatus.d.ts +6 -0
  179. package/models/CallsignStatus.js +7 -0
  180. package/models/ExportDataQuery.js +1 -5
  181. package/models/ExternalProject.js +1 -5
  182. package/models/IBaseService.d.ts +1 -0
  183. package/models/IBaseService.js +1 -2
  184. package/models/IConfigGroup.js +1 -2
  185. package/models/IDebugLevel.d.ts +1 -1
  186. package/models/IDebugLevel.js +1 -2
  187. package/models/IExportDataQuery.js +1 -2
  188. package/models/IFunctionConfig.js +1 -2
  189. package/models/IInvitation.d.ts +1 -1
  190. package/models/IInvitation.js +1 -2
  191. package/models/IInvitationExists.js +1 -2
  192. package/models/IOperation.js +1 -2
  193. package/models/IPersonalAccessToken.js +1 -2
  194. package/models/IProject.js +1 -2
  195. package/models/IProjectApplication.js +1 -2
  196. package/models/IRobot.d.ts +1 -0
  197. package/models/IRobot.js +1 -2
  198. package/models/IRobotConfig.js +1 -2
  199. package/models/IRobotPlugin.js +1 -2
  200. package/models/IRobotSettings.d.ts +28 -0
  201. package/models/IRobotSettings.js +1 -0
  202. package/models/IRobotTemplate.js +1 -2
  203. package/models/IRocosSDKConfig.d.ts +3 -9
  204. package/models/IRocosSDKConfig.js +1 -2
  205. package/models/ISource.js +1 -2
  206. package/models/IStream.js +1 -2
  207. package/models/IStreamConfig.js +1 -2
  208. package/models/IStreamOptions.js +1 -2
  209. package/models/IStreamSource.js +1 -2
  210. package/models/ISubscriberStatus.js +1 -2
  211. package/models/ITelemetryStreamConfig.js +1 -2
  212. package/models/IToken.d.ts +7 -3
  213. package/models/IToken.js +1 -2
  214. package/models/IWidget.js +1 -2
  215. package/models/IWidgetLineGroup.js +1 -2
  216. package/models/ResponseLevelEnum.d.ts +4 -0
  217. package/models/ResponseLevelEnum.js +6 -5
  218. package/models/Robot.d.ts +1 -0
  219. package/models/Robot.js +1 -5
  220. package/models/RobotConfig.js +1 -5
  221. package/models/RobotPlugin.js +1 -5
  222. package/models/RobotTemplate.js +9 -14
  223. package/models/RocosError.d.ts +1 -0
  224. package/models/RocosError.js +3 -6
  225. package/models/ServiceEnum.d.ts +2 -1
  226. package/models/ServiceEnum.js +3 -5
  227. package/models/Stream.js +4 -8
  228. package/models/StreamOptions.js +1 -5
  229. package/models/StreamSource.js +3 -7
  230. package/models/SubscriberStatusEnum.js +2 -5
  231. package/models/Token.d.ts +36 -4
  232. package/models/Token.js +74 -11
  233. package/models/Token.spec.d.ts +1 -0
  234. package/models/Token.spec.js +108 -0
  235. package/models/Widget.js +4 -8
  236. package/models/WidgetLineGroup.js +1 -5
  237. package/models/asset-storage/AssetModelItem.d.ts +3 -0
  238. package/models/asset-storage/AssetModelItem.js +1 -2
  239. package/models/caller/IRocosCallerMessageChunk.d.ts +8 -2
  240. package/models/caller/IRocosCallerMessageChunk.js +1 -2
  241. package/models/caller/IRocosCallerMessageChunks.d.ts +2 -3
  242. package/models/caller/IRocosCallerMessageChunks.js +1 -2
  243. package/models/caller/IRocosCallerMessageHeartbeat.d.ts +3 -2
  244. package/models/caller/IRocosCallerMessageHeartbeat.js +1 -2
  245. package/models/caller/IRocosCallerMessageResponse.d.ts +3 -2
  246. package/models/caller/IRocosCallerMessageResponse.js +1 -2
  247. package/models/caller/IRocosCallerMessageResponseAck.d.ts +16 -2
  248. package/models/caller/IRocosCallerMessageResponseAck.js +13 -2
  249. package/models/caller/IRocosCallerMessageResponseResult.d.ts +15 -2
  250. package/models/caller/IRocosCallerMessageResponseResult.js +12 -2
  251. package/models/caller/IRocosCallerMessageResponseReturn.d.ts +8 -0
  252. package/models/caller/IRocosCallerMessageResponseReturn.js +1 -0
  253. package/models/caller/IRocosCallerMessageResponseUid.d.ts +10 -2
  254. package/models/caller/IRocosCallerMessageResponseUid.js +7 -2
  255. package/models/caller/IRocosCallerMessageResponses.d.ts +2 -3
  256. package/models/caller/IRocosCallerMessageResponses.js +1 -2
  257. package/models/caller/RocosCallerResultStatus.d.ts +11 -1
  258. package/models/caller/RocosCallerResultStatus.js +12 -5
  259. package/models/caller/RocosResponseLevel.d.ts +6 -0
  260. package/models/caller/RocosResponseLevel.js +7 -0
  261. package/models/caller/index.d.ts +11 -0
  262. package/models/caller/index.js +11 -0
  263. package/models/callsigns/CallsignsEnums.d.ts +3 -3
  264. package/models/callsigns/CallsignsEnums.js +11 -14
  265. package/models/callsigns/CallsignsLookup.js +10 -15
  266. package/models/callsigns/CallsignsQuery.js +1 -5
  267. package/models/callsigns/CallsignsQueryPredicate.js +1 -5
  268. package/models/command/IRocosCommandMessageHeartbeat.d.ts +1 -2
  269. package/models/command/IRocosCommandMessageHeartbeat.js +1 -2
  270. package/models/command/IRocosCommandMessageResponse.d.ts +55 -2
  271. package/models/command/IRocosCommandMessageResponse.js +29 -2
  272. package/models/command/RocosCommandResultStatus.d.ts +11 -1
  273. package/models/command/RocosCommandResultStatus.js +12 -5
  274. package/models/command/index.d.ts +4 -0
  275. package/models/command/index.js +4 -0
  276. package/models/file/FileEnums.d.ts +4 -4
  277. package/models/file/FileEnums.js +9 -12
  278. package/models/index.d.ts +6 -31
  279. package/models/index.js +76 -113
  280. package/models/integrations/Overlay.js +1 -2
  281. package/models/integrations/Plan.js +1 -2
  282. package/models/maps/Map.d.ts +2 -3
  283. package/models/maps/Map.js +1 -2
  284. package/models/maps/Panorama.d.ts +36 -0
  285. package/models/maps/Panorama.js +1 -0
  286. package/models/message/IRocosCallerMessage.js +1 -2
  287. package/models/message/IRocosChangeMessage.js +1 -2
  288. package/models/message/IRocosCommandMessage.js +1 -2
  289. package/models/message/IRocosControlMessage.js +1 -2
  290. package/models/message/IRocosOpResultMessage.d.ts +2 -2
  291. package/models/message/IRocosOpResultMessage.js +1 -2
  292. package/models/message/IRocosSearchMessage.js +1 -2
  293. package/models/message/IRocosSearchRowMessage.js +1 -2
  294. package/models/message/IRocosSearchStatusMessage.js +1 -2
  295. package/models/message/IRocosTelemetryMessage.d.ts +12 -7
  296. package/models/message/IRocosTelemetryMessage.js +1 -2
  297. package/models/message/IStreamStatusMessage.js +1 -2
  298. package/models/message/RocosCallerMessage.d.ts +2 -4
  299. package/models/message/RocosCallerMessage.js +24 -15
  300. package/models/message/RocosCommandMessage.d.ts +2 -3
  301. package/models/message/RocosCommandMessage.js +5 -8
  302. package/models/message/RocosControlMessage.d.ts +1 -1
  303. package/models/message/RocosControlMessage.js +6 -10
  304. package/models/message/RocosOpResultMessage.d.ts +3 -2
  305. package/models/message/RocosOpResultMessage.js +6 -10
  306. package/models/message/RocosSearchMessage.d.ts +1 -1
  307. package/models/message/RocosSearchMessage.js +5 -9
  308. package/models/message/RocosSearchRowMessage.d.ts +1 -1
  309. package/models/message/RocosSearchRowMessage.js +8 -12
  310. package/models/message/RocosTelemetryMessage.d.ts +9 -23
  311. package/models/message/RocosTelemetryMessage.js +51 -93
  312. package/models/message/index.d.ts +17 -0
  313. package/models/message/index.js +17 -0
  314. package/models/params/ICallerParams.d.ts +12 -1
  315. package/models/params/ICallerParams.js +1 -2
  316. package/models/params/ICommandParams.js +1 -2
  317. package/models/params/IControlParams.d.ts +1 -1
  318. package/models/params/IControlParams.js +1 -2
  319. package/models/params/IFileAccessorParams.js +1 -2
  320. package/models/params/ISearchParams.js +1 -2
  321. package/models/params/ITelemetryParams.d.ts +1 -1
  322. package/models/params/ITelemetryParams.js +1 -2
  323. package/models/params/IWebRTCSignallingParams.js +1 -2
  324. package/models/projects/ProjectUser.js +1 -2
  325. package/models/schedule/IScheduleAction.d.ts +1 -1
  326. package/models/schedule/IScheduleAction.js +2 -5
  327. package/models/schedule/IScheduleInfo.js +1 -2
  328. package/models/schedule/IScheduleJob.js +1 -2
  329. package/models/search/SearchQueryFilter.js +1 -5
  330. package/models/search/SearchStreamQuery.js +1 -5
  331. package/models/stream/IBaseStream.js +1 -2
  332. package/models/stream/ICallerStream.js +1 -2
  333. package/models/stream/ICommandStream.js +1 -2
  334. package/models/stream/IControlStream.js +1 -2
  335. package/models/stream/IFileAccessorStream.d.ts +1 -2
  336. package/models/stream/IFileAccessorStream.js +1 -2
  337. package/models/stream/ISearchStream.js +1 -2
  338. package/models/stream/ITelemetryStream.js +1 -2
  339. package/models/stream/IWebRTCSignallingStream.d.ts +51 -16
  340. package/models/stream/IWebRTCSignallingStream.js +1 -7
  341. package/models/types.d.ts +5 -5
  342. package/models/types.js +1 -2
  343. package/models/workflow/Workflow.d.ts +36 -0
  344. package/models/workflow/Workflow.js +1 -0
  345. package/node/RocosSDKNode.d.ts +6 -1
  346. package/node/RocosSDKNode.js +82 -80
  347. package/node/index.js +7 -19
  348. package/package.json +10 -11
  349. package/services/AssetStorageService.d.ts +23 -1
  350. package/services/AssetStorageService.js +53 -24
  351. package/services/AuthService.d.ts +59 -27
  352. package/services/AuthService.js +167 -86
  353. package/services/AuthService.spec.d.ts +1 -0
  354. package/services/AuthService.spec.js +163 -0
  355. package/services/BaseServiceAbstract.d.ts +11 -13
  356. package/services/BaseServiceAbstract.js +18 -24
  357. package/services/BaseStreamService.d.ts +18 -0
  358. package/services/BaseStreamService.js +47 -0
  359. package/services/CallerService.d.ts +37 -17
  360. package/services/CallerService.js +86 -65
  361. package/services/CallerService.spec.d.ts +1 -0
  362. package/services/CallerService.spec.js +227 -0
  363. package/services/CallerServiceNode.js +4 -8
  364. package/services/CommandService.d.ts +5 -17
  365. package/services/CommandService.js +19 -62
  366. package/services/CommandServiceNode.js +4 -8
  367. package/services/ConfigGroupService.js +17 -21
  368. package/services/ControlService.d.ts +5 -17
  369. package/services/ControlService.js +22 -65
  370. package/services/ControlServiceNode.js +4 -8
  371. package/services/DashboardService.js +20 -24
  372. package/services/EvaluatorService.d.ts +11 -0
  373. package/services/EvaluatorService.js +28 -0
  374. package/services/EventService.js +13 -17
  375. package/services/FileAccessorService.d.ts +4 -18
  376. package/services/FileAccessorService.js +14 -62
  377. package/services/FileAccessorServiceNode.js +4 -8
  378. package/services/FunctionService.js +17 -21
  379. package/services/IntegrationService.js +14 -19
  380. package/services/MapService.d.ts +71 -25
  381. package/services/MapService.js +113 -40
  382. package/services/PlatformTimeService.js +8 -12
  383. package/services/PlatformTimeService.spec.d.ts +1 -0
  384. package/services/PlatformTimeService.spec.js +180 -0
  385. package/services/ProfileService.js +36 -40
  386. package/services/ProjectService.js +23 -27
  387. package/services/RobotService.d.ts +2 -6
  388. package/services/RobotService.js +48 -55
  389. package/services/ScheduleService.js +10 -14
  390. package/services/SearchService.d.ts +4 -17
  391. package/services/SearchService.js +24 -59
  392. package/services/SearchServiceNode.js +4 -8
  393. package/services/SpotProvisioningService.d.ts +1 -1
  394. package/services/SpotProvisioningService.js +16 -16
  395. package/services/SpotProvisioningServiceNode.d.ts +1 -1
  396. package/services/SpotProvisioningServiceNode.js +16 -16
  397. package/services/StreamService.js +26 -30
  398. package/services/TelemetryService.d.ts +15 -17
  399. package/services/TelemetryService.js +103 -93
  400. package/services/TelemetryService.spec.d.ts +1 -0
  401. package/services/TelemetryService.spec.js +37 -0
  402. package/services/TelemetryServiceNode.js +4 -8
  403. package/services/TimeSyncerService.js +9 -13
  404. package/services/UserService.js +37 -41
  405. package/services/WebRTCSignallingService.d.ts +4 -4
  406. package/services/WebRTCSignallingService.js +24 -27
  407. package/services/WorkflowService.d.ts +25 -29
  408. package/services/WorkflowService.js +39 -75
  409. package/services/index.d.ts +1 -0
  410. package/services/index.js +27 -38
  411. package/store/RocosStore.js +9 -15
  412. package/demo/angular/.editorconfig +0 -16
  413. package/demo/angular/.eslintignore +0 -4
  414. package/demo/angular/.eslintrc.json +0 -50
  415. package/demo/angular/README.md +0 -36
  416. package/demo/angular/angular.json +0 -132
  417. package/demo/angular/karma.conf.js +0 -44
  418. package/demo/angular/package.json +0 -41
  419. package/demo/angular/src/app/app.component.css +0 -0
  420. package/demo/angular/src/app/app.component.html +0 -9
  421. package/demo/angular/src/app/app.component.ts +0 -10
  422. package/demo/angular/src/app/app.module.ts +0 -38
  423. package/demo/angular/src/app/components/assets/assets.component.css +0 -0
  424. package/demo/angular/src/app/components/assets/assets.component.html +0 -29
  425. package/demo/angular/src/app/components/assets/assets.component.ts +0 -107
  426. package/demo/angular/src/app/components/auth/auth.component.css +0 -0
  427. package/demo/angular/src/app/components/auth/auth.component.html +0 -27
  428. package/demo/angular/src/app/components/auth/auth.component.ts +0 -33
  429. package/demo/angular/src/app/components/caller/caller.component.css +0 -0
  430. package/demo/angular/src/app/components/caller/caller.component.html +0 -22
  431. package/demo/angular/src/app/components/caller/caller.component.ts +0 -61
  432. package/demo/angular/src/app/components/command/command.component.css +0 -0
  433. package/demo/angular/src/app/components/command/command.component.html +0 -22
  434. package/demo/angular/src/app/components/command/command.component.ts +0 -60
  435. package/demo/angular/src/app/components/integrations/integrations.component.ts +0 -43
  436. package/demo/angular/src/app/components/robots/robots.component.css +0 -0
  437. package/demo/angular/src/app/components/robots/robots.component.html +0 -13
  438. package/demo/angular/src/app/components/robots/robots.component.ts +0 -26
  439. package/demo/angular/src/app/components/sdk/sdk.component.css +0 -0
  440. package/demo/angular/src/app/components/sdk/sdk.component.html +0 -43
  441. package/demo/angular/src/app/components/sdk/sdk.component.ts +0 -50
  442. package/demo/angular/src/app/components/subscription/subscription.component.css +0 -0
  443. package/demo/angular/src/app/components/subscription/subscription.component.html +0 -6
  444. package/demo/angular/src/app/components/subscription/subscription.component.ts +0 -40
  445. package/demo/angular/src/app/components/telemetry/telemetry.component.css +0 -0
  446. package/demo/angular/src/app/components/telemetry/telemetry.component.html +0 -19
  447. package/demo/angular/src/app/components/telemetry/telemetry.component.ts +0 -61
  448. package/demo/angular/src/app/components/token/token.component.css +0 -0
  449. package/demo/angular/src/app/components/token/token.component.html +0 -10
  450. package/demo/angular/src/app/components/token/token.component.ts +0 -18
  451. package/demo/angular/src/app/components/video/p2pvideo/index.ts +0 -646
  452. package/demo/angular/src/app/components/video/video-source.ts +0 -315
  453. package/demo/angular/src/app/components/video/video.component.css +0 -6
  454. package/demo/angular/src/app/components/video/video.component.html +0 -54
  455. package/demo/angular/src/app/components/video/video.component.ts +0 -151
  456. package/demo/angular/src/app/services/sdk.service.ts +0 -193
  457. package/demo/angular/src/assets/.gitkeep +0 -0
  458. package/demo/angular/src/assets/HKGrotesk-Bold.otf +0 -0
  459. package/demo/angular/src/assets/HKGrotesk-Regular.otf +0 -0
  460. package/demo/angular/src/assets/logo.svg +0 -16
  461. package/demo/angular/src/environments/environment.prod.ts +0 -3
  462. package/demo/angular/src/environments/environment.ts +0 -16
  463. package/demo/angular/src/favicon.ico +0 -0
  464. package/demo/angular/src/index.html +0 -15
  465. package/demo/angular/src/main.ts +0 -7
  466. package/demo/angular/src/polyfills.ts +0 -53
  467. package/demo/angular/src/styles.css +0 -198
  468. package/demo/angular/tsconfig.app.json +0 -15
  469. package/demo/angular/tsconfig.json +0 -39
  470. package/demo/html/README.md +0 -8
  471. package/demo/html/assets/HKGrotesk-Bold.otf +0 -0
  472. package/demo/html/assets/HKGrotesk-Regular.otf +0 -0
  473. package/demo/html/assets/logo.svg +0 -16
  474. package/demo/html/favicon.ico +0 -0
  475. package/demo/html/index.html +0 -416
  476. package/demo/html/rocos-js-sdk.js +0 -3
  477. package/demo/html/rocos-js-sdk.js.LICENSE.txt +0 -8
  478. package/demo/html/rocos-js-sdk.js.map +0 -1
  479. package/demo/html/styles.css +0 -190
  480. package/demo/node/README.md +0 -17
  481. package/demo/node/index.js +0 -134
  482. package/demo/node/package.json +0 -8
  483. package/demo/react/.env +0 -1
  484. package/demo/react/.env.dist +0 -1
  485. package/demo/react/.eslintrc.json +0 -46
  486. package/demo/react/README.md +0 -65
  487. package/demo/react/package.json +0 -60
  488. package/demo/react/public/favicon.ico +0 -0
  489. package/demo/react/public/index.html +0 -43
  490. package/demo/react/public/logo192.png +0 -0
  491. package/demo/react/public/logo512.png +0 -0
  492. package/demo/react/public/manifest.json +0 -25
  493. package/demo/react/public/robots.txt +0 -3
  494. package/demo/react/src/App.css +0 -190
  495. package/demo/react/src/App.tsx +0 -31
  496. package/demo/react/src/actions/index.ts +0 -8
  497. package/demo/react/src/actions/sdkActions.ts +0 -62
  498. package/demo/react/src/assets/HKGrotesk-Bold.otf +0 -0
  499. package/demo/react/src/assets/HKGrotesk-Regular.otf +0 -0
  500. package/demo/react/src/assets/logo.svg +0 -16
  501. package/demo/react/src/components/AuthForm.tsx +0 -76
  502. package/demo/react/src/components/CallerBox.tsx +0 -53
  503. package/demo/react/src/components/CallerForm.tsx +0 -98
  504. package/demo/react/src/components/CommandBox.tsx +0 -47
  505. package/demo/react/src/components/CommandForm.tsx +0 -98
  506. package/demo/react/src/components/RobotsForm.tsx +0 -51
  507. package/demo/react/src/components/SubscriptionBox.tsx +0 -55
  508. package/demo/react/src/components/TelemetryForm.tsx +0 -98
  509. package/demo/react/src/components/TokenForm.tsx +0 -39
  510. package/demo/react/src/config.json +0 -14
  511. package/demo/react/src/controllers/RocosSDKController.ts +0 -48
  512. package/demo/react/src/helpers/deepEqual.ts +0 -27
  513. package/demo/react/src/hooks/useInput.ts +0 -29
  514. package/demo/react/src/index.css +0 -11
  515. package/demo/react/src/index.tsx +0 -26
  516. package/demo/react/src/react-app-env.d.ts +0 -1
  517. package/demo/react/src/reducers/sdkReducer.ts +0 -133
  518. package/demo/react/src/reportWebVitals.ts +0 -15
  519. package/demo/react/src/selectors/sdkSelector.ts +0 -11
  520. package/demo/react/src/setupTests.ts +0 -5
  521. package/demo/react/src/store.ts +0 -14
  522. package/demo/react/tsconfig.json +0 -26
  523. package/demo/sdk-sizer/dist/sdk-sizer/3rdpartylicenses.txt +0 -975
  524. package/demo/sdk-sizer/dist/sdk-sizer/favicon.ico +0 -0
  525. package/demo/sdk-sizer/dist/sdk-sizer/index.html +0 -12
  526. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js +0 -2
  527. package/demo/sdk-sizer/dist/sdk-sizer/main.c9183649ce1856ef.js.map +0 -1
  528. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js +0 -2
  529. package/demo/sdk-sizer/dist/sdk-sizer/polyfills.701c8e5d007909aa.js.map +0 -1
  530. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js +0 -2
  531. package/demo/sdk-sizer/dist/sdk-sizer/runtime.00e20e689f5284a8.js.map +0 -1
  532. package/demo/sdk-sizer/dist/sdk-sizer/stats.json +0 -1
  533. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css +0 -2
  534. package/demo/sdk-sizer/dist/sdk-sizer/styles.b45f7e627ac8cbce.css.map +0 -1
  535. package/grpc/file-accessor/filagree_grpc_pb.d.ts +0 -41
  536. package/grpc/file-accessor/filagree_grpc_pb.js +0 -121
  537. package/grpc/file-accessor/filagree_pb.d.ts +0 -339
  538. package/grpc/file-accessor/filagree_pb.js +0 -2261
  539. package/grpc/file-accessor/filagree_pb_service.d.ts +0 -115
  540. package/grpc/file-accessor/filagree_pb_service.js +0 -257
  541. package/grpc/rambo/rambo.v1_grpc_pb.d.ts +0 -39
  542. package/grpc/rambo/rambo.v1_grpc_pb.js +0 -73
  543. package/grpc/rambo/rambo.v1_pb.d.ts +0 -365
  544. package/grpc/rambo/rambo.v1_pb.js +0 -2469
  545. package/grpc/rambo/rambo.v1_pb_service.d.ts +0 -76
  546. package/grpc/rambo/rambo.v1_pb_service.js +0 -138
  547. package/grpc/rambo/uri.v1_grpc_pb.d.ts +0 -1
  548. package/grpc/rambo/uri.v1_grpc_pb.js +0 -1
  549. package/grpc/rambo/uri.v1_pb.d.ts +0 -80
  550. package/grpc/rambo/uri.v1_pb.js +0 -563
  551. package/grpc/rambo/uri.v1_pb_service.d.ts +0 -3
  552. package/grpc/rambo/uri.v1_pb_service.js +0 -3
  553. package/grpc/robot-control/conker_grpc_pb.d.ts +0 -46
  554. package/grpc/robot-control/conker_grpc_pb.js +0 -143
  555. package/grpc/robot-control/conker_pb.d.ts +0 -168
  556. package/grpc/robot-control/conker_pb.js +0 -1287
  557. package/grpc/robot-control/conker_pb_service.d.ts +0 -126
  558. package/grpc/robot-control/conker_pb_service.js +0 -301
  559. package/grpc/serviette/common.v1_grpc_pb.d.ts +0 -1
  560. package/grpc/serviette/common.v1_grpc_pb.js +0 -1
  561. package/grpc/serviette/common.v1_pb.d.ts +0 -8
  562. package/grpc/serviette/common.v1_pb.js +0 -45
  563. package/grpc/serviette/common.v1_pb_service.d.ts +0 -3
  564. package/grpc/serviette/common.v1_pb_service.js +0 -3
  565. package/grpc/serviette/serviette.v1_grpc_pb.d.ts +0 -137
  566. package/grpc/serviette/serviette.v1_grpc_pb.js +0 -331
  567. package/grpc/serviette/serviette.v1_pb.d.ts +0 -884
  568. package/grpc/serviette/serviette.v1_pb.js +0 -6363
  569. package/grpc/serviette/serviette.v1_pb_service.d.ts +0 -278
  570. package/grpc/serviette/serviette.v1_pb_service.js +0 -699
  571. package/grpc/serviette/uri.v1_grpc_pb.d.ts +0 -1
  572. package/grpc/serviette/uri.v1_grpc_pb.js +0 -1
  573. package/grpc/serviette/uri.v1_pb.d.ts +0 -102
  574. package/grpc/serviette/uri.v1_pb.js +0 -741
  575. package/grpc/serviette/uri.v1_pb_service.d.ts +0 -3
  576. package/grpc/serviette/uri.v1_pb_service.js +0 -3
  577. package/grpc/slowlane/slowlane_grpc_pb.d.ts +0 -38
  578. package/grpc/slowlane/slowlane_grpc_pb.js +0 -132
  579. package/grpc/slowlane/slowlane_pb.d.ts +0 -373
  580. package/grpc/slowlane/slowlane_pb.js +0 -2908
  581. package/grpc/slowlane/slowlane_pb_service.d.ts +0 -112
  582. package/grpc/slowlane/slowlane_pb_service.js +0 -189
  583. package/grpc/teletubby/teletubby_grpc_pb.d.ts +0 -73
  584. package/grpc/teletubby/teletubby_grpc_pb.js +0 -231
  585. package/grpc/teletubby/teletubby_pb.d.ts +0 -647
  586. package/grpc/teletubby/teletubby_pb.js +0 -4786
  587. package/grpc/teletubby/teletubby_pb_service.d.ts +0 -193
  588. package/grpc/teletubby/teletubby_pb_service.js +0 -436
  589. package/grpc/video/pigeon_grpc_pb.d.ts +0 -59
  590. package/grpc/video/pigeon_grpc_pb.js +0 -180
  591. package/grpc/video/pigeon_pb.d.ts +0 -237
  592. package/grpc/video/pigeon_pb.js +0 -1775
  593. package/grpc/video/pigeon_pb_service.d.ts +0 -152
  594. package/grpc/video/pigeon_pb_service.js +0 -292
  595. package/models/ISignupParams.d.ts +0 -8
  596. package/models/ISignupParams.js +0 -2
  597. package/utils/axisangle.d.ts +0 -18
  598. package/utils/axisangle.js +0 -48
  599. package/utils/eulerangles.d.ts +0 -22
  600. package/utils/eulerangles.js +0 -133
  601. package/utils/helperfunctions.d.ts +0 -5
  602. package/utils/helperfunctions.js +0 -50
  603. package/utils/localtransform.d.ts +0 -17
  604. package/utils/localtransform.js +0 -50
  605. package/utils/localtransformtree.d.ts +0 -17
  606. package/utils/localtransformtree.js +0 -88
  607. package/utils/misc.d.ts +0 -17
  608. package/utils/misc.js +0 -23
  609. package/utils/positionvector.d.ts +0 -13
  610. package/utils/positionvector.js +0 -79
  611. package/utils/quaternion.d.ts +0 -20
  612. package/utils/quaternion.js +0 -62
  613. package/utils/rotationmatrix.d.ts +0 -23
  614. package/utils/rotationmatrix.js +0 -262
  615. package/utils/transformationmatrix.d.ts +0 -12
  616. package/utils/transformationmatrix.js +0 -123
  617. package/utils/vector3.d.ts +0 -11
  618. package/utils/vector3.js +0 -61
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayRemove = void 0;
4
- const arrayRemove = (original, remove) => {
5
- return original === null || original === void 0 ? void 0 : original.filter((v) => remove.indexOf(v) === -1);
1
+ export const arrayRemove = (original, remove) => {
2
+ return original?.filter((v) => remove.indexOf(v) === -1);
6
3
  };
7
- exports.arrayRemove = arrayRemove;
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayUnique = void 0;
4
- const arrayUnique = (data) => {
5
- return data === null || data === void 0 ? void 0 : data.filter((v, i, a) => a.indexOf(v) === i);
1
+ export const arrayUnique = (data) => {
2
+ return data?.filter((v, i, a) => a.indexOf(v) === i);
6
3
  };
7
- exports.arrayUnique = arrayUnique;
@@ -1,11 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.average = void 0;
4
- const average = (numbers) => {
1
+ export const average = (numbers) => {
5
2
  const sum = numbers.reduce((numberSum, value) => {
6
3
  return numberSum + value;
7
4
  }, 0);
8
- const avg = sum / numbers.length;
9
- return avg;
5
+ return sum / numbers.length;
10
6
  };
11
- exports.average = average;
@@ -0,0 +1,14 @@
1
+ import { IRocosCallerMessage, IRocosCallerMessageChunk, IRocosCallerMessageResponse } from '../models';
2
+ import { OperatorFunction } from 'rxjs';
3
+ /** Given a caller message, return the responses contained within it.
4
+ *
5
+ * Chunked responses with acks and results will return the intermediate acks and results as Responses along with the chunk itself
6
+ */
7
+ export declare function getResponses(res: IRocosCallerMessage): (IRocosCallerMessageResponse | IRocosCallerMessageChunk)[];
8
+ /** A pipeable operator that will convert a stream of chunks into a stream of responses.
9
+ *
10
+ * Any non-chunk messages will be passed through unchanged.
11
+ *
12
+ * Chunked responses will be buffered until all chunks are received, then merged into a single response.
13
+ */
14
+ export declare function handleChunkedMessages(): OperatorFunction<IRocosCallerMessageChunk | IRocosCallerMessageResponse, IRocosCallerMessageResponse>;
@@ -0,0 +1,86 @@
1
+ import { map, pipe } from 'rxjs';
2
+ import { filter } from 'rxjs/operators';
3
+ /** Given a caller message, return the responses contained within it.
4
+ *
5
+ * Chunked responses with acks and results will return the intermediate acks and results as Responses along with the chunk itself
6
+ */
7
+ export function getResponses(res) {
8
+ if (res.chunks?.chunks) {
9
+ return getIntermediateResponsesFromChunks(res.chunks.chunks);
10
+ }
11
+ if (res.responses?.responses) {
12
+ return res.responses.responses;
13
+ }
14
+ return [];
15
+ }
16
+ /** Given a list of chunks, convert any intermediate acks and results into responses. */
17
+ function getIntermediateResponsesFromChunks(chunks) {
18
+ const responses = [];
19
+ for (const chunk of chunks) {
20
+ // chunk needs to be pushed first so that the final response can be constructed from the chunks
21
+ // before any result message can close the observable
22
+ responses.push(chunk);
23
+ if (chunk.uid && (chunk.ack || chunk.result)) {
24
+ responses.push({
25
+ uid: chunk.uid,
26
+ ack: chunk.ack,
27
+ result: chunk.result,
28
+ });
29
+ }
30
+ }
31
+ return responses;
32
+ }
33
+ /** A pipeable operator that will convert a stream of chunks into a stream of responses.
34
+ *
35
+ * Any non-chunk messages will be passed through unchanged.
36
+ *
37
+ * Chunked responses will be buffered until all chunks are received, then merged into a single response.
38
+ */
39
+ export function handleChunkedMessages() {
40
+ let chunkBuffer = null;
41
+ return pipe(map((message) => {
42
+ if ('chunkIndex' in message) {
43
+ if (chunkBuffer === null) {
44
+ chunkBuffer = new Array(message.chunkCount);
45
+ }
46
+ chunkBuffer[message.chunkIndex] = message;
47
+ // have to check with Object.keys because the array is buffered and the length is not accurate
48
+ if (Object.keys(chunkBuffer).length !== message.chunkCount) {
49
+ return;
50
+ }
51
+ return buildResponseFromChunks(chunkBuffer);
52
+ }
53
+ return message;
54
+ }), filter(Boolean));
55
+ }
56
+ /** Given a complete set of chunks, build a single response. */
57
+ function buildResponseFromChunks(chunks) {
58
+ const chunkPayloads = chunks.map((x) => x.payload).filter((x) => x !== undefined);
59
+ const payloadLength = chunkPayloads.reduce((acc, x) => acc + x.length, 0);
60
+ const mergedPayload = new Uint8Array(payloadLength);
61
+ for (let i = 0, offset = 0; i < chunkPayloads.length; i++) {
62
+ mergedPayload.set(chunkPayloads[i], offset);
63
+ offset += chunkPayloads[i].length;
64
+ }
65
+ const [header] = chunks.map((x) => x.header).filter((x) => x !== undefined);
66
+ if (header === undefined || Array.isArray(header)) {
67
+ throw new Error('No header found in chunks');
68
+ }
69
+ const [uid] = chunks.map((x) => x.uid).filter((x) => x !== undefined);
70
+ if (uid === undefined || Array.isArray(uid)) {
71
+ throw new Error('No uid found in chunks');
72
+ }
73
+ const createdAt = new Date(Number(header.created) * 1000);
74
+ const createdNs = (BigInt(header.created) * BigInt(1e9)).toString();
75
+ return {
76
+ uid,
77
+ return: {
78
+ header: {
79
+ createdNs,
80
+ createdAt,
81
+ meta: header.meta,
82
+ },
83
+ payload: mergedPayload,
84
+ },
85
+ };
86
+ }
@@ -1,20 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.cleanObject = void 0;
4
- const cleanObject = (object) => {
5
- return Object.assign({}, (function _flatten(o) {
6
- return [...Object.entries(o)].reduce((obj, [key, val]) => {
7
- if (typeof val === 'object') {
8
- obj[key] = _flatten(val);
9
- }
10
- else if (typeof val === 'function') {
11
- delete obj[key];
12
- }
13
- else {
14
- obj[key] = val;
15
- }
16
- return obj;
17
- }, Array.isArray(o) ? [] : {});
18
- })(object));
1
+ export const cleanObject = (object) => {
2
+ return {
3
+ ...(function _flatten(o) {
4
+ return [...Object.entries(o)].reduce((obj, [key, val]) => {
5
+ if (typeof val === 'object') {
6
+ obj[key] = _flatten(val);
7
+ }
8
+ else if (typeof val === 'function') {
9
+ delete obj[key];
10
+ }
11
+ else {
12
+ obj[key] = val;
13
+ }
14
+ return obj;
15
+ }, Array.isArray(o) ? [] : {});
16
+ })(object),
17
+ };
19
18
  };
20
- exports.cleanObject = cleanObject;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,53 @@
1
+ import { cleanObject } from "./cleanObject";
2
+ describe('cleanObject', () => {
3
+ const testObject = {
4
+ test1: 'test1',
5
+ test2: 'test2',
6
+ test3: () => 'test3',
7
+ test4: {
8
+ test1: 'test1.1',
9
+ test5: 'test5',
10
+ test6: {
11
+ test7: 'test7',
12
+ test1: 'test1.2',
13
+ test2: 'test2.1',
14
+ test8: () => 'test8',
15
+ },
16
+ test8: () => 'test8',
17
+ },
18
+ test9: ['test9.1', 'test9.2', () => 'test8'],
19
+ test10: [
20
+ {
21
+ test7: 'test7',
22
+ test1: 'test1.2',
23
+ test2: 'test2.1',
24
+ test8: () => 'test8',
25
+ },
26
+ {
27
+ test8: () => 'test8',
28
+ },
29
+ ],
30
+ };
31
+ it('should clean object to values only', () => {
32
+ const newObject = cleanObject(testObject);
33
+ expect(newObject?.test3).toBeUndefined();
34
+ expect(newObject?.test4?.test8).toBeUndefined();
35
+ expect(newObject?.test4?.test6?.test8).toBeUndefined();
36
+ expect(newObject?.test4?.test5).toEqual('test5');
37
+ expect(newObject?.test5).toBeUndefined();
38
+ expect(newObject?.test4?.test6?.test1).toEqual('test1.2');
39
+ expect(newObject?.test4?.test6?.test2).toEqual('test2.1');
40
+ expect(newObject?.test1).toEqual('test1');
41
+ expect(newObject?.test2).toEqual('test2');
42
+ expect(newObject?.test9).toEqual(expect.arrayContaining(['test9.1', 'test9.2']));
43
+ expect(newObject?.test9).toEqual(expect.not.arrayContaining([() => 'test8']));
44
+ expect(newObject?.test10).toEqual(expect.arrayContaining([
45
+ {
46
+ test7: 'test7',
47
+ test1: 'test1.2',
48
+ test2: 'test2.1',
49
+ },
50
+ {},
51
+ ]));
52
+ });
53
+ });
@@ -1,20 +1,13 @@
1
- "use strict";
2
1
  /* global window self */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.isJsDom = exports.isNode = exports.isWebWorker = exports.isBrowser = void 0;
5
- exports.isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
6
- /* eslint-disable no-restricted-globals */
7
- exports.isWebWorker = typeof self === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';
8
- /* eslint-enable no-restricted-globals */
9
- exports.isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
2
+ export const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
3
+ export const isWebWorker = typeof self === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope';
4
+ export const isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null;
10
5
  /**
11
6
  * @see https://github.com/jsdom/jsdom/releases/tag/12.0.0
12
7
  * @see https://github.com/jsdom/jsdom/issues/1537
13
8
  */
14
- /* eslint-disable no-undef */
15
- const isJsDom = () => {
9
+ export const isJsDom = () => {
16
10
  return ((typeof window !== 'undefined' && window.name === 'nodejs') ||
17
11
  navigator.userAgent.includes('Node.js') ||
18
12
  navigator.userAgent.includes('jsdom'));
19
13
  };
20
- exports.isJsDom = isJsDom;
@@ -1,2 +1,2 @@
1
- import { CallsignsLookup } from '../models/callsigns/CallsignsLookup';
1
+ import { CallsignsLookup } from '../models';
2
2
  export declare const flattenCallsignsLookup: (callsignsLookup: CallsignsLookup | string[]) => string[];
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flattenCallsignsLookup = void 0;
4
- const flattenCallsignsLookup = (callsignsLookup) => {
1
+ export const flattenCallsignsLookup = (callsignsLookup) => {
5
2
  if (callsignsLookup.lookupValue) {
6
3
  return callsignsLookup.toID();
7
4
  }
8
5
  return callsignsLookup.sort();
9
6
  };
10
- exports.flattenCallsignsLookup = flattenCallsignsLookup;
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.flattenObject = void 0;
4
- const flattenObject = (object) => {
1
+ export const flattenObject = (object) => {
5
2
  return Object.assign({}, ...(function _flatten(o) {
6
3
  return [].concat(...Object.keys(o).map((k) => {
7
4
  if (typeof o[k] === 'object') {
@@ -14,4 +11,3 @@ const flattenObject = (object) => {
14
11
  }));
15
12
  })(object));
16
13
  };
17
- exports.flattenObject = flattenObject;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ import { flattenObject } from './flattenObject';
2
+ describe('flattenObject', () => {
3
+ const testObject = {
4
+ test1: 'test1',
5
+ test2: 'test2',
6
+ test3: () => 'test3',
7
+ test4: {
8
+ test1: 'test1.1',
9
+ test5: 'test5',
10
+ test6: {
11
+ test7: 'test7',
12
+ test1: 'test1.2',
13
+ test2: 'test2.1',
14
+ test8: () => 'test8',
15
+ },
16
+ test8: () => 'test8',
17
+ },
18
+ };
19
+ it('should flatten object to a single level', () => {
20
+ const newObject = flattenObject(testObject);
21
+ expect(newObject?.test3).toBeUndefined();
22
+ expect(newObject?.test4?.test8).toBeUndefined();
23
+ expect(newObject?.test4?.test6?.test8).toBeUndefined();
24
+ expect(newObject?.test4?.test5).toBeUndefined();
25
+ expect(newObject?.test5).toEqual('test5');
26
+ expect(newObject?.test1).toEqual('test1.2');
27
+ expect(newObject?.test2).toEqual('test2.1');
28
+ });
29
+ });
@@ -0,0 +1,67 @@
1
+ type Intersect<T> = (T extends any ? (x: T) => 0 : never) extends (x: infer R) => 0 ? R : never;
2
+ type DropKey<T, K extends keyof T> = {
3
+ [P in keyof T as P extends K ? never : P]: T[P];
4
+ };
5
+ type WrapTypes<T> = {
6
+ [K in keyof T]: T[K] extends (...args: any[]) => any ? T[K] : DeepFlattenedOneOf<T[K]>;
7
+ };
8
+ interface OneOfProperty {
9
+ content: {
10
+ oneofKind?: string;
11
+ [key: string]: unknown;
12
+ };
13
+ }
14
+ /**
15
+ * This is a helper type to flatten oneOf types in the generated protobuf.
16
+ *
17
+ * @example
18
+ * type T = { a: string; content: { oneofKind: 'b'; b: boolean } | { oneofKind: 'c'; c: number } }
19
+ * FlattenedOneOf<T> === { a: string; b?: boolean; c?: number }`
20
+ */
21
+ type FlattenedOneOf<Original> = Original extends OneOfProperty ? Omit<Original, 'content'> & Partial<Intersect<DropKey<Original['content'], 'oneofKind'>>> : Original;
22
+ /**
23
+ * This is a helper type to recursively flatten oneOf types in the generated protobuf.
24
+ *
25
+ * @example
26
+ * type T = { a: string; content: { oneofKind: 'b'; b: {content: {oneofKind: 'b1', b1: string}} } | { oneofKind: 'c'; c: number } }
27
+ * DeepFlattenedOneOf<T> === { a: string; b?: {b1?: string}; c?: number }`
28
+ */
29
+ type DeepFlattenedOneOf<Original> = WrapTypes<FlattenedOneOf<Original>>;
30
+ export declare function hasOneOfField(object: unknown): object is OneOfProperty;
31
+ /**
32
+ * This function flattens oneOf types in the generated protobuf.
33
+ *
34
+ * @example
35
+ * const a = { a: 'a', content: { oneofKind: 'b', b: true } }
36
+ * flattenOneOf(a) === { a: 'a', b: true }
37
+ *
38
+ * @param object the object to flatten
39
+ * @param deep whether to recursively flatten oneOf types
40
+ */
41
+ export declare function flattenOneOf<T>(object: T, deep?: false): FlattenedOneOf<T>;
42
+ /**
43
+ * This function flattens oneOf types in the generated protobuf.
44
+ *
45
+ * @example
46
+ * const a = {
47
+ * b: {
48
+ * content: { oneofKind: 'c', c: true },
49
+ * },
50
+ * content: {
51
+ * oneofKind: 'd',
52
+ * d: {
53
+ * content: {
54
+ * oneofKind: 'e',
55
+ * e: 5,
56
+ * },
57
+ * },
58
+ * },
59
+ * }
60
+ *
61
+ * flattenOneOf(a, true) === {b: {c: true}, d: {e: 5}}
62
+ *
63
+ * @param object the object to flatten
64
+ * @param deep whether to recursively flatten oneOf types
65
+ */
66
+ export declare function flattenOneOf<T>(object: T, deep: true): DeepFlattenedOneOf<T>;
67
+ export {};
@@ -0,0 +1,29 @@
1
+ export function hasOneOfField(object) {
2
+ if (typeof object !== 'object' || object === null)
3
+ return false;
4
+ if (!('content' in object) || object.content === null || typeof object.content !== 'object') {
5
+ return false;
6
+ }
7
+ return 'oneofKind' in object.content && typeof object.content.oneofKind === 'string';
8
+ }
9
+ export function flattenOneOf(object, deep = false) {
10
+ const newObject = { ...object };
11
+ const inner = (obj) => {
12
+ let newKey;
13
+ if (hasOneOfField(obj)) {
14
+ newKey = obj.content.oneofKind;
15
+ if (newKey)
16
+ obj[newKey] = obj.content[newKey];
17
+ delete obj.content;
18
+ }
19
+ if (deep) {
20
+ for (const value of Object.values(obj)) {
21
+ if (value === null || typeof value !== 'object')
22
+ continue;
23
+ inner(value);
24
+ }
25
+ }
26
+ return obj;
27
+ };
28
+ return inner(newObject);
29
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,157 @@
1
+ import { flattenOneOf, hasOneOfField } from './flattenOneOf';
2
+ describe('flattenOneOf', () => {
3
+ describe('hasOneOfField', () => {
4
+ it('should return false for non-object', () => {
5
+ expect(hasOneOfField(null)).toBe(false);
6
+ expect(hasOneOfField(undefined)).toBe(false);
7
+ expect(hasOneOfField(1)).toBe(false);
8
+ expect(hasOneOfField('')).toBe(false);
9
+ expect(hasOneOfField(true)).toBe(false);
10
+ });
11
+ it('should return false for null content', () => {
12
+ expect(hasOneOfField({ content: null })).toBe(false);
13
+ });
14
+ it('should return false for non-object content', () => {
15
+ expect(hasOneOfField({ content: 1 })).toBe(false);
16
+ expect(hasOneOfField({ content: '' })).toBe(false);
17
+ expect(hasOneOfField({ content: true })).toBe(false);
18
+ });
19
+ it('should return false for non-string oneofKind', () => {
20
+ expect(hasOneOfField({ content: { oneofKind: 1 } })).toBe(false);
21
+ expect(hasOneOfField({ content: { oneofKind: null } })).toBe(false);
22
+ expect(hasOneOfField({ content: { oneofKind: true } })).toBe(false);
23
+ expect(hasOneOfField({ content: { oneofKind: {} } })).toBe(false);
24
+ });
25
+ it('should return true for valid oneOfField', () => {
26
+ expect(hasOneOfField({ content: { oneofKind: 'test' } })).toBe(true);
27
+ });
28
+ });
29
+ describe('flattenOneOf', () => {
30
+ it('should flatten a simple oneof type', () => {
31
+ const a = {
32
+ a: 'a',
33
+ content: {
34
+ oneofKind: 'b',
35
+ b: true,
36
+ },
37
+ };
38
+ expect(flattenOneOf(a)).toEqual({
39
+ a: 'a',
40
+ b: true,
41
+ });
42
+ });
43
+ it('should flatten a nested oneof type, one level only', () => {
44
+ const a = {
45
+ b: {
46
+ content: {
47
+ oneofKind: 'c',
48
+ c: true,
49
+ },
50
+ },
51
+ content: {
52
+ oneofKind: 'd',
53
+ d: {
54
+ content: {
55
+ oneofKind: 'e',
56
+ e: 5,
57
+ },
58
+ },
59
+ },
60
+ };
61
+ expect(flattenOneOf(a)).toEqual({
62
+ b: {
63
+ content: {
64
+ oneofKind: 'c',
65
+ c: true,
66
+ },
67
+ },
68
+ d: {
69
+ content: {
70
+ oneofKind: 'e',
71
+ e: 5,
72
+ },
73
+ },
74
+ });
75
+ });
76
+ it('should flatten to undefined if the referenced property does not exist', () => {
77
+ const a = {
78
+ content: {
79
+ oneofKind: 'b',
80
+ c: true,
81
+ },
82
+ };
83
+ expect(flattenOneOf(a)).toEqual({
84
+ b: undefined,
85
+ });
86
+ });
87
+ it('should return the original object if it does not have a oneof field', () => {
88
+ const a = {
89
+ a: 'a',
90
+ b: 'b',
91
+ };
92
+ expect(flattenOneOf(a)).toEqual(a);
93
+ });
94
+ });
95
+ describe('flattenOneOf - deep', () => {
96
+ it('should flatten a simple oneof type', () => {
97
+ const a = {
98
+ a: 'a',
99
+ content: {
100
+ oneofKind: 'b',
101
+ b: {
102
+ d: 4,
103
+ },
104
+ },
105
+ };
106
+ expect(flattenOneOf(a, true)).toEqual({
107
+ a: 'a',
108
+ b: { d: 4 },
109
+ });
110
+ });
111
+ it('should flatten a nested oneof type, all levels', () => {
112
+ const a = {
113
+ b: {
114
+ content: {
115
+ oneofKind: 'c',
116
+ c: true,
117
+ },
118
+ },
119
+ content: {
120
+ oneofKind: 'd',
121
+ d: {
122
+ content: {
123
+ oneofKind: 'e',
124
+ e: 5,
125
+ },
126
+ },
127
+ },
128
+ };
129
+ expect(flattenOneOf(a, true)).toEqual({
130
+ b: {
131
+ c: true,
132
+ },
133
+ d: {
134
+ e: 5,
135
+ },
136
+ });
137
+ });
138
+ it('should flatten to undefined if the referenced property does not exist', () => {
139
+ const a = {
140
+ content: {
141
+ oneofKind: 'b',
142
+ c: true,
143
+ },
144
+ };
145
+ expect(flattenOneOf(a, true)).toEqual({
146
+ b: undefined,
147
+ });
148
+ });
149
+ it('should return the original object if it does not have a oneof field', () => {
150
+ const a = {
151
+ a: 'a',
152
+ b: 'b',
153
+ };
154
+ expect(flattenOneOf(a, true)).toEqual(a);
155
+ });
156
+ });
157
+ });
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatServiceUrl = void 0;
4
- const formatServiceUrl = (url, params, insecure = false) => {
1
+ export const formatServiceUrl = (url, params, insecure = false) => {
5
2
  let formattedUrl = insecure ? url.replace('https:', 'http:') : url;
6
3
  for (const item of Object.keys(params)) {
7
4
  formattedUrl = formattedUrl.replace(`{${item}}`, params[item]);
8
5
  }
9
6
  return formattedUrl;
10
7
  };
11
- exports.formatServiceUrl = formatServiceUrl;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ import { formatServiceUrl } from './formatServiceUrl';
2
+ describe('formatServiceUrl', () => {
3
+ const url = 'https://{url}/admin/users/{test}/invitations';
4
+ it('should format url', () => {
5
+ let newUrl = formatServiceUrl(url, { url: 'test.com', test: 'me' });
6
+ expect(newUrl).toEqual('https://test.com/admin/users/me/invitations');
7
+ newUrl = formatServiceUrl(url, { url: 'test2.com', test: 'me2' });
8
+ expect(newUrl).toEqual('https://test2.com/admin/users/me2/invitations');
9
+ });
10
+ it('should format insecure url', () => {
11
+ let newUrl = formatServiceUrl(url, { url: 'test.com', test: 'me' }, true);
12
+ expect(newUrl).toEqual('http://test.com/admin/users/me/invitations');
13
+ newUrl = formatServiceUrl(url, { url: 'test2.com', test: 'me2' }, true);
14
+ expect(newUrl).toEqual('http://test2.com/admin/users/me2/invitations');
15
+ });
16
+ });
@@ -1,8 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateUUID = void 0;
4
- const uuid_1 = require("uuid");
5
- const generateUUID = () => {
6
- return uuid_1.v4();
1
+ import { v4 as uuidv4 } from 'uuid';
2
+ export const generateUUID = () => {
3
+ return uuidv4();
7
4
  };
8
- exports.generateUUID = generateUUID;
@@ -1,8 +1,8 @@
1
- declare type ISubscriptionsDifferenceRecord = {
1
+ type ISubscriptionsDifferenceRecord = {
2
2
  callsigns: string[];
3
- sources: any;
3
+ sources: string[];
4
4
  };
5
- declare type ISubscriptionsDifference = {
5
+ type ISubscriptionsDifference = {
6
6
  toRemove: ISubscriptionsDifferenceRecord;
7
7
  toAdd: ISubscriptionsDifferenceRecord;
8
8
  };