@siyavuyachagi/typesharp 0.1.3 → 0.1.5-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +138 -118
- package/dist/cli/index.js +2 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +114 -38
- package/dist/core/index.js.map +1 -1
- package/dist/generator/index.d.ts +5 -0
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +21 -18
- package/dist/generator/index.js.map +1 -1
- package/dist/helpers/change-tracker.d.ts +14 -0
- package/dist/helpers/change-tracker.d.ts.map +1 -0
- package/dist/helpers/change-tracker.js +95 -0
- package/dist/helpers/change-tracker.js.map +1 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +2 -108
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parse-classes-from-file.d.ts +6 -0
- package/dist/parser/parse-classes-from-file.d.ts.map +1 -0
- package/dist/parser/parse-classes-from-file.js +279 -0
- package/dist/parser/parse-classes-from-file.js.map +1 -0
- package/dist/parser/parse-properties.d.ts +22 -0
- package/dist/parser/parse-properties.d.ts.map +1 -1
- package/dist/parser/parse-properties.js +177 -34
- package/dist/parser/parse-properties.js.map +1 -1
- package/dist/parser/resolve-project-files-from-source.d.ts.map +1 -1
- package/dist/parser/resolve-project-files-from-source.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
import { NamingConvention } from '../types';
|
|
1
2
|
import type { ParseResult, TypeSharpConfig } from '../types';
|
|
2
3
|
/**
|
|
3
4
|
* Generate TypeScript files from parsed C# classes
|
|
4
5
|
*/
|
|
5
6
|
export declare function generateTypeScriptFiles(config: TypeSharpConfig, parseResults: ParseResult[]): void;
|
|
7
|
+
/**
|
|
8
|
+
* Convert file name to specified convention
|
|
9
|
+
*/
|
|
10
|
+
export declare function convertFileName(name: string, convention: NamingConvention): string;
|
|
6
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAA+B,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG7D;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,WAAW,EAAE,GAC1B,IAAI,CAcN;AA+WD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,MAAM,CAalF"}
|
package/dist/generator/index.js
CHANGED
|
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.generateTypeScriptFiles = generateTypeScriptFiles;
|
|
40
|
+
exports.convertFileName = convertFileName;
|
|
40
41
|
const fs = __importStar(require("fs"));
|
|
41
42
|
const path = __importStar(require("path"));
|
|
42
43
|
const chalk_1 = __importDefault(require("chalk"));
|
|
@@ -73,53 +74,55 @@ function generateSingleFile(classes, outputPath) {
|
|
|
73
74
|
console.log(chalk_1.default.whiteBright(` - Generated:`), chalk_1.default.blue(filePath));
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
76
|
-
* Generate multiple files -
|
|
77
|
+
* Generate multiple files - with incremental writing
|
|
77
78
|
* This preserves the original grouping of classes
|
|
78
79
|
*/
|
|
79
80
|
function generateMultipleFiles(outputPath, config, parseResults) {
|
|
80
|
-
// Convention output type
|
|
81
81
|
const dirConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.dir ?? 'snake';
|
|
82
82
|
const fileConvention = typeof config.namingConvention === 'string' ? config.namingConvention : config.namingConvention?.file ?? 'camel';
|
|
83
|
-
// Build a map of class names to their file paths for import resolution
|
|
84
83
|
const classToFileMap = buildClassToFileMap(parseResults, config, outputPath, fileConvention);
|
|
85
|
-
// Sort results by path - Asc order
|
|
86
84
|
const parseResultsSorted = parseResults.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
|
|
87
85
|
for (const result of parseResultsSorted) {
|
|
88
|
-
|
|
89
|
-
const content = result.classes
|
|
90
|
-
.map(cls => generateTypeScriptClass(cls))
|
|
91
|
-
.join('\n\n');
|
|
92
|
-
// Preserve folder structure
|
|
86
|
+
const content = result.classes.map(cls => generateTypeScriptClass(cls)).join('\n\n');
|
|
93
87
|
const relativeDir = path.dirname(result.relativePath);
|
|
94
88
|
const appDir = path.join(outputPath, relativeDir);
|
|
95
|
-
// Convert dir with configued conventions
|
|
96
89
|
const targetDir = convertDirName(appDir, dirConvention);
|
|
97
|
-
// Create directory if needed
|
|
98
90
|
if (!fs.existsSync(targetDir)) {
|
|
99
91
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
100
92
|
}
|
|
101
|
-
// Get the original C# filename without extension
|
|
102
93
|
const originalFileName = path.basename(result.relativePath, '.cs');
|
|
103
|
-
// Apply file suffix if configured
|
|
104
94
|
let baseName = originalFileName;
|
|
105
95
|
if (config.fileSuffix) {
|
|
106
|
-
// Capitalize the 1st character for better convention
|
|
107
96
|
const suffix = config.fileSuffix.charAt(0).toUpperCase() + config.fileSuffix.slice(1);
|
|
108
97
|
baseName = `${baseName}${suffix}`;
|
|
109
98
|
}
|
|
110
|
-
// Apply naming convention to the filename
|
|
111
99
|
const fileName = convertFileName(baseName, fileConvention);
|
|
112
100
|
const filePath = path.join(targetDir, `${fileName}.ts`);
|
|
113
|
-
// Generate imports for this file
|
|
114
101
|
const currentClassNames = result.classes.map(c => c.name);
|
|
115
102
|
const imports = generateImports(result.classes, classToFileMap, filePath, currentClassNames, dirConvention);
|
|
116
103
|
const header = generateFileHeader();
|
|
117
104
|
const fullContent = imports
|
|
118
105
|
? `${imports}\n\n${header}\n\n${content}\n`
|
|
119
106
|
: `${header}\n\n${content}\n`;
|
|
120
|
-
|
|
121
|
-
|
|
107
|
+
// NEW: Only write if content changed
|
|
108
|
+
if (shouldWriteFile(filePath, fullContent)) {
|
|
109
|
+
fs.writeFileSync(filePath, fullContent, 'utf-8');
|
|
110
|
+
console.log(chalk_1.default.blue(` ↳`), chalk_1.default.green('Updated:'), chalk_1.default.blue(filePath));
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.log(chalk_1.default.blue(` ↳`), chalk_1.default.gray('Unchanged:'), chalk_1.default.blue(filePath));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Check if file content changed before writing
|
|
119
|
+
*/
|
|
120
|
+
function shouldWriteFile(filePath, newContent) {
|
|
121
|
+
if (!fs.existsSync(filePath)) {
|
|
122
|
+
return true; // New file, write it
|
|
122
123
|
}
|
|
124
|
+
const existingContent = fs.readFileSync(filePath, 'utf-8');
|
|
125
|
+
return existingContent !== newContent; // Write only if different
|
|
123
126
|
}
|
|
124
127
|
/**
|
|
125
128
|
* Build a map of class names to their output file paths
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load previous generation hashes
|
|
3
|
+
*/
|
|
4
|
+
export declare function loadPreviousHashes(): Map<string, string>;
|
|
5
|
+
/**
|
|
6
|
+
* Save current hashes for next generation
|
|
7
|
+
*/
|
|
8
|
+
export declare function savePreviousHashes(hashes: Map<string, string>): void;
|
|
9
|
+
export declare function computeFileHash(filePath: string): string;
|
|
10
|
+
export declare function getChangedFiles(allCSharpFiles: string[], previousHashes: Map<string, string>): {
|
|
11
|
+
changed: string[];
|
|
12
|
+
deleted: string[];
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=change-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../src/helpers/change-tracker.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQpE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,EAAE,EACxB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAsB1C"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.loadPreviousHashes = loadPreviousHashes;
|
|
37
|
+
exports.savePreviousHashes = savePreviousHashes;
|
|
38
|
+
exports.computeFileHash = computeFileHash;
|
|
39
|
+
exports.getChangedFiles = getChangedFiles;
|
|
40
|
+
// src/helpers/change-tracker.ts
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const crypto = __importStar(require("crypto"));
|
|
44
|
+
const TYPESHARP_CACHE_DIR = '.typesharp';
|
|
45
|
+
const HASH_SNAPSHOT_FILE = path.join(TYPESHARP_CACHE_DIR, 'hashes.json');
|
|
46
|
+
/**
|
|
47
|
+
* Load previous generation hashes
|
|
48
|
+
*/
|
|
49
|
+
function loadPreviousHashes() {
|
|
50
|
+
if (!fs.existsSync(HASH_SNAPSHOT_FILE)) {
|
|
51
|
+
return new Map();
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
const data = JSON.parse(fs.readFileSync(HASH_SNAPSHOT_FILE, 'utf-8'));
|
|
55
|
+
return new Map(Object.entries(data));
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return new Map();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Save current hashes for next generation
|
|
63
|
+
*/
|
|
64
|
+
function savePreviousHashes(hashes) {
|
|
65
|
+
// Create .typesharp directory if it doesn't exist
|
|
66
|
+
if (!fs.existsSync(TYPESHARP_CACHE_DIR)) {
|
|
67
|
+
fs.mkdirSync(TYPESHARP_CACHE_DIR, { recursive: true });
|
|
68
|
+
}
|
|
69
|
+
const obj = Object.fromEntries(hashes);
|
|
70
|
+
fs.writeFileSync(HASH_SNAPSHOT_FILE, JSON.stringify(obj, null, 2), 'utf-8');
|
|
71
|
+
}
|
|
72
|
+
function computeFileHash(filePath) {
|
|
73
|
+
const content = fs.readFileSync(filePath, 'utf-8');
|
|
74
|
+
return crypto.createHash('md5').update(content).digest('hex');
|
|
75
|
+
}
|
|
76
|
+
function getChangedFiles(allCSharpFiles, previousHashes) {
|
|
77
|
+
const changed = [];
|
|
78
|
+
const currentHashes = new Map();
|
|
79
|
+
for (const file of allCSharpFiles) {
|
|
80
|
+
const hash = computeFileHash(file);
|
|
81
|
+
currentHashes.set(file, hash);
|
|
82
|
+
const prevHash = previousHashes.get(file);
|
|
83
|
+
if (prevHash !== hash) {
|
|
84
|
+
changed.push(file);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const deleted = [];
|
|
88
|
+
for (const [file] of previousHashes) {
|
|
89
|
+
if (!currentHashes.has(file)) {
|
|
90
|
+
deleted.push(file);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return { changed, deleted };
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=change-tracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../src/helpers/change-tracker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,gDAWC;AAKD,gDAQC;AAED,0CAGC;AAED,0CAyBC;AApED,gCAAgC;AAChC,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAGjC,MAAM,mBAAmB,GAAG,YAAY,CAAC;AACzC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAEzE;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,MAA2B;IAC5D,kDAAkD;IAClD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,eAAe,CAAC,QAAgB;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,eAAe,CAC7B,cAAwB,EACxB,cAAmC;IAEnC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQ5D;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA+BtF"}
|
package/dist/parser/index.js
CHANGED
|
@@ -38,7 +38,7 @@ const fs = __importStar(require("fs"));
|
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const glob_1 = require("glob");
|
|
40
40
|
const resolve_project_files_from_source_1 = require("./resolve-project-files-from-source");
|
|
41
|
-
const
|
|
41
|
+
const parse_classes_from_file_1 = require("./parse-classes-from-file");
|
|
42
42
|
/**
|
|
43
43
|
* Parse C# files in the target project(s)
|
|
44
44
|
*/
|
|
@@ -57,7 +57,7 @@ async function parseCSharpFiles(config) {
|
|
|
57
57
|
});
|
|
58
58
|
for (const filePath of csFiles) {
|
|
59
59
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
60
|
-
const classes = parseClassesFromFile(content, targetAnnotation);
|
|
60
|
+
const classes = (0, parse_classes_from_file_1.parseClassesFromFile)(content, targetAnnotation);
|
|
61
61
|
if (classes.length > 0) {
|
|
62
62
|
// Store relative path for preserving folder structure later
|
|
63
63
|
const relativePath = path.relative(projectDir, filePath);
|
|
@@ -67,110 +67,4 @@ async function parseCSharpFiles(config) {
|
|
|
67
67
|
}
|
|
68
68
|
return allResults;
|
|
69
69
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Parse classes from a C# file content
|
|
72
|
-
*/
|
|
73
|
-
function parseClassesFromFile(content, targetAnnotation) {
|
|
74
|
-
const classes = [];
|
|
75
|
-
// Remove comments
|
|
76
|
-
const cleanContent = removeComments(content);
|
|
77
|
-
// Find all classes/enums with the target annotation
|
|
78
|
-
const annotationRegex = new RegExp(`\\[${targetAnnotation}(?:Attribute)?(?:\\(\\s*"([^"]*)"\\s*\\))?\\]`, 'g');
|
|
79
|
-
const matches = [...cleanContent.matchAll(annotationRegex)];
|
|
80
|
-
for (const match of matches) {
|
|
81
|
-
const startIndex = match.index;
|
|
82
|
-
const afterAnnotation = cleanContent.substring(startIndex);
|
|
83
|
-
// Check if it's an enum
|
|
84
|
-
const enumMatch = afterAnnotation.match(/(?:\[[\w]+(?:\([^)]*\))?\]\s*)*public\s+enum\s+(\w+)/);
|
|
85
|
-
if (enumMatch) {
|
|
86
|
-
const typeNameOverride = match[1] ?? undefined;
|
|
87
|
-
const enumClass = parseEnum(afterAnnotation, typeNameOverride ?? enumMatch[1]);
|
|
88
|
-
if (enumClass)
|
|
89
|
-
classes.push(enumClass);
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
// Parse as class with full generic support
|
|
93
|
-
// Matches: public class ClassName<T, U> : BaseClass<T>
|
|
94
|
-
// Now supports multiple stacked attributes before the class declaration
|
|
95
|
-
const classMatch = afterAnnotation.match(/(?:\[[\w]+(?:\([^)]*\))?\]\s*)*public\s+class\s+(\w+)(?:<([^>]+)>)?(?:\s*:\s*(\w+)(?:<([^>]+)>)?)?/);
|
|
96
|
-
if (classMatch) {
|
|
97
|
-
const className = classMatch[1];
|
|
98
|
-
const genericParams = classMatch[2]; // e.g., "T" or "T, U"
|
|
99
|
-
const inheritsFrom = classMatch[3];
|
|
100
|
-
const baseGenerics = classMatch[4]; // e.g., "T" or "T, U"
|
|
101
|
-
const classBody = extractClassBody(afterAnnotation);
|
|
102
|
-
if (classBody) {
|
|
103
|
-
const properties = (0, parse_properties_1.parseProperties)(classBody);
|
|
104
|
-
// Parse generic parameters
|
|
105
|
-
const genericParameters = genericParams
|
|
106
|
-
? genericParams.split(',').map(p => p.trim())
|
|
107
|
-
: undefined;
|
|
108
|
-
const baseClassGenerics = baseGenerics
|
|
109
|
-
? baseGenerics.split(',').map(p => p.trim())
|
|
110
|
-
: undefined;
|
|
111
|
-
const typeNameOverride = match[1] ?? undefined;
|
|
112
|
-
classes.push({
|
|
113
|
-
name: typeNameOverride ?? className,
|
|
114
|
-
properties,
|
|
115
|
-
inheritsFrom,
|
|
116
|
-
isEnum: false,
|
|
117
|
-
genericParameters,
|
|
118
|
-
baseClassGenerics
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return classes;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Parse enum from C# content
|
|
127
|
-
*/
|
|
128
|
-
function parseEnum(content, enumName) {
|
|
129
|
-
const enumBodyMatch = content.match(/enum\s+\w+\s*\{([^}]+)\}/);
|
|
130
|
-
if (!enumBodyMatch)
|
|
131
|
-
return null;
|
|
132
|
-
const enumBody = enumBodyMatch[1];
|
|
133
|
-
const enumValues = enumBody
|
|
134
|
-
.split(',')
|
|
135
|
-
.map(v => v.trim())
|
|
136
|
-
.filter(v => v.length > 0)
|
|
137
|
-
.map(v => v.split('=')[0].trim()); // Remove value assignments
|
|
138
|
-
return {
|
|
139
|
-
name: enumName,
|
|
140
|
-
properties: [],
|
|
141
|
-
isEnum: true,
|
|
142
|
-
enumValues
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Extract class body between curly braces
|
|
147
|
-
*/
|
|
148
|
-
function extractClassBody(content) {
|
|
149
|
-
let braceCount = 0;
|
|
150
|
-
let startIndex = -1;
|
|
151
|
-
for (let i = 0; i < content.length; i++) {
|
|
152
|
-
if (content[i] === '{') {
|
|
153
|
-
if (braceCount === 0)
|
|
154
|
-
startIndex = i;
|
|
155
|
-
braceCount++;
|
|
156
|
-
}
|
|
157
|
-
else if (content[i] === '}') {
|
|
158
|
-
braceCount--;
|
|
159
|
-
if (braceCount === 0 && startIndex !== -1) {
|
|
160
|
-
return content.substring(startIndex + 1, i);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
return null;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Remove single-line and multi-line comments
|
|
168
|
-
*/
|
|
169
|
-
function removeComments(content) {
|
|
170
|
-
// Remove multi-line comments
|
|
171
|
-
let result = content.replace(/\/\*[\s\S]*?\*\//g, '');
|
|
172
|
-
// Remove single-line comments
|
|
173
|
-
result = result.replace(/\/\/.*/g, '');
|
|
174
|
-
return result;
|
|
175
|
-
}
|
|
176
70
|
//# sourceMappingURL=index.js.map
|
package/dist/parser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,4CA+BC;AA9CD,uCAAyB;AACzB,2CAA6B;AAC7B,+BAA4B;AAG5B,2FAAoF;AACpF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,4CA+BC;AA9CD,uCAAyB;AACzB,2CAA6B;AAC7B,+BAA4B;AAG5B,2FAAoF;AACpF,uEAAiE;AAMjE;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAuB;IAC5D,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,WAAW,CAAC;IAEhE,uDAAuD;IACvD,MAAM,YAAY,GAAG,IAAA,iEAA6B,EAAC,MAAM,CAAC,MAAO,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAkB,EAAE,CAAC;IAErC,uBAAuB;IACvB,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,MAAM,IAAA,WAAI,EAAC,SAAS,EAAE;YACpC,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,oBAAoB,CAAC;SACzD,CAAC,CAAC;QAEH,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,IAAA,8CAAoB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YAEhE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,4DAA4D;gBAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACzD,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-classes-from-file.d.ts","sourceRoot":"","sources":["../../src/parser/parse-classes-from-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAC;AAIvD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,WAAW,EAAE,CAkJ7F"}
|