Data-Mate: `Column Column Column`
column/Column.Column
A single column of values with the same data type.
Changing the values is safe as long the length doesn't change. When adding or removing values it is better to create a new Column.
Type parameters
Name | Type |
---|---|
T | unknown |
N | extends NameType = string |
Table of contents
Constructors
Properties
Accessors
Methods
- [iterator]
- avg
- clearAll
- fork
- max
- min
- rename
- selectSubFields
- serialize
- sort
- sum
- toJSON
- unique
- deserialize
- fromJSON
Constructors
constructor
• new Column<T
, N
>(vector
, options
): Column
<T
, N
>
Type parameters
Name | Type |
---|---|
T | unknown |
N | extends NameType = string |
Parameters
Name | Type | |
---|---|---|
vector | Vector <T > | |
options | ColumnOptions <N > \ | Readonly <ColumnOptions <N >> |
Returns
Column
<T
, N
>
Defined in
data-mate/src/column/Column.ts:78
Properties
config
• Readonly
config: Readonly
<DataTypeFieldConfig
>
Get the Data Type field configuration.
Defined in
data-mate/src/column/Column.ts:76
name
• name: N
The field name for the column
Defined in
data-mate/src/column/Column.ts:64
vector
• Readonly
vector: Vector
<T
>
Defined in
data-mate/src/column/Column.ts:71
version
• Readonly
version: number
The DataType version to use for the field definition
Defined in
data-mate/src/column/Column.ts:69
Accessors
id
• get
id(): string
A Unique ID for the Column. The ID should only change if the data vector changes.
Returns
string
Defined in
data-mate/src/column/Column.ts:104
size
• get
size(): number
Returns the size of the column
Returns
number
Defined in
data-mate/src/column/Column.ts:96
Methods
[iterator]
▸ [iterator](): IterableIterator
<Maybe
<T
>>
Iterate over each value, this is returned in the stored value format. And may not be compatible with the JSON spec.
Returns
IterableIterator
<Maybe
<T
>>
Defined in
data-mate/src/column/Column.ts:89
avg
▸ avg(): number
| bigint
Average all of the values in the Column
Returns
number
| bigint
Defined in
data-mate/src/column/Column.ts:173
clearAll
▸ clearAll(): Column
<T
, N
>
return an empty column with the same size and metadata as the previous one
Returns
Column
<T
, N
>
Defined in
data-mate/src/column/Column.ts:275
fork
▸ fork(vector
): Column
<T
, N
>
Create a new Column with the same metadata but with different data
Parameters
Name | Type |
---|---|
vector | Vector <T > |
Returns
Column
<T
, N
>
Defined in
data-mate/src/column/Column.ts:122
max
▸ max(): number
| bigint
Find the maximum value in the Column
Returns
number
| bigint
Defined in
data-mate/src/column/Column.ts:194
min
▸ min(): number
| bigint
Find the minimum value in the Column
Returns
number
| bigint
Defined in
data-mate/src/column/Column.ts:187
rename
▸ rename<K
>(name
): Column
<T
, K
>
Rename the column
Type parameters
Name | Type |
---|---|
K | extends NameType |
Parameters
Name | Type |
---|---|
name | K |
Returns
Column
<T
, K
>
Defined in
data-mate/src/column/Column.ts:111
selectSubFields
▸ selectSubFields(fields
): Column
<T
, N
>
Select the child fields with in a given vector. This involves recreating the whole column in most cases.
Parameters
Name | Type |
---|---|
fields | Iterable <string > |
Returns
Column
<T
, N
>
Defined in
data-mate/src/column/Column.ts:203
serialize
▸ serialize(): string
Returns
string
Defined in
data-mate/src/column/Column.ts:259
sort
▸ sort(direction?
): Column
<T
, N
>
Sort the column
Parameters
Name | Type |
---|---|
direction? | SortOrder |
Returns
Column
<T
, N
>
Defined in
data-mate/src/column/Column.ts:132
sum
▸ sum(): number
| bigint
Sum all of the values in the Column
Returns
number
| bigint
Defined in
data-mate/src/column/Column.ts:180
toJSON
▸ toJSON(options?
): Maybe
<T
>[]
Convert the Column an array of values (the output is JSON compatible)
Parameters
Name | Type |
---|---|
options? | SerializeOptions |
Returns
Maybe
<T
>[]
Note
probably only useful for debugging
Defined in
data-mate/src/column/Column.ts:255
unique
▸ unique(): Column
<T
, N
>
Get the unique values. This doesn't change the the size, it just drops the duplicate values.
Returns
Column
<T
, N
>
Example
[null, 1, 3, 2, 2, null, 1] => [null, 1, 3, 2, null, null, null]
Defined in
data-mate/src/column/Column.ts:160
deserialize
▸ deserialize<R
, F
>(columnConfig
): Column
<R
, F
>
Create a Column from the custom serialized format
Type parameters
Name | Type |
---|---|
R | R |
F | extends NameType = string |
Parameters
Name | Type | |
---|---|---|
columnConfig | string \ | Buffer |
Returns
Column
<R
, F
>
Defined in
data-mate/src/column/Column.ts:49
fromJSON
▸ fromJSON<R
, F
>(name
, config
, values?
, version?
, childConfig?
): Column
<R
, F
>
Create a Column from an array of values
Type parameters
Name | Type |
---|---|
R | R |
F | extends NameType = string |
Parameters
Name | Type | |
---|---|---|
name | F | |
config | Readonly <DataTypeFieldConfig > | |
values? | Maybe <R >[] \ | readonly Maybe <R >[] |
version? | number | |
childConfig? | DataTypeFields \ | ReadonlyDataTypeFields |
Returns
Column
<R
, F
>