Skip to content

Commit 0b2e844

Browse files
authored
Merge pull request #46 from vekexasia/fix/insensitive-prefix-suffix
fix for insensitive names and use of prefix and suffix
2 parents 018b812 + 6696042 commit 0b2e844

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 = {
@@ -253,7 +255,12 @@ export async function parseWsdl(wsdlPath: string, options: Partial<ParserOptions
253255
return reject(new Error("WSDL is undefined"));
254256
}
255257

256-
const parsedWsdl = new ParsedWsdl({ maxStack: options.maxRecursiveDefinitionName });
258+
const parsedWsdl = new ParsedWsdl({
259+
maxStack: options.maxRecursiveDefinitionName,
260+
caseInsensitiveNames: options.caseInsensitiveNames,
261+
modelNamePreffix: options.modelNamePreffix,
262+
modelNameSuffix: options.modelNameSuffix
263+
});
257264
const filename = path.basename(wsdlPath);
258265
parsedWsdl.name = changeCase(stripExtension(filename), {
259266
pascalCase: true,

0 commit comments

Comments
 (0)