@foxglove/schemas 1.7.1 → 1.7.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 (39) hide show
  1. package/dist/internal/generatePyclass.d.ts +3 -3
  2. package/dist/internal/generatePyclass.d.ts.map +1 -1
  3. package/dist/internal/generatePyclass.js +80 -19
  4. package/dist/internal/generatePyclass.js.map +1 -1
  5. package/dist/internal/generatePyclass.test.js +147 -140
  6. package/dist/internal/generatePyclass.test.js.map +1 -1
  7. package/dist/internal/generateSdkCpp.d.ts +4 -0
  8. package/dist/internal/generateSdkCpp.d.ts.map +1 -0
  9. package/dist/internal/generateSdkCpp.js +359 -0
  10. package/dist/internal/generateSdkCpp.js.map +1 -0
  11. package/dist/internal/generateSdkRustCTypes.d.ts +3 -0
  12. package/dist/internal/generateSdkRustCTypes.d.ts.map +1 -0
  13. package/dist/internal/generateSdkRustCTypes.js +253 -0
  14. package/dist/internal/generateSdkRustCTypes.js.map +1 -0
  15. package/dist/internal/schemas.d.ts.map +1 -1
  16. package/dist/internal/schemas.js +25 -21
  17. package/dist/internal/schemas.js.map +1 -1
  18. package/dist/jsonschema/index.d.ts +9 -12
  19. package/dist/jsonschema/index.d.ts.map +1 -1
  20. package/dist/jsonschema/index.js +79 -40
  21. package/dist/jsonschema/index.js.map +1 -1
  22. package/dist/types/CameraCalibration.d.ts +1 -1
  23. package/dist/types/LogLevel.d.ts +6 -0
  24. package/dist/types/LogLevel.d.ts.map +1 -1
  25. package/dist/types/LogLevel.js +6 -0
  26. package/dist/types/LogLevel.js.map +1 -1
  27. package/dist/types/NumericType.d.ts +9 -0
  28. package/dist/types/NumericType.d.ts.map +1 -1
  29. package/dist/types/NumericType.js +9 -0
  30. package/dist/types/NumericType.js.map +1 -1
  31. package/dist/types/PointsAnnotationType.d.ts +1 -0
  32. package/dist/types/PointsAnnotationType.d.ts.map +1 -1
  33. package/dist/types/PointsAnnotationType.js +1 -0
  34. package/dist/types/PointsAnnotationType.js.map +1 -1
  35. package/dist/types/PositionCovarianceType.d.ts +4 -0
  36. package/dist/types/PositionCovarianceType.d.ts.map +1 -1
  37. package/dist/types/PositionCovarianceType.js +4 -0
  38. package/dist/types/PositionCovarianceType.js.map +1 -1
  39. package/package.json +1 -1
@@ -24,11 +24,11 @@ export declare function generateSchemaModuleRegistration(schemas: FoxgloveSchema
24
24
  * Generate a concrete `pyclass`-annotated Channel struct for each message schema, since generics
25
25
  * can't be exported directly to Python.
26
26
  */
27
- export declare function generateChannelClasses(messageSchemas: FoxgloveMessageSchema[]): string;
27
+ export declare function generateChannelClasses(schemas: FoxgloveMessageSchema[]): string;
28
28
  /**
29
- * Generate a .pyi stub for the given schemas.
29
+ * Generate a .pyi stub for the given schema channels.
30
30
  */
31
- export declare function generatePyChannelStub(messageSchemas: FoxgloveMessageSchema[]): string;
31
+ export declare function generatePyChannelStub(schemas: FoxgloveMessageSchema[]): string;
32
32
  /**
33
33
  * Generate a module __init__ file re-exporting all channels to the public API.
34
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generatePyclass.d.ts","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EAErB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAsB9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAmEtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CA8BxE;AAiVD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAmBlF;AAkCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,MAAM,CA4FtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,qBAAqB,EAAE,GAAG,MAAM,CA6DrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAiBhF"}
1
+ {"version":3,"file":"generatePyclass.d.ts","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EAErB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAwB9C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAwEtE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAiCxE;AAsVD;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAmBlF;AA6BD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CA0H/E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAkF9E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAchF"}
@@ -23,8 +23,10 @@ function generateSchemaPrelude() {
23
23
  `#![allow(non_snake_case)]`,
24
24
  ];
25
25
  const imports = [
26
+ "use crate::PySchema;",
26
27
  "use crate::schemas_wkt::{Duration, Timestamp};",
27
28
  "use bytes::Bytes;",
29
+ "use foxglove::Encode;",
28
30
  "use pyo3::prelude::*;",
29
31
  "use pyo3::types::PyBytes;",
30
32
  ];
@@ -46,6 +48,7 @@ function generatePySchemaStub(schemas) {
46
48
  "from enum import Enum",
47
49
  "from typing import List, Optional, Union",
48
50
  "",
51
+ "from . import Schema",
49
52
  // Use "from mod import X as X" syntax to explicitly re-export.
50
53
  "from .schemas_wkt import Duration as Duration",
51
54
  "from .schemas_wkt import Timestamp as Timestamp",
@@ -83,6 +86,10 @@ function generatePySchemaStub(schemas) {
83
86
  " *,",
84
87
  params,
85
88
  ` ) -> "${name}": ...`,
89
+ ` @staticmethod`,
90
+ ` def get_schema() -> Schema:`,
91
+ ` """Returns the ${name} schema"""`,
92
+ ` ...`,
86
93
  ].join("\n") + "\n\n",
87
94
  };
88
95
  });
@@ -113,8 +120,11 @@ function generatePySchemaModule(schemas) {
113
120
  const headers = [
114
121
  `"""`,
115
122
  `This module contains the definitions of the well-known Foxglove schemas for logging.`,
116
- ``,
123
+ "",
117
124
  "Log messages to a corresponding channel type from :py:mod:`foxglove.channels`.",
125
+ "",
126
+ "Note that the schema classes are currently immutable and do not expose",
127
+ "getters and setters for their fields. This is a limitation we plan to address in the future.",
118
128
  `"""`,
119
129
  "# Generated by https://github.com/foxglove/foxglove-sdk",
120
130
  "",
@@ -207,6 +217,11 @@ function generateMessageClass(schema) {
207
217
  schemaFields.map(({ fieldName }) => ` self.0.${protoName(fieldName)},`).join("\n"),
208
218
  ` )`,
209
219
  ` }`,
220
+ ` /// Returns the ${className} schema.`,
221
+ ` #[staticmethod]`,
222
+ ` fn get_schema() -> PySchema {`,
223
+ ` foxglove::schemas::${className}::get_schema().unwrap().into()`,
224
+ ` }`,
210
225
  `}\n\n`,
211
226
  ];
212
227
  const fromTrait = [
@@ -462,15 +477,11 @@ pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
462
477
  }
463
478
  `;
464
479
  }
465
- function shouldGenerateChannelClass(schema) {
466
- return !schema.name.endsWith("Primitive");
467
- }
468
480
  /**
469
481
  * Generate a rust function to register the channels in a submodule.
470
482
  * https://pyo3.rs/v0.23.4/module.html
471
483
  */
472
- function generateChannelModuleRegistration(messageSchemas) {
473
- const schemas = messageSchemas.filter(shouldGenerateChannelClass);
484
+ function generateChannelModuleRegistration(schemas) {
474
485
  return `
475
486
  pub fn register_submodule(parent_module: &Bound<'_, PyModule>) -> PyResult<()> {
476
487
  let module = PyModule::new(parent_module.py(), "channels")?;
@@ -495,16 +506,16 @@ function pyClassName(schema) {
495
506
  * Generate a concrete `pyclass`-annotated Channel struct for each message schema, since generics
496
507
  * can't be exported directly to Python.
497
508
  */
498
- function generateChannelClasses(messageSchemas) {
499
- const schemas = messageSchemas.filter((schema) => !schema.name.endsWith("Primitive"));
509
+ function generateChannelClasses(schemas) {
500
510
  const header = [
501
511
  `//! Typed channels for logging Foxglove schemas`,
502
512
  `//! Generated by https://github.com/foxglove/foxglove-sdk`,
503
513
  ].join("\n");
504
514
  const imports = [
505
- `use crate::PyContext;`,
515
+ `use crate::{PyContext, PySchema};`,
506
516
  `use foxglove::{Channel, ChannelBuilder, PartialMetadata};`,
507
517
  `use pyo3::prelude::*;`,
518
+ `use pyo3::types::PyDict;`,
508
519
  `use super::schemas;`,
509
520
  ].join("\n");
510
521
  const channelModuleRegistration = generateChannelModuleRegistration(schemas);
@@ -544,11 +555,42 @@ impl ${channelClass} {
544
555
  self.0.topic()
545
556
  }
546
557
 
558
+ /// The message encoding for the channel.
559
+ #[getter]
560
+ fn message_encoding(&self) -> &str {
561
+ self.0.message_encoding()
562
+ }
563
+
564
+ /// Returns a copy of the channel's metadata.
565
+ ///
566
+ /// Note that changes made to the returned dictionary will not be applied to
567
+ /// the channel's metadata.
568
+ fn metadata(&self, py: Python<'_>) -> PyResult<PyObject> {
569
+ let dict = PyDict::new(py);
570
+ for (key, value) in self.0.metadata() {
571
+ dict.set_item(key, value)?;
572
+ }
573
+ Ok(dict.into())
574
+ }
575
+
576
+ /// Returns a copy of the channel's schema.
577
+ ///
578
+ /// Note that changes made to the returned object will not be applied to
579
+ /// the channel's schema.
580
+ fn schema(&self) -> Option<PySchema> {
581
+ self.0.schema().cloned().map(PySchema::from)
582
+ }
583
+
547
584
  /// The name of the schema for the channel.
548
585
  fn schema_name(&self) -> Option<&str> {
549
586
  Some(self.0.schema()?.name.as_str())
550
587
  }
551
588
 
589
+ /// Returns true if at least one sink is subscribed to this channel.
590
+ fn has_sinks(&self) -> bool {
591
+ self.0.has_sinks()
592
+ }
593
+
552
594
  /// Close the channel.
553
595
  ///
554
596
  /// You can use this to explicitly unadvertise the channel to sinks that subscribe to
@@ -584,14 +626,13 @@ impl ${channelClass} {
584
626
  return [header, imports, channelModuleRegistration, ...classes].join("\n\n");
585
627
  }
586
628
  /**
587
- * Generate a .pyi stub for the given schemas.
629
+ * Generate a .pyi stub for the given schema channels.
588
630
  */
589
- function generatePyChannelStub(messageSchemas) {
631
+ function generatePyChannelStub(schemas) {
590
632
  const header = "# Generated by https://github.com/foxglove/foxglove-sdk";
591
- const schemas = messageSchemas.filter((schema) => !schema.name.endsWith("Primitive"));
592
633
  const imports = [
593
- "from typing import Optional",
594
- "from . import Context",
634
+ "from typing import Dict, Optional",
635
+ "from . import Context, Schema",
595
636
  ...schemas.map((schema) => `from .schemas import ${structName(schema.name)}`),
596
637
  ];
597
638
  const classes = schemas.map((schema) => {
@@ -621,9 +662,32 @@ function generatePyChannelStub(messageSchemas) {
621
662
  ` def topic(self) -> str:`,
622
663
  ` """The topic name of the channel."""`,
623
664
  ` ...`,
624
- ` def schema_name(self) -> str | None:`,
665
+ ` @property`,
666
+ ` def message_encoding(self) -> str:`,
667
+ ` """The message encoding for the channel"""`,
668
+ ` ...`,
669
+ ` def metadata(self) -> Dict[str, str]:`,
670
+ ` """`,
671
+ ` Returns a copy of the channel's metadata.`,
672
+ ``,
673
+ ` Note that changes made to the returned dictionary will not be applied to`,
674
+ ` the channel's metadata.`,
675
+ ` """`,
676
+ ` ...`,
677
+ ` def schema(self) -> Optional[Schema]:`,
678
+ ` """`,
679
+ ` Returns a copy of the channel's schema.`,
680
+ ``,
681
+ ` Note that changes made to the returned object will not be applied to`,
682
+ ` the channel's schema.`,
683
+ ` """`,
684
+ ` ...`,
685
+ ` def schema_name(self) -> Optional[str]:`,
625
686
  ` """The name of the schema for the channel."""`,
626
687
  ` ...`,
688
+ ` def has_sinks(self) -> bool:`,
689
+ ` """Returns true if at least one sink is subscribed to this channel"""`,
690
+ ` ...`,
627
691
  ` def close(self) -> None:`,
628
692
  ` """Close the channel."""`,
629
693
  ` ...`,
@@ -655,10 +719,7 @@ function generatePyChannelModule(schemas) {
655
719
  `"""`,
656
720
  "# Generated by https://github.com/foxglove/foxglove-sdk",
657
721
  ];
658
- const classNames = schemas
659
- .filter(shouldGenerateChannelClass)
660
- .map((schema) => `${structName(schema.name)}Channel`)
661
- .sort();
722
+ const classNames = schemas.map((schema) => `${structName(schema.name)}Channel`).sort();
662
723
  const imports = classNames.map((name) => `from foxglove._foxglove_py.channels import ${name}`);
663
724
  const exports = ["__all__ = [", ...classNames.map((name) => ` "${name}",`), "]"];
664
725
  return [...headers, ...imports, ...exports].join("\n") + "\n";
@@ -1 +1 @@
1
- {"version":3,"file":"generatePyclass.js","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generatePyclass.js","sourceRoot":"","sources":["../../src/internal/generatePyclass.ts"],"names":[],"mappings":";;AAWA,sDAwBC;AAKD,0CAEC;AAKD,oDAwEC;AAKD,wDAiCC;AA0VD,4EAmBC;AAiCD,wDA0HC;AAKD,sDAkFC;AAKD,0DAcC;AAvwBD;;GAEG;AACH,SAAgB,qBAAqB;IACnC,MAAM,IAAI,GAAG;QACX,iDAAiD;QACjD,2DAA2D;QAC3D,yDAAyD;QACzD,uCAAuC;QACvC,4DAA4D;QAC5D,uCAAuC;QACvC,gDAAgD;QAChD,2BAA2B;KAC5B,CAAC;IAEF,MAAM,OAAO,GAAG;QACd,sBAAsB;QACtB,gDAAgD;QAChD,mBAAmB;QACnB,uBAAuB;QACvB,uBAAuB;QACvB,2BAA2B;KAC5B,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7D,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAsB;IACpD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,OAAyB;IAC5D,MAAM,MAAM,GACV;QACE,yDAAyD;QACzD,uBAAuB;QACvB,0CAA0C;QAC1C,EAAE;QACF,sBAAsB;QACtB,+DAA+D;QAC/D,+CAA+C;QAC/C,iDAAiD;KAClD,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEtB,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;SAC1C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACd,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACzC,OAAO,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,CAAC,SAAS,IAAI,SAAS,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM;SACxE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;aACzB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,OAAO,WAAW,KAAK,CAAC,IAAI,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5F,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,OAAO;YACL,IAAI;YACJ,MAAM,EACJ;gBACE,SAAS,IAAI,GAAG;gBAChB,GAAG,GAAG;gBACN,kBAAkB;gBAClB,cAAc;gBACd,YAAY;gBACZ,MAAM;gBACN,aAAa,IAAI,QAAQ;gBACzB,mBAAmB;gBACnB,iCAAiC;gBACjC,0BAA0B,IAAI,YAAY;gBAC1C,aAAa;aACd,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM;SACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,kGAAkG;IAClG,MAAM,WAAW,GAAG,KAAK;SACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,OAAO;SACzB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,iBAAiB,CAAC;IACrC,MAAM,WAAW,GAAG,mBAAmB,CAAC;IAExC,MAAM,SAAS,GAAG,4BAA4B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAE1E,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAAyB;IAC9D,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,eAAe,CAAC;SACvB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACpC,IAAI,EAAE,CAAC;IACV,MAAM,UAAU,GAAG,OAAO;SACvB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SACpC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACjC,IAAI,EAAE,CAAC;IACV,MAAM,OAAO,GAAG;QACd,KAAK;QACL,sFAAsF;QACtF,EAAE;QACF,gFAAgF;QAChF,EAAE;QACF,wEAAwE;QACxE,8FAA8F;QAC9F,KAAK;QACL,yDAAyD;QACzD,EAAE;QACF,0BAA0B;KAC3B,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG;QACd,aAAa;QACb,uBAAuB;QACvB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC7C,GAAG;KACJ,CAAC;IAEF,MAAM,KAAK,GAAG,0BAA0B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAEpE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,OAA4B,EAAE;IAC1D,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,GAAG;SACP,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA6B;IACzD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7D,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,0DAA0D;QAC1D,KAAK;KACN,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG;QACb,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,KAAK;QACL,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAC3C,OAAO,CAAC,UAAU,SAAS,KAAK,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAChE;QACD,KAAK;QACL,wEAAwE,mBAAmB,CAAC,SAAS,CAAC,EAAE;QACxG,yCAAyC;QACzC,kBAAkB;QAClB,qBAAqB,SAAS,kCAAkC,SAAS,IAAI;KAC9E,CAAC;IAEF,SAAS,UAAU,CAAC,KAA2B;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnE,+EAA+E;YAC/E,OAAO,GAAG,KAAK,CAAC,IAAI,oEAAoE,CAAC;QAC3F,CAAC;QACD,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACjE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBACnD,CAAC;gBACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,KAAK,QAAQ;gBACX,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC7B,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC;gBAC3E,CAAC;gBACD,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACnD,KAAK,MAAM;gBACT,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,SAAS,eAAe,CAAC,KAA2B;QAClD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,SAAS,GAAG,YAAY;SAC3B,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;SACpE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,IAAI,GAAG;QACX,cAAc;QACd,QAAQ,SAAS,IAAI;QACrB,YAAY;QACZ,8BAA8B,SAAS,MAAM;QAC7C,aAAa;QACb,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,OAAO,KAAK,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;QAC5F,iBAAiB;QACjB,mCAAmC,SAAS,IAAI;QAChD,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,eAAe,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACpF,YAAY;QACZ,OAAO;QACP,oCAAoC;QACpC,kBAAkB;QAClB,gBAAgB,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;QACjG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,sBAAsB,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7F,WAAW;QACX,OAAO;QACP,uBAAuB,SAAS,UAAU;QAC1C,qBAAqB;QACrB,mCAAmC;QACnC,8BAA8B,SAAS,gCAAgC;QACvE,OAAO;QACP,OAAO;KACR,CAAC;IAEF,MAAM,SAAS,GAAG;QAChB,aAAa,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;QAC3F,sBAAsB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa;QAC1D,iBAAiB;QACjB,OAAO;QACP,OAAO;KACR,CAAC;IAEF,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA0B;IACnD,MAAM,SAAS,GAAG;QAChB,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3B,qDAAqD;QACrD,6BAA6B;QAC7B,mBAAmB,QAAQ,CAAC,MAAM,CAAC,IAAI;QACvC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,GAAG,CAAC;QAC3F,OAAO;KACR,CAAC;IAEF,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,MAA0B;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,GAAG,MAAM,CAAC,gBAAgB,GAAG,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAsB;IAC7C,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAA2B;IACjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;IACvC,IAAI,IAAY,CAAC;IACjB,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,QAAQ;oBACX,IAAI,GAAG,QAAQ,CAAC;oBAChB,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,KAAK,SAAS;oBACZ,IAAI,GAAG,MAAM,CAAC;oBACd,MAAM;gBACR,KAAK,OAAO;oBACV,uFAAuF;oBACvF,6DAA6D;oBAC7D,OAAO,4BAA4B,CAAC;gBACtC,KAAK,MAAM;oBACT,IAAI,GAAG,mBAAmB,CAAC;oBAC3B,MAAM;gBACR,KAAK,UAAU;oBACb,IAAI,GAAG,kBAAkB,CAAC;oBAC1B,MAAM;YACV,CAAC;YACD,MAAM;QACR,KAAK,QAAQ;YACX,6CAA6C;YAC7C,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;YAC5E,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM;IACV,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,KAA2B;IACjD,IAAI,IAAY,CAAC;IACjB,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM;IACV,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,KAA2B;IACrD,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,QAAQ;oBACX,OAAO,IAAI,CAAC;gBACd,KAAK,SAAS;oBACZ,OAAO,KAAK,CAAC;gBACf,KAAK,QAAQ;oBACX,OAAO,GAAG,CAAC;gBACb,KAAK,SAAS;oBACZ,OAAO,OAAO,CAAC;gBACjB,KAAK,OAAO;oBACV,OAAO,KAAK,CAAC;gBACf,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU;oBACb,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,yBAAyB;QACzB,0CAA0C;QAC1C,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAA2B;IACnD,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACnE,+EAA+E;QAC/E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,WAAW;YACd,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,QAAQ;oBACX,OAAO,gBAAgB,CAAC;gBAC1B,KAAK,SAAS;oBACZ,OAAO,KAAK,CAAC;gBACf,KAAK,QAAQ;oBACX,OAAO,GAAG,CAAC;gBACb,KAAK,SAAS;oBACZ,OAAO,OAAO,CAAC;gBACjB,KAAK,OAAO;oBACV,OAAO,QAAQ,CAAC;gBAClB,KAAK,MAAM,CAAC;gBACZ,KAAK,UAAU;oBACb,OAAO,MAAM,CAAC;YAClB,CAAC;QACH,yBAAyB;QACzB,0CAA0C;QAC1C,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;YACnE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,iBAAoC;IACtD,QAAQ,iBAAiB,EAAE,CAAC;QAC1B,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,oFAAoF;QACpF,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SACjC,GAAG,CAAC,UAAU,CAAC;SACf,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,IAAI;SACR,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;SACjD,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,8CAA8C;IAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAgB,gCAAgC,CAAC,OAAyB;IACxE,OAAO;;;;;;MAMH,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;CAW7F,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,iCAAiC,CAAC,OAAgC;IACzE,OAAO;;;;MAIH,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;CAWxG,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,MAAsB;IACzC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,OAAgC;IACrE,MAAM,MAAM,GAAG;QACb,iDAAiD;QACjD,2DAA2D;KAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,OAAO,GAAG;QACd,mCAAmC;QACnC,2DAA2D;QAC3D,uBAAuB;QACvB,0BAA0B;QAC1B,qBAAqB;KACtB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,yBAAyB,GAAG,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAE7E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,GAAG,WAAW,SAAS,CAAC;QAC7C,OAAO;yDAC8C,WAAW;;SAE3D,YAAY,+BAA+B,WAAW;;;OAGxD,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6CAyE0B,WAAW;;;;;;;;;yBAS/B,WAAW;;;;;;;;mBAQjB,YAAY;;;CAG9B,CAAC;IACA,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,yBAAyB,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,OAAgC;IACpE,MAAM,MAAM,GAAG,yDAAyD,CAAC;IACzE,MAAM,OAAO,GAAG;QACd,mCAAmC;QACnC,+BAA+B;QAC/B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,wBAAwB,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;KAC9E,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,GAAG,WAAW,SAAS,CAAC;QAC7C,MAAM,GAAG,GAAG;YACV,SAAS;YACT,6BAA6B,WAAW,WAAW;YACnD,EAAE;YACF,wDAAwD;YACxD,SAAS;SACV,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,SAAS,YAAY,GAAG;gBACxB,GAAG,GAAG;gBACN,kBAAkB;gBAClB,cAAc;gBACd,qBAAqB;gBACrB,YAAY;gBACZ,8CAA8C;gBAC9C,aAAa,YAAY,UAAU;gBACnC,0BAA0B;gBAC1B,6CAA6C;gBAC7C,aAAa;gBACb,6BAA6B;gBAC7B,8CAA8C;gBAC9C,aAAa;gBACb,eAAe;gBACf,wCAAwC;gBACxC,oDAAoD;gBACpD,aAAa;gBACb,2CAA2C;gBAC3C,aAAa;gBACb,mDAAmD;gBACnD,EAAE;gBACF,kFAAkF;gBAClF,iCAAiC;gBACjC,aAAa;gBACb,aAAa;gBACb,2CAA2C;gBAC3C,aAAa;gBACb,iDAAiD;gBACjD,EAAE;gBACF,8EAA8E;gBAC9E,+BAA+B;gBAC/B,aAAa;gBACb,aAAa;gBACb,6CAA6C;gBAC7C,uDAAuD;gBACvD,aAAa;gBACb,kCAAkC;gBAClC,+EAA+E;gBAC/E,aAAa;gBACb,8BAA8B;gBAC9B,kCAAkC;gBAClC,aAAa;gBACb,cAAc;gBACd,eAAe;gBACf,qBAAqB,WAAW,IAAI;gBACpC,YAAY;gBACZ,sCAAsC;gBACtC,gBAAgB;gBAChB,6BAA6B,WAAW,6BAA6B;gBACrE,aAAa;aACd,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC;SAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAE/B,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,OAAgC;IACtE,MAAM,OAAO,GAAG;QACd,KAAK;QACL,yFAAyF;QACzF,EAAE;QACF,sEAAsE;QACtE,KAAK;QACL,yDAAyD;KAC1D,CAAC;IACF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IACvF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,8CAA8C,IAAI,EAAE,CAAC,CAAC;IAC/F,MAAM,OAAO,GAAG,CAAC,aAAa,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpF,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChE,CAAC"}
@@ -5,18 +5,20 @@ const testFixtures_1 = require("./testFixtures");
5
5
  describe("generatePyclass", () => {
6
6
  it("generates module header", () => {
7
7
  expect((0, generatePyclass_1.generateSchemaPrelude)()).toMatchInlineSnapshot(`
8
- "//! Definitions for well-known Foxglove schemas
9
- //! Generated by https://github.com/foxglove/foxglove-sdk
10
- #![allow(clippy::too_many_arguments)]
11
- #![allow(clippy::enum_variant_names)]
12
- #![allow(non_snake_case)]
13
- use crate::schemas_wkt::{Duration, Timestamp};
14
- use bytes::Bytes;
15
- use pyo3::prelude::*;
16
- use pyo3::types::PyBytes;
8
+ "//! Definitions for well-known Foxglove schemas
9
+ //! Generated by https://github.com/foxglove/foxglove-sdk
10
+ #![allow(clippy::too_many_arguments)]
11
+ #![allow(clippy::enum_variant_names)]
12
+ #![allow(non_snake_case)]
13
+ use crate::PySchema;
14
+ use crate::schemas_wkt::{Duration, Timestamp};
15
+ use bytes::Bytes;
16
+ use foxglove::Encode;
17
+ use pyo3::prelude::*;
18
+ use pyo3::types::PyBytes;
17
19
 
18
- "
19
- `);
20
+ "
21
+ `);
20
22
  });
21
23
  it("generates an enum", () => {
22
24
  expect((0, generatePyclass_1.generatePyclass)(testFixtures_1.exampleEnum)).toMatchInlineSnapshot(`
@@ -33,138 +35,143 @@ describe("generatePyclass", () => {
33
35
  });
34
36
  it("generates a struct from a message", () => {
35
37
  expect((0, generatePyclass_1.generatePyclass)(testFixtures_1.exampleMessage)).toMatchInlineSnapshot(`
36
- "/// An example type
37
- ///
38
- /// :param field_duration: duration field
39
- /// :param field_time: time field
40
- /// :param field_boolean: boolean field
41
- /// :param field_bytes: bytes field
42
- /// :param field_float64: float64 field
43
- /// :param field_uint32: uint32 field
44
- /// :param field_string: string field
45
- /// :param field_duration_array: duration array field
46
- /// :param field_time_array: time array field
47
- /// :param field_boolean_array: boolean array field
48
- /// :param field_bytes_array: bytes array field
49
- /// :param field_float64_array: float64 array field
50
- /// :param field_uint32_array: uint32 array field
51
- /// :param field_string_array: string array field
52
- /// :param field_duration_fixed_array: duration fixed-length array field
53
- /// :param field_time_fixed_array: time fixed-length array field
54
- /// :param field_boolean_fixed_array: boolean fixed-length array field
55
- /// :param field_bytes_fixed_array: bytes fixed-length array field
56
- /// :param field_float64_fixed_array: float64 fixed-length array field
57
- /// :param field_uint32_fixed_array: uint32 fixed-length array field
58
- /// :param field_string_fixed_array: string fixed-length array field
59
- /// :param field_enum: An enum field
60
- /// :param field_enum_array: An enum array field
61
- /// :param field_nested: A nested field
62
- /// :param field_nested_array: A nested array field
63
- ///
64
- /// See https://docs.foxglove.dev/docs/visualization/message-schemas/example-message
65
- #[pyclass(module = "foxglove.schemas")]
66
- #[derive(Clone)]
67
- pub(crate) struct ExampleMessage(pub(crate) foxglove::schemas::ExampleMessage);
68
- #[pymethods]
69
- impl ExampleMessage {
70
- #[new]
71
- #[pyo3(signature = (*, field_duration=None, field_time=None, field_boolean=false, field_bytes=None, field_float64=0.0, field_uint32=0, field_string="".to_string(), field_duration_array=vec![], field_time_array=vec![], field_boolean_array=vec![], field_bytes_array=None, field_float64_array=vec![], field_uint32_array=vec![], field_string_array=vec![], field_duration_fixed_array=vec![], field_time_fixed_array=vec![], field_boolean_fixed_array=vec![], field_bytes_fixed_array=None, field_float64_fixed_array=vec![], field_uint32_fixed_array=vec![], field_string_fixed_array=vec![], field_enum=ExampleMessageExampleEnum::A, field_enum_array=vec![], field_nested=None, field_nested_array=vec![]) )]
72
- fn new(
73
- field_duration: Option<Duration>,
74
- field_time: Option<Timestamp>,
75
- field_boolean: bool,
76
- field_bytes: Option<Bound<'_, PyBytes>>,
77
- field_float64: f64,
78
- field_uint32: u32,
79
- field_string: String,
80
- field_duration_array: Vec<Option<Duration>>,
81
- field_time_array: Vec<Option<Timestamp>>,
82
- field_boolean_array: Vec<bool>,
83
- field_bytes_array: Option<Bound<'_, PyBytes>>,
84
- field_float64_array: Vec<f64>,
85
- field_uint32_array: Vec<u32>,
86
- field_string_array: Vec<String>,
87
- field_duration_fixed_array: Vec<Option<Duration>>,
88
- field_time_fixed_array: Vec<Option<Timestamp>>,
89
- field_boolean_fixed_array: Vec<bool>,
90
- field_bytes_fixed_array: Option<Bound<'_, PyBytes>>,
91
- field_float64_fixed_array: Vec<f64>,
92
- field_uint32_fixed_array: Vec<u32>,
93
- field_string_fixed_array: Vec<String>,
94
- field_enum: ExampleMessageExampleEnum,
95
- field_enum_array: Vec<ExampleMessageExampleEnum>,
96
- field_nested: Option<NestedMessage>,
97
- field_nested_array: Vec<NestedMessage>,
98
- ) -> Self {
99
- Self(foxglove::schemas::ExampleMessage {
100
- field_duration: field_duration.map(Into::into),
101
- field_time: field_time.map(Into::into),
102
- field_boolean,
103
- field_bytes: field_bytes.map(|x| Bytes::copy_from_slice(x.as_bytes())).unwrap_or_default(),
104
- field_float64,
105
- field_uint32,
106
- field_string,
107
- field_duration_array: field_duration_array.map(Into::into),
108
- field_time_array: field_time_array.map(Into::into),
109
- field_boolean_array,
110
- field_bytes_array: field_bytes_array.map(|x| Bytes::copy_from_slice(x.as_bytes())).unwrap_or_default(),
111
- field_float64_array,
112
- field_uint32_array,
113
- field_string_array,
114
- field_duration_fixed_array: field_duration_fixed_array.map(Into::into),
115
- field_time_fixed_array: field_time_fixed_array.map(Into::into),
116
- field_boolean_fixed_array,
117
- field_bytes_fixed_array: field_bytes_fixed_array.map(|x| Bytes::copy_from_slice(x.as_bytes())).unwrap_or_default(),
118
- field_float64_fixed_array,
119
- field_uint32_fixed_array,
120
- field_string_fixed_array,
121
- field_enum: field_enum as i32,
122
- field_enum_array: field_enum_array as i32,
123
- field_nested: field_nested.map(Into::into),
124
- field_nested_array: field_nested_array.into_iter().map(|x| x.into()).collect(),
125
- })
126
- }
127
- fn __repr__(&self) -> String {
128
- format!(
129
- "ExampleMessage(field_duration={:?}, field_time={:?}, field_boolean={:?}, field_bytes={:?}, field_float64={:?}, field_uint32={:?}, field_string={:?}, field_duration_array={:?}, field_time_array={:?}, field_boolean_array={:?}, field_bytes_array={:?}, field_float64_array={:?}, field_uint32_array={:?}, field_string_array={:?}, field_duration_fixed_array={:?}, field_time_fixed_array={:?}, field_boolean_fixed_array={:?}, field_bytes_fixed_array={:?}, field_float64_fixed_array={:?}, field_uint32_fixed_array={:?}, field_string_fixed_array={:?}, field_enum={:?}, field_enum_array={:?}, field_nested={:?}, field_nested_array={:?})",
130
- self.0.field_duration,
131
- self.0.field_time,
132
- self.0.field_boolean,
133
- self.0.field_bytes,
134
- self.0.field_float64,
135
- self.0.field_uint32,
136
- self.0.field_string,
137
- self.0.field_duration_array,
138
- self.0.field_time_array,
139
- self.0.field_boolean_array,
140
- self.0.field_bytes_array,
141
- self.0.field_float64_array,
142
- self.0.field_uint32_array,
143
- self.0.field_string_array,
144
- self.0.field_duration_fixed_array,
145
- self.0.field_time_fixed_array,
146
- self.0.field_boolean_fixed_array,
147
- self.0.field_bytes_fixed_array,
148
- self.0.field_float64_fixed_array,
149
- self.0.field_uint32_fixed_array,
150
- self.0.field_string_fixed_array,
151
- self.0.field_enum,
152
- self.0.field_enum_array,
153
- self.0.field_nested,
154
- self.0.field_nested_array,
155
- )
156
- }
157
- }
38
+ "/// An example type
39
+ ///
40
+ /// :param field_duration: duration field
41
+ /// :param field_time: time field
42
+ /// :param field_boolean: boolean field
43
+ /// :param field_bytes: bytes field
44
+ /// :param field_float64: float64 field
45
+ /// :param field_uint32: uint32 field
46
+ /// :param field_string: string field
47
+ /// :param field_duration_array: duration array field
48
+ /// :param field_time_array: time array field
49
+ /// :param field_boolean_array: boolean array field
50
+ /// :param field_bytes_array: bytes array field
51
+ /// :param field_float64_array: float64 array field
52
+ /// :param field_uint32_array: uint32 array field
53
+ /// :param field_string_array: string array field
54
+ /// :param field_duration_fixed_array: duration fixed-length array field
55
+ /// :param field_time_fixed_array: time fixed-length array field
56
+ /// :param field_boolean_fixed_array: boolean fixed-length array field
57
+ /// :param field_bytes_fixed_array: bytes fixed-length array field
58
+ /// :param field_float64_fixed_array: float64 fixed-length array field
59
+ /// :param field_uint32_fixed_array: uint32 fixed-length array field
60
+ /// :param field_string_fixed_array: string fixed-length array field
61
+ /// :param field_enum: An enum field
62
+ /// :param field_enum_array: An enum array field
63
+ /// :param field_nested: A nested field
64
+ /// :param field_nested_array: A nested array field
65
+ ///
66
+ /// See https://docs.foxglove.dev/docs/visualization/message-schemas/example-message
67
+ #[pyclass(module = "foxglove.schemas")]
68
+ #[derive(Clone)]
69
+ pub(crate) struct ExampleMessage(pub(crate) foxglove::schemas::ExampleMessage);
70
+ #[pymethods]
71
+ impl ExampleMessage {
72
+ #[new]
73
+ #[pyo3(signature = (*, field_duration=None, field_time=None, field_boolean=false, field_bytes=None, field_float64=0.0, field_uint32=0, field_string="".to_string(), field_duration_array=vec![], field_time_array=vec![], field_boolean_array=vec![], field_bytes_array=None, field_float64_array=vec![], field_uint32_array=vec![], field_string_array=vec![], field_duration_fixed_array=vec![], field_time_fixed_array=vec![], field_boolean_fixed_array=vec![], field_bytes_fixed_array=None, field_float64_fixed_array=vec![], field_uint32_fixed_array=vec![], field_string_fixed_array=vec![], field_enum=ExampleMessageExampleEnum::A, field_enum_array=vec![], field_nested=None, field_nested_array=vec![]) )]
74
+ fn new(
75
+ field_duration: Option<Duration>,
76
+ field_time: Option<Timestamp>,
77
+ field_boolean: bool,
78
+ field_bytes: Option<Bound<'_, PyBytes>>,
79
+ field_float64: f64,
80
+ field_uint32: u32,
81
+ field_string: String,
82
+ field_duration_array: Vec<Option<Duration>>,
83
+ field_time_array: Vec<Option<Timestamp>>,
84
+ field_boolean_array: Vec<bool>,
85
+ field_bytes_array: Option<Bound<'_, PyBytes>>,
86
+ field_float64_array: Vec<f64>,
87
+ field_uint32_array: Vec<u32>,
88
+ field_string_array: Vec<String>,
89
+ field_duration_fixed_array: Vec<Option<Duration>>,
90
+ field_time_fixed_array: Vec<Option<Timestamp>>,
91
+ field_boolean_fixed_array: Vec<bool>,
92
+ field_bytes_fixed_array: Option<Bound<'_, PyBytes>>,
93
+ field_float64_fixed_array: Vec<f64>,
94
+ field_uint32_fixed_array: Vec<u32>,
95
+ field_string_fixed_array: Vec<String>,
96
+ field_enum: ExampleMessageExampleEnum,
97
+ field_enum_array: Vec<ExampleMessageExampleEnum>,
98
+ field_nested: Option<NestedMessage>,
99
+ field_nested_array: Vec<NestedMessage>,
100
+ ) -> Self {
101
+ Self(foxglove::schemas::ExampleMessage {
102
+ field_duration: field_duration.map(Into::into),
103
+ field_time: field_time.map(Into::into),
104
+ field_boolean,
105
+ field_bytes: field_bytes.map(|x| Bytes::copy_from_slice(x.as_bytes())).unwrap_or_default(),
106
+ field_float64,
107
+ field_uint32,
108
+ field_string,
109
+ field_duration_array: field_duration_array.map(Into::into),
110
+ field_time_array: field_time_array.map(Into::into),
111
+ field_boolean_array,
112
+ field_bytes_array: field_bytes_array.map(|x| Bytes::copy_from_slice(x.as_bytes())).unwrap_or_default(),
113
+ field_float64_array,
114
+ field_uint32_array,
115
+ field_string_array,
116
+ field_duration_fixed_array: field_duration_fixed_array.map(Into::into),
117
+ field_time_fixed_array: field_time_fixed_array.map(Into::into),
118
+ field_boolean_fixed_array,
119
+ field_bytes_fixed_array: field_bytes_fixed_array.map(|x| Bytes::copy_from_slice(x.as_bytes())).unwrap_or_default(),
120
+ field_float64_fixed_array,
121
+ field_uint32_fixed_array,
122
+ field_string_fixed_array,
123
+ field_enum: field_enum as i32,
124
+ field_enum_array: field_enum_array as i32,
125
+ field_nested: field_nested.map(Into::into),
126
+ field_nested_array: field_nested_array.into_iter().map(|x| x.into()).collect(),
127
+ })
128
+ }
129
+ fn __repr__(&self) -> String {
130
+ format!(
131
+ "ExampleMessage(field_duration={:?}, field_time={:?}, field_boolean={:?}, field_bytes={:?}, field_float64={:?}, field_uint32={:?}, field_string={:?}, field_duration_array={:?}, field_time_array={:?}, field_boolean_array={:?}, field_bytes_array={:?}, field_float64_array={:?}, field_uint32_array={:?}, field_string_array={:?}, field_duration_fixed_array={:?}, field_time_fixed_array={:?}, field_boolean_fixed_array={:?}, field_bytes_fixed_array={:?}, field_float64_fixed_array={:?}, field_uint32_fixed_array={:?}, field_string_fixed_array={:?}, field_enum={:?}, field_enum_array={:?}, field_nested={:?}, field_nested_array={:?})",
132
+ self.0.field_duration,
133
+ self.0.field_time,
134
+ self.0.field_boolean,
135
+ self.0.field_bytes,
136
+ self.0.field_float64,
137
+ self.0.field_uint32,
138
+ self.0.field_string,
139
+ self.0.field_duration_array,
140
+ self.0.field_time_array,
141
+ self.0.field_boolean_array,
142
+ self.0.field_bytes_array,
143
+ self.0.field_float64_array,
144
+ self.0.field_uint32_array,
145
+ self.0.field_string_array,
146
+ self.0.field_duration_fixed_array,
147
+ self.0.field_time_fixed_array,
148
+ self.0.field_boolean_fixed_array,
149
+ self.0.field_bytes_fixed_array,
150
+ self.0.field_float64_fixed_array,
151
+ self.0.field_uint32_fixed_array,
152
+ self.0.field_string_fixed_array,
153
+ self.0.field_enum,
154
+ self.0.field_enum_array,
155
+ self.0.field_nested,
156
+ self.0.field_nested_array,
157
+ )
158
+ }
159
+ /// Returns the ExampleMessage schema.
160
+ #[staticmethod]
161
+ fn get_schema() -> PySchema {
162
+ foxglove::schemas::ExampleMessage::get_schema().unwrap().into()
163
+ }
164
+ }
158
165
 
159
166
 
160
- impl From<ExampleMessage> for foxglove::schemas::ExampleMessage {
161
- fn from(value: ExampleMessage) -> Self {
162
- value.0
163
- }
164
- }
167
+ impl From<ExampleMessage> for foxglove::schemas::ExampleMessage {
168
+ fn from(value: ExampleMessage) -> Self {
169
+ value.0
170
+ }
171
+ }
165
172
 
166
- "
167
- `);
173
+ "
174
+ `);
168
175
  });
169
176
  });
170
177
  //# sourceMappingURL=generatePyclass.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generatePyclass.test.js","sourceRoot":"","sources":["../../src/internal/generatePyclass.test.ts"],"names":[],"mappings":";;AAAA,uDAA2E;AAC3E,iDAA6D;AAE7D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAA,uCAAqB,GAAE,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;SAYjD,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,IAAA,iCAAe,EAAC,0BAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;SAUtD,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,IAAA,iCAAe,EAAC,6BAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAoIzD,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"generatePyclass.test.js","sourceRoot":"","sources":["../../src/internal/generatePyclass.test.ts"],"names":[],"mappings":";;AAAA,uDAA2E;AAC3E,iDAA6D;AAE7D,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,CAAC,IAAA,uCAAqB,GAAE,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;KAcrD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,IAAA,iCAAe,EAAC,0BAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;SAUtD,CAAC,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,IAAA,iCAAe,EAAC,6BAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyI7D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FoxgloveEnumSchema, FoxgloveMessageSchema } from "./types";
2
+ export declare function generateHppSchemas(schemas: readonly FoxgloveMessageSchema[], enums: readonly FoxgloveEnumSchema[]): string;
3
+ export declare function generateCppSchemas(schemas: FoxgloveMessageSchema[]): string;
4
+ //# sourceMappingURL=generateSdkCpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateSdkCpp.d.ts","sourceRoot":"","sources":["../../src/internal/generateSdkCpp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAwFvF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GACnC,MAAM,CA8JR;AAiDD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAwG3E"}