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

ngageoint / geopackage-js / 3971101424

pending completion
3971101424

push

github

Christopher Caldwell
update linux tile

3572 of 8035 branches covered (44.46%)

Branch coverage included in aggregate %.

15055 of 20471 relevant lines covered (73.54%)

1437.27 hits per line

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

66.67
/lib/attributes/attributesTableMetadata.ts
1
import { ContentsDataType } from '../contents/contentsDataType';
1✔
2
import { Constraints } from '../db/table/constraints';
3
import { UserTableMetadata } from '../user/userTableMetadata';
1✔
4
import { AttributesColumn } from './attributesColumn';
1✔
5
import { AttributesTable } from './attributesTable';
6
import { AttributesColumns } from './attributesColumns';
7

8
/**
9
 * Attributes Table Metadata for defining table creation information
10
 */
11
export class AttributesTableMetadata extends UserTableMetadata<AttributesColumn> {
1✔
12
  /**
13
   * Default data type
14
   */
15
  public static readonly DEFAULT_DATA_TYPE = ContentsDataType.nameFromType(ContentsDataType.ATTRIBUTES);
1✔
16

17
  /**
18
   * Constructor
19
   * @param tableName table name
20
   * @param additionalColumns additional columns
21
   * @param constraints: Constraints
22
   * @param idColumnName id column name
23
   * @param autoincrement autoincrement ids
24
   * @return metadata
25
   */
26
  public static create(
1✔
27
    tableName?: string,
28
    additionalColumns?: AttributesColumn[],
29
    constraints?: Constraints,
30
    idColumnName?: string,
31
    autoincrement?: boolean,
32
  ): AttributesTableMetadata {
33
    return new AttributesTableMetadata(tableName, additionalColumns, idColumnName, null, constraints, autoincrement);
21✔
34
  }
35

36
  /**
37
   * Constructor
38
   * @param columns columns
39
   * @param constraints constraints
40
   * @param autoincrement autoincrement ids
41
   * @return metadata
42
   */
43
  public static createWithColumnsAndConstraints(
1✔
44
    columns: AttributesColumns,
45
    constraints: Constraints,
46
    autoincrement = false,
×
47
  ): AttributesTableMetadata {
48
    return new AttributesTableMetadata(
×
49
      columns.getTableName(),
50
      columns.getColumns(),
51
      columns.getPkColumnName(),
52
      null,
53
      constraints,
54
      autoincrement,
55
    );
56
  }
57

58
  /**
59
   * Create metadata
60
   * @param table attributes table
61
   * @param autoincrement autoincrement ids
62
   * @return metadata
63
   */
64
  public static createWithTable(table: AttributesTable, autoincrement = false): AttributesTableMetadata {
1!
65
    return new AttributesTableMetadata(
×
66
      table.getTableName(),
67
      table.getColumns(),
68
      table.getPkColumnName(),
69
      null,
70
      table.getConstraints(),
71
      autoincrement,
72
    );
73
  }
74

75
  /**
76
   * Create metadata
77
   * @param dataType data type
78
   * @param tableName table name
79
   * @param idColumnName id column name
80
   * @param additionalColumns additional columns
81
   * @param constraints constraints
82
   * @param autoincrement autoincrement ids
83
   * @return metadata
84
   */
85
  public static createTyped(
1✔
86
    dataType?: string,
87
    tableName?: string,
88
    idColumnName?: string,
89
    additionalColumns?: AttributesColumn[],
90
    constraints?: Constraints,
91
    autoincrement?: boolean,
92
  ): AttributesTableMetadata {
93
    return new AttributesTableMetadata(
×
94
      tableName,
95
      additionalColumns,
96
      idColumnName,
97
      dataType,
98
      constraints,
99
      autoincrement,
100
    );
101
  }
102

103
  /**
104
   * Create metadata
105
   *
106
   * @param dataType data type
107
   * @param columns columns
108
   * @param constraints constraints
109
   * @param autoincrement autoincrement ids
110
   * @return metadata
111
   */
112
  public static createTypedWithColumnsAndConstraints(
1✔
113
    dataType: string,
114
    columns: AttributesColumns,
115
    constraints?: Constraints,
116
    autoincrement = false,
×
117
  ): AttributesTableMetadata {
118
    return new AttributesTableMetadata(
×
119
      columns.getTableName(),
120
      columns.getColumns(),
121
      columns.getPkColumnName(),
122
      dataType,
123
      constraints,
124
      autoincrement,
125
    );
126
  }
127

128
  /**
129
   * Create metadata
130
   *
131
   * @param dataType
132
   *            data type
133
   * @param table
134
   *            attributes table
135
   * @param autoincrement autoincrement ids
136
   * @return metadata
137
   */
138
  public static createTypedWithTable(
1✔
139
    dataType: string,
140
    table: AttributesTable,
141
    autoincrement = false,
×
142
  ): AttributesTableMetadata {
143
    return new AttributesTableMetadata(
×
144
      table.getTableName(),
145
      table.getColumns(),
146
      table.getPkColumnName(),
147
      dataType,
148
      table.getConstraints(),
149
      autoincrement,
150
    );
151
  }
152

153
  /**
154
   * Constraints
155
   */
156
  protected constraints: Constraints;
157

158
  /**
159
   * Constructor
160
   * @param tableName table name
161
   * @param additionalColumns additional columns
162
   * @param idColumnName id column name
163
   * @param dataType data type
164
   * @param constraints constraints
165
   * @param autoincrement autoincrement ids
166
   */
167
  public constructor(
168
    tableName?: string,
169
    additionalColumns?: AttributesColumn[],
170
    idColumnName?: string,
171
    dataType?: string,
172
    constraints?: Constraints,
173
    autoincrement?: boolean,
174
  ) {
175
    super();
21✔
176
    this.dataType = dataType;
21✔
177
    this.tableName = tableName;
21✔
178
    this.idColumnName = idColumnName;
21✔
179
    this.additionalColumns = additionalColumns;
21✔
180
    this.constraints = constraints;
21✔
181
    this.autoincrement = autoincrement;
21✔
182
  }
183

184
  /**
185
   * Get the default data type
186
   * @return default data type
187
   */
188
  public getDefaultDataType(): string {
1✔
189
    return AttributesTableMetadata.DEFAULT_DATA_TYPE;
21✔
190
  }
191

192
  /**
193
   * {@inheritDoc}
194
   */
195
  public buildColumns(): AttributesColumn[] {
1✔
196
    let attributesColumns = this.getColumns();
21✔
197

198
    if (attributesColumns == null) {
21!
199
      attributesColumns = [];
21✔
200
      attributesColumns.push(
21✔
201
        AttributesColumn.createPrimaryKeyColumn(this.getIdColumnName(), this.isAutoincrement()),
202
      );
203
      const additional = this.getAdditionalColumns();
21✔
204
      if (additional != null) {
21!
205
        attributesColumns.push(...additional);
21✔
206
      }
207
    }
208
    return attributesColumns;
21✔
209
  }
210

211
  /**
212
   * Get the constraints
213
   * @return constraints
214
   */
215
  public getConstraints(): Constraints {
1✔
216
    return this.constraints;
21✔
217
  }
218

219
  /**
220
   * Set the constraints
221
   * @param constraints: Constraints
222
   */
223
  public setConstraints(constraints: Constraints): void {
1✔
224
    this.constraints = constraints;
×
225
  }
226
}
1✔
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

© 2026 Coveralls, Inc