Skip to content

Commit 6696042

Browse files
committed
fix for insensitive names and use of prefix and suffix
1 parent 60d1eda commit 6696042

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/models/parsed-wsdl.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,16 @@ export interface Options {
8080
* @default 32
8181
*/
8282
maxStackWarn: number;
83+
modelNamePreffix: string;
84+
modelNameSuffix: string;
8385
}
8486

8587
const defaultOptions: Options = {
8688
caseInsensitiveNames: false,
8789
maxStack: 64,
8890
maxStackWarn: 32,
91+
modelNamePreffix: "",
92+
modelNameSuffix: "",
8993
};
9094

9195
export class ParsedWsdl {
@@ -129,7 +133,11 @@ export class ParsedWsdl {
129133
const definitionName = sanitizeFilename(defName);
130134
const isInSensitive = this._options.caseInsensitiveNames;
131135

132-
const defNameToCheck = isInSensitive ? definitionName.toLowerCase() : definitionName;
136+
let defNameToCheck = `${this._options.modelNamePreffix}${definitionName}${this._options.modelNameSuffix}`;
137+
if (isInSensitive) {
138+
defNameToCheck = defNameToCheck.toLowerCase();
139+
}
140+
133141
if (
134142
!this.definitions.find((def) =>
135143
isInSensitive ? def.name.toLowerCase() === defNameToCheck : def.name === defNameToCheck

src/parser.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@ interface ParserOptions {
1111
modelNamePreffix: string;
1212
modelNameSuffix: string;
1313
maxRecursiveDefinitionName: number;
14+
caseInsensitiveNames: boolean
1415
}
1516

1617
const defaultOptions: ParserOptions = {
1718
modelNamePreffix: "",
1819
modelNameSuffix: "",
1920
maxRecursiveDefinitionName: 64,
21+
caseInsensitiveNames: false
2022
};
2123

2224
type VisitedDefinition = {
@@ -239,7 +241,12 @@ export async function parseWsdl(wsdlPath: string, options: Partial<ParserOptions
239241
return reject(new Error("WSDL is undefined"));
240242
}
241243

242-
const parsedWsdl = new ParsedWsdl({ maxStack: options.maxRecursiveDefinitionName });
244+
const parsedWsdl = new ParsedWsdl({
245+
maxStack: options.maxRecursiveDefinitionName,
246+
caseInsensitiveNames: options.caseInsensitiveNames,
247+
modelNamePreffix: options.modelNamePreffix,
248+
modelNameSuffix: options.modelNameSuffix
249+
});
243250
const filename = path.basename(wsdlPath);
244251
parsedWsdl.name = changeCase(stripExtension(filename), {
245252
pascalCase: true,

0 commit comments

Comments
 (0)