@aircast-4g/mavlink 1.0.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.
Files changed (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +632 -0
  3. package/dist/batch-processor.d.ts +17 -0
  4. package/dist/batch-processor.d.ts.map +1 -0
  5. package/dist/batch-processor.js +141 -0
  6. package/dist/batch-processor.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +174 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/generator/batch-processor.d.ts +17 -0
  12. package/dist/generator/batch-processor.d.ts.map +1 -0
  13. package/dist/generator/batch-processor.js +141 -0
  14. package/dist/generator/batch-processor.js.map +1 -0
  15. package/dist/generator/generator.d.ts +15 -0
  16. package/dist/generator/generator.d.ts.map +1 -0
  17. package/dist/generator/generator.js +92 -0
  18. package/dist/generator/generator.js.map +1 -0
  19. package/dist/generator/template-engine.d.ts +13 -0
  20. package/dist/generator/template-engine.d.ts.map +1 -0
  21. package/dist/generator/template-engine.js +220 -0
  22. package/dist/generator/template-engine.js.map +1 -0
  23. package/dist/generator/type-converter.d.ts +15 -0
  24. package/dist/generator/type-converter.d.ts.map +1 -0
  25. package/dist/generator/type-converter.js +179 -0
  26. package/dist/generator/type-converter.js.map +1 -0
  27. package/dist/generator/xml-parser.d.ts +13 -0
  28. package/dist/generator/xml-parser.d.ts.map +1 -0
  29. package/dist/generator/xml-parser.js +170 -0
  30. package/dist/generator/xml-parser.js.map +1 -0
  31. package/dist/generator.d.ts +15 -0
  32. package/dist/generator.d.ts.map +1 -0
  33. package/dist/generator.js +92 -0
  34. package/dist/generator.js.map +1 -0
  35. package/dist/index.d.ts +8 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +37 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/parser/crc.d.ts +7 -0
  40. package/dist/parser/crc.d.ts.map +1 -0
  41. package/dist/parser/crc.js +182 -0
  42. package/dist/parser/crc.js.map +1 -0
  43. package/dist/parser/frame-parser.d.ts +15 -0
  44. package/dist/parser/frame-parser.d.ts.map +1 -0
  45. package/dist/parser/frame-parser.js +82 -0
  46. package/dist/parser/frame-parser.js.map +1 -0
  47. package/dist/parser/index.d.ts +6 -0
  48. package/dist/parser/index.d.ts.map +1 -0
  49. package/dist/parser/index.js +28 -0
  50. package/dist/parser/index.js.map +1 -0
  51. package/dist/parser/mavlink-parser.d.ts +35 -0
  52. package/dist/parser/mavlink-parser.d.ts.map +1 -0
  53. package/dist/parser/mavlink-parser.js +204 -0
  54. package/dist/parser/mavlink-parser.js.map +1 -0
  55. package/dist/parser/message-decoder.d.ts +11 -0
  56. package/dist/parser/message-decoder.d.ts.map +1 -0
  57. package/dist/parser/message-decoder.js +247 -0
  58. package/dist/parser/message-decoder.js.map +1 -0
  59. package/dist/parser/types.d.ts +59 -0
  60. package/dist/parser/types.d.ts.map +1 -0
  61. package/dist/parser/types.js +13 -0
  62. package/dist/parser/types.js.map +1 -0
  63. package/dist/template-engine.d.ts +13 -0
  64. package/dist/template-engine.d.ts.map +1 -0
  65. package/dist/template-engine.js +220 -0
  66. package/dist/template-engine.js.map +1 -0
  67. package/dist/type-converter.d.ts +15 -0
  68. package/dist/type-converter.d.ts.map +1 -0
  69. package/dist/type-converter.js +179 -0
  70. package/dist/type-converter.js.map +1 -0
  71. package/dist/types.d.ts +110 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +3 -0
  74. package/dist/types.js.map +1 -0
  75. package/dist/xml-parser.d.ts +13 -0
  76. package/dist/xml-parser.d.ts.map +1 -0
  77. package/dist/xml-parser.js +170 -0
  78. package/dist/xml-parser.js.map +1 -0
  79. package/package.json +105 -0
  80. package/types/ardupilotmega/enums.d.ts +2427 -0
  81. package/types/ardupilotmega/enums.d.ts.map +1 -0
  82. package/types/ardupilotmega/enums.js +4636 -0
  83. package/types/ardupilotmega/enums.js.map +1 -0
  84. package/types/ardupilotmega/enums.ts +4631 -0
  85. package/types/ardupilotmega/index.d.ts +4 -0
  86. package/types/ardupilotmega/index.d.ts.map +1 -0
  87. package/types/ardupilotmega/index.js +22 -0
  88. package/types/ardupilotmega/index.js.map +1 -0
  89. package/types/ardupilotmega/index.ts +6 -0
  90. package/types/ardupilotmega/messages.d.ts +3719 -0
  91. package/types/ardupilotmega/messages.d.ts.map +1 -0
  92. package/types/ardupilotmega/messages.js +1281 -0
  93. package/types/ardupilotmega/messages.js.map +1 -0
  94. package/types/ardupilotmega/messages.ts +8088 -0
  95. package/types/ardupilotmega/types.d.ts +221 -0
  96. package/types/ardupilotmega/types.d.ts.map +1 -0
  97. package/types/ardupilotmega/types.js +5 -0
  98. package/types/ardupilotmega/types.js.map +1 -0
  99. package/types/ardupilotmega/types.ts +2833 -0
  100. package/types/common/enums.d.ts +1843 -0
  101. package/types/common/enums.d.ts.map +1 -0
  102. package/types/common/enums.js +3636 -0
  103. package/types/common/enums.js.map +1 -0
  104. package/types/common/enums.ts +3632 -0
  105. package/types/common/index.d.ts +4 -0
  106. package/types/common/index.d.ts.map +1 -0
  107. package/types/common/index.js +21 -0
  108. package/types/common/index.js.map +1 -0
  109. package/types/common/index.ts +6 -0
  110. package/types/common/messages.d.ts +2805 -0
  111. package/types/common/messages.d.ts.map +1 -0
  112. package/types/common/messages.js +920 -0
  113. package/types/common/messages.js.map +1 -0
  114. package/types/common/messages.ts +6114 -0
  115. package/types/common/types.d.ts +157 -0
  116. package/types/common/types.d.ts.map +1 -0
  117. package/types/common/types.js +4 -0
  118. package/types/common/types.js.map +1 -0
  119. package/types/common/types.ts +2159 -0
  120. package/types/minimal/enums.d.ts +244 -0
  121. package/types/minimal/enums.d.ts.map +1 -0
  122. package/types/minimal/enums.js +496 -0
  123. package/types/minimal/enums.js.map +1 -0
  124. package/types/minimal/enums.ts +494 -0
  125. package/types/minimal/index.d.ts +4 -0
  126. package/types/minimal/index.d.ts.map +1 -0
  127. package/types/minimal/index.js +21 -0
  128. package/types/minimal/index.js.map +1 -0
  129. package/types/minimal/index.ts +6 -0
  130. package/types/minimal/messages.d.ts +25 -0
  131. package/types/minimal/messages.d.ts.map +1 -0
  132. package/types/minimal/messages.js +12 -0
  133. package/types/minimal/messages.js.map +1 -0
  134. package/types/minimal/messages.ts +62 -0
  135. package/types/minimal/types.d.ts +14 -0
  136. package/types/minimal/types.d.ts.map +1 -0
  137. package/types/minimal/types.js +4 -0
  138. package/types/minimal/types.js.map +1 -0
  139. package/types/minimal/types.ts +272 -0
  140. package/types/paparazzi/enums.ts +3632 -0
  141. package/types/paparazzi/index.ts +6 -0
  142. package/types/paparazzi/messages.ts +6185 -0
  143. package/types/paparazzi/types.ts +2159 -0
  144. package/types/python_array_test/enums.ts +3632 -0
  145. package/types/python_array_test/index.ts +6 -0
  146. package/types/python_array_test/messages.ts +6258 -0
  147. package/types/python_array_test/types.ts +2159 -0
  148. package/types/standard/enums.d.ts +248 -0
  149. package/types/standard/enums.d.ts.map +1 -0
  150. package/types/standard/enums.js +505 -0
  151. package/types/standard/enums.js.map +1 -0
  152. package/types/standard/enums.ts +502 -0
  153. package/types/standard/index.d.ts +4 -0
  154. package/types/standard/index.d.ts.map +1 -0
  155. package/types/standard/index.js +22 -0
  156. package/types/standard/index.js.map +1 -0
  157. package/types/standard/index.ts +6 -0
  158. package/types/standard/messages.d.ts +25 -0
  159. package/types/standard/messages.d.ts.map +1 -0
  160. package/types/standard/messages.js +13 -0
  161. package/types/standard/messages.js.map +1 -0
  162. package/types/standard/messages.ts +63 -0
  163. package/types/standard/types.d.ts +15 -0
  164. package/types/standard/types.d.ts.map +1 -0
  165. package/types/standard/types.js +5 -0
  166. package/types/standard/types.js.map +1 -0
  167. package/types/standard/types.ts +278 -0
  168. package/types/test/enums.ts +2 -0
  169. package/types/test/index.ts +6 -0
  170. package/types/test/messages.ts +69 -0
  171. package/types/test/types.ts +11 -0
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TemplateEngine = void 0;
7
+ const handlebars_1 = __importDefault(require("handlebars"));
8
+ class TemplateEngine {
9
+ constructor() {
10
+ this.templates = new Map();
11
+ this.initializeTemplates();
12
+ this.registerHelpers();
13
+ }
14
+ initializeTemplates() {
15
+ // Main types template
16
+ this.templates.set('types', handlebars_1.default.compile(`// Auto-generated TypeScript types for {{ dialectName }} dialect
17
+ // Generated from MAVLink XML definitions
18
+
19
+ export interface MAVLinkMessage<Content = unknown> {
20
+ timestamp: number;
21
+ system_id: number;
22
+ component_id: number;
23
+ type: string;
24
+ content: Content;
25
+ }
26
+
27
+ {{#each enums}}
28
+ {{#each description}}
29
+ // {{ this }}
30
+ {{/each}}
31
+ export type {{ name }} =
32
+ {{#each values}}
33
+ | {{ value }}{{#if description}} // {{ name }} - {{ join description " " }}{{/if}}
34
+ {{/each}}
35
+ | number;
36
+
37
+ {{/each}}
38
+ `));
39
+ // Enums template
40
+ this.templates.set('enums', handlebars_1.default.compile(`// Auto-generated TypeScript enums for {{ dialectName }} dialect
41
+
42
+ {{#each enums}}
43
+ {{#each description}}
44
+ // {{ this }}
45
+ {{/each}}
46
+ export enum {{ name }}Enum {
47
+ {{#each values}}
48
+ {{#each description}}
49
+ // {{ this }}
50
+ {{/each}}
51
+ {{ name }} = {{ value }},
52
+ {{/each}}
53
+ }
54
+
55
+ {{/each}}
56
+ `));
57
+ // Messages template
58
+ this.templates.set('messages', handlebars_1.default.compile(`// Auto-generated TypeScript message interfaces for {{ dialectName }} dialect
59
+
60
+ import { MAVLinkMessage } from './types';
61
+ import type {
62
+ {{#each enums}}
63
+ {{ name }},
64
+ {{/each}}
65
+ } from './types';
66
+
67
+ {{#each messages}}
68
+ {{#each description}}
69
+ // {{ this }}
70
+ {{/each}}
71
+ export interface Message{{ name }} {
72
+ {{#each fields}}
73
+ {{#each description}}
74
+ // {{ this }}
75
+ {{/each}}
76
+ {{ name }}{{#if optional}}?{{/if}}: {{ type }};
77
+ {{/each}}
78
+ }
79
+
80
+ {{/each}}
81
+
82
+ // Message type map for type-safe message handling
83
+ export interface MessageTypeMap {
84
+ {{#each messages}}
85
+ {{ originalName }}: Message{{ name }};
86
+ {{/each}}
87
+ }
88
+
89
+ // Union type of all message types
90
+ export type AnyMessage =
91
+ {{#each messages}}
92
+ | MAVLinkMessage<Message{{ name }}>
93
+ {{/each}};
94
+
95
+ // Type guard functions
96
+ {{#each messages}}
97
+ export function is{{ name }}(msg: MAVLinkMessage): msg is MAVLinkMessage<Message{{ name }}> {
98
+ return msg.type === '{{ originalName }}';
99
+ }
100
+ {{/each}}
101
+ `));
102
+ // Index template
103
+ this.templates.set('index', handlebars_1.default.compile(`// Auto-generated TypeScript index file
104
+ // Exports all dialect types
105
+
106
+ export * from './types';
107
+ export * from './enums';
108
+ export * from './messages';
109
+ `));
110
+ // Single file template
111
+ this.templates.set('single', handlebars_1.default.compile(`// Auto-generated TypeScript types for {{ dialectName }} dialect
112
+ // Generated from MAVLink XML definitions
113
+
114
+ export interface MAVLinkMessage<Content = unknown> {
115
+ timestamp: number;
116
+ system_id: number;
117
+ component_id: number;
118
+ type: string;
119
+ content: Content;
120
+ }
121
+
122
+ // Enums
123
+ {{#each enums}}
124
+ {{#each description}}
125
+ // {{ this }}
126
+ {{/each}}
127
+ export type {{ name }} =
128
+ {{#each values}}
129
+ | {{ value }}{{#if description}} // {{ name }} - {{ join description " " }}{{/if}}
130
+ {{/each}}
131
+ | number;
132
+
133
+ {{/each}}
134
+
135
+ // Messages
136
+ {{#each messages}}
137
+ {{#each description}}
138
+ // {{ this }}
139
+ {{/each}}
140
+ export interface Message{{ name }} {
141
+ {{#each fields}}
142
+ {{#each description}}
143
+ // {{ this }}
144
+ {{/each}}
145
+ {{ name }}{{#if optional}}?{{/if}}: {{ type }};
146
+ {{/each}}
147
+ }
148
+
149
+ {{/each}}
150
+
151
+ // Message type map for type-safe message handling
152
+ export interface MessageTypeMap {
153
+ {{#each messages}}
154
+ {{ originalName }}: Message{{ name }};
155
+ {{/each}}
156
+ }
157
+
158
+ // Union type of all message types
159
+ export type AnyMessage =
160
+ {{#each messages}}
161
+ | MAVLinkMessage<Message{{ name }}>
162
+ {{/each}};
163
+
164
+ // Type guard functions
165
+ {{#each messages}}
166
+ export function is{{ name }}(msg: MAVLinkMessage): msg is MAVLinkMessage<Message{{ name }}> {
167
+ return msg.type === '{{ originalName }}';
168
+ }
169
+ {{/each}}
170
+ `));
171
+ }
172
+ registerHelpers() {
173
+ handlebars_1.default.registerHelper('join', (array, separator) => {
174
+ return array.join(separator);
175
+ });
176
+ handlebars_1.default.registerHelper('eq', (a, b) => {
177
+ return a === b;
178
+ });
179
+ handlebars_1.default.registerHelper('ne', (a, b) => {
180
+ return a !== b;
181
+ });
182
+ }
183
+ generateTypes(dialect) {
184
+ const template = this.templates.get('types');
185
+ if (!template) {
186
+ throw new Error('Types template not found');
187
+ }
188
+ return template(dialect);
189
+ }
190
+ generateEnums(dialect) {
191
+ const template = this.templates.get('enums');
192
+ if (!template) {
193
+ throw new Error('Enums template not found');
194
+ }
195
+ return template(dialect);
196
+ }
197
+ generateMessages(dialect) {
198
+ const template = this.templates.get('messages');
199
+ if (!template) {
200
+ throw new Error('Messages template not found');
201
+ }
202
+ return template(dialect);
203
+ }
204
+ generateIndex(dialect, includeEnums = false) {
205
+ const template = this.templates.get('index');
206
+ if (!template) {
207
+ throw new Error('Index template not found');
208
+ }
209
+ return template({ ...dialect, includeEnums });
210
+ }
211
+ generateSingle(dialect) {
212
+ const template = this.templates.get('single');
213
+ if (!template) {
214
+ throw new Error('Single template not found');
215
+ }
216
+ return template(dialect);
217
+ }
218
+ }
219
+ exports.TemplateEngine = TemplateEngine;
220
+ //# sourceMappingURL=template-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../src/template-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { MAVLinkDialectDefinition, TypeScriptDialect } from './types';
2
+ export declare class TypeConverter {
3
+ private static readonly MAVLINK_TO_TS_TYPES;
4
+ convert(definition: MAVLinkDialectDefinition, dialectName: string): TypeScriptDialect;
5
+ private convertEnum;
6
+ private convertMessage;
7
+ private convertField;
8
+ private convertMessageName;
9
+ private convertFieldName;
10
+ private convertFieldType;
11
+ private convertSingleType;
12
+ private parseEnumValue;
13
+ private parseDescription;
14
+ }
15
+ //# sourceMappingURL=type-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-converter.d.ts","sourceRoot":"","sources":["../src/type-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAIxB,iBAAiB,EAIlB,MAAM,SAAS,CAAC;AAEjB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAazC;IAEF,OAAO,CAAC,UAAU,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB;IA8BrF,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IAmBxB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,gBAAgB;CAQzB"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeConverter = void 0;
4
+ class TypeConverter {
5
+ convert(definition, dialectName) {
6
+ const tsDialect = {
7
+ dialectName,
8
+ enums: [],
9
+ messages: []
10
+ };
11
+ // Convert enums
12
+ if (definition.enums) {
13
+ for (const enumDef of definition.enums) {
14
+ const tsEnum = this.convertEnum(enumDef);
15
+ if (tsEnum) {
16
+ tsDialect.enums.push(tsEnum);
17
+ }
18
+ }
19
+ }
20
+ // Convert messages
21
+ if (definition.messages) {
22
+ for (const messageDef of definition.messages) {
23
+ const tsMessage = this.convertMessage(messageDef, tsDialect.enums);
24
+ if (tsMessage) {
25
+ tsDialect.messages.push(tsMessage);
26
+ }
27
+ }
28
+ }
29
+ return tsDialect;
30
+ }
31
+ convertEnum(enumDef) {
32
+ if (!enumDef || !enumDef.name || !enumDef.entries || enumDef.entries.length === 0) {
33
+ return null;
34
+ }
35
+ const tsEnum = {
36
+ name: enumDef.name,
37
+ description: this.parseDescription(enumDef.description || ''),
38
+ bitmask: enumDef.bitmask || false,
39
+ values: []
40
+ };
41
+ for (const entry of enumDef.entries) {
42
+ const value = this.parseEnumValue(entry.value);
43
+ if (value !== null) {
44
+ tsEnum.values.push({
45
+ name: entry.name,
46
+ value,
47
+ description: this.parseDescription(entry.description || '')
48
+ });
49
+ }
50
+ }
51
+ return tsEnum;
52
+ }
53
+ convertMessage(messageDef, enums) {
54
+ if (!messageDef.name || !messageDef.fields) {
55
+ return null;
56
+ }
57
+ const tsMessage = {
58
+ name: this.convertMessageName(messageDef.name),
59
+ originalName: messageDef.name,
60
+ description: this.parseDescription(messageDef.description || ''),
61
+ fields: []
62
+ };
63
+ for (const fieldDef of messageDef.fields) {
64
+ const tsField = this.convertField(fieldDef, enums);
65
+ if (tsField) {
66
+ tsMessage.fields.push(tsField);
67
+ }
68
+ }
69
+ return tsMessage;
70
+ }
71
+ convertField(fieldDef, enums) {
72
+ if (!fieldDef.name || !fieldDef.type) {
73
+ return null;
74
+ }
75
+ const tsField = {
76
+ name: this.convertFieldName(fieldDef.name),
77
+ type: this.convertFieldType(fieldDef.type, fieldDef.enum, enums),
78
+ description: this.parseDescription(fieldDef.description || ''),
79
+ optional: fieldDef.extension || false
80
+ };
81
+ return tsField;
82
+ }
83
+ convertMessageName(name) {
84
+ // Convert UPPER_CASE to PascalCase
85
+ return name.split('_')
86
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
87
+ .join('');
88
+ }
89
+ convertFieldName(name) {
90
+ // Convert snake_case to PascalCase
91
+ return name.split('_')
92
+ .map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
93
+ .join('');
94
+ }
95
+ convertFieldType(type, enumName, enums) {
96
+ // Handle arrays
97
+ const arrayMatch = type.match(/^(.+?)\[(\d+)\]$/);
98
+ if (arrayMatch) {
99
+ const elementType = arrayMatch[1];
100
+ // Handle string arrays (char arrays)
101
+ if (elementType === 'char') {
102
+ return 'string';
103
+ }
104
+ // Handle other arrays
105
+ const tsElementType = this.convertSingleType(elementType, enumName, enums);
106
+ return `${tsElementType}[]`;
107
+ }
108
+ return this.convertSingleType(type, enumName, enums);
109
+ }
110
+ convertSingleType(type, enumName, enums) {
111
+ // If there's an enum specified, use it
112
+ if (enumName) {
113
+ const enumExists = enums.find(e => e.name === enumName);
114
+ if (enumExists) {
115
+ return enumName;
116
+ }
117
+ }
118
+ // Check if it's a basic type
119
+ const tsType = TypeConverter.MAVLINK_TO_TS_TYPES[type];
120
+ if (tsType) {
121
+ return tsType;
122
+ }
123
+ // Check if it's an enum type
124
+ const enumType = enums.find(e => e.name === type);
125
+ if (enumType) {
126
+ return type;
127
+ }
128
+ // Default to unknown
129
+ return 'unknown';
130
+ }
131
+ parseEnumValue(value) {
132
+ if (!value)
133
+ return null;
134
+ // Handle binary values
135
+ if (value.startsWith('0b')) {
136
+ return parseInt(value.slice(2), 2);
137
+ }
138
+ // Handle hex values
139
+ if (value.startsWith('0x')) {
140
+ return parseInt(value.slice(2), 16);
141
+ }
142
+ // Handle power operations
143
+ if (value.includes('**')) {
144
+ const parts = value.split('**');
145
+ if (parts.length === 2) {
146
+ const base = parseInt(parts[0]);
147
+ const exp = parseInt(parts[1]);
148
+ return Math.pow(base, exp);
149
+ }
150
+ }
151
+ // Handle regular integers
152
+ const intValue = parseInt(value);
153
+ return isNaN(intValue) ? null : intValue;
154
+ }
155
+ parseDescription(description) {
156
+ if (!description)
157
+ return [];
158
+ return description
159
+ .split('\n')
160
+ .map(line => line.trim())
161
+ .filter(line => line.length > 0);
162
+ }
163
+ }
164
+ exports.TypeConverter = TypeConverter;
165
+ TypeConverter.MAVLINK_TO_TS_TYPES = {
166
+ 'double': 'number',
167
+ 'uint64_t': 'number',
168
+ 'int64_t': 'number',
169
+ 'float': 'number',
170
+ 'uint32_t': 'number',
171
+ 'int32_t': 'number',
172
+ 'uint16_t': 'number',
173
+ 'int16_t': 'number',
174
+ 'uint8_t': 'number',
175
+ 'int8_t': 'number',
176
+ 'char': 'string',
177
+ 'uint8_t_mavlink_version': 'number'
178
+ };
179
+ //# sourceMappingURL=type-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-converter.js","sourceRoot":"","sources":["../src/type-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ export interface MAVLinkDialectDefinition {
2
+ version?: string;
3
+ dialect?: number;
4
+ includes?: string[];
5
+ enums?: EnumDefinition[];
6
+ messages?: MessageDefinition[];
7
+ }
8
+ export interface EnumDefinition {
9
+ name: string;
10
+ description?: string;
11
+ bitmask?: boolean;
12
+ entries: EnumEntry[];
13
+ }
14
+ export interface EnumEntry {
15
+ name: string;
16
+ value: string;
17
+ description?: string;
18
+ }
19
+ export interface MessageDefinition {
20
+ id: number;
21
+ name: string;
22
+ description?: string;
23
+ fields: FieldDefinition[];
24
+ }
25
+ export interface FieldDefinition {
26
+ name: string;
27
+ type: string;
28
+ enum?: string;
29
+ description?: string;
30
+ extension?: boolean;
31
+ }
32
+ export interface TypeScriptEnum {
33
+ name: string;
34
+ description: string[];
35
+ values: TypeScriptEnumValue[];
36
+ bitmask: boolean;
37
+ }
38
+ export interface TypeScriptEnumValue {
39
+ name: string;
40
+ value: number;
41
+ description: string[];
42
+ }
43
+ export interface TypeScriptField {
44
+ name: string;
45
+ type: string;
46
+ description: string[];
47
+ optional: boolean;
48
+ }
49
+ export interface TypeScriptMessage {
50
+ name: string;
51
+ originalName: string;
52
+ description: string[];
53
+ fields: TypeScriptField[];
54
+ }
55
+ export interface TypeScriptDialect {
56
+ dialectName: string;
57
+ enums: TypeScriptEnum[];
58
+ messages: TypeScriptMessage[];
59
+ }
60
+ export interface GenerationOptions {
61
+ dialectName: string;
62
+ outputFormat: 'single' | 'separate';
63
+ includeTypeGuards: boolean;
64
+ includeEnums: boolean;
65
+ }
66
+ export interface MAVLinkDialect {
67
+ version?: string;
68
+ dialect?: string;
69
+ include?: string | string[];
70
+ enums?: {
71
+ enum: XMLEnum | XMLEnum[];
72
+ };
73
+ messages?: {
74
+ message: XMLMessage | XMLMessage[];
75
+ };
76
+ }
77
+ export interface XMLEnum {
78
+ $: {
79
+ name: string;
80
+ bitmask?: string;
81
+ };
82
+ description?: string;
83
+ entry?: XMLEnumEntry | XMLEnumEntry[];
84
+ }
85
+ export interface XMLEnumEntry {
86
+ $: {
87
+ name: string;
88
+ value: string;
89
+ };
90
+ description?: string;
91
+ _?: string;
92
+ }
93
+ export interface XMLMessage {
94
+ $: {
95
+ id: string;
96
+ name: string;
97
+ };
98
+ description?: string;
99
+ field?: XMLField | XMLField[];
100
+ }
101
+ export interface XMLField {
102
+ $: {
103
+ name: string;
104
+ type: string;
105
+ enum?: string;
106
+ };
107
+ _?: string;
108
+ description?: string;
109
+ }
110
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ import { MAVLinkDialectDefinition } from './types';
2
+ export declare class XMLParser {
3
+ private processedUrls;
4
+ parseFromURL(url: string): Promise<MAVLinkDialectDefinition>;
5
+ parseFromFile(filePath: string): Promise<MAVLinkDialectDefinition>;
6
+ private parseXML;
7
+ private processDefinition;
8
+ private resolveIncludeUrl;
9
+ private processEnum;
10
+ private processMessage;
11
+ reset(): void;
12
+ }
13
+ //# sourceMappingURL=xml-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../src/xml-parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAA2F,MAAM,SAAS,CAAC;AAE5I,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAqB;IAEpC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAS5D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;YAK1D,QAAQ;YAkBR,iBAAiB;IA4D/B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,cAAc;IAsCtB,KAAK,IAAI,IAAI;CAGd"}