@aircast-4g/mavlink 1.1.3 → 1.1.6

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 (91) hide show
  1. package/README.md +40 -29
  2. package/dist/dialects/ardupilotmega/index.d.ts +7071 -5
  3. package/dist/dialects/ardupilotmega/index.js +17804 -0
  4. package/dist/dialects/ardupilotmega/index.js.map +1 -0
  5. package/dist/dialects/common/index.d.ts +5335 -5
  6. package/dist/dialects/common/index.js +13709 -0
  7. package/dist/dialects/common/index.js.map +1 -0
  8. package/dist/dialects/minimal/index.d.ts +359 -5
  9. package/dist/dialects/minimal/index.js +859 -0
  10. package/dist/dialects/minimal/index.js.map +1 -0
  11. package/dist/dialects/paparazzi/index.d.ts +5379 -0
  12. package/dist/dialects/paparazzi/index.js +13807 -0
  13. package/dist/dialects/paparazzi/index.js.map +1 -0
  14. package/dist/dialects/python_array_test/index.d.ts +5420 -0
  15. package/dist/dialects/python_array_test/index.js +13954 -0
  16. package/dist/dialects/python_array_test/index.js.map +1 -0
  17. package/dist/dialects/standard/index.d.ts +365 -0
  18. package/dist/dialects/standard/index.js +867 -0
  19. package/dist/dialects/standard/index.js.map +1 -0
  20. package/dist/dialects/test/index.d.ts +115 -0
  21. package/dist/dialects/test/index.js +409 -0
  22. package/dist/dialects/test/index.js.map +1 -0
  23. package/package.json +52 -18
  24. package/dist/cli.d.ts +0 -3
  25. package/dist/cli.d.ts.map +0 -1
  26. package/dist/cli.js +0 -174
  27. package/dist/cli.js.map +0 -1
  28. package/dist/dialects/ardupilotmega/decoder.js +0 -11930
  29. package/dist/dialects/ardupilotmega/enums.d.ts +0 -4631
  30. package/dist/dialects/ardupilotmega/messages.d.ts +0 -8088
  31. package/dist/dialects/ardupilotmega/types.d.ts +0 -2833
  32. package/dist/dialects/common/decoder.js +0 -9098
  33. package/dist/dialects/common/enums.d.ts +0 -3632
  34. package/dist/dialects/common/messages.d.ts +0 -6114
  35. package/dist/dialects/common/types.d.ts +0 -2159
  36. package/dist/dialects/minimal/decoder.js +0 -67
  37. package/dist/dialects/minimal/enums.d.ts +0 -494
  38. package/dist/dialects/minimal/messages.d.ts +0 -62
  39. package/dist/dialects/minimal/types.d.ts +0 -272
  40. package/dist/generator/batch-processor.d.ts +0 -17
  41. package/dist/generator/batch-processor.d.ts.map +0 -1
  42. package/dist/generator/batch-processor.js +0 -141
  43. package/dist/generator/batch-processor.js.map +0 -1
  44. package/dist/generator/generator.d.ts +0 -16
  45. package/dist/generator/generator.d.ts.map +0 -1
  46. package/dist/generator/generator.js +0 -136
  47. package/dist/generator/generator.js.map +0 -1
  48. package/dist/generator/template-engine.d.ts +0 -14
  49. package/dist/generator/template-engine.d.ts.map +0 -1
  50. package/dist/generator/template-engine.js +0 -270
  51. package/dist/generator/template-engine.js.map +0 -1
  52. package/dist/generator/type-converter.d.ts +0 -15
  53. package/dist/generator/type-converter.d.ts.map +0 -1
  54. package/dist/generator/type-converter.js +0 -179
  55. package/dist/generator/type-converter.js.map +0 -1
  56. package/dist/generator/xml-parser.d.ts +0 -13
  57. package/dist/generator/xml-parser.d.ts.map +0 -1
  58. package/dist/generator/xml-parser.js +0 -170
  59. package/dist/generator/xml-parser.js.map +0 -1
  60. package/dist/index.d.ts +0 -8
  61. package/dist/index.d.ts.map +0 -1
  62. package/dist/index.js +0 -37
  63. package/dist/index.js.map +0 -1
  64. package/dist/parser/crc.d.ts +0 -7
  65. package/dist/parser/crc.d.ts.map +0 -1
  66. package/dist/parser/crc.js +0 -182
  67. package/dist/parser/crc.js.map +0 -1
  68. package/dist/parser/frame-parser.d.ts +0 -15
  69. package/dist/parser/frame-parser.d.ts.map +0 -1
  70. package/dist/parser/frame-parser.js +0 -82
  71. package/dist/parser/frame-parser.js.map +0 -1
  72. package/dist/parser/index.d.ts +0 -6
  73. package/dist/parser/index.d.ts.map +0 -1
  74. package/dist/parser/index.js +0 -28
  75. package/dist/parser/index.js.map +0 -1
  76. package/dist/parser/mavlink-parser.d.ts +0 -35
  77. package/dist/parser/mavlink-parser.d.ts.map +0 -1
  78. package/dist/parser/mavlink-parser.js +0 -215
  79. package/dist/parser/mavlink-parser.js.map +0 -1
  80. package/dist/parser/message-decoder.d.ts +0 -47
  81. package/dist/parser/message-decoder.d.ts.map +0 -1
  82. package/dist/parser/message-decoder.js +0 -288
  83. package/dist/parser/message-decoder.js.map +0 -1
  84. package/dist/parser/types.d.ts +0 -60
  85. package/dist/parser/types.d.ts.map +0 -1
  86. package/dist/parser/types.js +0 -13
  87. package/dist/parser/types.js.map +0 -1
  88. package/dist/types.d.ts +0 -110
  89. package/dist/types.d.ts.map +0 -1
  90. package/dist/types.js +0 -3
  91. package/dist/types.js.map +0 -1
@@ -1,14 +0,0 @@
1
- import { TypeScriptDialect } from '../types';
2
- export declare class TemplateEngine {
3
- private templates;
4
- constructor();
5
- private initializeTemplates;
6
- private registerHelpers;
7
- generateTypes(dialect: TypeScriptDialect): string;
8
- generateEnums(dialect: TypeScriptDialect): string;
9
- generateMessages(dialect: TypeScriptDialect): string;
10
- generateIndex(dialect: TypeScriptDialect, includeEnums?: boolean): string;
11
- generateSingle(dialect: TypeScriptDialect): string;
12
- generateDecoder(dialect: TypeScriptDialect): string;
13
- }
14
- //# sourceMappingURL=template-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-engine.d.ts","sourceRoot":"","sources":["../../src/generator/template-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAsD;;IAOvE,OAAO,CAAC,mBAAmB;IA4M3B,OAAO,CAAC,eAAe;IAkBvB,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQjD,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQjD,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQpD,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM;IAQhF,cAAc,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;IAQlD,eAAe,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;CAQpD"}
@@ -1,270 +0,0 @@
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
- payload: 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
- payload: 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
- // Decoder definitions template
172
- this.templates.set('decoder', handlebars_1.default.compile(`// Auto-generated decoder definitions for {{{ dialectName }}} dialect
173
- // Generated from MAVLink XML definitions
174
-
175
- interface MessageDefinition {
176
- id: number;
177
- name: string;
178
- fields: FieldDefinition[];
179
- }
180
-
181
- interface FieldDefinition {
182
- name: string;
183
- type: string;
184
- arrayLength?: number;
185
- extension?: boolean;
186
- }
187
-
188
- export const {{toUpperCase dialectName}}_MESSAGE_DEFINITIONS: MessageDefinition[] = [
189
- {{#each messages}}
190
- {
191
- id: {{ id }},
192
- name: '{{{ originalName }}}',
193
- fields: [
194
- {{#each fields}}
195
- {
196
- name: '{{{ name }}}',
197
- type: '{{{ originalType }}}',
198
- {{#if arrayLength}}
199
- arrayLength: {{ arrayLength }},
200
- {{/if}}
201
- {{#if extension}}
202
- extension: {{ extension }},
203
- {{/if}}
204
- },
205
- {{/each}}
206
- ]
207
- },
208
- {{/each}}
209
- ];
210
- `));
211
- }
212
- registerHelpers() {
213
- handlebars_1.default.registerHelper('join', (array, separator) => {
214
- return array.join(separator);
215
- });
216
- handlebars_1.default.registerHelper('eq', (a, b) => {
217
- return a === b;
218
- });
219
- handlebars_1.default.registerHelper('ne', (a, b) => {
220
- return a !== b;
221
- });
222
- handlebars_1.default.registerHelper('toUpperCase', (str) => {
223
- return str.toUpperCase();
224
- });
225
- }
226
- generateTypes(dialect) {
227
- const template = this.templates.get('types');
228
- if (!template) {
229
- throw new Error('Types template not found');
230
- }
231
- return template(dialect);
232
- }
233
- generateEnums(dialect) {
234
- const template = this.templates.get('enums');
235
- if (!template) {
236
- throw new Error('Enums template not found');
237
- }
238
- return template(dialect);
239
- }
240
- generateMessages(dialect) {
241
- const template = this.templates.get('messages');
242
- if (!template) {
243
- throw new Error('Messages template not found');
244
- }
245
- return template(dialect);
246
- }
247
- generateIndex(dialect, includeEnums = false) {
248
- const template = this.templates.get('index');
249
- if (!template) {
250
- throw new Error('Index template not found');
251
- }
252
- return template({ ...dialect, includeEnums });
253
- }
254
- generateSingle(dialect) {
255
- const template = this.templates.get('single');
256
- if (!template) {
257
- throw new Error('Single template not found');
258
- }
259
- return template(dialect);
260
- }
261
- generateDecoder(dialect) {
262
- const template = this.templates.get('decoder');
263
- if (!template) {
264
- throw new Error('Decoder template not found');
265
- }
266
- return template(dialect);
267
- }
268
- }
269
- exports.TemplateEngine = TemplateEngine;
270
- //# sourceMappingURL=template-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-engine.js","sourceRoot":"","sources":["../../src/generator/template-engine.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-converter.d.ts","sourceRoot":"","sources":["../../src/generator/type-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAIxB,iBAAiB,EAIlB,MAAM,UAAU,CAAC;AAElB,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"}
@@ -1,179 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-converter.js","sourceRoot":"","sources":["../../src/generator/type-converter.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../src/generator/xml-parser.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAA2F,MAAM,UAAU,CAAC;AAE7I,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"}