• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

typeorm / typeorm / 15219332477

23 May 2025 09:13PM UTC coverage: 17.216% (-59.1%) from 76.346%
15219332477

Pull #11332

github

naorpeled
cr comments - move if block
Pull Request #11332: feat: add new undefined and null behavior flags

1603 of 12759 branches covered (12.56%)

Branch coverage included in aggregate %.

0 of 31 new or added lines in 3 files covered. (0.0%)

14132 existing lines in 166 files now uncovered.

4731 of 24033 relevant lines covered (19.69%)

60.22 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

28.57
/src/util/InstanceChecker.ts
1
import type { MongoEntityManager } from "../entity-manager/MongoEntityManager"
2
import type { SqljsEntityManager } from "../entity-manager/SqljsEntityManager"
3
import type { EntitySchema } from "../entity-schema/EntitySchema"
4
import type { FindOperator } from "../find-options/FindOperator"
5
import type { EqualOperator } from "../find-options/EqualOperator"
6
import type { Query } from "../driver/Query"
7
import type { RdbmsSchemaBuilder } from "../schema-builder/RdbmsSchemaBuilder"
8
import type { Subject } from "../persistence/Subject"
9
import type { SelectQueryBuilder } from "../query-builder/SelectQueryBuilder"
10
import type { UpdateQueryBuilder } from "../query-builder/UpdateQueryBuilder"
11
import type { DeleteQueryBuilder } from "../query-builder/DeleteQueryBuilder"
12
import type { SoftDeleteQueryBuilder } from "../query-builder/SoftDeleteQueryBuilder"
13
import type { InsertQueryBuilder } from "../query-builder/InsertQueryBuilder"
14
import type { RelationQueryBuilder } from "../query-builder/RelationQueryBuilder"
15
import type { Brackets } from "../query-builder/Brackets"
16
import type { Table } from "../schema-builder/table/Table"
17
import type { TableCheck } from "../schema-builder/table/TableCheck"
18
import type { TableColumn } from "../schema-builder/table/TableColumn"
19
import type { TableExclusion } from "../schema-builder/table/TableExclusion"
20
import type { TableForeignKey } from "../schema-builder/table/TableForeignKey"
21
import type { TableIndex } from "../schema-builder/table/TableIndex"
22
import type { TableUnique } from "../schema-builder/table/TableUnique"
23
import type { View } from "../schema-builder/view/View"
24
import type { NotBrackets } from "../query-builder/NotBrackets"
25
import type { EntityMetadata } from "../metadata/EntityMetadata"
26
import type { ColumnMetadata } from "../metadata/ColumnMetadata"
27
import type { MssqlParameter } from "../driver/sqlserver/MssqlParameter"
28
import { DataSource } from "../data-source"
29
import { BaseEntity } from "../repository/BaseEntity"
30

31
export class InstanceChecker {
9✔
32
    static isMssqlParameter(obj: unknown): obj is MssqlParameter {
UNCOV
33
        return this.check(obj, "MssqlParameter")
×
34
    }
35
    static isEntityMetadata(obj: unknown): obj is EntityMetadata {
UNCOV
36
        return this.check(obj, "EntityMetadata")
×
37
    }
38
    static isColumnMetadata(obj: unknown): obj is ColumnMetadata {
UNCOV
39
        return this.check(obj, "ColumnMetadata")
×
40
    }
41
    static isSelectQueryBuilder(obj: unknown): obj is SelectQueryBuilder<any> {
UNCOV
42
        return this.check(obj, "SelectQueryBuilder")
×
43
    }
44
    static isInsertQueryBuilder(obj: unknown): obj is InsertQueryBuilder<any> {
UNCOV
45
        return this.check(obj, "InsertQueryBuilder")
×
46
    }
47
    static isDeleteQueryBuilder(obj: unknown): obj is DeleteQueryBuilder<any> {
UNCOV
48
        return this.check(obj, "DeleteQueryBuilder")
×
49
    }
50
    static isUpdateQueryBuilder(obj: unknown): obj is UpdateQueryBuilder<any> {
UNCOV
51
        return this.check(obj, "UpdateQueryBuilder")
×
52
    }
53
    static isSoftDeleteQueryBuilder(
54
        obj: unknown,
55
    ): obj is SoftDeleteQueryBuilder<any> {
UNCOV
56
        return this.check(obj, "SoftDeleteQueryBuilder")
×
57
    }
58
    static isRelationQueryBuilder(
59
        obj: unknown,
60
    ): obj is RelationQueryBuilder<any> {
UNCOV
61
        return this.check(obj, "RelationQueryBuilder")
×
62
    }
63
    static isBrackets(obj: unknown): obj is Brackets {
UNCOV
64
        return this.check(obj, "Brackets") || this.check(obj, "NotBrackets")
×
65
    }
66
    static isNotBrackets(obj: unknown): obj is NotBrackets {
UNCOV
67
        return this.check(obj, "NotBrackets")
×
68
    }
69
    static isSubject(obj: unknown): obj is Subject {
70
        return this.check(obj, "Subject")
551✔
71
    }
72
    static isRdbmsSchemaBuilder(obj: unknown): obj is RdbmsSchemaBuilder {
73
        return this.check(obj, "RdbmsSchemaBuilder")
3✔
74
    }
75
    static isMongoEntityManager(obj: unknown): obj is MongoEntityManager {
76
        return this.check(obj, "MongoEntityManager")
391✔
77
    }
78
    static isSqljsEntityManager(obj: unknown): obj is SqljsEntityManager {
UNCOV
79
        return this.check(obj, "SqljsEntityManager")
×
80
    }
81
    static isEntitySchema(obj: unknown): obj is EntitySchema {
82
        return this.check(obj, "EntitySchema")
361✔
83
    }
84
    static isBaseEntityConstructor(obj: unknown): obj is typeof BaseEntity {
85
        return (
33✔
86
            typeof obj === "function" &&
64!
87
            typeof (obj as typeof BaseEntity).hasId === "function" &&
88
            typeof (obj as typeof BaseEntity).save === "function" &&
89
            typeof (obj as typeof BaseEntity).useDataSource === "function"
90
        )
91
    }
92
    static isFindOperator(obj: unknown): obj is FindOperator<any> {
UNCOV
93
        return (
×
94
            this.check(obj, "FindOperator") || this.check(obj, "EqualOperator")
×
95
        )
96
    }
97
    static isEqualOperator(obj: unknown): obj is EqualOperator<any> {
UNCOV
98
        return this.check(obj, "EqualOperator")
×
99
    }
100
    static isQuery(obj: unknown): obj is Query {
UNCOV
101
        return this.check(obj, "Query")
×
102
    }
103
    static isTable(obj: unknown): obj is Table {
UNCOV
104
        return this.check(obj, "Table")
×
105
    }
106
    static isTableCheck(obj: unknown): obj is TableCheck {
UNCOV
107
        return this.check(obj, "TableCheck")
×
108
    }
109
    static isTableColumn(obj: unknown): obj is TableColumn {
UNCOV
110
        return this.check(obj, "TableColumn")
×
111
    }
112
    static isTableExclusion(obj: unknown): obj is TableExclusion {
UNCOV
113
        return this.check(obj, "TableExclusion")
×
114
    }
115
    static isTableForeignKey(obj: unknown): obj is TableForeignKey {
UNCOV
116
        return this.check(obj, "TableForeignKey")
×
117
    }
118
    static isTableIndex(obj: unknown): obj is TableIndex {
UNCOV
119
        return this.check(obj, "TableIndex")
×
120
    }
121
    static isTableUnique(obj: unknown): obj is TableUnique {
UNCOV
122
        return this.check(obj, "TableUnique")
×
123
    }
124
    static isView(obj: unknown): obj is View {
UNCOV
125
        return this.check(obj, "View")
×
126
    }
127
    static isDataSource(obj: unknown): obj is DataSource {
UNCOV
128
        return this.check(obj, "DataSource")
×
129
    }
130

131
    private static check(obj: unknown, name: string) {
132
        return (
1,306✔
133
            typeof obj === "object" &&
2,416✔
134
            obj !== null &&
135
            (obj as { "@instanceof": symbol })["@instanceof"] ===
136
                Symbol.for(name)
137
        )
138
    }
139
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc