Skip to content

Commit da654f7

Browse files
committed
fix(guards): array item typed as unknown for the guard iteration
1 parent ecd1080 commit da654f7

File tree

8 files changed

+82
-82
lines changed

8 files changed

+82
-82
lines changed

src/parser.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ function parseInterfaceProperties(
373373
}
374374
${
375375
prop.isArray || isArray
376-
? `(Array.isArray(arg.${name}) && arg.${name}.every(item => ${
376+
? `(Array.isArray(arg.${name}) && arg.${name}.every((item: unknown) => ${
377377
prop.isPrimitiveType || isPrimitiveType
378378
? `typeof item === '${type}'`
379379
: `is${prop.typescriptType || typescriptType}(item)`

tests/custom/api/guards/index.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function isCat(arg: any): arg is models.Cat {
4141
// age?: number
4242
( typeof arg.age === 'undefined' || typeof arg.age === 'number' ) &&
4343
// eaten?: Mouse[]
44-
( typeof arg.eaten === 'undefined' || (Array.isArray(arg.eaten) && arg.eaten.every(item => isMouse(item))) ) &&
44+
( typeof arg.eaten === 'undefined' || (Array.isArray(arg.eaten) && arg.eaten.every((item: unknown) => isMouse(item))) ) &&
4545
// hunts?: boolean
4646
( typeof arg.hunts === 'undefined' || typeof arg.hunts === 'boolean' ) &&
4747
// extends Pet
@@ -96,7 +96,7 @@ export function isDataModel(arg: any): arg is models.DataModel {
9696
// audioConfig?: Data
9797
( typeof arg.audioConfig === 'undefined' || ( isData(arg.audioConfig) ) ) &&
9898
// entities?: number[]
99-
( typeof arg.entities === 'undefined' || (Array.isArray(arg.entities) && arg.entities.every(item => typeof item === 'number')) ) &&
99+
( typeof arg.entities === 'undefined' || (Array.isArray(arg.entities) && arg.entities.every((item: unknown) => typeof item === 'number')) ) &&
100100
// id?: number
101101
( typeof arg.id === 'undefined' || typeof arg.id === 'number' ) &&
102102
// imageData?: string
@@ -106,7 +106,7 @@ export function isDataModel(arg: any): arg is models.DataModel {
106106
// roleId?: number
107107
( typeof arg.roleId === 'undefined' || typeof arg.roleId === 'number' ) &&
108108
// testWithArray?: Pet[] & Data
109-
( typeof arg.testWithArray === 'undefined' || ( (Array.isArray(arg.testWithArray) && arg.testWithArray.every(item => isPet(item))) && isData(arg.testWithArray) ) ) &&
109+
( typeof arg.testWithArray === 'undefined' || ( (Array.isArray(arg.testWithArray) && arg.testWithArray.every((item: unknown) => isPet(item))) && isData(arg.testWithArray) ) ) &&
110110
// text?: ItemList & Data
111111
( typeof arg.text === 'undefined' || ( isItemList(arg.text) && isData(arg.text) ) ) &&
112112

@@ -156,7 +156,7 @@ export function isItemList(arg: any): arg is models.ItemList {
156156
arg != null &&
157157
typeof arg === 'object' &&
158158
// data: Data[]
159-
( (Array.isArray(arg.data) && arg.data.every(item => isData(item))) ) &&
159+
( (Array.isArray(arg.data) && arg.data.every((item: unknown) => isData(item))) ) &&
160160

161161
true
162162
);
@@ -167,7 +167,7 @@ export function isItemModelList(arg: any): arg is models.ItemModelList {
167167
arg != null &&
168168
typeof arg === 'object' &&
169169
// data: DataModel[]
170-
( (Array.isArray(arg.data) && arg.data.every(item => isDataModel(item))) ) &&
170+
( (Array.isArray(arg.data) && arg.data.every((item: unknown) => isDataModel(item))) ) &&
171171

172172
true
173173
);

tests/esquare/api/guards/index.ts

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export function isAclItem(arg: any): arg is models.AclItem {
5454
arg != null &&
5555
typeof arg === 'object' &&
5656
// permissions?: string[]
57-
( typeof arg.permissions === 'undefined' || (Array.isArray(arg.permissions) && arg.permissions.every(item => typeof item === 'string')) ) &&
57+
( typeof arg.permissions === 'undefined' || (Array.isArray(arg.permissions) && arg.permissions.every((item: unknown) => typeof item === 'string')) ) &&
5858
// role?: string
5959
( typeof arg.role === 'undefined' || typeof arg.role === 'string' ) &&
6060

@@ -179,9 +179,9 @@ export function isImportStatsGroup(arg: any): arg is models.ImportStatsGroup {
179179
arg != null &&
180180
typeof arg === 'object' &&
181181
// imported?: ImportStats[]
182-
( typeof arg.imported === 'undefined' || (Array.isArray(arg.imported) && arg.imported.every(item => isImportStats(item))) ) &&
182+
( typeof arg.imported === 'undefined' || (Array.isArray(arg.imported) && arg.imported.every((item: unknown) => isImportStats(item))) ) &&
183183
// pending?: ImportStats[]
184-
( typeof arg.pending === 'undefined' || (Array.isArray(arg.pending) && arg.pending.every(item => isImportStats(item))) ) &&
184+
( typeof arg.pending === 'undefined' || (Array.isArray(arg.pending) && arg.pending.every((item: unknown) => isImportStats(item))) ) &&
185185

186186
true
187187
);
@@ -226,7 +226,7 @@ export function isImportStatusItem(arg: any): arg is models.ImportStatusItem {
226226
// criticality?: Criticality
227227
( typeof arg.criticality === 'undefined' || isCriticality(arg.criticality) ) &&
228228
// details?: ImportStatusDetailsItem[]
229-
( typeof arg.details === 'undefined' || (Array.isArray(arg.details) && arg.details.every(item => isImportStatusDetailsItem(item))) ) &&
229+
( typeof arg.details === 'undefined' || (Array.isArray(arg.details) && arg.details.every((item: unknown) => isImportStatusDetailsItem(item))) ) &&
230230
// dueDate?: string
231231
( typeof arg.dueDate === 'undefined' || typeof arg.dueDate === 'string' ) &&
232232
// id?: number
@@ -509,7 +509,7 @@ export function isReportItem(arg: any): arg is models.ReportItem {
509509
// description?: string
510510
( typeof arg.description === 'undefined' || typeof arg.description === 'string' ) &&
511511
// groups?: ReportTemplateGroup[]
512-
( typeof arg.groups === 'undefined' || (Array.isArray(arg.groups) && arg.groups.every(item => isReportTemplateGroup(item))) ) &&
512+
( typeof arg.groups === 'undefined' || (Array.isArray(arg.groups) && arg.groups.every((item: unknown) => isReportTemplateGroup(item))) ) &&
513513
// progress?: number
514514
( typeof arg.progress === 'undefined' || typeof arg.progress === 'number' ) &&
515515
// extends ReportListItem
@@ -570,7 +570,7 @@ export function isReportTemplateGroup(arg: any): arg is models.ReportTemplateGro
570570
arg != null &&
571571
typeof arg === 'object' &&
572572
// imports?: ReportTemplate[]
573-
( typeof arg.imports === 'undefined' || (Array.isArray(arg.imports) && arg.imports.every(item => isReportTemplate(item))) ) &&
573+
( typeof arg.imports === 'undefined' || (Array.isArray(arg.imports) && arg.imports.every((item: unknown) => isReportTemplate(item))) ) &&
574574
// issues?: number
575575
( typeof arg.issues === 'undefined' || typeof arg.issues === 'number' ) &&
576576
// title?: string
@@ -615,11 +615,11 @@ export function isRoleDetailsItem(arg: any): arg is models.RoleDetailsItem {
615615
// name?: string
616616
( typeof arg.name === 'undefined' || typeof arg.name === 'string' ) &&
617617
// privileges?: number[]
618-
( typeof arg.privileges === 'undefined' || (Array.isArray(arg.privileges) && arg.privileges.every(item => typeof item === 'number')) ) &&
618+
( typeof arg.privileges === 'undefined' || (Array.isArray(arg.privileges) && arg.privileges.every((item: unknown) => typeof item === 'number')) ) &&
619619
// status?: RoleStatus
620620
( typeof arg.status === 'undefined' || isRoleStatus(arg.status) ) &&
621621
// users?: number[]
622-
( typeof arg.users === 'undefined' || (Array.isArray(arg.users) && arg.users.every(item => typeof item === 'number')) ) &&
622+
( typeof arg.users === 'undefined' || (Array.isArray(arg.users) && arg.users.every((item: unknown) => typeof item === 'number')) ) &&
623623

624624
true
625625
);
@@ -658,15 +658,15 @@ export function isRoleUpdateDetails(arg: any): arg is models.RoleUpdateDetails {
658658
arg != null &&
659659
typeof arg === 'object' &&
660660
// privilegesToAssing?: number[]
661-
( typeof arg.privilegesToAssing === 'undefined' || (Array.isArray(arg.privilegesToAssing) && arg.privilegesToAssing.every(item => typeof item === 'number')) ) &&
661+
( typeof arg.privilegesToAssing === 'undefined' || (Array.isArray(arg.privilegesToAssing) && arg.privilegesToAssing.every((item: unknown) => typeof item === 'number')) ) &&
662662
// privilegesToUnassing?: number[]
663-
( typeof arg.privilegesToUnassing === 'undefined' || (Array.isArray(arg.privilegesToUnassing) && arg.privilegesToUnassing.every(item => typeof item === 'number')) ) &&
663+
( typeof arg.privilegesToUnassing === 'undefined' || (Array.isArray(arg.privilegesToUnassing) && arg.privilegesToUnassing.every((item: unknown) => typeof item === 'number')) ) &&
664664
// status?: RoleStatus
665665
( typeof arg.status === 'undefined' || isRoleStatus(arg.status) ) &&
666666
// usersToAssing?: number[]
667-
( typeof arg.usersToAssing === 'undefined' || (Array.isArray(arg.usersToAssing) && arg.usersToAssing.every(item => typeof item === 'number')) ) &&
667+
( typeof arg.usersToAssing === 'undefined' || (Array.isArray(arg.usersToAssing) && arg.usersToAssing.every((item: unknown) => typeof item === 'number')) ) &&
668668
// usersToUnassing?: number[]
669-
( typeof arg.usersToUnassing === 'undefined' || (Array.isArray(arg.usersToUnassing) && arg.usersToUnassing.every(item => typeof item === 'number')) ) &&
669+
( typeof arg.usersToUnassing === 'undefined' || (Array.isArray(arg.usersToUnassing) && arg.usersToUnassing.every((item: unknown) => typeof item === 'number')) ) &&
670670

671671
true
672672
);
@@ -747,9 +747,9 @@ export function isTable(arg: any): arg is models.Table {
747747
arg != null &&
748748
typeof arg === 'object' &&
749749
// tableData?: TableCell[][]
750-
( typeof arg.tableData === 'undefined' || (Array.isArray(arg.tableData) && arg.tableData.every(item => isTableCell[](item))) ) &&
750+
( typeof arg.tableData === 'undefined' || (Array.isArray(arg.tableData) && arg.tableData.every((item: unknown) => isTableCell[](item))) ) &&
751751
// tableHead?: Column[]
752-
( typeof arg.tableHead === 'undefined' || (Array.isArray(arg.tableHead) && arg.tableHead.every(item => isColumn(item))) ) &&
752+
( typeof arg.tableHead === 'undefined' || (Array.isArray(arg.tableHead) && arg.tableHead.every((item: unknown) => isColumn(item))) ) &&
753753

754754
true
755755
);
@@ -773,7 +773,7 @@ export function isTotalImportStats(arg: any): arg is models.TotalImportStats {
773773
arg != null &&
774774
typeof arg === 'object' &&
775775
// bySchools?: SchoolImportStats[]
776-
( typeof arg.bySchools === 'undefined' || (Array.isArray(arg.bySchools) && arg.bySchools.every(item => isSchoolImportStats(item))) ) &&
776+
( typeof arg.bySchools === 'undefined' || (Array.isArray(arg.bySchools) && arg.bySchools.every((item: unknown) => isSchoolImportStats(item))) ) &&
777777
// total?: ImportStatsGroup
778778
( typeof arg.total === 'undefined' || isImportStatsGroup(arg.total) ) &&
779779

@@ -788,7 +788,7 @@ export function isUserDetails(arg: any): arg is models.UserDetails {
788788
// email?: string
789789
( typeof arg.email === 'undefined' || typeof arg.email === 'string' ) &&
790790
// entities?: number[]
791-
( typeof arg.entities === 'undefined' || (Array.isArray(arg.entities) && arg.entities.every(item => typeof item === 'number')) ) &&
791+
( typeof arg.entities === 'undefined' || (Array.isArray(arg.entities) && arg.entities.every((item: unknown) => typeof item === 'number')) ) &&
792792
// firstName?: string
793793
( typeof arg.firstName === 'undefined' || typeof arg.firstName === 'string' ) &&
794794
// id?: number
@@ -819,7 +819,7 @@ export function isUserListItem(arg: any): arg is models.UserListItem {
819819
arg != null &&
820820
typeof arg === 'object' &&
821821
// entityIds?: number[]
822-
( typeof arg.entityIds === 'undefined' || (Array.isArray(arg.entityIds) && arg.entityIds.every(item => typeof item === 'number')) ) &&
822+
( typeof arg.entityIds === 'undefined' || (Array.isArray(arg.entityIds) && arg.entityIds.every((item: unknown) => typeof item === 'number')) ) &&
823823
// id?: number
824824
( typeof arg.id === 'undefined' || typeof arg.id === 'number' ) &&
825825
// name?: string
@@ -849,9 +849,9 @@ export function isValidatedTable(arg: any): arg is models.ValidatedTable {
849849
arg != null &&
850850
typeof arg === 'object' &&
851851
// tableData?: ValidatedTableCell[][]
852-
( typeof arg.tableData === 'undefined' || (Array.isArray(arg.tableData) && arg.tableData.every(item => isValidatedTableCell[](item))) ) &&
852+
( typeof arg.tableData === 'undefined' || (Array.isArray(arg.tableData) && arg.tableData.every((item: unknown) => isValidatedTableCell[](item))) ) &&
853853
// tableHead?: Column[]
854-
( typeof arg.tableHead === 'undefined' || (Array.isArray(arg.tableHead) && arg.tableHead.every(item => isColumn(item))) ) &&
854+
( typeof arg.tableHead === 'undefined' || (Array.isArray(arg.tableHead) && arg.tableHead.every((item: unknown) => isColumn(item))) ) &&
855855

856856
true
857857
);

tests/filtered-api/api/guards/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export function isDummySelectorViewModel(arg: any): arg is models.DummySelectorV
5252
arg != null &&
5353
typeof arg === 'object' &&
5454
// DummyList?: DummyViewModel[]
55-
( typeof arg.DummyList === 'undefined' || (Array.isArray(arg.DummyList) && arg.DummyList.every(item => isDummyViewModel(item))) ) &&
55+
( typeof arg.DummyList === 'undefined' || (Array.isArray(arg.DummyList) && arg.DummyList.every((item: unknown) => isDummyViewModel(item))) ) &&
5656
// SelectedDummyObjId?: number
5757
( typeof arg.SelectedDummyObjId === 'undefined' || typeof arg.SelectedDummyObjId === 'number' ) &&
5858

0 commit comments

Comments
 (0)