@aircast-4g/mavlink 1.1.0 → 1.1.3

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 (69) hide show
  1. package/dist/cli.js +0 -0
  2. package/dist/{decoders/ardupilotmega.ts → dialects/ardupilotmega/decoder.js} +5 -14
  3. package/dist/{types/ardupilotmega/types.ts → dialects/ardupilotmega/types.d.ts} +1 -1
  4. package/dist/{decoders/common.ts → dialects/common/decoder.js} +5 -14
  5. package/dist/{types/common/types.ts → dialects/common/types.d.ts} +1 -1
  6. package/dist/{decoders/minimal.ts → dialects/minimal/decoder.js} +5 -14
  7. package/dist/{types/minimal/types.ts → dialects/minimal/types.d.ts} +1 -1
  8. package/dist/generator/generator.d.ts.map +1 -1
  9. package/dist/generator/generator.js +15 -22
  10. package/dist/generator/generator.js.map +1 -1
  11. package/dist/generator/template-engine.js +2 -2
  12. package/dist/parser/message-decoder.d.ts +19 -4
  13. package/dist/parser/message-decoder.d.ts.map +1 -1
  14. package/dist/parser/message-decoder.js +102 -243
  15. package/dist/parser/message-decoder.js.map +1 -1
  16. package/package.json +19 -27
  17. package/dist/batch-processor.d.ts +0 -17
  18. package/dist/batch-processor.d.ts.map +0 -1
  19. package/dist/batch-processor.js +0 -141
  20. package/dist/batch-processor.js.map +0 -1
  21. package/dist/cli-generate-decoders.d.ts +0 -4
  22. package/dist/cli-generate-decoders.d.ts.map +0 -1
  23. package/dist/cli-generate-decoders.js +0 -201
  24. package/dist/cli-generate-decoders.js.map +0 -1
  25. package/dist/generator.d.ts +0 -15
  26. package/dist/generator.d.ts.map +0 -1
  27. package/dist/generator.js +0 -92
  28. package/dist/generator.js.map +0 -1
  29. package/dist/parser/decoders/ardupilotmega-decoder.d.ts +0 -14
  30. package/dist/parser/decoders/ardupilotmega-decoder.d.ts.map +0 -1
  31. package/dist/parser/decoders/ardupilotmega-decoder.js +0 -11929
  32. package/dist/parser/decoders/ardupilotmega-decoder.js.map +0 -1
  33. package/dist/parser/decoders/common-decoder.d.ts +0 -14
  34. package/dist/parser/decoders/common-decoder.d.ts.map +0 -1
  35. package/dist/parser/decoders/common-decoder.js +0 -9097
  36. package/dist/parser/decoders/common-decoder.js.map +0 -1
  37. package/dist/parser/decoders/minimal-decoder.d.ts +0 -14
  38. package/dist/parser/decoders/minimal-decoder.d.ts.map +0 -1
  39. package/dist/parser/decoders/minimal-decoder.js +0 -66
  40. package/dist/parser/decoders/minimal-decoder.js.map +0 -1
  41. package/dist/parser/generated-decoders.d.ts +0 -15
  42. package/dist/parser/generated-decoders.d.ts.map +0 -1
  43. package/dist/parser/generated-decoders.js +0 -11938
  44. package/dist/parser/generated-decoders.js.map +0 -1
  45. package/dist/parser/test-decoder.d.ts +0 -2
  46. package/dist/parser/test-decoder.d.ts.map +0 -1
  47. package/dist/parser/test-decoder.js +0 -54
  48. package/dist/parser/test-decoder.js.map +0 -1
  49. package/dist/template-engine.d.ts +0 -13
  50. package/dist/template-engine.d.ts.map +0 -1
  51. package/dist/template-engine.js +0 -220
  52. package/dist/template-engine.js.map +0 -1
  53. package/dist/type-converter.d.ts +0 -15
  54. package/dist/type-converter.d.ts.map +0 -1
  55. package/dist/type-converter.js +0 -179
  56. package/dist/type-converter.js.map +0 -1
  57. package/dist/xml-parser.d.ts +0 -13
  58. package/dist/xml-parser.d.ts.map +0 -1
  59. package/dist/xml-parser.js +0 -170
  60. package/dist/xml-parser.js.map +0 -1
  61. /package/dist/{types/ardupilotmega/enums.ts → dialects/ardupilotmega/enums.d.ts} +0 -0
  62. /package/dist/{types/ardupilotmega/index.ts → dialects/ardupilotmega/index.d.ts} +0 -0
  63. /package/dist/{types/ardupilotmega/messages.ts → dialects/ardupilotmega/messages.d.ts} +0 -0
  64. /package/dist/{types/common/enums.ts → dialects/common/enums.d.ts} +0 -0
  65. /package/dist/{types/common/index.ts → dialects/common/index.d.ts} +0 -0
  66. /package/dist/{types/common/messages.ts → dialects/common/messages.d.ts} +0 -0
  67. /package/dist/{types/minimal/enums.ts → dialects/minimal/enums.d.ts} +0 -0
  68. /package/dist/{types/minimal/index.ts → dialects/minimal/index.d.ts} +0 -0
  69. /package/dist/{types/minimal/messages.ts → dialects/minimal/messages.d.ts} +0 -0
@@ -1,141 +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.BatchProcessor = void 0;
7
- const fs_1 = require("fs");
8
- const path_1 = require("path");
9
- const node_fetch_1 = __importDefault(require("node-fetch"));
10
- const generator_1 = require("./generator");
11
- class BatchProcessor {
12
- constructor() {
13
- this.generator = new generator_1.MAVLinkGenerator();
14
- }
15
- async processAllDialects(options) {
16
- console.log('Fetching list of available dialects...');
17
- // Get list of XML files from GitHub API
18
- const response = await (0, node_fetch_1.default)(BatchProcessor.MAVLINK_DIALECTS_URL);
19
- if (!response.ok) {
20
- throw new Error(`Failed to fetch dialects list: ${response.statusText}`);
21
- }
22
- const files = await response.json();
23
- const xmlFiles = files.filter(file => file.name.endsWith('.xml'));
24
- console.log(`Found ${xmlFiles.length} dialect files to process`);
25
- // Create main output directory
26
- await fs_1.promises.mkdir(options.outputDir, { recursive: true });
27
- // Process each dialect
28
- const processedDialects = [];
29
- for (const file of xmlFiles) {
30
- const dialectName = file.name.replace('.xml', '').toLowerCase().replace('_', '');
31
- const dialectOutputDir = (0, path_1.join)(options.outputDir, dialectName);
32
- console.log(`Processing ${file.name}...`);
33
- try {
34
- const generationOptions = {
35
- dialectName,
36
- outputFormat: options.dialectFormat,
37
- includeEnums: options.includeEnums,
38
- includeTypeGuards: options.includeTypeGuards
39
- };
40
- await this.generator.generateFromURL(file.download_url, dialectOutputDir, generationOptions);
41
- processedDialects.push(dialectName);
42
- // Reset parser state for next dialect
43
- this.generator.reset();
44
- }
45
- catch (error) {
46
- console.error(`Failed to process ${file.name}:`, error);
47
- }
48
- }
49
- // Generate main index file
50
- await this.generateMainIndex(options.outputDir, processedDialects);
51
- console.log(`Successfully processed ${processedDialects.length} dialects`);
52
- }
53
- async processSpecificDialects(dialectNames, options) {
54
- console.log(`Processing ${dialectNames.length} specific dialects...`);
55
- // Create main output directory
56
- await fs_1.promises.mkdir(options.outputDir, { recursive: true });
57
- const processedDialects = [];
58
- for (const dialectName of dialectNames) {
59
- const xmlFileName = `${dialectName}.xml`;
60
- const dialectUrl = `${BatchProcessor.MAVLINK_RAW_BASE_URL}/${xmlFileName}`;
61
- const dialectOutputDir = (0, path_1.join)(options.outputDir, dialectName.toLowerCase());
62
- console.log(`Processing ${dialectName}...`);
63
- try {
64
- const generationOptions = {
65
- dialectName: dialectName.toLowerCase(),
66
- outputFormat: options.dialectFormat,
67
- includeEnums: options.includeEnums,
68
- includeTypeGuards: options.includeTypeGuards
69
- };
70
- await this.generator.generateFromURL(dialectUrl, dialectOutputDir, generationOptions);
71
- processedDialects.push(dialectName.toLowerCase());
72
- // Reset parser state for next dialect
73
- this.generator.reset();
74
- }
75
- catch (error) {
76
- console.error(`Failed to process ${dialectName}:`, error);
77
- }
78
- }
79
- // Generate main index file
80
- await this.generateMainIndex(options.outputDir, processedDialects);
81
- console.log(`Successfully processed ${processedDialects.length} dialects`);
82
- }
83
- async generateMainIndex(outputDir, dialectNames) {
84
- const indexContent = `// Auto-generated TypeScript dialects index
85
- // Exports all available dialects
86
-
87
- ${dialectNames.map(name => `export * as ${name} from './${name}';`).join('\n')}
88
-
89
- // Convenience re-exports
90
- export { MAVLinkMessage, MessageTypeMap, AnyMessage } from './common/types';
91
- `;
92
- await fs_1.promises.writeFile((0, path_1.join)(outputDir, 'index.ts'), indexContent);
93
- console.log(`Generated main index file with ${dialectNames.length} dialects`);
94
- }
95
- async generatePackageJson(outputDir, version = '1.0.0') {
96
- const packageJson = {
97
- name: 'mavlink-types',
98
- version,
99
- description: 'Auto-generated TypeScript types for MAVLink dialects',
100
- main: 'index.js',
101
- types: 'index.d.ts',
102
- files: ['**/*.ts', '**/*.js', '**/*.d.ts'],
103
- keywords: ['mavlink', 'typescript', 'types', 'drone', 'autopilot'],
104
- license: 'MIT',
105
- repository: {
106
- type: 'git',
107
- url: 'https://github.com/mavlink/mavlink'
108
- },
109
- scripts: {
110
- build: 'tsc',
111
- prepublishOnly: 'npm run build'
112
- },
113
- devDependencies: {
114
- typescript: '^5.0.0'
115
- }
116
- };
117
- await fs_1.promises.writeFile((0, path_1.join)(outputDir, 'package.json'), JSON.stringify(packageJson, null, 2));
118
- // Also generate a basic tsconfig.json
119
- const tsConfig = {
120
- compilerOptions: {
121
- target: 'ES2020',
122
- module: 'commonjs',
123
- declaration: true,
124
- outDir: './dist',
125
- rootDir: './',
126
- strict: true,
127
- esModuleInterop: true,
128
- skipLibCheck: true,
129
- forceConsistentCasingInFileNames: true
130
- },
131
- include: ['**/*.ts'],
132
- exclude: ['node_modules', 'dist']
133
- };
134
- await fs_1.promises.writeFile((0, path_1.join)(outputDir, 'tsconfig.json'), JSON.stringify(tsConfig, null, 2));
135
- console.log('Generated package.json and tsconfig.json');
136
- }
137
- }
138
- exports.BatchProcessor = BatchProcessor;
139
- BatchProcessor.MAVLINK_DIALECTS_URL = 'https://api.github.com/repos/mavlink/mavlink/contents/message_definitions/v1.0';
140
- BatchProcessor.MAVLINK_RAW_BASE_URL = 'https://raw.githubusercontent.com/mavlink/mavlink/master/message_definitions/v1.0';
141
- //# sourceMappingURL=batch-processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batch-processor.js","sourceRoot":"","sources":["../src/batch-processor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- declare function generateDecoders(): Promise<void>;
3
- export { generateDecoders };
4
- //# sourceMappingURL=cli-generate-decoders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-generate-decoders.d.ts","sourceRoot":"","sources":["../src/cli-generate-decoders.ts"],"names":[],"mappings":";AAsHA,iBAAe,gBAAgB,kBAmH9B;AAeD,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,201 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.generateDecoders = generateDecoders;
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
- const xml_parser_1 = require("./generator/xml-parser");
8
- const DIALECT_CONFIGS = [
9
- {
10
- dialectName: 'common',
11
- xmlSource: 'https://raw.githubusercontent.com/mavlink/mavlink/master/message_definitions/v1.0/common.xml',
12
- },
13
- {
14
- dialectName: 'ardupilotmega',
15
- xmlSource: 'https://raw.githubusercontent.com/mavlink/mavlink/master/message_definitions/v1.0/ardupilotmega.xml',
16
- },
17
- {
18
- dialectName: 'minimal',
19
- xmlSource: 'https://raw.githubusercontent.com/mavlink/mavlink/master/message_definitions/v1.0/minimal.xml',
20
- }
21
- ];
22
- function convertToDecoderDefinition(rawMessage) {
23
- const fields = [];
24
- for (const field of rawMessage.fields || []) {
25
- let fieldType = field.type;
26
- let arrayLength;
27
- // Handle array types like uint8_t[4]
28
- const arrayMatch = fieldType.match(/^([^[]+)\[(\d+)\]$/);
29
- if (arrayMatch) {
30
- fieldType = arrayMatch[1];
31
- arrayLength = parseInt(arrayMatch[2]);
32
- }
33
- fields.push({
34
- name: field.name,
35
- type: fieldType,
36
- arrayLength,
37
- extension: field.extension
38
- });
39
- }
40
- return {
41
- id: rawMessage.id,
42
- name: rawMessage.name,
43
- fields
44
- };
45
- }
46
- function generateDecoderCode(dialectName, messages) {
47
- let code = `// Auto-generated decoder definitions for ${dialectName} dialect
48
- // Generated from MAVLink XML definitions
49
-
50
- interface MessageDefinition {
51
- id: number;
52
- name: string;
53
- fields: FieldDefinition[];
54
- }
55
-
56
- interface FieldDefinition {
57
- name: string;
58
- type: string;
59
- arrayLength?: number;
60
- extension?: boolean;
61
- }
62
-
63
- export const ${dialectName.toUpperCase()}_MESSAGE_DEFINITIONS: MessageDefinition[] = [
64
- `;
65
- for (const message of messages) {
66
- code += ` {\n`;
67
- code += ` id: ${message.id},\n`;
68
- code += ` name: '${message.name}',\n`;
69
- code += ` fields: [\n`;
70
- for (const field of message.fields) {
71
- code += ` {\n`;
72
- code += ` name: '${field.name}',\n`;
73
- code += ` type: '${field.type}',\n`;
74
- if (field.arrayLength) {
75
- code += ` arrayLength: ${field.arrayLength},\n`;
76
- }
77
- if (field.extension) {
78
- code += ` extension: ${field.extension},\n`;
79
- }
80
- code += ` },\n`;
81
- }
82
- code += ` ]\n`;
83
- code += ` },\n`;
84
- }
85
- code += `];
86
- `;
87
- return code;
88
- }
89
- async function generateDecoders() {
90
- console.log('Generating MAVLink message decoders...');
91
- const xmlParser = new xml_parser_1.XMLParser();
92
- const allMessages = [];
93
- for (const config of DIALECT_CONFIGS) {
94
- try {
95
- console.log(`Processing ${config.dialectName} dialect...`);
96
- let definition;
97
- if (config.xmlSource.startsWith('http')) {
98
- definition = await xmlParser.parseFromURL(config.xmlSource);
99
- }
100
- else {
101
- definition = await xmlParser.parseFromFile(config.xmlSource);
102
- }
103
- // Convert raw definitions to decoder format
104
- const decoderMessages = [];
105
- for (const rawMessage of definition.messages || []) {
106
- const decoderMessage = convertToDecoderDefinition(rawMessage);
107
- decoderMessages.push(decoderMessage);
108
- allMessages.push(decoderMessage);
109
- }
110
- // Generate decoder code for this dialect
111
- const decoderCode = generateDecoderCode(config.dialectName, decoderMessages);
112
- // Save individual dialect decoder
113
- const dialectOutputPath = (0, path_1.join)(process.cwd(), 'generated', 'decoders', `${config.dialectName}.ts`);
114
- await fs_1.promises.mkdir((0, path_1.join)(process.cwd(), 'generated', 'decoders'), { recursive: true });
115
- await fs_1.promises.writeFile(dialectOutputPath, decoderCode);
116
- console.log(`Generated decoder for ${config.dialectName}: ${dialectOutputPath}`);
117
- }
118
- catch (error) {
119
- console.error(`Failed to process ${config.dialectName}:`, error);
120
- }
121
- // Reset parser state between dialects
122
- xmlParser.reset();
123
- }
124
- // Generate combined decoder definitions
125
- let allDecoderCode = `// Auto-generated decoder definitions from MAVLink XML
126
- // This file contains all message definitions for decoding MAVLink payloads
127
-
128
- interface MessageDefinition {
129
- id: number;
130
- name: string;
131
- fields: FieldDefinition[];
132
- }
133
-
134
- interface FieldDefinition {
135
- name: string;
136
- type: string;
137
- arrayLength?: number;
138
- extension?: boolean;
139
- }
140
-
141
- export const ALL_MESSAGE_DEFINITIONS: MessageDefinition[] = [
142
- `;
143
- // Sort messages by ID to avoid duplicates and ensure consistent ordering
144
- const uniqueMessages = new Map();
145
- for (const message of allMessages) {
146
- if (!uniqueMessages.has(message.id)) {
147
- uniqueMessages.set(message.id, message);
148
- }
149
- }
150
- const sortedMessages = Array.from(uniqueMessages.values()).sort((a, b) => a.id - b.id);
151
- for (const message of sortedMessages) {
152
- allDecoderCode += ` {\n`;
153
- allDecoderCode += ` id: ${message.id},\n`;
154
- allDecoderCode += ` name: '${message.name}',\n`;
155
- allDecoderCode += ` fields: [\n`;
156
- for (const field of message.fields) {
157
- allDecoderCode += ` {\n`;
158
- allDecoderCode += ` name: '${field.name}',\n`;
159
- allDecoderCode += ` type: '${field.type}',\n`;
160
- if (field.arrayLength) {
161
- allDecoderCode += ` arrayLength: ${field.arrayLength},\n`;
162
- }
163
- if (field.extension) {
164
- allDecoderCode += ` extension: ${field.extension},\n`;
165
- }
166
- allDecoderCode += ` },\n`;
167
- }
168
- allDecoderCode += ` ]\n`;
169
- allDecoderCode += ` },\n`;
170
- }
171
- allDecoderCode += `];
172
-
173
- // Helper function to create a message definitions map
174
- export function createMessageDefinitionsMap(): Map<number, MessageDefinition> {
175
- const map = new Map<number, MessageDefinition>();
176
- for (const def of ALL_MESSAGE_DEFINITIONS) {
177
- map.set(def.id, def);
178
- }
179
- return map;
180
- }
181
- `;
182
- // Save combined decoder definitions
183
- const combinedOutputPath = (0, path_1.join)(process.cwd(), 'generated', 'all-decoders.ts');
184
- await fs_1.promises.writeFile(combinedOutputPath, allDecoderCode);
185
- console.log(`Generated combined decoder definitions: ${combinedOutputPath}`);
186
- console.log(`Generated ${sortedMessages.length} unique message definitions`);
187
- console.log('Decoder generation completed!');
188
- }
189
- // Run if called directly
190
- if (require.main === module) {
191
- generateDecoders()
192
- .then(() => {
193
- console.log('All decoders generated successfully!');
194
- process.exit(0);
195
- })
196
- .catch((error) => {
197
- console.error('Error generating decoders:', error);
198
- process.exit(1);
199
- });
200
- }
201
- //# sourceMappingURL=cli-generate-decoders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-generate-decoders.js","sourceRoot":"","sources":["../src/cli-generate-decoders.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { GenerationOptions } from './types';
2
- export declare class MAVLinkGenerator {
3
- private xmlParser;
4
- private typeConverter;
5
- private templateEngine;
6
- constructor();
7
- generateFromURL(url: string, outputPath: string, options: GenerationOptions): Promise<void>;
8
- generateFromFile(filePath: string, outputPath: string, options: GenerationOptions): Promise<void>;
9
- private generate;
10
- reset(): void;
11
- }
12
- export declare function generateTypesFromXML(xmlContent: string, options: GenerationOptions): Promise<{
13
- [filename: string]: string;
14
- }>;
15
- //# sourceMappingURL=generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAA4C,MAAM,SAAS,CAAC;AAEtF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;;IAQjC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3F,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YAKzF,QAAQ;IA+BtB,KAAK,IAAI,IAAI;CAGd;AAGD,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAsCzC"}
package/dist/generator.js DELETED
@@ -1,92 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MAVLinkGenerator = void 0;
4
- exports.generateTypesFromXML = generateTypesFromXML;
5
- const fs_1 = require("fs");
6
- const path_1 = require("path");
7
- const xml2js_1 = require("xml2js");
8
- const xml_parser_1 = require("./xml-parser");
9
- const type_converter_1 = require("./type-converter");
10
- const template_engine_1 = require("./template-engine");
11
- class MAVLinkGenerator {
12
- constructor() {
13
- this.xmlParser = new xml_parser_1.XMLParser();
14
- this.typeConverter = new type_converter_1.TypeConverter();
15
- this.templateEngine = new template_engine_1.TemplateEngine();
16
- }
17
- async generateFromURL(url, outputPath, options) {
18
- const definition = await this.xmlParser.parseFromURL(url);
19
- await this.generate(definition, outputPath, options);
20
- }
21
- async generateFromFile(filePath, outputPath, options) {
22
- const definition = await this.xmlParser.parseFromFile(filePath);
23
- await this.generate(definition, outputPath, options);
24
- }
25
- async generate(definition, outputPath, options) {
26
- // Convert to TypeScript types
27
- const tsDialect = this.typeConverter.convert(definition, options.dialectName);
28
- // Ensure output directory exists
29
- await fs_1.promises.mkdir(outputPath, { recursive: true });
30
- if (options.outputFormat === 'single') {
31
- // Generate single file
32
- const content = this.templateEngine.generateSingle(tsDialect);
33
- await fs_1.promises.writeFile((0, path_1.join)(outputPath, 'index.ts'), content);
34
- }
35
- else {
36
- // Generate separate files
37
- const typesContent = this.templateEngine.generateTypes(tsDialect);
38
- await fs_1.promises.writeFile((0, path_1.join)(outputPath, 'types.ts'), typesContent);
39
- if (options.includeEnums) {
40
- const enumsContent = this.templateEngine.generateEnums(tsDialect);
41
- await fs_1.promises.writeFile((0, path_1.join)(outputPath, 'enums.ts'), enumsContent);
42
- }
43
- const messagesContent = this.templateEngine.generateMessages(tsDialect);
44
- await fs_1.promises.writeFile((0, path_1.join)(outputPath, 'messages.ts'), messagesContent);
45
- const indexContent = this.templateEngine.generateIndex(tsDialect, options.includeEnums);
46
- await fs_1.promises.writeFile((0, path_1.join)(outputPath, 'index.ts'), indexContent);
47
- }
48
- console.log(`Generated TypeScript types for ${options.dialectName} in ${outputPath}`);
49
- }
50
- reset() {
51
- this.xmlParser.reset();
52
- }
53
- }
54
- exports.MAVLinkGenerator = MAVLinkGenerator;
55
- // Standalone function for programmatic usage
56
- async function generateTypesFromXML(xmlContent, options) {
57
- const converter = new type_converter_1.TypeConverter();
58
- const templateEngine = new template_engine_1.TemplateEngine();
59
- // Parse XML directly from string
60
- const definition = await new Promise((resolve, reject) => {
61
- (0, xml2js_1.parseString)(xmlContent, { explicitArray: false }, (err, result) => {
62
- if (err)
63
- reject(err);
64
- else
65
- resolve(result.mavlink);
66
- });
67
- });
68
- // Convert parsed XML to definition format for compatibility
69
- const definitionForConverter = {
70
- version: definition.version,
71
- dialect: definition.dialect ? parseInt(definition.dialect) : undefined,
72
- includes: [],
73
- enums: [],
74
- messages: []
75
- };
76
- // Convert to TypeScript
77
- const tsDialect = converter.convert(definitionForConverter, options.dialectName);
78
- const files = {};
79
- if (options.outputFormat === 'single') {
80
- files['index.ts'] = templateEngine.generateSingle(tsDialect);
81
- }
82
- else {
83
- files['types.ts'] = templateEngine.generateTypes(tsDialect);
84
- if (options.includeEnums) {
85
- files['enums.ts'] = templateEngine.generateEnums(tsDialect);
86
- }
87
- files['messages.ts'] = templateEngine.generateMessages(tsDialect);
88
- files['index.ts'] = templateEngine.generateIndex(tsDialect, options.includeEnums);
89
- }
90
- return files;
91
- }
92
- //# sourceMappingURL=generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;AAkEA,oDAyCC;AA3GD,2BAAoC;AACpC,+BAA4B;AAC5B,mCAAqC;AACrC,6CAAyC;AACzC,qDAAiD;AACjD,uDAAmD;AAGnD,MAAa,gBAAgB;IAK3B;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,EAAE,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,UAAkB,EAAE,OAA0B;QAC/E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,UAAkB,EAAE,OAA0B;QACrF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,UAAoC,EAAE,UAAkB,EAAE,OAA0B;QACzG,8BAA8B;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAE9E,iCAAiC;QACjC,MAAM,aAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACtC,uBAAuB;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,aAAE,CAAC,SAAS,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,aAAE,CAAC,SAAS,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;YAE/D,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAClE,MAAM,aAAE,CAAC,SAAS,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;YACjE,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,aAAE,CAAC,SAAS,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;YAErE,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACxF,MAAM,aAAE,CAAC,SAAS,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,OAAO,CAAC,WAAW,OAAO,UAAU,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF;AAvDD,4CAuDC;AAED,6CAA6C;AACtC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,OAA0B;IAE1B,MAAM,SAAS,GAAG,IAAI,8BAAa,EAAE,CAAC;IACtC,MAAM,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;IAE5C,iCAAiC;IACjC,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACvE,IAAA,oBAAW,EAAC,UAAU,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,GAAiB,EAAE,MAAmC,EAAE,EAAE;YAC3G,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,MAAM,sBAAsB,GAA6B;QACvD,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,wBAAwB;IACxB,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAEjF,MAAM,KAAK,GAAmC,EAAE,CAAC;IAEjD,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,KAAK,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,KAAK,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,KAAK,CAAC,UAAU,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,14 +0,0 @@
1
- interface MessageDefinition {
2
- id: number;
3
- name: string;
4
- fields: FieldDefinition[];
5
- }
6
- interface FieldDefinition {
7
- name: string;
8
- type: string;
9
- arrayLength?: number;
10
- extension?: boolean;
11
- }
12
- export declare const ARDUPILOTMEGA_MESSAGE_DEFINITIONS: MessageDefinition[];
13
- export {};
14
- //# sourceMappingURL=ardupilotmega-decoder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ardupilotmega-decoder.d.ts","sourceRoot":"","sources":["../../../src/parser/decoders/ardupilotmega-decoder.ts"],"names":[],"mappings":"AAGA,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,EAkpXhE,CAAC"}