Skip to content

Commit 91c6629

Browse files
fix: dynamic params might be collections (#193)
1 parent a96d0cf commit 91c6629

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"typescript.tsdk": "node_modules/typescript/lib"
3+
}

src/dynamic-param-interfaces.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ const ignoreDescriptions = <T extends EventParameterDocumentation>(
4343
return toReturn;
4444
}).sort((a, b) => a.name.localeCompare(b.name));
4545

46-
// Given a parameter create a new interface and return it's name
46+
// Given a parameter create a new interface and return it's name + array modifier
4747
// IName is the proposed interface name prefix
4848
// backupIName is a slightly longer IName in case IName is already taken
4949
const createParamInterface = (
@@ -52,6 +52,7 @@ const createParamInterface = (
5252
backupIName = '',
5353
finalBackupIName = '',
5454
): string => {
55+
const maybeArray = (type: string) => (param.collection ? `Array<${type}>` : type);
5556
let argType = polite(IName) + _.upperFirst(_.camelCase(param.name));
5657
let argName = param.name;
5758
// TODO: Note. It is still possible for even backupIName to be already used
@@ -72,7 +73,7 @@ const createParamInterface = (
7273
}
7374
});
7475
if (usingExistingParamInterface) {
75-
return argType;
76+
return maybeArray(argType);
7677
}
7778
if (
7879
paramInterfacesToDeclare[argType] &&
@@ -99,7 +100,7 @@ const createParamInterface = (
99100
paramInterfacesToDeclare[argType] = param;
100101
paramInterfacesToDeclare[argType].name = argName;
101102
paramInterfacesToDeclare[argType].tName = argType;
102-
return argType;
103+
return maybeArray(argType);
103104
};
104105

105106
const flushParamInterfaces = (

0 commit comments

Comments
 (0)