@foxglove/schemas 0.1.2

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 (506) hide show
  1. package/.eslintrc.js +19 -0
  2. package/.gitattributes +1 -0
  3. package/.github/workflows/ci.yml +89 -0
  4. package/.prettierignore +1 -0
  5. package/.prettierrc.yml +2 -0
  6. package/.vscode/launch.json +23 -0
  7. package/.vscode/settings.json +20 -0
  8. package/LICENSE.md +21 -0
  9. package/README.md +31 -0
  10. package/dist/cjs/schemas/typescript/CameraCalibration.d.ts +63 -0
  11. package/dist/cjs/schemas/typescript/CameraCalibration.d.ts.map +1 -0
  12. package/dist/cjs/schemas/typescript/CameraCalibration.js +4 -0
  13. package/dist/cjs/schemas/typescript/CameraCalibration.js.map +1 -0
  14. package/dist/cjs/schemas/typescript/CircleAnnotation.d.ts +19 -0
  15. package/dist/cjs/schemas/typescript/CircleAnnotation.d.ts.map +1 -0
  16. package/dist/cjs/schemas/typescript/CircleAnnotation.js +4 -0
  17. package/dist/cjs/schemas/typescript/CircleAnnotation.js.map +1 -0
  18. package/dist/cjs/schemas/typescript/Color.d.ts +12 -0
  19. package/dist/cjs/schemas/typescript/Color.d.ts.map +1 -0
  20. package/dist/cjs/schemas/typescript/Color.js +4 -0
  21. package/dist/cjs/schemas/typescript/Color.js.map +1 -0
  22. package/dist/cjs/schemas/typescript/CompressedImage.d.ts +11 -0
  23. package/dist/cjs/schemas/typescript/CompressedImage.d.ts.map +1 -0
  24. package/dist/cjs/schemas/typescript/CompressedImage.js +4 -0
  25. package/dist/cjs/schemas/typescript/CompressedImage.js.map +1 -0
  26. package/dist/cjs/schemas/typescript/Duration.d.ts +5 -0
  27. package/dist/cjs/schemas/typescript/Duration.d.ts.map +1 -0
  28. package/dist/cjs/schemas/typescript/Duration.js +3 -0
  29. package/dist/cjs/schemas/typescript/Duration.js.map +1 -0
  30. package/dist/cjs/schemas/typescript/FrameTransform.d.ts +14 -0
  31. package/dist/cjs/schemas/typescript/FrameTransform.d.ts.map +1 -0
  32. package/dist/cjs/schemas/typescript/FrameTransform.js +4 -0
  33. package/dist/cjs/schemas/typescript/FrameTransform.js.map +1 -0
  34. package/dist/cjs/schemas/typescript/GeoJSON.d.ts +6 -0
  35. package/dist/cjs/schemas/typescript/GeoJSON.d.ts.map +1 -0
  36. package/dist/cjs/schemas/typescript/GeoJSON.js +4 -0
  37. package/dist/cjs/schemas/typescript/GeoJSON.js.map +1 -0
  38. package/dist/cjs/schemas/typescript/Grid.d.ts +26 -0
  39. package/dist/cjs/schemas/typescript/Grid.d.ts.map +1 -0
  40. package/dist/cjs/schemas/typescript/Grid.js +4 -0
  41. package/dist/cjs/schemas/typescript/Grid.js.map +1 -0
  42. package/dist/cjs/schemas/typescript/ImageAnnotations.d.ts +10 -0
  43. package/dist/cjs/schemas/typescript/ImageAnnotations.d.ts.map +1 -0
  44. package/dist/cjs/schemas/typescript/ImageAnnotations.js +4 -0
  45. package/dist/cjs/schemas/typescript/ImageAnnotations.js.map +1 -0
  46. package/dist/cjs/schemas/typescript/LaserScan.d.ts +20 -0
  47. package/dist/cjs/schemas/typescript/LaserScan.d.ts.map +1 -0
  48. package/dist/cjs/schemas/typescript/LaserScan.js +4 -0
  49. package/dist/cjs/schemas/typescript/LaserScan.js.map +1 -0
  50. package/dist/cjs/schemas/typescript/LocationFix.d.ts +15 -0
  51. package/dist/cjs/schemas/typescript/LocationFix.d.ts.map +1 -0
  52. package/dist/cjs/schemas/typescript/LocationFix.js +4 -0
  53. package/dist/cjs/schemas/typescript/LocationFix.js.map +1 -0
  54. package/dist/cjs/schemas/typescript/Log.d.ts +18 -0
  55. package/dist/cjs/schemas/typescript/Log.d.ts.map +1 -0
  56. package/dist/cjs/schemas/typescript/Log.js +4 -0
  57. package/dist/cjs/schemas/typescript/Log.js.map +1 -0
  58. package/dist/cjs/schemas/typescript/LogLevel.d.ts +10 -0
  59. package/dist/cjs/schemas/typescript/LogLevel.d.ts.map +1 -0
  60. package/dist/cjs/schemas/typescript/LogLevel.js +15 -0
  61. package/dist/cjs/schemas/typescript/LogLevel.js.map +1 -0
  62. package/dist/cjs/schemas/typescript/NumericType.d.ts +13 -0
  63. package/dist/cjs/schemas/typescript/NumericType.d.ts.map +1 -0
  64. package/dist/cjs/schemas/typescript/NumericType.js +18 -0
  65. package/dist/cjs/schemas/typescript/NumericType.js.map +1 -0
  66. package/dist/cjs/schemas/typescript/PackedElementField.d.ts +11 -0
  67. package/dist/cjs/schemas/typescript/PackedElementField.d.ts.map +1 -0
  68. package/dist/cjs/schemas/typescript/PackedElementField.js +4 -0
  69. package/dist/cjs/schemas/typescript/PackedElementField.js.map +1 -0
  70. package/dist/cjs/schemas/typescript/Point2.d.ts +8 -0
  71. package/dist/cjs/schemas/typescript/Point2.d.ts.map +1 -0
  72. package/dist/cjs/schemas/typescript/Point2.js +4 -0
  73. package/dist/cjs/schemas/typescript/Point2.js.map +1 -0
  74. package/dist/cjs/schemas/typescript/Point3.d.ts +10 -0
  75. package/dist/cjs/schemas/typescript/Point3.d.ts.map +1 -0
  76. package/dist/cjs/schemas/typescript/Point3.js +4 -0
  77. package/dist/cjs/schemas/typescript/Point3.js.map +1 -0
  78. package/dist/cjs/schemas/typescript/PointCloud.d.ts +19 -0
  79. package/dist/cjs/schemas/typescript/PointCloud.d.ts.map +1 -0
  80. package/dist/cjs/schemas/typescript/PointCloud.js +4 -0
  81. package/dist/cjs/schemas/typescript/PointCloud.js.map +1 -0
  82. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts +18 -0
  83. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts.map +1 -0
  84. package/dist/cjs/schemas/typescript/PointsAnnotation.js +4 -0
  85. package/dist/cjs/schemas/typescript/PointsAnnotation.js.map +1 -0
  86. package/dist/cjs/schemas/typescript/PointsAnnotationType.d.ts +9 -0
  87. package/dist/cjs/schemas/typescript/PointsAnnotationType.d.ts.map +1 -0
  88. package/dist/cjs/schemas/typescript/PointsAnnotationType.js +14 -0
  89. package/dist/cjs/schemas/typescript/PointsAnnotationType.js.map +1 -0
  90. package/dist/cjs/schemas/typescript/Pose.d.ts +10 -0
  91. package/dist/cjs/schemas/typescript/Pose.d.ts.map +1 -0
  92. package/dist/cjs/schemas/typescript/Pose.js +4 -0
  93. package/dist/cjs/schemas/typescript/Pose.js.map +1 -0
  94. package/dist/cjs/schemas/typescript/PoseInFrame.d.ts +12 -0
  95. package/dist/cjs/schemas/typescript/PoseInFrame.d.ts.map +1 -0
  96. package/dist/cjs/schemas/typescript/PoseInFrame.js +4 -0
  97. package/dist/cjs/schemas/typescript/PoseInFrame.js.map +1 -0
  98. package/dist/cjs/schemas/typescript/PosesInFrame.d.ts +12 -0
  99. package/dist/cjs/schemas/typescript/PosesInFrame.d.ts.map +1 -0
  100. package/dist/cjs/schemas/typescript/PosesInFrame.js +4 -0
  101. package/dist/cjs/schemas/typescript/PosesInFrame.js.map +1 -0
  102. package/dist/cjs/schemas/typescript/PositionCovarianceType.d.ts +8 -0
  103. package/dist/cjs/schemas/typescript/PositionCovarianceType.d.ts.map +1 -0
  104. package/dist/cjs/schemas/typescript/PositionCovarianceType.js +13 -0
  105. package/dist/cjs/schemas/typescript/PositionCovarianceType.js.map +1 -0
  106. package/dist/cjs/schemas/typescript/Quaternion.d.ts +12 -0
  107. package/dist/cjs/schemas/typescript/Quaternion.d.ts.map +1 -0
  108. package/dist/cjs/schemas/typescript/Quaternion.js +4 -0
  109. package/dist/cjs/schemas/typescript/Quaternion.js.map +1 -0
  110. package/dist/cjs/schemas/typescript/RawImage.d.ts +17 -0
  111. package/dist/cjs/schemas/typescript/RawImage.d.ts.map +1 -0
  112. package/dist/cjs/schemas/typescript/RawImage.js +4 -0
  113. package/dist/cjs/schemas/typescript/RawImage.js.map +1 -0
  114. package/dist/cjs/schemas/typescript/Time.d.ts +5 -0
  115. package/dist/cjs/schemas/typescript/Time.d.ts.map +1 -0
  116. package/dist/cjs/schemas/typescript/Time.js +3 -0
  117. package/dist/cjs/schemas/typescript/Time.js.map +1 -0
  118. package/dist/cjs/schemas/typescript/Transform.d.ts +13 -0
  119. package/dist/cjs/schemas/typescript/Transform.d.ts.map +1 -0
  120. package/dist/cjs/schemas/typescript/Transform.js +4 -0
  121. package/dist/cjs/schemas/typescript/Transform.js.map +1 -0
  122. package/dist/cjs/schemas/typescript/Vector2.d.ts +8 -0
  123. package/dist/cjs/schemas/typescript/Vector2.d.ts.map +1 -0
  124. package/dist/cjs/schemas/typescript/Vector2.js +4 -0
  125. package/dist/cjs/schemas/typescript/Vector2.js.map +1 -0
  126. package/dist/cjs/schemas/typescript/Vector3.d.ts +10 -0
  127. package/dist/cjs/schemas/typescript/Vector3.d.ts.map +1 -0
  128. package/dist/cjs/schemas/typescript/Vector3.js +4 -0
  129. package/dist/cjs/schemas/typescript/Vector3.js.map +1 -0
  130. package/dist/cjs/schemas/typescript/index.d.ts +29 -0
  131. package/dist/cjs/schemas/typescript/index.d.ts.map +1 -0
  132. package/dist/cjs/schemas/typescript/index.js +32 -0
  133. package/dist/cjs/schemas/typescript/index.js.map +1 -0
  134. package/dist/cjs/scripts/updateGeneratedFiles.d.ts +2 -0
  135. package/dist/cjs/scripts/updateGeneratedFiles.d.ts.map +1 -0
  136. package/dist/cjs/scripts/updateGeneratedFiles.js +77 -0
  137. package/dist/cjs/scripts/updateGeneratedFiles.js.map +1 -0
  138. package/dist/cjs/src/generateJsonSchema.d.ts +3 -0
  139. package/dist/cjs/src/generateJsonSchema.d.ts.map +1 -0
  140. package/dist/cjs/src/generateJsonSchema.js +85 -0
  141. package/dist/cjs/src/generateJsonSchema.js.map +1 -0
  142. package/dist/cjs/src/generateJsonSchema.test.d.ts +2 -0
  143. package/dist/cjs/src/generateJsonSchema.test.d.ts.map +1 -0
  144. package/dist/cjs/src/generateJsonSchema.test.js +312 -0
  145. package/dist/cjs/src/generateJsonSchema.test.js.map +1 -0
  146. package/dist/cjs/src/generateProto.d.ts +3 -0
  147. package/dist/cjs/src/generateProto.d.ts.map +1 -0
  148. package/dist/cjs/src/generateProto.js +84 -0
  149. package/dist/cjs/src/generateProto.js.map +1 -0
  150. package/dist/cjs/src/generateProto.test.d.ts +2 -0
  151. package/dist/cjs/src/generateProto.test.d.ts.map +1 -0
  152. package/dist/cjs/src/generateProto.test.js +125 -0
  153. package/dist/cjs/src/generateProto.test.js.map +1 -0
  154. package/dist/cjs/src/generateRos.d.ts +20 -0
  155. package/dist/cjs/src/generateRos.d.ts.map +1 -0
  156. package/dist/cjs/src/generateRos.js +186 -0
  157. package/dist/cjs/src/generateRos.js.map +1 -0
  158. package/dist/cjs/src/generateRos.test.d.ts +2 -0
  159. package/dist/cjs/src/generateRos.test.d.ts.map +1 -0
  160. package/dist/cjs/src/generateRos.test.js +911 -0
  161. package/dist/cjs/src/generateRos.test.js.map +1 -0
  162. package/dist/cjs/src/generateTypeScript.d.ts +5 -0
  163. package/dist/cjs/src/generateTypeScript.d.ts.map +1 -0
  164. package/dist/cjs/src/generateTypeScript.js +100 -0
  165. package/dist/cjs/src/generateTypeScript.js.map +1 -0
  166. package/dist/cjs/src/generateTypeScript.test.d.ts +2 -0
  167. package/dist/cjs/src/generateTypeScript.test.d.ts.map +1 -0
  168. package/dist/cjs/src/generateTypeScript.test.js +142 -0
  169. package/dist/cjs/src/generateTypeScript.test.js.map +1 -0
  170. package/dist/cjs/src/index.d.ts +6 -0
  171. package/dist/cjs/src/index.d.ts.map +1 -0
  172. package/dist/cjs/src/index.js +9 -0
  173. package/dist/cjs/src/index.js.map +1 -0
  174. package/dist/cjs/src/schemas.d.ts +35 -0
  175. package/dist/cjs/src/schemas.d.ts.map +1 -0
  176. package/dist/cjs/src/schemas.js +820 -0
  177. package/dist/cjs/src/schemas.js.map +1 -0
  178. package/dist/cjs/src/schemas.test.d.ts +2 -0
  179. package/dist/cjs/src/schemas.test.d.ts.map +1 -0
  180. package/dist/cjs/src/schemas.test.js +24 -0
  181. package/dist/cjs/src/schemas.test.js.map +1 -0
  182. package/dist/cjs/src/testFixtures.d.ts +5 -0
  183. package/dist/cjs/src/testFixtures.d.ts.map +1 -0
  184. package/dist/cjs/src/testFixtures.js +86 -0
  185. package/dist/cjs/src/testFixtures.js.map +1 -0
  186. package/dist/cjs/src/types.d.ts +37 -0
  187. package/dist/cjs/src/types.d.ts.map +1 -0
  188. package/dist/cjs/src/types.js +3 -0
  189. package/dist/cjs/src/types.js.map +1 -0
  190. package/dist/esm/schemas/typescript/CameraCalibration.d.ts +63 -0
  191. package/dist/esm/schemas/typescript/CameraCalibration.d.ts.map +1 -0
  192. package/dist/esm/schemas/typescript/CameraCalibration.js +3 -0
  193. package/dist/esm/schemas/typescript/CameraCalibration.js.map +1 -0
  194. package/dist/esm/schemas/typescript/CircleAnnotation.d.ts +19 -0
  195. package/dist/esm/schemas/typescript/CircleAnnotation.d.ts.map +1 -0
  196. package/dist/esm/schemas/typescript/CircleAnnotation.js +3 -0
  197. package/dist/esm/schemas/typescript/CircleAnnotation.js.map +1 -0
  198. package/dist/esm/schemas/typescript/Color.d.ts +12 -0
  199. package/dist/esm/schemas/typescript/Color.d.ts.map +1 -0
  200. package/dist/esm/schemas/typescript/Color.js +3 -0
  201. package/dist/esm/schemas/typescript/Color.js.map +1 -0
  202. package/dist/esm/schemas/typescript/CompressedImage.d.ts +11 -0
  203. package/dist/esm/schemas/typescript/CompressedImage.d.ts.map +1 -0
  204. package/dist/esm/schemas/typescript/CompressedImage.js +3 -0
  205. package/dist/esm/schemas/typescript/CompressedImage.js.map +1 -0
  206. package/dist/esm/schemas/typescript/Duration.d.ts +5 -0
  207. package/dist/esm/schemas/typescript/Duration.d.ts.map +1 -0
  208. package/dist/esm/schemas/typescript/Duration.js +2 -0
  209. package/dist/esm/schemas/typescript/Duration.js.map +1 -0
  210. package/dist/esm/schemas/typescript/FrameTransform.d.ts +14 -0
  211. package/dist/esm/schemas/typescript/FrameTransform.d.ts.map +1 -0
  212. package/dist/esm/schemas/typescript/FrameTransform.js +3 -0
  213. package/dist/esm/schemas/typescript/FrameTransform.js.map +1 -0
  214. package/dist/esm/schemas/typescript/GeoJSON.d.ts +6 -0
  215. package/dist/esm/schemas/typescript/GeoJSON.d.ts.map +1 -0
  216. package/dist/esm/schemas/typescript/GeoJSON.js +3 -0
  217. package/dist/esm/schemas/typescript/GeoJSON.js.map +1 -0
  218. package/dist/esm/schemas/typescript/Grid.d.ts +26 -0
  219. package/dist/esm/schemas/typescript/Grid.d.ts.map +1 -0
  220. package/dist/esm/schemas/typescript/Grid.js +3 -0
  221. package/dist/esm/schemas/typescript/Grid.js.map +1 -0
  222. package/dist/esm/schemas/typescript/ImageAnnotations.d.ts +10 -0
  223. package/dist/esm/schemas/typescript/ImageAnnotations.d.ts.map +1 -0
  224. package/dist/esm/schemas/typescript/ImageAnnotations.js +3 -0
  225. package/dist/esm/schemas/typescript/ImageAnnotations.js.map +1 -0
  226. package/dist/esm/schemas/typescript/LaserScan.d.ts +20 -0
  227. package/dist/esm/schemas/typescript/LaserScan.d.ts.map +1 -0
  228. package/dist/esm/schemas/typescript/LaserScan.js +3 -0
  229. package/dist/esm/schemas/typescript/LaserScan.js.map +1 -0
  230. package/dist/esm/schemas/typescript/LocationFix.d.ts +15 -0
  231. package/dist/esm/schemas/typescript/LocationFix.d.ts.map +1 -0
  232. package/dist/esm/schemas/typescript/LocationFix.js +3 -0
  233. package/dist/esm/schemas/typescript/LocationFix.js.map +1 -0
  234. package/dist/esm/schemas/typescript/Log.d.ts +18 -0
  235. package/dist/esm/schemas/typescript/Log.d.ts.map +1 -0
  236. package/dist/esm/schemas/typescript/Log.js +3 -0
  237. package/dist/esm/schemas/typescript/Log.js.map +1 -0
  238. package/dist/esm/schemas/typescript/LogLevel.d.ts +10 -0
  239. package/dist/esm/schemas/typescript/LogLevel.d.ts.map +1 -0
  240. package/dist/esm/schemas/typescript/LogLevel.js +12 -0
  241. package/dist/esm/schemas/typescript/LogLevel.js.map +1 -0
  242. package/dist/esm/schemas/typescript/NumericType.d.ts +13 -0
  243. package/dist/esm/schemas/typescript/NumericType.d.ts.map +1 -0
  244. package/dist/esm/schemas/typescript/NumericType.js +15 -0
  245. package/dist/esm/schemas/typescript/NumericType.js.map +1 -0
  246. package/dist/esm/schemas/typescript/PackedElementField.d.ts +11 -0
  247. package/dist/esm/schemas/typescript/PackedElementField.d.ts.map +1 -0
  248. package/dist/esm/schemas/typescript/PackedElementField.js +3 -0
  249. package/dist/esm/schemas/typescript/PackedElementField.js.map +1 -0
  250. package/dist/esm/schemas/typescript/Point2.d.ts +8 -0
  251. package/dist/esm/schemas/typescript/Point2.d.ts.map +1 -0
  252. package/dist/esm/schemas/typescript/Point2.js +3 -0
  253. package/dist/esm/schemas/typescript/Point2.js.map +1 -0
  254. package/dist/esm/schemas/typescript/Point3.d.ts +10 -0
  255. package/dist/esm/schemas/typescript/Point3.d.ts.map +1 -0
  256. package/dist/esm/schemas/typescript/Point3.js +3 -0
  257. package/dist/esm/schemas/typescript/Point3.js.map +1 -0
  258. package/dist/esm/schemas/typescript/PointCloud.d.ts +19 -0
  259. package/dist/esm/schemas/typescript/PointCloud.d.ts.map +1 -0
  260. package/dist/esm/schemas/typescript/PointCloud.js +3 -0
  261. package/dist/esm/schemas/typescript/PointCloud.js.map +1 -0
  262. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts +18 -0
  263. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts.map +1 -0
  264. package/dist/esm/schemas/typescript/PointsAnnotation.js +3 -0
  265. package/dist/esm/schemas/typescript/PointsAnnotation.js.map +1 -0
  266. package/dist/esm/schemas/typescript/PointsAnnotationType.d.ts +9 -0
  267. package/dist/esm/schemas/typescript/PointsAnnotationType.d.ts.map +1 -0
  268. package/dist/esm/schemas/typescript/PointsAnnotationType.js +11 -0
  269. package/dist/esm/schemas/typescript/PointsAnnotationType.js.map +1 -0
  270. package/dist/esm/schemas/typescript/Pose.d.ts +10 -0
  271. package/dist/esm/schemas/typescript/Pose.d.ts.map +1 -0
  272. package/dist/esm/schemas/typescript/Pose.js +3 -0
  273. package/dist/esm/schemas/typescript/Pose.js.map +1 -0
  274. package/dist/esm/schemas/typescript/PoseInFrame.d.ts +12 -0
  275. package/dist/esm/schemas/typescript/PoseInFrame.d.ts.map +1 -0
  276. package/dist/esm/schemas/typescript/PoseInFrame.js +3 -0
  277. package/dist/esm/schemas/typescript/PoseInFrame.js.map +1 -0
  278. package/dist/esm/schemas/typescript/PosesInFrame.d.ts +12 -0
  279. package/dist/esm/schemas/typescript/PosesInFrame.d.ts.map +1 -0
  280. package/dist/esm/schemas/typescript/PosesInFrame.js +3 -0
  281. package/dist/esm/schemas/typescript/PosesInFrame.js.map +1 -0
  282. package/dist/esm/schemas/typescript/PositionCovarianceType.d.ts +8 -0
  283. package/dist/esm/schemas/typescript/PositionCovarianceType.d.ts.map +1 -0
  284. package/dist/esm/schemas/typescript/PositionCovarianceType.js +10 -0
  285. package/dist/esm/schemas/typescript/PositionCovarianceType.js.map +1 -0
  286. package/dist/esm/schemas/typescript/Quaternion.d.ts +12 -0
  287. package/dist/esm/schemas/typescript/Quaternion.d.ts.map +1 -0
  288. package/dist/esm/schemas/typescript/Quaternion.js +3 -0
  289. package/dist/esm/schemas/typescript/Quaternion.js.map +1 -0
  290. package/dist/esm/schemas/typescript/RawImage.d.ts +17 -0
  291. package/dist/esm/schemas/typescript/RawImage.d.ts.map +1 -0
  292. package/dist/esm/schemas/typescript/RawImage.js +3 -0
  293. package/dist/esm/schemas/typescript/RawImage.js.map +1 -0
  294. package/dist/esm/schemas/typescript/Time.d.ts +5 -0
  295. package/dist/esm/schemas/typescript/Time.d.ts.map +1 -0
  296. package/dist/esm/schemas/typescript/Time.js +2 -0
  297. package/dist/esm/schemas/typescript/Time.js.map +1 -0
  298. package/dist/esm/schemas/typescript/Transform.d.ts +13 -0
  299. package/dist/esm/schemas/typescript/Transform.d.ts.map +1 -0
  300. package/dist/esm/schemas/typescript/Transform.js +3 -0
  301. package/dist/esm/schemas/typescript/Transform.js.map +1 -0
  302. package/dist/esm/schemas/typescript/Vector2.d.ts +8 -0
  303. package/dist/esm/schemas/typescript/Vector2.d.ts.map +1 -0
  304. package/dist/esm/schemas/typescript/Vector2.js +3 -0
  305. package/dist/esm/schemas/typescript/Vector2.js.map +1 -0
  306. package/dist/esm/schemas/typescript/Vector3.d.ts +10 -0
  307. package/dist/esm/schemas/typescript/Vector3.d.ts.map +1 -0
  308. package/dist/esm/schemas/typescript/Vector3.js +3 -0
  309. package/dist/esm/schemas/typescript/Vector3.js.map +1 -0
  310. package/dist/esm/schemas/typescript/index.d.ts +29 -0
  311. package/dist/esm/schemas/typescript/index.d.ts.map +1 -0
  312. package/dist/esm/schemas/typescript/index.js +29 -0
  313. package/dist/esm/schemas/typescript/index.js.map +1 -0
  314. package/dist/esm/scripts/updateGeneratedFiles.d.ts +2 -0
  315. package/dist/esm/scripts/updateGeneratedFiles.d.ts.map +1 -0
  316. package/dist/esm/scripts/updateGeneratedFiles.js +74 -0
  317. package/dist/esm/scripts/updateGeneratedFiles.js.map +1 -0
  318. package/dist/esm/src/generateJsonSchema.d.ts +3 -0
  319. package/dist/esm/src/generateJsonSchema.d.ts.map +1 -0
  320. package/dist/esm/src/generateJsonSchema.js +81 -0
  321. package/dist/esm/src/generateJsonSchema.js.map +1 -0
  322. package/dist/esm/src/generateJsonSchema.test.d.ts +2 -0
  323. package/dist/esm/src/generateJsonSchema.test.d.ts.map +1 -0
  324. package/dist/esm/src/generateJsonSchema.test.js +309 -0
  325. package/dist/esm/src/generateJsonSchema.test.js.map +1 -0
  326. package/dist/esm/src/generateProto.d.ts +3 -0
  327. package/dist/esm/src/generateProto.d.ts.map +1 -0
  328. package/dist/esm/src/generateProto.js +80 -0
  329. package/dist/esm/src/generateProto.js.map +1 -0
  330. package/dist/esm/src/generateProto.test.d.ts +2 -0
  331. package/dist/esm/src/generateProto.test.d.ts.map +1 -0
  332. package/dist/esm/src/generateProto.test.js +122 -0
  333. package/dist/esm/src/generateProto.test.js.map +1 -0
  334. package/dist/esm/src/generateRos.d.ts +20 -0
  335. package/dist/esm/src/generateRos.d.ts.map +1 -0
  336. package/dist/esm/src/generateRos.js +180 -0
  337. package/dist/esm/src/generateRos.js.map +1 -0
  338. package/dist/esm/src/generateRos.test.d.ts +2 -0
  339. package/dist/esm/src/generateRos.test.d.ts.map +1 -0
  340. package/dist/esm/src/generateRos.test.js +909 -0
  341. package/dist/esm/src/generateRos.test.js.map +1 -0
  342. package/dist/esm/src/generateTypeScript.d.ts +5 -0
  343. package/dist/esm/src/generateTypeScript.d.ts.map +1 -0
  344. package/dist/esm/src/generateTypeScript.js +96 -0
  345. package/dist/esm/src/generateTypeScript.js.map +1 -0
  346. package/dist/esm/src/generateTypeScript.test.d.ts +2 -0
  347. package/dist/esm/src/generateTypeScript.test.d.ts.map +1 -0
  348. package/dist/esm/src/generateTypeScript.test.js +117 -0
  349. package/dist/esm/src/generateTypeScript.test.js.map +1 -0
  350. package/dist/esm/src/index.d.ts +6 -0
  351. package/dist/esm/src/index.d.ts.map +1 -0
  352. package/dist/esm/src/index.js +6 -0
  353. package/dist/esm/src/index.js.map +1 -0
  354. package/dist/esm/src/schemas.d.ts +35 -0
  355. package/dist/esm/src/schemas.d.ts.map +1 -0
  356. package/dist/esm/src/schemas.js +817 -0
  357. package/dist/esm/src/schemas.js.map +1 -0
  358. package/dist/esm/src/schemas.test.d.ts +2 -0
  359. package/dist/esm/src/schemas.test.d.ts.map +1 -0
  360. package/dist/esm/src/schemas.test.js +22 -0
  361. package/dist/esm/src/schemas.test.js.map +1 -0
  362. package/dist/esm/src/testFixtures.d.ts +5 -0
  363. package/dist/esm/src/testFixtures.d.ts.map +1 -0
  364. package/dist/esm/src/testFixtures.js +83 -0
  365. package/dist/esm/src/testFixtures.js.map +1 -0
  366. package/dist/esm/src/types.d.ts +37 -0
  367. package/dist/esm/src/types.d.ts.map +1 -0
  368. package/dist/esm/src/types.js +2 -0
  369. package/dist/esm/src/types.js.map +1 -0
  370. package/jest.config.json +16 -0
  371. package/package.json +55 -0
  372. package/schemas/jsonschema/CameraCalibration.json +72 -0
  373. package/schemas/jsonschema/CircleAnnotation.json +96 -0
  374. package/schemas/jsonschema/Color.json +24 -0
  375. package/schemas/jsonschema/CompressedImage.json +33 -0
  376. package/schemas/jsonschema/FrameTransform.json +100 -0
  377. package/schemas/jsonschema/GeoJSON.json +12 -0
  378. package/schemas/jsonschema/Grid.json +179 -0
  379. package/schemas/jsonschema/ImageAnnotations.json +234 -0
  380. package/schemas/jsonschema/LaserScan.json +102 -0
  381. package/schemas/jsonschema/LocationFix.json +51 -0
  382. package/schemas/jsonschema/Log.json +71 -0
  383. package/schemas/jsonschema/PackedElementField.json +59 -0
  384. package/schemas/jsonschema/Point2.json +16 -0
  385. package/schemas/jsonschema/Point3.json +20 -0
  386. package/schemas/jsonschema/PointCloud.json +153 -0
  387. package/schemas/jsonschema/PointsAnnotation.json +122 -0
  388. package/schemas/jsonschema/Pose.json +52 -0
  389. package/schemas/jsonschema/PoseInFrame.json +80 -0
  390. package/schemas/jsonschema/PosesInFrame.json +84 -0
  391. package/schemas/jsonschema/Quaternion.json +24 -0
  392. package/schemas/jsonschema/RawImage.json +48 -0
  393. package/schemas/jsonschema/Transform.json +68 -0
  394. package/schemas/jsonschema/Vector2.json +16 -0
  395. package/schemas/jsonschema/Vector3.json +20 -0
  396. package/schemas/proto/foxglove/CameraCalibration.proto +70 -0
  397. package/schemas/proto/foxglove/CircleAnnotation.proto +30 -0
  398. package/schemas/proto/foxglove/Color.proto +20 -0
  399. package/schemas/proto/foxglove/CompressedImage.proto +19 -0
  400. package/schemas/proto/foxglove/FrameTransform.proto +23 -0
  401. package/schemas/proto/foxglove/GeoJSON.proto +11 -0
  402. package/schemas/proto/foxglove/Grid.proto +40 -0
  403. package/schemas/proto/foxglove/ImageAnnotations.proto +17 -0
  404. package/schemas/proto/foxglove/LaserScan.proto +32 -0
  405. package/schemas/proto/foxglove/LocationFix.proto +33 -0
  406. package/schemas/proto/foxglove/Log.proto +42 -0
  407. package/schemas/proto/foxglove/PackedElementField.proto +37 -0
  408. package/schemas/proto/foxglove/Point2.proto +14 -0
  409. package/schemas/proto/foxglove/Point3.proto +17 -0
  410. package/schemas/proto/foxglove/PointCloud.proto +30 -0
  411. package/schemas/proto/foxglove/PointsAnnotation.proto +39 -0
  412. package/schemas/proto/foxglove/Pose.proto +17 -0
  413. package/schemas/proto/foxglove/PoseInFrame.proto +20 -0
  414. package/schemas/proto/foxglove/PosesInFrame.proto +20 -0
  415. package/schemas/proto/foxglove/Quaternion.proto +20 -0
  416. package/schemas/proto/foxglove/RawImage.proto +28 -0
  417. package/schemas/proto/foxglove/Transform.proto +21 -0
  418. package/schemas/proto/foxglove/Vector2.proto +14 -0
  419. package/schemas/proto/foxglove/Vector3.proto +17 -0
  420. package/schemas/ros1/CameraCalibration.msg +61 -0
  421. package/schemas/ros1/CircleAnnotation.msg +19 -0
  422. package/schemas/ros1/Color.msg +13 -0
  423. package/schemas/ros1/CompressedImage.msg +10 -0
  424. package/schemas/ros1/FrameTransform.msg +13 -0
  425. package/schemas/ros1/GeoJSON.msg +4 -0
  426. package/schemas/ros1/Grid.msg +28 -0
  427. package/schemas/ros1/ImageAnnotations.msg +7 -0
  428. package/schemas/ros1/LaserScan.msg +22 -0
  429. package/schemas/ros1/LocationFix.msg +21 -0
  430. package/schemas/ros1/Log.msg +26 -0
  431. package/schemas/ros1/PackedElementField.msg +20 -0
  432. package/schemas/ros1/Point2.msg +7 -0
  433. package/schemas/ros1/PointCloud.msg +19 -0
  434. package/schemas/ros1/PointsAnnotation.msg +22 -0
  435. package/schemas/ros1/PoseInFrame.msg +10 -0
  436. package/schemas/ros1/PosesInFrame.msg +10 -0
  437. package/schemas/ros1/RawImage.msg +19 -0
  438. package/schemas/ros1/Transform.msg +10 -0
  439. package/schemas/ros1/Vector2.msg +7 -0
  440. package/schemas/ros2/CameraCalibration.msg +61 -0
  441. package/schemas/ros2/CircleAnnotation.msg +19 -0
  442. package/schemas/ros2/Color.msg +13 -0
  443. package/schemas/ros2/CompressedImage.msg +10 -0
  444. package/schemas/ros2/FrameTransform.msg +13 -0
  445. package/schemas/ros2/GeoJSON.msg +4 -0
  446. package/schemas/ros2/Grid.msg +28 -0
  447. package/schemas/ros2/ImageAnnotations.msg +7 -0
  448. package/schemas/ros2/LaserScan.msg +22 -0
  449. package/schemas/ros2/LocationFix.msg +21 -0
  450. package/schemas/ros2/Log.msg +26 -0
  451. package/schemas/ros2/PackedElementField.msg +20 -0
  452. package/schemas/ros2/Point2.msg +7 -0
  453. package/schemas/ros2/PointCloud.msg +19 -0
  454. package/schemas/ros2/PointsAnnotation.msg +22 -0
  455. package/schemas/ros2/PoseInFrame.msg +10 -0
  456. package/schemas/ros2/PosesInFrame.msg +10 -0
  457. package/schemas/ros2/RawImage.msg +19 -0
  458. package/schemas/ros2/Transform.msg +10 -0
  459. package/schemas/ros2/Vector2.msg +7 -0
  460. package/schemas/typescript/CameraCalibration.ts +72 -0
  461. package/schemas/typescript/CircleAnnotation.ts +26 -0
  462. package/schemas/typescript/Color.ts +16 -0
  463. package/schemas/typescript/CompressedImage.ts +15 -0
  464. package/schemas/typescript/Duration.ts +4 -0
  465. package/schemas/typescript/FrameTransform.ts +19 -0
  466. package/schemas/typescript/GeoJSON.ts +7 -0
  467. package/schemas/typescript/Grid.ts +36 -0
  468. package/schemas/typescript/ImageAnnotations.ts +13 -0
  469. package/schemas/typescript/LaserScan.ts +28 -0
  470. package/schemas/typescript/LocationFix.ts +21 -0
  471. package/schemas/typescript/Log.ts +25 -0
  472. package/schemas/typescript/LogLevel.ts +16 -0
  473. package/schemas/typescript/NumericType.ts +22 -0
  474. package/schemas/typescript/PackedElementField.ts +15 -0
  475. package/schemas/typescript/Point2.ts +10 -0
  476. package/schemas/typescript/Point3.ts +13 -0
  477. package/schemas/typescript/PointCloud.ts +26 -0
  478. package/schemas/typescript/PointsAnnotation.ts +24 -0
  479. package/schemas/typescript/PointsAnnotationType.ts +14 -0
  480. package/schemas/typescript/Pose.ts +13 -0
  481. package/schemas/typescript/PoseInFrame.ts +16 -0
  482. package/schemas/typescript/PosesInFrame.ts +16 -0
  483. package/schemas/typescript/PositionCovarianceType.ts +12 -0
  484. package/schemas/typescript/Quaternion.ts +16 -0
  485. package/schemas/typescript/RawImage.ts +24 -0
  486. package/schemas/typescript/Time.ts +4 -0
  487. package/schemas/typescript/Transform.ts +17 -0
  488. package/schemas/typescript/Vector2.ts +10 -0
  489. package/schemas/typescript/Vector3.ts +13 -0
  490. package/schemas/typescript/index.ts +28 -0
  491. package/scripts/updateGeneratedFiles.ts +103 -0
  492. package/src/generateJsonSchema.test.ts +314 -0
  493. package/src/generateJsonSchema.ts +82 -0
  494. package/src/generateProto.test.ts +126 -0
  495. package/src/generateProto.ts +97 -0
  496. package/src/generateRos.test.ts +931 -0
  497. package/src/generateRos.ts +219 -0
  498. package/src/generateTypeScript.test.ts +118 -0
  499. package/src/generateTypeScript.ts +106 -0
  500. package/src/index.ts +5 -0
  501. package/src/schemas.test.ts +23 -0
  502. package/src/schemas.ts +853 -0
  503. package/src/testFixtures.ts +90 -0
  504. package/src/types.ts +40 -0
  505. package/tsconfig.cjs.json +7 -0
  506. package/tsconfig.json +9 -0
@@ -0,0 +1,911 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const rosmsg_1 = require("@foxglove/rosmsg");
4
+ const generateRos_1 = require("./generateRos");
5
+ const schemas_1 = require("./schemas");
6
+ const testFixtures_1 = require("./testFixtures");
7
+ describe("generateRosMsgFiles", () => {
8
+ it("generates msg file for ROS 1", () => {
9
+ expect((0, generateRos_1.generateRosMsg)((0, generateRos_1.generateRosMsgDefinition)(testFixtures_1.exampleMessageWithoutArrayOfBytes, {
10
+ rosVersion: 1,
11
+ }))).toMatchInlineSnapshot(`
12
+ "# Generated from ExampleMessage by @foxglove/schemas
13
+
14
+ # duration field
15
+ duration field_duration
16
+
17
+ # time field
18
+ time field_time
19
+
20
+ # boolean field
21
+ bool field_boolean
22
+
23
+ # bytes field
24
+ uint8[] field_bytes
25
+
26
+ # float64 field
27
+ float64 field_float64
28
+
29
+ # uint32 field
30
+ uint32 field_uint32
31
+
32
+ # string field
33
+ string field_string
34
+
35
+ # duration array field
36
+ duration[] field_duration_array
37
+
38
+ # time array field
39
+ time[] field_time_array
40
+
41
+ # boolean array field
42
+ bool[] field_boolean_array
43
+
44
+ # float64 array field
45
+ float64[] field_float64_array
46
+
47
+ # uint32 array field
48
+ uint32[] field_uint32_array
49
+
50
+ # string array field
51
+ string[] field_string_array
52
+
53
+ # duration fixed-length array field
54
+ duration[3] field_duration_fixed_array
55
+
56
+ # time fixed-length array field
57
+ time[3] field_time_fixed_array
58
+
59
+ # boolean fixed-length array field
60
+ bool[3] field_boolean_fixed_array
61
+
62
+ # float64 fixed-length array field
63
+ float64[3] field_float64_fixed_array
64
+
65
+ # uint32 fixed-length array field
66
+ uint32[3] field_uint32_fixed_array
67
+
68
+ # string fixed-length array field
69
+ string[3] field_string_fixed_array
70
+
71
+ # Value A
72
+ uint8 A=1
73
+
74
+ # Value B
75
+ uint8 B=2
76
+
77
+ # An enum field
78
+ uint8 field_enum
79
+
80
+ # An enum array field
81
+ uint8[] field_enum_array
82
+
83
+ # A nested field
84
+ foxglove_msgs/NestedMessage field_nested
85
+
86
+ # A nested array field
87
+ # With
88
+ # a
89
+ # very
90
+ # long
91
+ # description
92
+ foxglove_msgs/NestedMessage[] field_nested_array
93
+ "
94
+ `);
95
+ });
96
+ it("generates msg file for ROS 2", () => {
97
+ expect((0, generateRos_1.generateRosMsg)((0, generateRos_1.generateRosMsgDefinition)(testFixtures_1.exampleMessageWithoutArrayOfBytes, {
98
+ rosVersion: 2,
99
+ }))).toMatchInlineSnapshot(`
100
+ "# Generated from ExampleMessage by @foxglove/schemas
101
+
102
+ # duration field
103
+ builtin_interfaces/Duration field_duration
104
+
105
+ # time field
106
+ builtin_interfaces/Time field_time
107
+
108
+ # boolean field
109
+ bool field_boolean
110
+
111
+ # bytes field
112
+ uint8[] field_bytes
113
+
114
+ # float64 field
115
+ float64 field_float64
116
+
117
+ # uint32 field
118
+ uint32 field_uint32
119
+
120
+ # string field
121
+ string field_string
122
+
123
+ # duration array field
124
+ builtin_interfaces/Duration[] field_duration_array
125
+
126
+ # time array field
127
+ builtin_interfaces/Time[] field_time_array
128
+
129
+ # boolean array field
130
+ bool[] field_boolean_array
131
+
132
+ # float64 array field
133
+ float64[] field_float64_array
134
+
135
+ # uint32 array field
136
+ uint32[] field_uint32_array
137
+
138
+ # string array field
139
+ string[] field_string_array
140
+
141
+ # duration fixed-length array field
142
+ builtin_interfaces/Duration[3] field_duration_fixed_array
143
+
144
+ # time fixed-length array field
145
+ builtin_interfaces/Time[3] field_time_fixed_array
146
+
147
+ # boolean fixed-length array field
148
+ bool[3] field_boolean_fixed_array
149
+
150
+ # float64 fixed-length array field
151
+ float64[3] field_float64_fixed_array
152
+
153
+ # uint32 fixed-length array field
154
+ uint32[3] field_uint32_fixed_array
155
+
156
+ # string fixed-length array field
157
+ string[3] field_string_fixed_array
158
+
159
+ # Value A
160
+ uint8 A=1
161
+
162
+ # Value B
163
+ uint8 B=2
164
+
165
+ # An enum field
166
+ uint8 field_enum
167
+
168
+ # An enum array field
169
+ uint8[] field_enum_array
170
+
171
+ # A nested field
172
+ foxglove_msgs/NestedMessage field_nested
173
+
174
+ # A nested array field
175
+ # With
176
+ # a
177
+ # very
178
+ # long
179
+ # description
180
+ foxglove_msgs/NestedMessage[] field_nested_array
181
+ "
182
+ `);
183
+ });
184
+ });
185
+ describe("generateRosMsgMergedSchema", () => {
186
+ it("generates merged schema for ROS 1", () => {
187
+ const mergedSchema = (0, generateRos_1.generateRosMsgMergedSchema)(testFixtures_1.exampleMessageWithoutArrayOfBytes, {
188
+ rosVersion: 1,
189
+ });
190
+ expect(mergedSchema).toMatchInlineSnapshot(`
191
+ "# Generated from ExampleMessage by @foxglove/schemas
192
+
193
+ # duration field
194
+ duration field_duration
195
+
196
+ # time field
197
+ time field_time
198
+
199
+ # boolean field
200
+ bool field_boolean
201
+
202
+ # bytes field
203
+ uint8[] field_bytes
204
+
205
+ # float64 field
206
+ float64 field_float64
207
+
208
+ # uint32 field
209
+ uint32 field_uint32
210
+
211
+ # string field
212
+ string field_string
213
+
214
+ # duration array field
215
+ duration[] field_duration_array
216
+
217
+ # time array field
218
+ time[] field_time_array
219
+
220
+ # boolean array field
221
+ bool[] field_boolean_array
222
+
223
+ # float64 array field
224
+ float64[] field_float64_array
225
+
226
+ # uint32 array field
227
+ uint32[] field_uint32_array
228
+
229
+ # string array field
230
+ string[] field_string_array
231
+
232
+ # duration fixed-length array field
233
+ duration[3] field_duration_fixed_array
234
+
235
+ # time fixed-length array field
236
+ time[3] field_time_fixed_array
237
+
238
+ # boolean fixed-length array field
239
+ bool[3] field_boolean_fixed_array
240
+
241
+ # float64 fixed-length array field
242
+ float64[3] field_float64_fixed_array
243
+
244
+ # uint32 fixed-length array field
245
+ uint32[3] field_uint32_fixed_array
246
+
247
+ # string fixed-length array field
248
+ string[3] field_string_fixed_array
249
+
250
+ # Value A
251
+ uint8 A=1
252
+
253
+ # Value B
254
+ uint8 B=2
255
+
256
+ # An enum field
257
+ uint8 field_enum
258
+
259
+ # An enum array field
260
+ uint8[] field_enum_array
261
+
262
+ # A nested field
263
+ foxglove_msgs/NestedMessage field_nested
264
+
265
+ # A nested array field
266
+ # With
267
+ # a
268
+ # very
269
+ # long
270
+ # description
271
+ foxglove_msgs/NestedMessage[] field_nested_array
272
+ ================================================================================
273
+ MSG: foxglove_msgs/NestedMessage
274
+ # Generated from NestedMessage by @foxglove/schemas
275
+
276
+ # An enum field
277
+ uint32 field_enum
278
+ "
279
+ `);
280
+ expect((0, rosmsg_1.parse)(mergedSchema)).toMatchInlineSnapshot(`
281
+ Array [
282
+ Object {
283
+ "definitions": Array [
284
+ Object {
285
+ "isArray": false,
286
+ "isComplex": false,
287
+ "name": "field_duration",
288
+ "type": "duration",
289
+ },
290
+ Object {
291
+ "isArray": false,
292
+ "isComplex": false,
293
+ "name": "field_time",
294
+ "type": "time",
295
+ },
296
+ Object {
297
+ "isArray": false,
298
+ "isComplex": false,
299
+ "name": "field_boolean",
300
+ "type": "bool",
301
+ },
302
+ Object {
303
+ "isArray": true,
304
+ "isComplex": false,
305
+ "name": "field_bytes",
306
+ "type": "uint8",
307
+ },
308
+ Object {
309
+ "isArray": false,
310
+ "isComplex": false,
311
+ "name": "field_float64",
312
+ "type": "float64",
313
+ },
314
+ Object {
315
+ "isArray": false,
316
+ "isComplex": false,
317
+ "name": "field_uint32",
318
+ "type": "uint32",
319
+ },
320
+ Object {
321
+ "isArray": false,
322
+ "isComplex": false,
323
+ "name": "field_string",
324
+ "type": "string",
325
+ },
326
+ Object {
327
+ "isArray": true,
328
+ "isComplex": false,
329
+ "name": "field_duration_array",
330
+ "type": "duration",
331
+ },
332
+ Object {
333
+ "isArray": true,
334
+ "isComplex": false,
335
+ "name": "field_time_array",
336
+ "type": "time",
337
+ },
338
+ Object {
339
+ "isArray": true,
340
+ "isComplex": false,
341
+ "name": "field_boolean_array",
342
+ "type": "bool",
343
+ },
344
+ Object {
345
+ "isArray": true,
346
+ "isComplex": false,
347
+ "name": "field_float64_array",
348
+ "type": "float64",
349
+ },
350
+ Object {
351
+ "isArray": true,
352
+ "isComplex": false,
353
+ "name": "field_uint32_array",
354
+ "type": "uint32",
355
+ },
356
+ Object {
357
+ "isArray": true,
358
+ "isComplex": false,
359
+ "name": "field_string_array",
360
+ "type": "string",
361
+ },
362
+ Object {
363
+ "arrayLength": 3,
364
+ "isArray": true,
365
+ "isComplex": false,
366
+ "name": "field_duration_fixed_array",
367
+ "type": "duration",
368
+ },
369
+ Object {
370
+ "arrayLength": 3,
371
+ "isArray": true,
372
+ "isComplex": false,
373
+ "name": "field_time_fixed_array",
374
+ "type": "time",
375
+ },
376
+ Object {
377
+ "arrayLength": 3,
378
+ "isArray": true,
379
+ "isComplex": false,
380
+ "name": "field_boolean_fixed_array",
381
+ "type": "bool",
382
+ },
383
+ Object {
384
+ "arrayLength": 3,
385
+ "isArray": true,
386
+ "isComplex": false,
387
+ "name": "field_float64_fixed_array",
388
+ "type": "float64",
389
+ },
390
+ Object {
391
+ "arrayLength": 3,
392
+ "isArray": true,
393
+ "isComplex": false,
394
+ "name": "field_uint32_fixed_array",
395
+ "type": "uint32",
396
+ },
397
+ Object {
398
+ "arrayLength": 3,
399
+ "isArray": true,
400
+ "isComplex": false,
401
+ "name": "field_string_fixed_array",
402
+ "type": "string",
403
+ },
404
+ Object {
405
+ "isConstant": true,
406
+ "name": "A",
407
+ "type": "uint8",
408
+ "value": 1,
409
+ "valueText": "1",
410
+ },
411
+ Object {
412
+ "isConstant": true,
413
+ "name": "B",
414
+ "type": "uint8",
415
+ "value": 2,
416
+ "valueText": "2",
417
+ },
418
+ Object {
419
+ "isArray": false,
420
+ "isComplex": false,
421
+ "name": "field_enum",
422
+ "type": "uint8",
423
+ },
424
+ Object {
425
+ "isArray": true,
426
+ "isComplex": false,
427
+ "name": "field_enum_array",
428
+ "type": "uint8",
429
+ },
430
+ Object {
431
+ "isArray": false,
432
+ "isComplex": true,
433
+ "name": "field_nested",
434
+ "type": "foxglove_msgs/NestedMessage",
435
+ },
436
+ Object {
437
+ "isArray": true,
438
+ "isComplex": true,
439
+ "name": "field_nested_array",
440
+ "type": "foxglove_msgs/NestedMessage",
441
+ },
442
+ ],
443
+ "name": undefined,
444
+ },
445
+ Object {
446
+ "definitions": Array [
447
+ Object {
448
+ "isArray": false,
449
+ "isComplex": false,
450
+ "name": "field_enum",
451
+ "type": "uint32",
452
+ },
453
+ ],
454
+ "name": "foxglove_msgs/NestedMessage",
455
+ },
456
+ ]
457
+ `);
458
+ });
459
+ it("generates merged schema for ROS 2", () => {
460
+ const mergedSchema = (0, generateRos_1.generateRosMsgMergedSchema)(testFixtures_1.exampleMessageWithoutArrayOfBytes, {
461
+ rosVersion: 2,
462
+ });
463
+ expect(mergedSchema).toMatchInlineSnapshot(`
464
+ "# Generated from ExampleMessage by @foxglove/schemas
465
+
466
+ # duration field
467
+ builtin_interfaces/Duration field_duration
468
+
469
+ # time field
470
+ builtin_interfaces/Time field_time
471
+
472
+ # boolean field
473
+ bool field_boolean
474
+
475
+ # bytes field
476
+ uint8[] field_bytes
477
+
478
+ # float64 field
479
+ float64 field_float64
480
+
481
+ # uint32 field
482
+ uint32 field_uint32
483
+
484
+ # string field
485
+ string field_string
486
+
487
+ # duration array field
488
+ builtin_interfaces/Duration[] field_duration_array
489
+
490
+ # time array field
491
+ builtin_interfaces/Time[] field_time_array
492
+
493
+ # boolean array field
494
+ bool[] field_boolean_array
495
+
496
+ # float64 array field
497
+ float64[] field_float64_array
498
+
499
+ # uint32 array field
500
+ uint32[] field_uint32_array
501
+
502
+ # string array field
503
+ string[] field_string_array
504
+
505
+ # duration fixed-length array field
506
+ builtin_interfaces/Duration[3] field_duration_fixed_array
507
+
508
+ # time fixed-length array field
509
+ builtin_interfaces/Time[3] field_time_fixed_array
510
+
511
+ # boolean fixed-length array field
512
+ bool[3] field_boolean_fixed_array
513
+
514
+ # float64 fixed-length array field
515
+ float64[3] field_float64_fixed_array
516
+
517
+ # uint32 fixed-length array field
518
+ uint32[3] field_uint32_fixed_array
519
+
520
+ # string fixed-length array field
521
+ string[3] field_string_fixed_array
522
+
523
+ # Value A
524
+ uint8 A=1
525
+
526
+ # Value B
527
+ uint8 B=2
528
+
529
+ # An enum field
530
+ uint8 field_enum
531
+
532
+ # An enum array field
533
+ uint8[] field_enum_array
534
+
535
+ # A nested field
536
+ foxglove_msgs/NestedMessage field_nested
537
+
538
+ # A nested array field
539
+ # With
540
+ # a
541
+ # very
542
+ # long
543
+ # description
544
+ foxglove_msgs/NestedMessage[] field_nested_array
545
+ ================================================================================
546
+ MSG: foxglove_msgs/NestedMessage
547
+ # Generated from NestedMessage by @foxglove/schemas
548
+
549
+ # An enum field
550
+ uint32 field_enum
551
+ "
552
+ `);
553
+ expect((0, rosmsg_1.parse)(mergedSchema, { ros2: true })).toMatchInlineSnapshot(`
554
+ Array [
555
+ Object {
556
+ "definitions": Array [
557
+ Object {
558
+ "arrayLength": undefined,
559
+ "arrayUpperBound": undefined,
560
+ "defaultValue": undefined,
561
+ "isArray": false,
562
+ "isComplex": false,
563
+ "isConstant": undefined,
564
+ "name": "field_duration",
565
+ "type": "duration",
566
+ "upperBound": undefined,
567
+ "value": undefined,
568
+ "valueText": undefined,
569
+ },
570
+ Object {
571
+ "arrayLength": undefined,
572
+ "arrayUpperBound": undefined,
573
+ "defaultValue": undefined,
574
+ "isArray": false,
575
+ "isComplex": false,
576
+ "isConstant": undefined,
577
+ "name": "field_time",
578
+ "type": "time",
579
+ "upperBound": undefined,
580
+ "value": undefined,
581
+ "valueText": undefined,
582
+ },
583
+ Object {
584
+ "arrayLength": undefined,
585
+ "arrayUpperBound": undefined,
586
+ "defaultValue": undefined,
587
+ "isArray": false,
588
+ "isComplex": false,
589
+ "isConstant": undefined,
590
+ "name": "field_boolean",
591
+ "type": "bool",
592
+ "upperBound": undefined,
593
+ "value": undefined,
594
+ "valueText": undefined,
595
+ },
596
+ Object {
597
+ "arrayLength": undefined,
598
+ "arrayUpperBound": undefined,
599
+ "defaultValue": undefined,
600
+ "isArray": true,
601
+ "isComplex": false,
602
+ "isConstant": undefined,
603
+ "name": "field_bytes",
604
+ "type": "uint8",
605
+ "upperBound": undefined,
606
+ "value": undefined,
607
+ "valueText": undefined,
608
+ },
609
+ Object {
610
+ "arrayLength": undefined,
611
+ "arrayUpperBound": undefined,
612
+ "defaultValue": undefined,
613
+ "isArray": false,
614
+ "isComplex": false,
615
+ "isConstant": undefined,
616
+ "name": "field_float64",
617
+ "type": "float64",
618
+ "upperBound": undefined,
619
+ "value": undefined,
620
+ "valueText": undefined,
621
+ },
622
+ Object {
623
+ "arrayLength": undefined,
624
+ "arrayUpperBound": undefined,
625
+ "defaultValue": undefined,
626
+ "isArray": false,
627
+ "isComplex": false,
628
+ "isConstant": undefined,
629
+ "name": "field_uint32",
630
+ "type": "uint32",
631
+ "upperBound": undefined,
632
+ "value": undefined,
633
+ "valueText": undefined,
634
+ },
635
+ Object {
636
+ "arrayLength": undefined,
637
+ "arrayUpperBound": undefined,
638
+ "defaultValue": undefined,
639
+ "isArray": false,
640
+ "isComplex": false,
641
+ "isConstant": undefined,
642
+ "name": "field_string",
643
+ "type": "string",
644
+ "upperBound": undefined,
645
+ "value": undefined,
646
+ "valueText": undefined,
647
+ },
648
+ Object {
649
+ "arrayLength": undefined,
650
+ "arrayUpperBound": undefined,
651
+ "defaultValue": undefined,
652
+ "isArray": true,
653
+ "isComplex": false,
654
+ "isConstant": undefined,
655
+ "name": "field_duration_array",
656
+ "type": "duration",
657
+ "upperBound": undefined,
658
+ "value": undefined,
659
+ "valueText": undefined,
660
+ },
661
+ Object {
662
+ "arrayLength": undefined,
663
+ "arrayUpperBound": undefined,
664
+ "defaultValue": undefined,
665
+ "isArray": true,
666
+ "isComplex": false,
667
+ "isConstant": undefined,
668
+ "name": "field_time_array",
669
+ "type": "time",
670
+ "upperBound": undefined,
671
+ "value": undefined,
672
+ "valueText": undefined,
673
+ },
674
+ Object {
675
+ "arrayLength": undefined,
676
+ "arrayUpperBound": undefined,
677
+ "defaultValue": undefined,
678
+ "isArray": true,
679
+ "isComplex": false,
680
+ "isConstant": undefined,
681
+ "name": "field_boolean_array",
682
+ "type": "bool",
683
+ "upperBound": undefined,
684
+ "value": undefined,
685
+ "valueText": undefined,
686
+ },
687
+ Object {
688
+ "arrayLength": undefined,
689
+ "arrayUpperBound": undefined,
690
+ "defaultValue": undefined,
691
+ "isArray": true,
692
+ "isComplex": false,
693
+ "isConstant": undefined,
694
+ "name": "field_float64_array",
695
+ "type": "float64",
696
+ "upperBound": undefined,
697
+ "value": undefined,
698
+ "valueText": undefined,
699
+ },
700
+ Object {
701
+ "arrayLength": undefined,
702
+ "arrayUpperBound": undefined,
703
+ "defaultValue": undefined,
704
+ "isArray": true,
705
+ "isComplex": false,
706
+ "isConstant": undefined,
707
+ "name": "field_uint32_array",
708
+ "type": "uint32",
709
+ "upperBound": undefined,
710
+ "value": undefined,
711
+ "valueText": undefined,
712
+ },
713
+ Object {
714
+ "arrayLength": undefined,
715
+ "arrayUpperBound": undefined,
716
+ "defaultValue": undefined,
717
+ "isArray": true,
718
+ "isComplex": false,
719
+ "isConstant": undefined,
720
+ "name": "field_string_array",
721
+ "type": "string",
722
+ "upperBound": undefined,
723
+ "value": undefined,
724
+ "valueText": undefined,
725
+ },
726
+ Object {
727
+ "arrayLength": 3,
728
+ "arrayUpperBound": undefined,
729
+ "defaultValue": undefined,
730
+ "isArray": true,
731
+ "isComplex": false,
732
+ "isConstant": undefined,
733
+ "name": "field_duration_fixed_array",
734
+ "type": "duration",
735
+ "upperBound": undefined,
736
+ "value": undefined,
737
+ "valueText": undefined,
738
+ },
739
+ Object {
740
+ "arrayLength": 3,
741
+ "arrayUpperBound": undefined,
742
+ "defaultValue": undefined,
743
+ "isArray": true,
744
+ "isComplex": false,
745
+ "isConstant": undefined,
746
+ "name": "field_time_fixed_array",
747
+ "type": "time",
748
+ "upperBound": undefined,
749
+ "value": undefined,
750
+ "valueText": undefined,
751
+ },
752
+ Object {
753
+ "arrayLength": 3,
754
+ "arrayUpperBound": undefined,
755
+ "defaultValue": undefined,
756
+ "isArray": true,
757
+ "isComplex": false,
758
+ "isConstant": undefined,
759
+ "name": "field_boolean_fixed_array",
760
+ "type": "bool",
761
+ "upperBound": undefined,
762
+ "value": undefined,
763
+ "valueText": undefined,
764
+ },
765
+ Object {
766
+ "arrayLength": 3,
767
+ "arrayUpperBound": undefined,
768
+ "defaultValue": undefined,
769
+ "isArray": true,
770
+ "isComplex": false,
771
+ "isConstant": undefined,
772
+ "name": "field_float64_fixed_array",
773
+ "type": "float64",
774
+ "upperBound": undefined,
775
+ "value": undefined,
776
+ "valueText": undefined,
777
+ },
778
+ Object {
779
+ "arrayLength": 3,
780
+ "arrayUpperBound": undefined,
781
+ "defaultValue": undefined,
782
+ "isArray": true,
783
+ "isComplex": false,
784
+ "isConstant": undefined,
785
+ "name": "field_uint32_fixed_array",
786
+ "type": "uint32",
787
+ "upperBound": undefined,
788
+ "value": undefined,
789
+ "valueText": undefined,
790
+ },
791
+ Object {
792
+ "arrayLength": 3,
793
+ "arrayUpperBound": undefined,
794
+ "defaultValue": undefined,
795
+ "isArray": true,
796
+ "isComplex": false,
797
+ "isConstant": undefined,
798
+ "name": "field_string_fixed_array",
799
+ "type": "string",
800
+ "upperBound": undefined,
801
+ "value": undefined,
802
+ "valueText": undefined,
803
+ },
804
+ Object {
805
+ "arrayLength": undefined,
806
+ "arrayUpperBound": undefined,
807
+ "defaultValue": undefined,
808
+ "isArray": undefined,
809
+ "isComplex": undefined,
810
+ "isConstant": true,
811
+ "name": "A",
812
+ "type": "uint8",
813
+ "upperBound": undefined,
814
+ "value": 1,
815
+ "valueText": "1",
816
+ },
817
+ Object {
818
+ "arrayLength": undefined,
819
+ "arrayUpperBound": undefined,
820
+ "defaultValue": undefined,
821
+ "isArray": undefined,
822
+ "isComplex": undefined,
823
+ "isConstant": true,
824
+ "name": "B",
825
+ "type": "uint8",
826
+ "upperBound": undefined,
827
+ "value": 2,
828
+ "valueText": "2",
829
+ },
830
+ Object {
831
+ "arrayLength": undefined,
832
+ "arrayUpperBound": undefined,
833
+ "defaultValue": undefined,
834
+ "isArray": false,
835
+ "isComplex": false,
836
+ "isConstant": undefined,
837
+ "name": "field_enum",
838
+ "type": "uint8",
839
+ "upperBound": undefined,
840
+ "value": undefined,
841
+ "valueText": undefined,
842
+ },
843
+ Object {
844
+ "arrayLength": undefined,
845
+ "arrayUpperBound": undefined,
846
+ "defaultValue": undefined,
847
+ "isArray": true,
848
+ "isComplex": false,
849
+ "isConstant": undefined,
850
+ "name": "field_enum_array",
851
+ "type": "uint8",
852
+ "upperBound": undefined,
853
+ "value": undefined,
854
+ "valueText": undefined,
855
+ },
856
+ Object {
857
+ "arrayLength": undefined,
858
+ "arrayUpperBound": undefined,
859
+ "defaultValue": undefined,
860
+ "isArray": false,
861
+ "isComplex": true,
862
+ "isConstant": undefined,
863
+ "name": "field_nested",
864
+ "type": "foxglove_msgs/NestedMessage",
865
+ "upperBound": undefined,
866
+ "value": undefined,
867
+ "valueText": undefined,
868
+ },
869
+ Object {
870
+ "arrayLength": undefined,
871
+ "arrayUpperBound": undefined,
872
+ "defaultValue": undefined,
873
+ "isArray": true,
874
+ "isComplex": true,
875
+ "isConstant": undefined,
876
+ "name": "field_nested_array",
877
+ "type": "foxglove_msgs/NestedMessage",
878
+ "upperBound": undefined,
879
+ "value": undefined,
880
+ "valueText": undefined,
881
+ },
882
+ ],
883
+ "name": undefined,
884
+ },
885
+ Object {
886
+ "definitions": Array [
887
+ Object {
888
+ "arrayLength": undefined,
889
+ "arrayUpperBound": undefined,
890
+ "defaultValue": undefined,
891
+ "isArray": false,
892
+ "isComplex": false,
893
+ "isConstant": undefined,
894
+ "name": "field_enum",
895
+ "type": "uint32",
896
+ "upperBound": undefined,
897
+ "value": undefined,
898
+ "valueText": undefined,
899
+ },
900
+ ],
901
+ "name": "foxglove_msgs/NestedMessage",
902
+ },
903
+ ]
904
+ `);
905
+ });
906
+ it.each(Object.values(schemas_1.foxgloveMessageSchemas))("generates parseable merged schemas", (schema) => {
907
+ expect(() => (0, rosmsg_1.parse)((0, generateRos_1.generateRosMsgMergedSchema)(schema, { rosVersion: 1 }))).not.toThrow();
908
+ expect(() => (0, rosmsg_1.parse)((0, generateRos_1.generateRosMsgMergedSchema)(schema, { rosVersion: 2 }), { ros2: true })).not.toThrow();
909
+ });
910
+ });
911
+ //# sourceMappingURL=generateRos.test.js.map