@foxglove/schemas 0.4.0 → 0.6.1
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.
- package/.vscode/settings.json +1 -1
- package/dist/cjs/schemas/typescript/ArrowPrimitive.d.ts +18 -0
- package/dist/cjs/schemas/typescript/ArrowPrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/ArrowPrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/ArrowPrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/CameraCalibration.d.ts +2 -0
- package/dist/cjs/schemas/typescript/CameraCalibration.d.ts.map +1 -1
- package/dist/cjs/schemas/typescript/CompressedImage.d.ts +2 -0
- package/dist/cjs/schemas/typescript/CompressedImage.d.ts.map +1 -1
- package/dist/cjs/schemas/typescript/CubePrimitive.d.ts +13 -0
- package/dist/cjs/schemas/typescript/CubePrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/CubePrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/CubePrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/CylinderPrimitive.d.ts +17 -0
- package/dist/cjs/schemas/typescript/CylinderPrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/CylinderPrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/CylinderPrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/KeyValuePair.d.ts +8 -0
- package/dist/cjs/schemas/typescript/KeyValuePair.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/KeyValuePair.js +4 -0
- package/dist/cjs/schemas/typescript/KeyValuePair.js.map +1 -0
- package/dist/cjs/schemas/typescript/LinePrimitive.d.ts +28 -0
- package/dist/cjs/schemas/typescript/LinePrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/LinePrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/LinePrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/LineType.d.ts +10 -0
- package/dist/cjs/schemas/typescript/LineType.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/LineType.js +15 -0
- package/dist/cjs/schemas/typescript/LineType.js.map +1 -0
- package/dist/cjs/schemas/typescript/ModelPrimitive.d.ts +21 -0
- package/dist/cjs/schemas/typescript/ModelPrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/ModelPrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/ModelPrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/RawImage.d.ts +2 -0
- package/dist/cjs/schemas/typescript/RawImage.d.ts.map +1 -1
- package/dist/cjs/schemas/typescript/SceneEntity.d.ts +43 -0
- package/dist/cjs/schemas/typescript/SceneEntity.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/SceneEntity.js +4 -0
- package/dist/cjs/schemas/typescript/SceneEntity.js.map +1 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletion.d.ts +12 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletion.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletion.js +4 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletion.js.map +1 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletionType.d.ts +8 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletionType.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletionType.js +13 -0
- package/dist/cjs/schemas/typescript/SceneEntityDeletionType.js.map +1 -0
- package/dist/cjs/schemas/typescript/SceneUpdate.d.ts +10 -0
- package/dist/cjs/schemas/typescript/SceneUpdate.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/SceneUpdate.js +4 -0
- package/dist/cjs/schemas/typescript/SceneUpdate.js.map +1 -0
- package/dist/cjs/schemas/typescript/SpherePrimitive.d.ts +13 -0
- package/dist/cjs/schemas/typescript/SpherePrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/SpherePrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/SpherePrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/TextPrimitive.d.ts +18 -0
- package/dist/cjs/schemas/typescript/TextPrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/TextPrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/TextPrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/TriangleListPrimitive.d.ts +21 -0
- package/dist/cjs/schemas/typescript/TriangleListPrimitive.d.ts.map +1 -0
- package/dist/cjs/schemas/typescript/TriangleListPrimitive.js +4 -0
- package/dist/cjs/schemas/typescript/TriangleListPrimitive.js.map +1 -0
- package/dist/cjs/schemas/typescript/index.d.ts +14 -0
- package/dist/cjs/schemas/typescript/index.d.ts.map +1 -1
- package/dist/cjs/schemas/typescript/index.js +14 -0
- package/dist/cjs/schemas/typescript/index.js.map +1 -1
- package/dist/cjs/src/generateJsonSchema.test.js +71 -71
- package/dist/cjs/src/generateProto.d.ts.map +1 -1
- package/dist/cjs/src/generateProto.js +21 -3
- package/dist/cjs/src/generateProto.js.map +1 -1
- package/dist/cjs/src/generateProto.test.js +26 -26
- package/dist/cjs/src/generateRos.js +3 -3
- package/dist/cjs/src/generateRos.js.map +1 -1
- package/dist/cjs/src/generateRos.test.js +116 -116
- package/dist/cjs/src/generateTypeScript.test.js +4 -4
- package/dist/cjs/src/schemas.d.ts +15 -1
- package/dist/cjs/src/schemas.d.ts.map +1 -1
- package/dist/cjs/src/schemas.js +559 -79
- package/dist/cjs/src/schemas.js.map +1 -1
- package/dist/cjs/src/schemas.test.js +17 -0
- package/dist/cjs/src/schemas.test.js.map +1 -1
- package/dist/cjs/src/testFixtures.d.ts.map +1 -1
- package/dist/cjs/src/testFixtures.js +1 -0
- package/dist/cjs/src/testFixtures.js.map +1 -1
- package/dist/cjs/src/types.d.ts +19 -17
- package/dist/cjs/src/types.d.ts.map +1 -1
- package/dist/esm/schemas/typescript/ArrowPrimitive.d.ts +18 -0
- package/dist/esm/schemas/typescript/ArrowPrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/ArrowPrimitive.js +3 -0
- package/dist/esm/schemas/typescript/ArrowPrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/CameraCalibration.d.ts +2 -0
- package/dist/esm/schemas/typescript/CameraCalibration.d.ts.map +1 -1
- package/dist/esm/schemas/typescript/CompressedImage.d.ts +2 -0
- package/dist/esm/schemas/typescript/CompressedImage.d.ts.map +1 -1
- package/dist/esm/schemas/typescript/CubePrimitive.d.ts +13 -0
- package/dist/esm/schemas/typescript/CubePrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/CubePrimitive.js +3 -0
- package/dist/esm/schemas/typescript/CubePrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/CylinderPrimitive.d.ts +17 -0
- package/dist/esm/schemas/typescript/CylinderPrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/CylinderPrimitive.js +3 -0
- package/dist/esm/schemas/typescript/CylinderPrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/KeyValuePair.d.ts +8 -0
- package/dist/esm/schemas/typescript/KeyValuePair.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/KeyValuePair.js +3 -0
- package/dist/esm/schemas/typescript/KeyValuePair.js.map +1 -0
- package/dist/esm/schemas/typescript/LinePrimitive.d.ts +28 -0
- package/dist/esm/schemas/typescript/LinePrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/LinePrimitive.js +3 -0
- package/dist/esm/schemas/typescript/LinePrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/LineType.d.ts +10 -0
- package/dist/esm/schemas/typescript/LineType.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/LineType.js +12 -0
- package/dist/esm/schemas/typescript/LineType.js.map +1 -0
- package/dist/esm/schemas/typescript/ModelPrimitive.d.ts +21 -0
- package/dist/esm/schemas/typescript/ModelPrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/ModelPrimitive.js +3 -0
- package/dist/esm/schemas/typescript/ModelPrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/RawImage.d.ts +2 -0
- package/dist/esm/schemas/typescript/RawImage.d.ts.map +1 -1
- package/dist/esm/schemas/typescript/SceneEntity.d.ts +43 -0
- package/dist/esm/schemas/typescript/SceneEntity.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/SceneEntity.js +3 -0
- package/dist/esm/schemas/typescript/SceneEntity.js.map +1 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletion.d.ts +12 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletion.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletion.js +3 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletion.js.map +1 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletionType.d.ts +8 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletionType.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletionType.js +10 -0
- package/dist/esm/schemas/typescript/SceneEntityDeletionType.js.map +1 -0
- package/dist/esm/schemas/typescript/SceneUpdate.d.ts +10 -0
- package/dist/esm/schemas/typescript/SceneUpdate.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/SceneUpdate.js +3 -0
- package/dist/esm/schemas/typescript/SceneUpdate.js.map +1 -0
- package/dist/esm/schemas/typescript/SpherePrimitive.d.ts +13 -0
- package/dist/esm/schemas/typescript/SpherePrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/SpherePrimitive.js +3 -0
- package/dist/esm/schemas/typescript/SpherePrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/TextPrimitive.d.ts +18 -0
- package/dist/esm/schemas/typescript/TextPrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/TextPrimitive.js +3 -0
- package/dist/esm/schemas/typescript/TextPrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/TriangleListPrimitive.d.ts +21 -0
- package/dist/esm/schemas/typescript/TriangleListPrimitive.d.ts.map +1 -0
- package/dist/esm/schemas/typescript/TriangleListPrimitive.js +3 -0
- package/dist/esm/schemas/typescript/TriangleListPrimitive.js.map +1 -0
- package/dist/esm/schemas/typescript/index.d.ts +14 -0
- package/dist/esm/schemas/typescript/index.d.ts.map +1 -1
- package/dist/esm/schemas/typescript/index.js +14 -0
- package/dist/esm/schemas/typescript/index.js.map +1 -1
- package/dist/esm/src/generateJsonSchema.test.js +71 -71
- package/dist/esm/src/generateProto.d.ts.map +1 -1
- package/dist/esm/src/generateProto.js +21 -3
- package/dist/esm/src/generateProto.js.map +1 -1
- package/dist/esm/src/generateProto.test.js +26 -26
- package/dist/esm/src/generateRos.js +4 -4
- package/dist/esm/src/generateRos.js.map +1 -1
- package/dist/esm/src/generateRos.test.js +116 -116
- package/dist/esm/src/generateTypeScript.test.js +4 -4
- package/dist/esm/src/schemas.d.ts +15 -1
- package/dist/esm/src/schemas.d.ts.map +1 -1
- package/dist/esm/src/schemas.js +559 -79
- package/dist/esm/src/schemas.js.map +1 -1
- package/dist/esm/src/schemas.test.js +17 -0
- package/dist/esm/src/schemas.test.js.map +1 -1
- package/dist/esm/src/testFixtures.d.ts.map +1 -1
- package/dist/esm/src/testFixtures.js +1 -0
- package/dist/esm/src/testFixtures.js.map +1 -1
- package/dist/esm/src/types.d.ts +19 -17
- package/dist/esm/src/types.d.ts.map +1 -1
- package/jest.config.json +8 -8
- package/package.json +18 -18
- package/schemas/README.md +1069 -13
- package/schemas/jsonschema/ArrowPrimitive.json +96 -0
- package/schemas/jsonschema/CameraCalibration.json +4 -0
- package/schemas/jsonschema/CompressedImage.json +4 -0
- package/schemas/jsonschema/CubePrimitive.json +99 -0
- package/schemas/jsonschema/CylinderPrimitive.json +107 -0
- package/schemas/jsonschema/KeyValuePair.json +16 -0
- package/schemas/jsonschema/LinePrimitive.json +167 -0
- package/schemas/jsonschema/ModelPrimitive.json +116 -0
- package/schemas/jsonschema/RawImage.json +4 -0
- package/schemas/jsonschema/SceneEntity.json +1012 -0
- package/schemas/jsonschema/SceneEntityDeletion.json +44 -0
- package/schemas/jsonschema/SceneUpdate.json +1070 -0
- package/schemas/jsonschema/SpherePrimitive.json +99 -0
- package/schemas/jsonschema/TextPrimitive.json +96 -0
- package/schemas/jsonschema/TriangleListPrimitive.json +138 -0
- package/schemas/proto/foxglove/ArrowPrimitive.proto +29 -0
- package/schemas/proto/foxglove/CameraCalibration.proto +3 -0
- package/schemas/proto/foxglove/CompressedImage.proto +3 -0
- package/schemas/proto/foxglove/CubePrimitive.proto +21 -0
- package/schemas/proto/foxglove/CylinderPrimitive.proto +27 -0
- package/schemas/proto/foxglove/KeyValuePair.proto +14 -0
- package/schemas/proto/foxglove/LinePrimitive.proto +49 -0
- package/schemas/proto/foxglove/ModelPrimitive.proto +33 -0
- package/schemas/proto/foxglove/RawImage.proto +3 -0
- package/schemas/proto/foxglove/SceneEntity.proto +62 -0
- package/schemas/proto/foxglove/SceneEntityDeletion.proto +27 -0
- package/schemas/proto/foxglove/SceneUpdate.proto +17 -0
- package/schemas/proto/foxglove/SpherePrimitive.proto +21 -0
- package/schemas/proto/foxglove/TextPrimitive.proto +29 -0
- package/schemas/proto/foxglove/TriangleListPrimitive.proto +29 -0
- package/schemas/ros1/ArrowPrimitive.msg +22 -0
- package/schemas/ros1/CameraCalibration.msg +3 -0
- package/schemas/ros1/CompressedImage.msg +3 -0
- package/schemas/ros1/CubePrimitive.msg +13 -0
- package/schemas/ros1/CylinderPrimitive.msg +19 -0
- package/schemas/ros1/KeyValuePair.msg +10 -0
- package/schemas/ros1/LinePrimitive.msg +39 -0
- package/schemas/ros1/ModelPrimitive.msg +25 -0
- package/schemas/ros1/RawImage.msg +3 -0
- package/schemas/ros1/SceneEntity.msg +46 -0
- package/schemas/ros1/SceneEntityDeletion.msg +19 -0
- package/schemas/ros1/SceneUpdate.msg +10 -0
- package/schemas/ros1/SpherePrimitive.msg +13 -0
- package/schemas/ros1/TextPrimitive.msg +22 -0
- package/schemas/ros1/TriangleListPrimitive.msg +21 -0
- package/schemas/ros2/ArrowPrimitive.msg +22 -0
- package/schemas/ros2/CameraCalibration.msg +3 -0
- package/schemas/ros2/CompressedImage.msg +3 -0
- package/schemas/ros2/CubePrimitive.msg +13 -0
- package/schemas/ros2/CylinderPrimitive.msg +19 -0
- package/schemas/ros2/KeyValuePair.msg +10 -0
- package/schemas/ros2/LinePrimitive.msg +39 -0
- package/schemas/ros2/ModelPrimitive.msg +25 -0
- package/schemas/ros2/RawImage.msg +3 -0
- package/schemas/ros2/SceneEntity.msg +46 -0
- package/schemas/ros2/SceneEntityDeletion.msg +19 -0
- package/schemas/ros2/SceneUpdate.msg +10 -0
- package/schemas/ros2/SpherePrimitive.msg +13 -0
- package/schemas/ros2/TextPrimitive.msg +22 -0
- package/schemas/ros2/TriangleListPrimitive.msg +21 -0
- package/schemas/typescript/ArrowPrimitive.ts +25 -0
- package/schemas/typescript/CameraCalibration.ts +3 -0
- package/schemas/typescript/CompressedImage.ts +3 -0
- package/schemas/typescript/CubePrimitive.ts +17 -0
- package/schemas/typescript/CylinderPrimitive.ts +23 -0
- package/schemas/typescript/KeyValuePair.ts +10 -0
- package/schemas/typescript/LinePrimitive.ts +37 -0
- package/schemas/typescript/LineType.ts +13 -0
- package/schemas/typescript/ModelPrimitive.ts +29 -0
- package/schemas/typescript/RawImage.ts +3 -0
- package/schemas/typescript/SceneEntity.ts +58 -0
- package/schemas/typescript/SceneEntityDeletion.ts +16 -0
- package/schemas/typescript/SceneEntityDeletionType.ts +10 -0
- package/schemas/typescript/SceneUpdate.ts +13 -0
- package/schemas/typescript/SpherePrimitive.ts +17 -0
- package/schemas/typescript/TextPrimitive.ts +25 -0
- package/schemas/typescript/TriangleListPrimitive.ts +27 -0
- package/schemas/typescript/index.ts +14 -0
- package/src/generateJsonSchema.test.ts +71 -71
- package/src/generateProto.test.ts +26 -26
- package/src/generateProto.ts +33 -4
- package/src/generateRos.test.ts +116 -116
- package/src/generateRos.ts +6 -6
- package/src/generateTypeScript.test.ts +4 -4
- package/src/schemas.test.ts +19 -0
- package/src/schemas.ts +608 -79
- package/src/testFixtures.ts +1 -0
- package/src/types.ts +14 -11
|
@@ -1,18 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./ArrowPrimitive"), exports);
|
|
4
5
|
tslib_1.__exportStar(require("./CameraCalibration"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./CircleAnnotation"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./Color"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./CompressedImage"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./CubePrimitive"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./CylinderPrimitive"), exports);
|
|
8
11
|
tslib_1.__exportStar(require("./FrameTransform"), exports);
|
|
9
12
|
tslib_1.__exportStar(require("./GeoJSON"), exports);
|
|
10
13
|
tslib_1.__exportStar(require("./Grid"), exports);
|
|
11
14
|
tslib_1.__exportStar(require("./ImageAnnotations"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./KeyValuePair"), exports);
|
|
12
16
|
tslib_1.__exportStar(require("./LaserScan"), exports);
|
|
17
|
+
tslib_1.__exportStar(require("./LinePrimitive"), exports);
|
|
18
|
+
tslib_1.__exportStar(require("./LineType"), exports);
|
|
13
19
|
tslib_1.__exportStar(require("./LocationFix"), exports);
|
|
14
20
|
tslib_1.__exportStar(require("./Log"), exports);
|
|
15
21
|
tslib_1.__exportStar(require("./LogLevel"), exports);
|
|
22
|
+
tslib_1.__exportStar(require("./ModelPrimitive"), exports);
|
|
16
23
|
tslib_1.__exportStar(require("./NumericType"), exports);
|
|
17
24
|
tslib_1.__exportStar(require("./PackedElementField"), exports);
|
|
18
25
|
tslib_1.__exportStar(require("./Point2"), exports);
|
|
@@ -26,6 +33,13 @@ tslib_1.__exportStar(require("./PosesInFrame"), exports);
|
|
|
26
33
|
tslib_1.__exportStar(require("./PositionCovarianceType"), exports);
|
|
27
34
|
tslib_1.__exportStar(require("./Quaternion"), exports);
|
|
28
35
|
tslib_1.__exportStar(require("./RawImage"), exports);
|
|
36
|
+
tslib_1.__exportStar(require("./SceneEntity"), exports);
|
|
37
|
+
tslib_1.__exportStar(require("./SceneEntityDeletion"), exports);
|
|
38
|
+
tslib_1.__exportStar(require("./SceneEntityDeletionType"), exports);
|
|
39
|
+
tslib_1.__exportStar(require("./SceneUpdate"), exports);
|
|
40
|
+
tslib_1.__exportStar(require("./SpherePrimitive"), exports);
|
|
41
|
+
tslib_1.__exportStar(require("./TextPrimitive"), exports);
|
|
42
|
+
tslib_1.__exportStar(require("./TriangleListPrimitive"), exports);
|
|
29
43
|
tslib_1.__exportStar(require("./Vector2"), exports);
|
|
30
44
|
tslib_1.__exportStar(require("./Vector3"), exports);
|
|
31
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schemas/typescript/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,6DAAmC;AACnC,kDAAwB;AACxB,4DAAkC;AAClC,2DAAiC;AACjC,oDAA0B;AAC1B,iDAAuB;AACvB,6DAAmC;AACnC,sDAA4B;AAC5B,wDAA8B;AAC9B,gDAAsB;AACtB,qDAA2B;AAC3B,wDAA8B;AAC9B,+DAAqC;AACrC,mDAAyB;AACzB,mDAAyB;AACzB,uDAA6B;AAC7B,6DAAmC;AACnC,iEAAuC;AACvC,iDAAuB;AACvB,wDAA8B;AAC9B,yDAA+B;AAC/B,mEAAyC;AACzC,uDAA6B;AAC7B,qDAA2B;AAC3B,oDAA0B;AAC1B,oDAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schemas/typescript/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,8DAAoC;AACpC,6DAAmC;AACnC,kDAAwB;AACxB,4DAAkC;AAClC,0DAAgC;AAChC,8DAAoC;AACpC,2DAAiC;AACjC,oDAA0B;AAC1B,iDAAuB;AACvB,6DAAmC;AACnC,yDAA+B;AAC/B,sDAA4B;AAC5B,0DAAgC;AAChC,qDAA2B;AAC3B,wDAA8B;AAC9B,gDAAsB;AACtB,qDAA2B;AAC3B,2DAAiC;AACjC,wDAA8B;AAC9B,+DAAqC;AACrC,mDAAyB;AACzB,mDAAyB;AACzB,uDAA6B;AAC7B,6DAAmC;AACnC,iEAAuC;AACvC,iDAAuB;AACvB,wDAA8B;AAC9B,yDAA+B;AAC/B,mEAAyC;AACzC,uDAA6B;AAC7B,qDAA2B;AAC3B,wDAA8B;AAC9B,gEAAsC;AACtC,oEAA0C;AAC1C,wDAA8B;AAC9B,4DAAkC;AAClC,0DAAgC;AAChC,kEAAwC;AACxC,oDAA0B;AAC1B,oDAA0B"}
|
|
@@ -8,46 +8,46 @@ const testFixtures_1 = require("./testFixtures");
|
|
|
8
8
|
describe("generateJsonSchema", () => {
|
|
9
9
|
it("generates expected JSON Schema", () => {
|
|
10
10
|
expect((0, generateJsonSchema_1.generateJsonSchema)(testFixtures_1.exampleMessage)).toMatchInlineSnapshot(`
|
|
11
|
-
|
|
11
|
+
{
|
|
12
12
|
"$comment": "Generated by https://github.com/foxglove/schemas",
|
|
13
13
|
"description": "An example type",
|
|
14
|
-
"properties":
|
|
15
|
-
"field_boolean":
|
|
14
|
+
"properties": {
|
|
15
|
+
"field_boolean": {
|
|
16
16
|
"description": "boolean field",
|
|
17
17
|
"type": "boolean",
|
|
18
18
|
},
|
|
19
|
-
"field_boolean_array":
|
|
19
|
+
"field_boolean_array": {
|
|
20
20
|
"description": "boolean array field",
|
|
21
|
-
"items":
|
|
21
|
+
"items": {
|
|
22
22
|
"type": "boolean",
|
|
23
23
|
},
|
|
24
24
|
"type": "array",
|
|
25
25
|
},
|
|
26
|
-
"field_boolean_fixed_array":
|
|
26
|
+
"field_boolean_fixed_array": {
|
|
27
27
|
"description": "boolean fixed-length array field",
|
|
28
|
-
"items":
|
|
28
|
+
"items": {
|
|
29
29
|
"type": "boolean",
|
|
30
30
|
},
|
|
31
31
|
"maxItems": 3,
|
|
32
32
|
"minItems": 3,
|
|
33
33
|
"type": "array",
|
|
34
34
|
},
|
|
35
|
-
"field_bytes":
|
|
35
|
+
"field_bytes": {
|
|
36
36
|
"contentEncoding": "base64",
|
|
37
37
|
"description": "bytes field",
|
|
38
38
|
"type": "string",
|
|
39
39
|
},
|
|
40
|
-
"field_bytes_array":
|
|
40
|
+
"field_bytes_array": {
|
|
41
41
|
"description": "bytes array field",
|
|
42
|
-
"items":
|
|
42
|
+
"items": {
|
|
43
43
|
"contentEncoding": "base64",
|
|
44
44
|
"type": "string",
|
|
45
45
|
},
|
|
46
46
|
"type": "array",
|
|
47
47
|
},
|
|
48
|
-
"field_bytes_fixed_array":
|
|
48
|
+
"field_bytes_fixed_array": {
|
|
49
49
|
"description": "bytes fixed-length array field",
|
|
50
|
-
"items":
|
|
50
|
+
"items": {
|
|
51
51
|
"contentEncoding": "base64",
|
|
52
52
|
"type": "string",
|
|
53
53
|
},
|
|
@@ -55,31 +55,31 @@ describe("generateJsonSchema", () => {
|
|
|
55
55
|
"minItems": 3,
|
|
56
56
|
"type": "array",
|
|
57
57
|
},
|
|
58
|
-
"field_duration":
|
|
58
|
+
"field_duration": {
|
|
59
59
|
"description": "duration field",
|
|
60
|
-
"properties":
|
|
61
|
-
"nsec":
|
|
60
|
+
"properties": {
|
|
61
|
+
"nsec": {
|
|
62
62
|
"maximum": 999999999,
|
|
63
63
|
"minimum": 0,
|
|
64
64
|
"type": "integer",
|
|
65
65
|
},
|
|
66
|
-
"sec":
|
|
66
|
+
"sec": {
|
|
67
67
|
"type": "integer",
|
|
68
68
|
},
|
|
69
69
|
},
|
|
70
70
|
"title": "duration",
|
|
71
71
|
"type": "object",
|
|
72
72
|
},
|
|
73
|
-
"field_duration_array":
|
|
73
|
+
"field_duration_array": {
|
|
74
74
|
"description": "duration array field",
|
|
75
|
-
"items":
|
|
76
|
-
"properties":
|
|
77
|
-
"nsec":
|
|
75
|
+
"items": {
|
|
76
|
+
"properties": {
|
|
77
|
+
"nsec": {
|
|
78
78
|
"maximum": 999999999,
|
|
79
79
|
"minimum": 0,
|
|
80
80
|
"type": "integer",
|
|
81
81
|
},
|
|
82
|
-
"sec":
|
|
82
|
+
"sec": {
|
|
83
83
|
"type": "integer",
|
|
84
84
|
},
|
|
85
85
|
},
|
|
@@ -88,16 +88,16 @@ describe("generateJsonSchema", () => {
|
|
|
88
88
|
},
|
|
89
89
|
"type": "array",
|
|
90
90
|
},
|
|
91
|
-
"field_duration_fixed_array":
|
|
91
|
+
"field_duration_fixed_array": {
|
|
92
92
|
"description": "duration fixed-length array field",
|
|
93
|
-
"items":
|
|
94
|
-
"properties":
|
|
95
|
-
"nsec":
|
|
93
|
+
"items": {
|
|
94
|
+
"properties": {
|
|
95
|
+
"nsec": {
|
|
96
96
|
"maximum": 999999999,
|
|
97
97
|
"minimum": 0,
|
|
98
98
|
"type": "integer",
|
|
99
99
|
},
|
|
100
|
-
"sec":
|
|
100
|
+
"sec": {
|
|
101
101
|
"type": "integer",
|
|
102
102
|
},
|
|
103
103
|
},
|
|
@@ -108,15 +108,15 @@ describe("generateJsonSchema", () => {
|
|
|
108
108
|
"minItems": 3,
|
|
109
109
|
"type": "array",
|
|
110
110
|
},
|
|
111
|
-
"field_enum":
|
|
111
|
+
"field_enum": {
|
|
112
112
|
"description": "An enum field",
|
|
113
|
-
"oneOf":
|
|
114
|
-
|
|
113
|
+
"oneOf": [
|
|
114
|
+
{
|
|
115
115
|
"const": 1,
|
|
116
116
|
"description": "Value A",
|
|
117
117
|
"title": "A",
|
|
118
118
|
},
|
|
119
|
-
|
|
119
|
+
{
|
|
120
120
|
"const": 2,
|
|
121
121
|
"description": "Value B",
|
|
122
122
|
"title": "B",
|
|
@@ -124,17 +124,17 @@ describe("generateJsonSchema", () => {
|
|
|
124
124
|
],
|
|
125
125
|
"title": "foxglove.ExampleEnum",
|
|
126
126
|
},
|
|
127
|
-
"field_enum_array":
|
|
127
|
+
"field_enum_array": {
|
|
128
128
|
"description": "An enum array field",
|
|
129
|
-
"items":
|
|
129
|
+
"items": {
|
|
130
130
|
"description": "An enum array field",
|
|
131
|
-
"oneOf":
|
|
132
|
-
|
|
131
|
+
"oneOf": [
|
|
132
|
+
{
|
|
133
133
|
"const": 1,
|
|
134
134
|
"description": "Value A",
|
|
135
135
|
"title": "A",
|
|
136
136
|
},
|
|
137
|
-
|
|
137
|
+
{
|
|
138
138
|
"const": 2,
|
|
139
139
|
"description": "Value B",
|
|
140
140
|
"title": "B",
|
|
@@ -144,30 +144,30 @@ describe("generateJsonSchema", () => {
|
|
|
144
144
|
},
|
|
145
145
|
"type": "array",
|
|
146
146
|
},
|
|
147
|
-
"field_float64":
|
|
147
|
+
"field_float64": {
|
|
148
148
|
"description": "float64 field",
|
|
149
149
|
"type": "number",
|
|
150
150
|
},
|
|
151
|
-
"field_float64_array":
|
|
151
|
+
"field_float64_array": {
|
|
152
152
|
"description": "float64 array field",
|
|
153
|
-
"items":
|
|
153
|
+
"items": {
|
|
154
154
|
"type": "number",
|
|
155
155
|
},
|
|
156
156
|
"type": "array",
|
|
157
157
|
},
|
|
158
|
-
"field_float64_fixed_array":
|
|
158
|
+
"field_float64_fixed_array": {
|
|
159
159
|
"description": "float64 fixed-length array field",
|
|
160
|
-
"items":
|
|
160
|
+
"items": {
|
|
161
161
|
"type": "number",
|
|
162
162
|
},
|
|
163
163
|
"maxItems": 3,
|
|
164
164
|
"minItems": 3,
|
|
165
165
|
"type": "array",
|
|
166
166
|
},
|
|
167
|
-
"field_nested":
|
|
167
|
+
"field_nested": {
|
|
168
168
|
"description": "A nested field",
|
|
169
|
-
"properties":
|
|
170
|
-
"field_enum":
|
|
169
|
+
"properties": {
|
|
170
|
+
"field_enum": {
|
|
171
171
|
"description": "An enum field",
|
|
172
172
|
"minimum": 0,
|
|
173
173
|
"type": "integer",
|
|
@@ -176,17 +176,17 @@ describe("generateJsonSchema", () => {
|
|
|
176
176
|
"title": "foxglove.NestedMessage",
|
|
177
177
|
"type": "object",
|
|
178
178
|
},
|
|
179
|
-
"field_nested_array":
|
|
179
|
+
"field_nested_array": {
|
|
180
180
|
"description": "A nested array field
|
|
181
181
|
With
|
|
182
182
|
a
|
|
183
183
|
very
|
|
184
184
|
long
|
|
185
185
|
description",
|
|
186
|
-
"items":
|
|
186
|
+
"items": {
|
|
187
187
|
"description": "An example nested message",
|
|
188
|
-
"properties":
|
|
189
|
-
"field_enum":
|
|
188
|
+
"properties": {
|
|
189
|
+
"field_enum": {
|
|
190
190
|
"description": "An enum field",
|
|
191
191
|
"minimum": 0,
|
|
192
192
|
"type": "integer",
|
|
@@ -197,35 +197,35 @@ describe("generateJsonSchema", () => {
|
|
|
197
197
|
},
|
|
198
198
|
"type": "array",
|
|
199
199
|
},
|
|
200
|
-
"field_string":
|
|
200
|
+
"field_string": {
|
|
201
201
|
"description": "string field",
|
|
202
202
|
"type": "string",
|
|
203
203
|
},
|
|
204
|
-
"field_string_array":
|
|
204
|
+
"field_string_array": {
|
|
205
205
|
"description": "string array field",
|
|
206
|
-
"items":
|
|
206
|
+
"items": {
|
|
207
207
|
"type": "string",
|
|
208
208
|
},
|
|
209
209
|
"type": "array",
|
|
210
210
|
},
|
|
211
|
-
"field_string_fixed_array":
|
|
211
|
+
"field_string_fixed_array": {
|
|
212
212
|
"description": "string fixed-length array field",
|
|
213
|
-
"items":
|
|
213
|
+
"items": {
|
|
214
214
|
"type": "string",
|
|
215
215
|
},
|
|
216
216
|
"maxItems": 3,
|
|
217
217
|
"minItems": 3,
|
|
218
218
|
"type": "array",
|
|
219
219
|
},
|
|
220
|
-
"field_time":
|
|
220
|
+
"field_time": {
|
|
221
221
|
"description": "time field",
|
|
222
|
-
"properties":
|
|
223
|
-
"nsec":
|
|
222
|
+
"properties": {
|
|
223
|
+
"nsec": {
|
|
224
224
|
"maximum": 999999999,
|
|
225
225
|
"minimum": 0,
|
|
226
226
|
"type": "integer",
|
|
227
227
|
},
|
|
228
|
-
"sec":
|
|
228
|
+
"sec": {
|
|
229
229
|
"minimum": 0,
|
|
230
230
|
"type": "integer",
|
|
231
231
|
},
|
|
@@ -233,16 +233,16 @@ describe("generateJsonSchema", () => {
|
|
|
233
233
|
"title": "time",
|
|
234
234
|
"type": "object",
|
|
235
235
|
},
|
|
236
|
-
"field_time_array":
|
|
236
|
+
"field_time_array": {
|
|
237
237
|
"description": "time array field",
|
|
238
|
-
"items":
|
|
239
|
-
"properties":
|
|
240
|
-
"nsec":
|
|
238
|
+
"items": {
|
|
239
|
+
"properties": {
|
|
240
|
+
"nsec": {
|
|
241
241
|
"maximum": 999999999,
|
|
242
242
|
"minimum": 0,
|
|
243
243
|
"type": "integer",
|
|
244
244
|
},
|
|
245
|
-
"sec":
|
|
245
|
+
"sec": {
|
|
246
246
|
"minimum": 0,
|
|
247
247
|
"type": "integer",
|
|
248
248
|
},
|
|
@@ -252,16 +252,16 @@ describe("generateJsonSchema", () => {
|
|
|
252
252
|
},
|
|
253
253
|
"type": "array",
|
|
254
254
|
},
|
|
255
|
-
"field_time_fixed_array":
|
|
255
|
+
"field_time_fixed_array": {
|
|
256
256
|
"description": "time fixed-length array field",
|
|
257
|
-
"items":
|
|
258
|
-
"properties":
|
|
259
|
-
"nsec":
|
|
257
|
+
"items": {
|
|
258
|
+
"properties": {
|
|
259
|
+
"nsec": {
|
|
260
260
|
"maximum": 999999999,
|
|
261
261
|
"minimum": 0,
|
|
262
262
|
"type": "integer",
|
|
263
263
|
},
|
|
264
|
-
"sec":
|
|
264
|
+
"sec": {
|
|
265
265
|
"minimum": 0,
|
|
266
266
|
"type": "integer",
|
|
267
267
|
},
|
|
@@ -273,22 +273,22 @@ describe("generateJsonSchema", () => {
|
|
|
273
273
|
"minItems": 3,
|
|
274
274
|
"type": "array",
|
|
275
275
|
},
|
|
276
|
-
"field_uint32":
|
|
276
|
+
"field_uint32": {
|
|
277
277
|
"description": "uint32 field",
|
|
278
278
|
"minimum": 0,
|
|
279
279
|
"type": "integer",
|
|
280
280
|
},
|
|
281
|
-
"field_uint32_array":
|
|
281
|
+
"field_uint32_array": {
|
|
282
282
|
"description": "uint32 array field",
|
|
283
|
-
"items":
|
|
283
|
+
"items": {
|
|
284
284
|
"minimum": 0,
|
|
285
285
|
"type": "integer",
|
|
286
286
|
},
|
|
287
287
|
"type": "array",
|
|
288
288
|
},
|
|
289
|
-
"field_uint32_fixed_array":
|
|
289
|
+
"field_uint32_fixed_array": {
|
|
290
290
|
"description": "uint32 fixed-length array field",
|
|
291
|
-
"items":
|
|
291
|
+
"items": {
|
|
292
292
|
"minimum": 0,
|
|
293
293
|
"type": "integer",
|
|
294
294
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateProto.d.ts","sourceRoot":"","sources":["../../../src/generateProto.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"generateProto.d.ts","sourceRoot":"","sources":["../../../src/generateProto.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAElB,qBAAqB,EAEtB,MAAM,SAAS,CAAC;AAiBjB,wBAAgB,aAAa,CAC3B,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,kBAAkB,EAAE,GAChC,MAAM,CAoGR"}
|
|
@@ -28,9 +28,27 @@ function generateProto(schema, nestedEnums) {
|
|
|
28
28
|
});
|
|
29
29
|
enumDefinitions.push(` // ${enumSchema.description}\n enum ${enumSchema.protobufEnumName} {\n ${fields.join("\n\n ")}\n }\n`);
|
|
30
30
|
}
|
|
31
|
-
|
|
31
|
+
const explicitFieldNumbers = new Set();
|
|
32
|
+
for (const field of schema.fields) {
|
|
33
|
+
if (field.protobufFieldNumber != undefined) {
|
|
34
|
+
if (explicitFieldNumbers.has(field.protobufFieldNumber)) {
|
|
35
|
+
throw new Error(`More than one field with protobufFieldNumber ${field.protobufFieldNumber}`);
|
|
36
|
+
}
|
|
37
|
+
explicitFieldNumbers.add(field.protobufFieldNumber);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
let nextFieldNumber = 1;
|
|
41
|
+
const numberedFields = schema.fields.map((field) => {
|
|
42
|
+
if (field.protobufFieldNumber != undefined) {
|
|
43
|
+
return { ...field, protobufFieldNumber: field.protobufFieldNumber };
|
|
44
|
+
}
|
|
45
|
+
while (explicitFieldNumbers.has(nextFieldNumber)) {
|
|
46
|
+
++nextFieldNumber;
|
|
47
|
+
}
|
|
48
|
+
return { ...field, protobufFieldNumber: nextFieldNumber++ };
|
|
49
|
+
});
|
|
32
50
|
const imports = new Set();
|
|
33
|
-
const fields =
|
|
51
|
+
const fields = numberedFields.map((field) => {
|
|
34
52
|
const lineComments = [];
|
|
35
53
|
const qualifiers = [];
|
|
36
54
|
if (field.array != undefined) {
|
|
@@ -65,7 +83,7 @@ function generateProto(schema, nestedEnums) {
|
|
|
65
83
|
.trim()
|
|
66
84
|
.split("\n")
|
|
67
85
|
.map((line) => ` // ${line}\n`)
|
|
68
|
-
.join("")} ${qualifiers.join(" ")} ${field.name} = ${
|
|
86
|
+
.join("")} ${qualifiers.join(" ")} ${field.name} = ${field.protobufFieldNumber};${lineComments.length > 0 ? " // " + lineComments.join(", ") : ""}`;
|
|
69
87
|
});
|
|
70
88
|
const definition = `// ${schema.description}\nmessage ${schema.name} {\n${enumDefinitions.join("\n\n")}${fields.join("\n\n")}\n}`;
|
|
71
89
|
const outputSections = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateProto.js","sourceRoot":"","sources":["../../../src/generateProto.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generateProto.js","sourceRoot":"","sources":["../../../src/generateProto.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,11 +10,11 @@ describe("generateProto", () => {
|
|
|
10
10
|
expect((0, generateProto_1.generateProto)(testFixtures_1.exampleMessage, [testFixtures_1.exampleEnum])).toMatchInlineSnapshot(`
|
|
11
11
|
"// Generated by https://github.com/foxglove/schemas
|
|
12
12
|
|
|
13
|
-
syntax =
|
|
13
|
+
syntax = "proto3";
|
|
14
14
|
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
15
|
+
import "foxglove/NestedMessage.proto";
|
|
16
|
+
import "google/protobuf/duration.proto";
|
|
17
|
+
import "google/protobuf/timestamp.proto";
|
|
18
18
|
|
|
19
19
|
package foxglove;
|
|
20
20
|
|
|
@@ -38,67 +38,67 @@ describe("generateProto", () => {
|
|
|
38
38
|
bool field_boolean = 3;
|
|
39
39
|
|
|
40
40
|
// bytes field
|
|
41
|
-
bytes field_bytes =
|
|
41
|
+
bytes field_bytes = 5;
|
|
42
42
|
|
|
43
43
|
// float64 field
|
|
44
|
-
double field_float64 =
|
|
44
|
+
double field_float64 = 6;
|
|
45
45
|
|
|
46
46
|
// uint32 field
|
|
47
|
-
fixed32 field_uint32 =
|
|
47
|
+
fixed32 field_uint32 = 7;
|
|
48
48
|
|
|
49
49
|
// string field
|
|
50
|
-
string field_string =
|
|
50
|
+
string field_string = 8;
|
|
51
51
|
|
|
52
52
|
// duration array field
|
|
53
|
-
repeated google.protobuf.Duration field_duration_array =
|
|
53
|
+
repeated google.protobuf.Duration field_duration_array = 9;
|
|
54
54
|
|
|
55
55
|
// time array field
|
|
56
|
-
repeated google.protobuf.Timestamp field_time_array =
|
|
56
|
+
repeated google.protobuf.Timestamp field_time_array = 10;
|
|
57
57
|
|
|
58
58
|
// boolean array field
|
|
59
|
-
repeated bool field_boolean_array =
|
|
59
|
+
repeated bool field_boolean_array = 11;
|
|
60
60
|
|
|
61
61
|
// bytes array field
|
|
62
|
-
repeated bytes field_bytes_array =
|
|
62
|
+
repeated bytes field_bytes_array = 12;
|
|
63
63
|
|
|
64
64
|
// float64 array field
|
|
65
|
-
repeated double field_float64_array =
|
|
65
|
+
repeated double field_float64_array = 13;
|
|
66
66
|
|
|
67
67
|
// uint32 array field
|
|
68
|
-
repeated fixed32 field_uint32_array =
|
|
68
|
+
repeated fixed32 field_uint32_array = 14;
|
|
69
69
|
|
|
70
70
|
// string array field
|
|
71
|
-
repeated string field_string_array =
|
|
71
|
+
repeated string field_string_array = 15;
|
|
72
72
|
|
|
73
73
|
// duration fixed-length array field
|
|
74
|
-
repeated google.protobuf.Duration field_duration_fixed_array =
|
|
74
|
+
repeated google.protobuf.Duration field_duration_fixed_array = 16; // length 3
|
|
75
75
|
|
|
76
76
|
// time fixed-length array field
|
|
77
|
-
repeated google.protobuf.Timestamp field_time_fixed_array =
|
|
77
|
+
repeated google.protobuf.Timestamp field_time_fixed_array = 17; // length 3
|
|
78
78
|
|
|
79
79
|
// boolean fixed-length array field
|
|
80
|
-
repeated bool field_boolean_fixed_array =
|
|
80
|
+
repeated bool field_boolean_fixed_array = 18; // length 3
|
|
81
81
|
|
|
82
82
|
// bytes fixed-length array field
|
|
83
|
-
repeated bytes field_bytes_fixed_array =
|
|
83
|
+
repeated bytes field_bytes_fixed_array = 19; // length 3
|
|
84
84
|
|
|
85
85
|
// float64 fixed-length array field
|
|
86
|
-
repeated double field_float64_fixed_array =
|
|
86
|
+
repeated double field_float64_fixed_array = 20; // length 3
|
|
87
87
|
|
|
88
88
|
// uint32 fixed-length array field
|
|
89
|
-
repeated fixed32 field_uint32_fixed_array =
|
|
89
|
+
repeated fixed32 field_uint32_fixed_array = 21; // length 3
|
|
90
90
|
|
|
91
91
|
// string fixed-length array field
|
|
92
|
-
repeated string field_string_fixed_array =
|
|
92
|
+
repeated string field_string_fixed_array = 22; // length 3
|
|
93
93
|
|
|
94
94
|
// An enum field
|
|
95
|
-
ExampleProtoEnum field_enum =
|
|
95
|
+
ExampleProtoEnum field_enum = 23;
|
|
96
96
|
|
|
97
97
|
// An enum array field
|
|
98
|
-
repeated ExampleProtoEnum field_enum_array =
|
|
98
|
+
repeated ExampleProtoEnum field_enum_array = 24;
|
|
99
99
|
|
|
100
100
|
// A nested field
|
|
101
|
-
foxglove.NestedMessage field_nested =
|
|
101
|
+
foxglove.NestedMessage field_nested = 25;
|
|
102
102
|
|
|
103
103
|
// A nested array field
|
|
104
104
|
// With
|
|
@@ -106,7 +106,7 @@ describe("generateProto", () => {
|
|
|
106
106
|
// very
|
|
107
107
|
// long
|
|
108
108
|
// description
|
|
109
|
-
repeated foxglove.NestedMessage field_nested_array =
|
|
109
|
+
repeated foxglove.NestedMessage field_nested_array = 4;
|
|
110
110
|
}
|
|
111
111
|
"
|
|
112
112
|
`);
|
|
@@ -58,7 +58,7 @@ function* getSchemaDependencies(schema) {
|
|
|
58
58
|
if (field.type.type === "nested") {
|
|
59
59
|
if (field.type.schema.rosEquivalent != undefined) {
|
|
60
60
|
yield { type: "ros", name: field.type.schema.rosEquivalent };
|
|
61
|
-
yield* getRosDependencies(rosmsg_msgs_common_1.
|
|
61
|
+
yield* getRosDependencies(rosmsg_msgs_common_1.ros1[field.type.schema.rosEquivalent]);
|
|
62
62
|
}
|
|
63
63
|
else {
|
|
64
64
|
yield { type: "foxglove", schema: field.type.schema };
|
|
@@ -71,7 +71,7 @@ function* getRosDependencies(schema) {
|
|
|
71
71
|
for (const field of schema.definitions) {
|
|
72
72
|
if (field.isComplex === true) {
|
|
73
73
|
yield { type: "ros", name: field.type };
|
|
74
|
-
yield* getRosDependencies(rosmsg_msgs_common_1.
|
|
74
|
+
yield* getRosDependencies(rosmsg_msgs_common_1.ros1[field.type]);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
@@ -174,7 +174,7 @@ function generateRosMsgMergedSchema(schema, { rosVersion }) {
|
|
|
174
174
|
originalName: dep.name,
|
|
175
175
|
rosMsgInterfaceName: dep.name,
|
|
176
176
|
rosFullInterfaceName: dep.name,
|
|
177
|
-
fields: rosmsg_msgs_common_1.
|
|
177
|
+
fields: rosmsg_msgs_common_1.ros1[dep.name].definitions,
|
|
178
178
|
});
|
|
179
179
|
}
|
|
180
180
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateRos.js","sourceRoot":"","sources":["../../../src/generateRos.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"generateRos.js","sourceRoot":"","sources":["../../../src/generateRos.ts"],"names":[],"mappings":";;;AACA,qEAAoD;AAiBpD,SAAS,cAAc,CACrB,IAAoD,EACpD,EAAE,UAAU,EAAyB;IAErC,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/D,KAAK,UAAU;YACb,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC;KACxE;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,GAAoC;IACjE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,IAAI,KAAK,GAAG,CAAC,oBAAoB,IAAI,CAAC;IAC5C,IAAI,GAAG,CAAC,WAAW,IAAI,SAAS,EAAE;QAChC,MAAM,IAAI,KAAK,GAAG,CAAC,WAAW,IAAI,CAAC;KACpC;IACD,MAAM,IAAI,wDAAwD,CAAC;IAEnE,IAAI,mBAAmB,GAAG,IAAI,CAAC,CAAC,4CAA4C;IAC5E,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;QAC9B,IAAI,mBAAmB,IAAI,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE;YACzD,MAAM,IAAI,IAAI,CAAC;SAChB;QACD,mBAAmB,GAAG,KAAK,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,IAAI,SAAS,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,WAAW;iBACxB,IAAI,EAAE;iBACN,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;iBAC5B,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,mBAAmB,GAAG,IAAI,CAAC;SAC5B;QACD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE;YAC7B,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,IAAI,mBAAmB,CAAC,CAAC;aAC5D;YACD,QAAQ,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;SAClC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IACpF,KAAK,CAAC,IACR,GAAG,QAAQ,IAAI,CAAC;KACjB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAlCD,wCAkCC;AAMD,SAAS,iBAAiB,CAAC,CAAa,EAAE,CAAa;IACrD,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACnF,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,CAAC,qBAAqB,CAAC,MAA6B;IAC3D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QACjC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAChC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE;gBAChD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC7D,KAAK,CAAC,CAAC,kBAAkB,CAAC,yBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;aAClE;iBAAM;gBACL,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtD,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACjD;SACF;KACF;AACH,CAAC;AACD,QAAQ,CAAC,CAAC,kBAAkB,CAAC,MAAwB;IACnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE;QACtC,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE;YAC5B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAyB,EAAE,CAAC;YAC7D,KAAK,CAAC,CAAC,kBAAkB,CAAC,yBAAI,CAAC,KAAK,CAAC,IAAyB,CAAE,CAAC,CAAC;SACnE;KACF;AACH,CAAC;AAED,SAAgB,wBAAwB,CACtC,MAA6B,EAC7B,EAAE,UAAU,EAAyB;IAErC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,MAAM,MAAM,GAAiC,EAAE,CAAC;IAChD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QACjC,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;QACvC,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,SAAiB,CAAC;QACtB,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;YACvB,KAAK,MAAM,CAAC,CAAC;gBACX,0EAA0E;gBAC1E,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC,MAAM,SAAS,GAAG,OAAO,CAAC;gBAC1B,SAAS,GAAG,SAAS,CAAC;gBACtB,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC/B,MAAM;iBACP;gBACD,MAAM,UAAU,GAAiC,EAAE,CAAC;gBACpD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBACjE,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBAC5B,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,+CAA+C,MAAM,CAAC,IAAI,0CAA0C,CACvH,CAAC;qBACH;oBACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;wBACxD,MAAM,IAAI,KAAK,CACb,mDAAmD,IAAI,IAAI,KAAK,kBAAkB,CACnF,CAAC;qBACH;oBACD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzB,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI;wBACJ,KAAK;wBACL,UAAU,EAAE,IAAI;wBAChB,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE;wBAC3B,IAAI,EAAE,SAAS;wBACf,WAAW;qBACZ,CAAC,CAAC;iBACJ;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;gBAC3B,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM;aACP;YAED,KAAK,QAAQ;gBACX,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE;oBAChD,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;iBAC7C;qBAAM;oBACL,SAAS,GAAG,iBAAiB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;iBACvD;gBACD,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC/B,SAAS,GAAG,OAAO,CAAC;oBACpB,IAAI,OAAO,EAAE;wBACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;qBAC/D;oBACD,OAAO,GAAG,IAAI,CAAC;iBAChB;qBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACvC,SAAS,GAAG,QAAQ,CAAC;iBACtB;qBAAM;oBACL,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;iBAC7D;gBACD,MAAM;SACT;QACD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YAC9D,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;YACvC,OAAO;YACP,WAAW;YACX,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC;KACJ;IAED,OAAO;QACL,YAAY,EAAE,MAAM,CAAC,IAAI;QACzB,mBAAmB,EAAE,iBAAiB,MAAM,CAAC,IAAI,EAAE;QACnD,oBAAoB,EAClB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,IAAI,EAAE;QACxF,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM;KACP,CAAC;AACJ,CAAC;AAzFD,4DAyFC;AAED,SAAgB,0BAA0B,CACxC,MAA6B,EAC7B,EAAE,UAAU,EAAyB;IAErC,MAAM,YAAY,GAAiB,EAAE,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE;YACtE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACxB;KACF;IAED,IAAI,MAAM,GAAG,cAAc,CAAC,wBAAwB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9E,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;QAC9B,IAAI,IAAY,CAAC;QACjB,IAAI,MAAc,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE;YACtB,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAChB,MAAM,GAAG,cAAc,CAAC;gBACtB,YAAY,EAAE,GAAG,CAAC,IAAI;gBACtB,mBAAmB,EAAE,GAAG,CAAC,IAAI;gBAC7B,oBAAoB,EAAE,GAAG,CAAC,IAAI;gBAC9B,MAAM,EAAE,yBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW;aACnC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,UAAU,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACxE,IAAI,GAAG,UAAU,CAAC,mBAAmB,CAAC;YACtC,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;SACrC;QACD,MAAM,IAAI,0FAA0F,IAAI,KAAK,MAAM,EAAE,CAAC;KACvH;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,gEA+BC"}
|