Skip to main content

Table<Columns>

A table with a statically-typed Columns record structure.

This is the recommended way to declare tables in PowerSync schemas.

Extends

Extended by

Type Parameters

Type ParameterDefault type
Columns extends ColumnsTypeColumnsType

Constructors

new Table()

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

Creates a new Table instance.

Parameters

ParameterTypeDescription
columnsColumnsA Columns object (a record of column names to column types).
options?TableOptionsOptional configuration options for the table.

Returns

Table<Columns>

Example

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

Overrides

ResolvedTable.constructor

Properties

PropertyModifierTypeInherited from
optionsreadonlyResolvedTableOptionsResolvedTable.options

Accessors

columns

Get Signature

get columns(): Column[]
Returns

Column[]

Inherited from

ResolvedTable.columns


ignoreEmptyUpdates

Get Signature

get ignoreEmptyUpdates(): boolean
Returns

boolean

Inherited from

ResolvedTable.ignoreEmptyUpdates


indexes

Get Signature

get indexes(): Index[]
Returns

Index[]

Inherited from

ResolvedTable.indexes


insertOnly

Get Signature

get insertOnly(): boolean
Returns

boolean

Inherited from

ResolvedTable.insertOnly


internalName

Get Signature

get internalName(): string
Returns

string

Inherited from

ResolvedTable.internalName


localOnly

Get Signature

get localOnly(): boolean
Returns

boolean

Inherited from

ResolvedTable.localOnly


name

Get Signature

get name(): string
Returns

string

Inherited from

ResolvedTable.name


trackMetadata

Get Signature

get trackMetadata(): boolean
Returns

boolean

Inherited from

ResolvedTable.trackMetadata


trackPrevious

Get Signature

get trackPrevious(): boolean | TrackPreviousOptions
Returns

boolean | TrackPreviousOptions

Inherited from

ResolvedTable.trackPrevious


validName

Get Signature

get validName(): boolean
Returns

boolean

Inherited from

ResolvedTable.validName


viewName

Get Signature

get viewName(): string
Returns

string

Inherited from

ResolvedTable.viewName


viewNameOverride

Get Signature

get viewNameOverride(): undefined | string
Returns

undefined | string

Inherited from

ResolvedTable.viewNameOverride

Methods

copyWithName()

copyWithName(name): ResolvedTable

Parameters

ParameterType
namestring

Returns

ResolvedTable


toJSON()

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

Returns

{
columns: {
name: string;
type: undefined | ColumnType;
}[];
ignore_empty_update: undefined | boolean;
include_metadata: undefined | boolean;
include_old: any;
include_old_only_when_changed: boolean;
indexes: {
columns: {
ascending: undefined | boolean;
name: string;
type: ColumnType;
}[];
name: string;
}[];
insert_only: undefined | boolean;
local_only: undefined | boolean;
name: string;
view_name: string;
}
NameType
columns{ name: string; type: undefined | ColumnType; }[]
ignore_empty_updateundefined | boolean
include_metadataundefined | boolean
include_oldany
include_old_only_when_changedboolean
indexes{ columns: { ascending: undefined | boolean; name: string; type: ColumnType; }[]; name: string; }[]
insert_onlyundefined | boolean
local_onlyundefined | boolean
namestring
view_namestring

Inherited from

ResolvedTable.toJSON


validate()

validate(): void

Returns

void

Inherited from

ResolvedTable.validate


createInsertOnly()

static createInsertOnly<Columns>(columns, options?): Table<Columns>

Type Parameters

Type ParameterDefault type
Columns extends ColumnsTypeColumnsType

Parameters

ParameterType
columnsColumns
options?TableOptions

Returns

Table<Columns>


createLocalOnly()

static createLocalOnly<Columns>(columns, options?): Table<Columns>

Type Parameters

Type ParameterDefault type
Columns extends ColumnsTypeColumnsType

Parameters

ParameterType
columnsColumns
options?TableOptions

Returns

Table<Columns>