Skip to main content

TableV2<Columns>

Generate a new table from the columns and indexes

Deprecated

You should use Table instead as it now allows TableV2 syntax. This will be removed in the next major release.

Extends

Type parameters

Type parameterValue
Columns extends ColumnsTypeColumnsType

Constructors

new TableV2()

new TableV2<Columns>(columns, options?): TableV2<Columns>

Creates a new Table instance.

This constructor supports two different versions:

  1. New constructor: Using a Columns object and an optional TableV2Options object
  2. Deprecated constructor: Using a TableOptions object (will be removed in the next major release)

Parameters

ParameterType
columnsColumns
options?TableV2Options

Returns

TableV2<Columns>

Inherited from

Table.constructor

Examples

// New Constructor
const table = new Table(
{
name: column.text,
age: column.integer
},
{ indexes: { nameIndex: ['name'] } }
);
// Deprecated Constructor
const table = new Table({
name: 'users',
columns: [
new Column({ name: 'name', type: ColumnType.TEXT }),
new Column({ name: 'age', type: ColumnType.INTEGER })
]
});

new TableV2()

new TableV2<Columns>(options): TableV2<Columns>

Parameters

ParameterType
optionsTableOptions

Returns

TableV2<Columns>

Inherited from

Table.constructor

Deprecated

This constructor will be removed in the next major release. Use the new constructor shown below instead as this does not show types.

Example

Use this instead ```javascript const table = new Table( { name: column.text, age: column.integer }, { indexes: { nameIndex: ['name'] } } ); ```

Accessors

columnMap

get columnMap(): Columns

Returns

Columns


columns

get columns(): Column[]

Returns

Column[]


indexes

get indexes(): Index[]

Returns

Index[]


insertOnly

get insertOnly(): boolean

Returns

boolean


internalName

get internalName(): string

Returns

string


localOnly

get localOnly(): boolean

Returns

boolean


name

get name(): string

Returns

string


validName

get validName(): boolean

Returns

boolean


viewName

get viewName(): string

Returns

string


viewNameOverride

get viewNameOverride(): undefined | string

Returns

undefined | string

Methods

toJSON()

toJSON(): {
columns: {
name: string;
type: undefined | ColumnType;
}[];
indexes: {
columns: {
ascending: undefined | boolean;
name: string;
type: ColumnType;
}[];
name: string;
}[];
insert_only: boolean;
local_only: boolean;
name: string;
view_name: string;
}

Returns

{
columns: {
name: string;
type: undefined | ColumnType;
}[];
indexes: {
columns: {
ascending: undefined | boolean;
name: string;
type: ColumnType;
}[];
name: string;
}[];
insert_only: boolean;
local_only: boolean;
name: string;
view_name: string;
}
MemberType
columns{
name: string;
type: undefined | ColumnType;
}[]
indexes{
columns: {
 `ascending`: `undefined` \| `boolean`;
`name`: `string`;
`type`: [`ColumnType`](../enumerations/ColumnType.md);
\}[];

name: string; }[] | | insert_only | boolean | | local_only | boolean | | name | string | | view_name | string |

Inherited from

Table.toJSON


validate()

validate(): void

Returns

void

Inherited from

Table.validate


createInsertOnly()

static createInsertOnly(options): Table<ColumnsType>

Parameters

ParameterType
optionsTableOptions

Returns

Table<ColumnsType>

Inherited from

Table.createInsertOnly


createLocalOnly()

static createLocalOnly(options): Table<ColumnsType>

Parameters

ParameterType
optionsTableOptions

Returns

Table<ColumnsType>

Inherited from

Table.createLocalOnly


createTable()

static createTable(name, table): Table<ColumnsType>

Create a table.

Parameters

ParameterType
namestring
tableTable<ColumnsType>

Returns

Table<ColumnsType>

Inherited from

Table.createTable

Deprecated

This was only only included for TableV2 and is no longer necessary. Prefer to use new Table() directly.

TODO remove in the next major release.