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

ngageoint / geopackage-js / 4078143969

pending completion
4078143969

push

github

Christopher Caldwell
bump version

3593 of 8015 branches covered (44.83%)

Branch coverage included in aggregate %.

15102 of 20471 relevant lines covered (73.77%)

1564.55 hits per line

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

70.97
/lib/attributes/attributesColumn.ts
1
import { UserColumn } from '../user/userColumn';
1✔
2
import { GeoPackageDataType } from '../db/geoPackageDataType';
1✔
3
import { DBValue } from '../db/dbValue';
4
import { UserTableDefaults } from '../user/userTableDefaults';
1✔
5
import { TableColumn } from '../db/table/tableColumn';
1✔
6

7
/**
8
 * Attribute Column
9
 */
10
export class AttributesColumn extends UserColumn {
1✔
11
  /**
12
   * Constructor
13
   * @param index column index
14
   * @param name column name
15
   * @param dataType data type
16
   * @param max  max value
17
   * @param notNull not null flag
18
   * @param defaultValue default value
19
   * @param primaryKey primary key flag
20
   * @param autoincrement autoincrement flag
21
   */
22
  public constructor(
23
    index: number,
24
    name: string,
25
    dataType: GeoPackageDataType,
26
    max: number,
27
    notNull: boolean,
28
    defaultValue: any,
29
    primaryKey: boolean,
30
    autoincrement: boolean,
31
  );
32

33
  /**
34
   * Constructor
35
   * @param index column index
36
   * @param name column name
37
   * @param type string type
38
   * @param dataType data type
39
   * @param max max value
40
   * @param notNull not null flag
41
   * @param defaultValue default value
42
   * @param primaryKey primary key flag
43
   * @param autoincrement autoincrement flag
44
   */
45
  public constructor(
46
    index: number,
47
    name: string,
48
    type: string,
49
    dataType: GeoPackageDataType,
50
    max: number,
51
    notNull: boolean,
52
    defaultValue: any,
53
    primaryKey: boolean,
54
    autoincrement: boolean,
55
  );
56

57
  /**
58
   * Constructor
59
   *
60
   * @param tableColumn
61
   *            table column
62
   */
63
  public constructor(tableColumn: TableColumn);
64
  public constructor(userColumn: UserColumn);
65

66
  /**
67
   * Constructor
68
   * @param args
69
   */
70
  public constructor(...args) {
47,834✔
71
    if (args.length === 1) {
11,327✔
72
      if (args[0] instanceof TableColumn) {
9,348!
73
        super(args[0]);
9,348✔
74
      } else if (args[0] instanceof UserColumn) {
×
75
        super(args[0]);
×
76
      }
77
    } else if (args.length === 8) {
1,979!
78
      super(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
1,979✔
79
    } else if (args.length === 9) {
×
80
      super(args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8]);
×
81
    }
82
  }
83

84
  /**
85
   * Create a new column
86
   * @param name
87
   * @param type
88
   * @param notNull
89
   * @param defaultValue
90
   * @param max
91
   * @param autoincrement
92
   */
93
  static createColumn(
1✔
94
    name: string,
95
    type: GeoPackageDataType,
96
    notNull = false,
1,739✔
97
    defaultValue?: DBValue,
98
    max?: number,
99
    autoincrement?: boolean,
100
  ): AttributesColumn {
101
    return AttributesColumn.createColumnWithIndex(
1,723✔
102
      AttributesColumn.NO_INDEX,
103
      name,
104
      type,
105
      notNull,
106
      defaultValue,
107
      max,
108
      autoincrement,
109
    );
110
  }
111

112
  /**
113
   * Create a new column
114
   * @param index
115
   * @param name
116
   * @param type
117
   * @param notNull
118
   * @param defaultValue
119
   * @param max
120
   * @param autoincrement
121
   */
122
  static createColumnWithIndex(
1✔
123
    index: number = AttributesColumn.NO_INDEX,
1,744!
124
    name: string,
125
    type: GeoPackageDataType,
126
    notNull = false,
1,744!
127
    defaultValue?: DBValue,
128
    max?: number,
129
    autoincrement?: boolean,
130
  ): AttributesColumn {
131
    return new AttributesColumn(index, name, type, max, notNull, defaultValue, false, autoincrement);
1,744✔
132
  }
133

134
  /**
135
   * Create a new primary key column
136
   * @param name
137
   * @param autoincrement
138
   */
139
  static createPrimaryKeyColumn(
1✔
140
    name: string,
141
    autoincrement: boolean = UserTableDefaults.DEFAULT_AUTOINCREMENT,
441✔
142
  ): AttributesColumn {
143
    return AttributesColumn.createPrimaryKeyColumnWithIndex(AttributesColumn.NO_INDEX, name, autoincrement);
231✔
144
  }
145

146
  /**
147
   * Create a new primary key column with a provided index
148
   * @param index
149
   * @param name
150
   * @param autoincrement
151
   */
152
  static createPrimaryKeyColumnWithIndex(
1✔
153
    index: number = AttributesColumn.NO_INDEX,
235!
154
    name: string,
155
    autoincrement: boolean = UserTableDefaults.DEFAULT_AUTOINCREMENT,
239✔
156
  ): AttributesColumn {
157
    return new AttributesColumn(
235✔
158
      index,
159
      name,
160
      GeoPackageDataType.INTEGER,
161
      undefined,
162
      true,
163
      undefined,
164
      true,
165
      autoincrement,
166
    );
167
  }
168

169
  copy(): AttributesColumn {
1✔
170
    return new AttributesColumn(
×
171
      this.getIndex(),
172
      this.getName(),
173
      this.getDataType(),
174
      this.getMax(),
175
      this.isNotNull(),
176
      this.getDefaultValue(),
177
      this.isPrimaryKey(),
178
      this.isAutoincrement(),
179
    );
180
  }
181
}
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