@powersync/common 1.16.2 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/bundle.mjs +17 -0
  2. package/lib/client/AbstractPowerSyncDatabase.d.ts +22 -15
  3. package/lib/client/AbstractPowerSyncDatabase.js +51 -35
  4. package/lib/client/AbstractPowerSyncDatabase.js.map +1 -1
  5. package/lib/client/AbstractPowerSyncOpenFactory.d.ts +5 -5
  6. package/lib/client/SQLOpenFactory.d.ts +1 -1
  7. package/lib/client/connection/PowerSyncBackendConnector.d.ts +2 -2
  8. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +8 -4
  9. package/lib/client/sync/bucket/CrudBatch.d.ts +1 -1
  10. package/lib/client/sync/bucket/CrudTransaction.d.ts +2 -2
  11. package/lib/client/sync/bucket/CrudTransaction.js +1 -1
  12. package/lib/client/sync/bucket/CrudTransaction.js.map +1 -1
  13. package/lib/client/sync/bucket/OplogEntry.d.ts +2 -2
  14. package/lib/client/sync/bucket/OplogEntry.js +1 -1
  15. package/lib/client/sync/bucket/OplogEntry.js.map +1 -1
  16. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +9 -6
  17. package/lib/client/sync/bucket/SqliteBucketStorage.js +28 -12
  18. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +1 -1
  19. package/lib/client/sync/bucket/SyncDataBatch.d.ts +1 -1
  20. package/lib/client/sync/bucket/SyncDataBatch.js +1 -1
  21. package/lib/client/sync/bucket/SyncDataBatch.js.map +1 -1
  22. package/lib/client/sync/bucket/SyncDataBucket.d.ts +2 -2
  23. package/lib/client/sync/bucket/SyncDataBucket.js +1 -1
  24. package/lib/client/sync/bucket/SyncDataBucket.js.map +1 -1
  25. package/lib/client/sync/stream/AbstractRemote.d.ts +8 -6
  26. package/lib/client/sync/stream/AbstractRemote.js +17 -6
  27. package/lib/client/sync/stream/AbstractRemote.js.map +1 -1
  28. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +8 -8
  29. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +14 -10
  30. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +1 -1
  31. package/lib/client/sync/stream/streaming-sync-types.d.ts +4 -3
  32. package/lib/client/sync/stream/streaming-sync-types.js.map +1 -1
  33. package/lib/db/DBAdapter.d.ts +1 -1
  34. package/lib/db/schema/Column.d.ts +30 -0
  35. package/lib/db/{Column.js → schema/Column.js} +17 -0
  36. package/lib/db/schema/Column.js.map +1 -0
  37. package/lib/db/schema/Index.d.ts +3 -3
  38. package/lib/db/schema/Index.js +1 -1
  39. package/lib/db/schema/Index.js.map +1 -1
  40. package/lib/db/schema/IndexedColumn.d.ts +2 -2
  41. package/lib/db/schema/IndexedColumn.js +1 -1
  42. package/lib/db/schema/IndexedColumn.js.map +1 -1
  43. package/lib/db/schema/Schema.d.ts +6 -7
  44. package/lib/db/schema/Schema.js +11 -2
  45. package/lib/db/schema/Schema.js.map +1 -1
  46. package/lib/db/schema/Table.d.ts +90 -10
  47. package/lib/db/schema/Table.js +64 -9
  48. package/lib/db/schema/Table.js.map +1 -1
  49. package/lib/db/schema/TableV2.d.ts +8 -29
  50. package/lib/db/schema/TableV2.js +5 -40
  51. package/lib/db/schema/TableV2.js.map +1 -1
  52. package/lib/index.d.ts +34 -35
  53. package/lib/index.js +34 -35
  54. package/lib/index.js.map +1 -1
  55. package/lib/utils/DataStream.d.ts +1 -1
  56. package/lib/utils/DataStream.js +1 -1
  57. package/lib/utils/DataStream.js.map +1 -1
  58. package/lib/utils/parseQuery.d.ts +1 -1
  59. package/lib/utils/throttle.d.ts +14 -0
  60. package/lib/utils/throttle.js +46 -0
  61. package/lib/utils/throttle.js.map +1 -0
  62. package/package.json +13 -6
  63. package/dist/index.js +0 -16
  64. package/lib/db/Column.d.ts +0 -19
  65. package/lib/db/Column.js.map +0 -1
  66. package/lib/utils/strings.d.ts +0 -3
  67. package/lib/utils/strings.js +0 -10
  68. package/lib/utils/strings.js.map +0 -1
@@ -1,6 +1,6 @@
1
- import { Column } from '../Column';
2
- import type { Index } from './Index';
3
- import { TableV2 } from './TableV2';
1
+ import { Column, ColumnsType, ColumnType, ExtractColumnValueType } from './Column.js';
2
+ import { Index } from './Index.js';
3
+ import { TableV2 } from './TableV2.js';
4
4
  export interface TableOptions {
5
5
  /**
6
6
  * The synced table name, matching sync rules
@@ -12,18 +12,98 @@ export interface TableOptions {
12
12
  insertOnly?: boolean;
13
13
  viewName?: string;
14
14
  }
15
- export declare const DEFAULT_TABLE_OPTIONS: Partial<TableOptions>;
15
+ export type RowType<T extends TableV2<any>> = {
16
+ [K in keyof T['columnMap']]: ExtractColumnValueType<T['columnMap'][K]>;
17
+ } & {
18
+ id: string;
19
+ };
20
+ export type IndexShorthand = Record<string, string[]>;
21
+ export interface TableV2Options {
22
+ indexes?: IndexShorthand;
23
+ localOnly?: boolean;
24
+ insertOnly?: boolean;
25
+ viewName?: string;
26
+ }
27
+ export declare const DEFAULT_TABLE_OPTIONS: {
28
+ indexes: never[];
29
+ insertOnly: boolean;
30
+ localOnly: boolean;
31
+ };
16
32
  export declare const InvalidSQLCharacters: RegExp;
17
- export declare class Table {
33
+ export declare class Table<Columns extends ColumnsType = ColumnsType> {
18
34
  protected options: TableOptions;
19
- static createLocalOnly(options: TableOptions): Table;
20
- static createInsertOnly(options: TableOptions): Table;
21
- static createTable(name: string, table: TableV2): Table;
35
+ protected _mappedColumns: Columns;
36
+ static createLocalOnly(options: TableOptions): Table<ColumnsType>;
37
+ static createInsertOnly(options: TableOptions): Table<ColumnsType>;
38
+ /**
39
+ * Create a table.
40
+ * @deprecated This was only only included for TableV2 and is no longer necessary.
41
+ * Prefer to use new Table() directly.
42
+ *
43
+ * TODO remove in the next major release.
44
+ */
45
+ static createTable(name: string, table: Table): Table<ColumnsType>;
46
+ /**
47
+ * Creates a new Table instance.
48
+ *
49
+ * This constructor supports two different versions:
50
+ * 1. New constructor: Using a Columns object and an optional TableV2Options object
51
+ * 2. Deprecated constructor: Using a TableOptions object (will be removed in the next major release)
52
+ *
53
+ * @constructor
54
+ * @param {Columns | TableOptions} optionsOrColumns - Either a Columns object (for V2 syntax) or a TableOptions object (for V1 syntax)
55
+ * @param {TableV2Options} [v2Options] - Optional configuration options for V2 syntax
56
+ *
57
+ * @example
58
+ * ```javascript
59
+ * // New Constructor
60
+ * const table = new Table(
61
+ * {
62
+ * name: column.text,
63
+ * age: column.integer
64
+ * },
65
+ * { indexes: { nameIndex: ['name'] } }
66
+ * );
67
+ *```
68
+ *
69
+ *
70
+ * @example
71
+ * ```javascript
72
+ * // Deprecated Constructor
73
+ * const table = new Table({
74
+ * name: 'users',
75
+ * columns: [
76
+ * new Column({ name: 'name', type: ColumnType.TEXT }),
77
+ * new Column({ name: 'age', type: ColumnType.INTEGER })
78
+ * ]
79
+ * });
80
+ *```
81
+ */
82
+ constructor(columns: Columns, options?: TableV2Options);
83
+ /**
84
+ * @deprecated This constructor will be removed in the next major release.
85
+ * Use the new constructor shown below instead as this does not show types.
86
+ * @example
87
+ * <caption>Use this instead</caption>
88
+ * ```javascript
89
+ * const table = new Table(
90
+ * {
91
+ * name: column.text,
92
+ * age: column.integer
93
+ * },
94
+ * { indexes: { nameIndex: ['name'] } }
95
+ * );
96
+ *```
97
+ */
22
98
  constructor(options: TableOptions);
99
+ private isTableV1;
100
+ private initTableV1;
101
+ private initTableV2;
23
102
  get name(): string;
24
103
  get viewNameOverride(): string | undefined;
25
104
  get viewName(): string;
26
105
  get columns(): Column[];
106
+ get columnMap(): Columns;
27
107
  get indexes(): Index[];
28
108
  get localOnly(): boolean;
29
109
  get insertOnly(): boolean;
@@ -37,14 +117,14 @@ export declare class Table {
37
117
  insert_only: boolean;
38
118
  columns: {
39
119
  name: string;
40
- type: import("../Column").ColumnType | undefined;
120
+ type: ColumnType | undefined;
41
121
  }[];
42
122
  indexes: {
43
123
  name: string;
44
124
  columns: {
45
125
  name: string;
46
126
  ascending: boolean | undefined;
47
- type: import("../Column").ColumnType;
127
+ type: ColumnType;
48
128
  }[];
49
129
  }[];
50
130
  };
@@ -1,4 +1,6 @@
1
- import { Column } from '../Column';
1
+ import { Column, ColumnType, MAX_AMOUNT_OF_COLUMNS } from './Column.js';
2
+ import { Index } from './Index.js';
3
+ import { IndexedColumn } from './IndexedColumn.js';
2
4
  export const DEFAULT_TABLE_OPTIONS = {
3
5
  indexes: [],
4
6
  insertOnly: false,
@@ -7,24 +9,67 @@ export const DEFAULT_TABLE_OPTIONS = {
7
9
  export const InvalidSQLCharacters = /["'%,.#\s[\]]/;
8
10
  export class Table {
9
11
  options;
12
+ _mappedColumns;
10
13
  static createLocalOnly(options) {
11
14
  return new Table({ ...options, localOnly: true, insertOnly: false });
12
15
  }
13
16
  static createInsertOnly(options) {
14
17
  return new Table({ ...options, localOnly: false, insertOnly: true });
15
18
  }
19
+ /**
20
+ * Create a table.
21
+ * @deprecated This was only only included for TableV2 and is no longer necessary.
22
+ * Prefer to use new Table() directly.
23
+ *
24
+ * TODO remove in the next major release.
25
+ */
16
26
  static createTable(name, table) {
17
27
  return new Table({
18
28
  name,
19
- columns: Object.entries(table.columns).map(([name, col]) => new Column({ name, type: col.type })),
29
+ columns: table.columns,
20
30
  indexes: table.indexes,
21
31
  localOnly: table.options.localOnly,
22
32
  insertOnly: table.options.insertOnly,
23
33
  viewName: table.options.viewName
24
34
  });
25
35
  }
26
- constructor(options) {
27
- this.options = { ...DEFAULT_TABLE_OPTIONS, ...options };
36
+ constructor(optionsOrColumns, v2Options) {
37
+ if (this.isTableV1(optionsOrColumns)) {
38
+ this.initTableV1(optionsOrColumns);
39
+ }
40
+ else {
41
+ this.initTableV2(optionsOrColumns, v2Options);
42
+ }
43
+ }
44
+ isTableV1(arg) {
45
+ return 'columns' in arg && Array.isArray(arg.columns);
46
+ }
47
+ initTableV1(options) {
48
+ this.options = {
49
+ ...options,
50
+ indexes: options.indexes || [],
51
+ insertOnly: options.insertOnly ?? DEFAULT_TABLE_OPTIONS.insertOnly,
52
+ localOnly: options.localOnly ?? DEFAULT_TABLE_OPTIONS.localOnly
53
+ };
54
+ }
55
+ initTableV2(columns, options) {
56
+ const convertedColumns = Object.entries(columns).map(([name, columnInfo]) => new Column({ name, type: columnInfo.type }));
57
+ const convertedIndexes = Object.entries(options?.indexes ?? {}).map(([name, columnNames]) => new Index({
58
+ name,
59
+ columns: columnNames.map((name) => new IndexedColumn({
60
+ name: name.replace(/^-/, ''),
61
+ ascending: !name.startsWith('-')
62
+ }))
63
+ }));
64
+ this.options = {
65
+ name: '',
66
+ columns: convertedColumns,
67
+ indexes: convertedIndexes,
68
+ insertOnly: options?.insertOnly ?? DEFAULT_TABLE_OPTIONS.insertOnly,
69
+ localOnly: options?.localOnly ?? DEFAULT_TABLE_OPTIONS.localOnly,
70
+ viewName: options?.viewName
71
+ };
72
+ this._mappedColumns = columns;
28
73
  }
29
74
  get name() {
30
75
  return this.options.name;
@@ -38,6 +83,13 @@ export class Table {
38
83
  get columns() {
39
84
  return this.options.columns;
40
85
  }
86
+ get columnMap() {
87
+ return (this._mappedColumns ??
88
+ this.columns.reduce((hash, column) => {
89
+ hash[column.name] = { type: column.type ?? ColumnType.TEXT };
90
+ return hash;
91
+ }, {}));
92
+ }
41
93
  get indexes() {
42
94
  return this.options.indexes ?? [];
43
95
  }
@@ -69,28 +121,31 @@ export class Table {
69
121
  if (this.viewNameOverride && InvalidSQLCharacters.test(this.viewNameOverride)) {
70
122
  throw new Error(`Invalid characters in view name: ${this.viewNameOverride}`);
71
123
  }
124
+ if (this.columns.length > MAX_AMOUNT_OF_COLUMNS) {
125
+ throw new Error(`Table has too many columns. The maximum number of columns is ${MAX_AMOUNT_OF_COLUMNS}.`);
126
+ }
72
127
  const columnNames = new Set();
73
128
  columnNames.add('id');
74
129
  for (const column of this.columns) {
75
130
  const { name: columnName } = column;
76
- if (column.name == 'id') {
77
- throw new Error(`${this.name}: id column is automatically added, custom id columns are not supported`);
131
+ if (column.name === 'id') {
132
+ throw new Error(`An id column is automatically added, custom id columns are not supported`);
78
133
  }
79
134
  if (columnNames.has(columnName)) {
80
135
  throw new Error(`Duplicate column ${columnName}`);
81
136
  }
82
137
  if (InvalidSQLCharacters.test(columnName)) {
83
- throw new Error(`Invalid characters in column name: $name.${column}`);
138
+ throw new Error(`Invalid characters in column name: ${column.name}`);
84
139
  }
85
140
  columnNames.add(columnName);
86
141
  }
87
142
  const indexNames = new Set();
88
143
  for (const index of this.indexes) {
89
144
  if (indexNames.has(index.name)) {
90
- throw new Error(`Duplicate index $name.${index}`);
145
+ throw new Error(`Duplicate index ${index.name}`);
91
146
  }
92
147
  if (InvalidSQLCharacters.test(index.name)) {
93
- throw new Error(`Invalid characters in index name: $name.${index}`);
148
+ throw new Error(`Invalid characters in index name: ${index.name}`);
94
149
  }
95
150
  for (const column of index.columns) {
96
151
  if (!columnNames.has(column.name)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/db/schema/Table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/db/schema/Table.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,9 @@
1
- import { ColumnType } from '../Column';
2
- import { Index } from './Index';
3
- export type BaseColumnType<T extends number | string | null> = {
4
- type: ColumnType;
5
- };
6
- export declare const column: {
7
- text: BaseColumnType<string | null>;
8
- integer: BaseColumnType<number | null>;
9
- real: BaseColumnType<number | null>;
10
- };
11
- export type ColumnsType = Record<string, BaseColumnType<any>>;
12
- export type ExtractColumnValueType<T extends BaseColumnType<any>> = T extends BaseColumnType<infer R> ? R : unknown;
13
- export type RowType<T extends TableV2<any>> = {
14
- [K in keyof T['columns']]: ExtractColumnValueType<T['columns'][K]>;
15
- } & {
16
- id: string;
17
- };
18
- export type IndexShorthand = Record<string, string[]>;
19
- export interface TableV2Options {
20
- indexes?: IndexShorthand;
21
- localOnly?: boolean;
22
- insertOnly?: boolean;
23
- viewName?: string;
24
- }
25
- export declare class TableV2<Columns extends ColumnsType = ColumnsType> {
26
- columns: Columns;
27
- options: TableV2Options;
28
- indexes: Index[];
29
- constructor(columns: Columns, options?: TableV2Options);
1
+ import { ColumnsType } from './Column.js';
2
+ import { Table } from './Table.js';
3
+ /**
4
+ Generate a new table from the columns and indexes
5
+ @deprecated You should use {@link Table} instead as it now allows TableV2 syntax.
6
+ This will be removed in the next major release.
7
+ */
8
+ export declare class TableV2<Columns extends ColumnsType = ColumnsType> extends Table<Columns> {
30
9
  }
@@ -1,44 +1,9 @@
1
- import { ColumnType } from '../Column';
2
- import { Index } from './Index';
3
- import { IndexedColumn } from './IndexedColumn';
4
- const text = {
5
- type: ColumnType.TEXT
6
- };
7
- const integer = {
8
- type: ColumnType.INTEGER
9
- };
10
- const real = {
11
- type: ColumnType.REAL
12
- };
13
- export const column = {
14
- text,
15
- integer,
16
- real
17
- };
18
- /*
1
+ import { Table } from './Table.js';
2
+ /**
19
3
  Generate a new table from the columns and indexes
4
+ @deprecated You should use {@link Table} instead as it now allows TableV2 syntax.
5
+ This will be removed in the next major release.
20
6
  */
21
- export class TableV2 {
22
- columns;
23
- options;
24
- indexes;
25
- constructor(columns, options = {}) {
26
- this.columns = columns;
27
- this.options = options;
28
- if (options?.indexes) {
29
- this.indexes = Object.entries(options.indexes).map(([name, columns]) => {
30
- if (name.startsWith('-')) {
31
- return new Index({
32
- name: name.substring(1),
33
- columns: columns.map((c) => new IndexedColumn({ name: c, ascending: false }))
34
- });
35
- }
36
- return new Index({
37
- name: name,
38
- columns: columns.map((c) => new IndexedColumn({ name: c, ascending: true }))
39
- });
40
- });
41
- }
42
- }
7
+ export class TableV2 extends Table {
43
8
  }
44
9
  //# sourceMappingURL=TableV2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableV2.js","sourceRoot":"","sources":["../../../src/db/schema/TableV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMhD,MAAM,IAAI,GAAkC;IAC1C,IAAI,EAAE,UAAU,CAAC,IAAI;CACtB,CAAC;AAEF,MAAM,OAAO,GAAkC;IAC7C,IAAI,EAAE,UAAU,CAAC,OAAO;CACzB,CAAC;AAEF,MAAM,IAAI,GAAkC;IAC1C,IAAI,EAAE,UAAU,CAAC,IAAI;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI;IACJ,OAAO;IACP,IAAI;CACL,CAAC;AAqBF;;EAEE;AACF,MAAM,OAAO,OAAO;IAIT;IACA;IAJF,OAAO,CAAU;IAExB,YACS,OAAgB,EAChB,UAA0B,EAAE;QAD5B,YAAO,GAAP,OAAO,CAAS;QAChB,YAAO,GAAP,OAAO,CAAqB;QAEnC,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE;gBACrE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,IAAI,KAAK,CAAC;wBACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;wBACvB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;qBAC9E,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,KAAK,CAAC;oBACf,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC7E,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"TableV2.js","sourceRoot":"","sources":["../../../src/db/schema/TableV2.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;EAIE;AACF,MAAM,OAAO,OAAmD,SAAQ,KAAc;CAAG"}
package/lib/index.d.ts CHANGED
@@ -1,35 +1,34 @@
1
- export * from './client/AbstractPowerSyncDatabase';
2
- export * from './client/AbstractPowerSyncOpenFactory';
3
- export * from './client/SQLOpenFactory';
4
- export * from './client/connection/PowerSyncBackendConnector';
5
- export * from './client/connection/PowerSyncCredentials';
6
- export * from './client/sync/bucket/BucketStorageAdapter';
7
- export { UpdateType, CrudEntry, OpId } from './client/sync/bucket/CrudEntry';
8
- export * from './client/sync/bucket/SqliteBucketStorage';
9
- export * from './client/sync/bucket/CrudBatch';
10
- export * from './client/sync/bucket/CrudTransaction';
11
- export * from './client/sync/bucket/SyncDataBatch';
12
- export * from './client/sync/bucket/SyncDataBucket';
13
- export * from './client/sync/bucket/OpType';
14
- export * from './client/sync/bucket/OplogEntry';
15
- export * from './client/sync/stream/AbstractRemote';
16
- export * from './client/sync/stream/AbstractStreamingSyncImplementation';
17
- export * from './client/sync/stream/streaming-sync-types';
18
- export { MAX_OP_ID } from './client/constants';
19
- export * from './db/crud/SyncStatus';
20
- export * from './db/crud/UploadQueueStatus';
21
- export * from './db/schema/Schema';
22
- export * from './db/schema/Table';
23
- export * from './db/schema/Index';
24
- export * from './db/schema/IndexedColumn';
25
- export * from './db/crud/SyncStatus';
26
- export * from './db/crud/UploadQueueStatus';
27
- export * from './db/DBAdapter';
28
- export * from './db/Column';
29
- export * from './db/schema/TableV2';
30
- export * from './utils/AbortOperation';
31
- export * from './utils/BaseObserver';
32
- export * from './utils/strings';
33
- export * from './utils/DataStream';
34
- export * from './utils/parseQuery';
35
- export * from './types/types';
1
+ export * from './client/AbstractPowerSyncDatabase.js';
2
+ export * from './client/AbstractPowerSyncOpenFactory.js';
3
+ export * from './client/SQLOpenFactory.js';
4
+ export * from './client/connection/PowerSyncBackendConnector.js';
5
+ export * from './client/connection/PowerSyncCredentials.js';
6
+ export * from './client/sync/bucket/BucketStorageAdapter.js';
7
+ export { UpdateType, CrudEntry, OpId } from './client/sync/bucket/CrudEntry.js';
8
+ export * from './client/sync/bucket/SqliteBucketStorage.js';
9
+ export * from './client/sync/bucket/CrudBatch.js';
10
+ export * from './client/sync/bucket/CrudTransaction.js';
11
+ export * from './client/sync/bucket/SyncDataBatch.js';
12
+ export * from './client/sync/bucket/SyncDataBucket.js';
13
+ export * from './client/sync/bucket/OpType.js';
14
+ export * from './client/sync/bucket/OplogEntry.js';
15
+ export * from './client/sync/stream/AbstractRemote.js';
16
+ export * from './client/sync/stream/AbstractStreamingSyncImplementation.js';
17
+ export * from './client/sync/stream/streaming-sync-types.js';
18
+ export { MAX_OP_ID } from './client/constants.js';
19
+ export * from './db/crud/SyncStatus.js';
20
+ export * from './db/crud/UploadQueueStatus.js';
21
+ export * from './db/schema/Schema.js';
22
+ export * from './db/schema/Table.js';
23
+ export * from './db/schema/Index.js';
24
+ export * from './db/schema/IndexedColumn.js';
25
+ export * from './db/schema/Column.js';
26
+ export * from './db/schema/TableV2.js';
27
+ export * from './db/crud/SyncStatus.js';
28
+ export * from './db/crud/UploadQueueStatus.js';
29
+ export * from './db/DBAdapter.js';
30
+ export * from './utils/AbortOperation.js';
31
+ export * from './utils/BaseObserver.js';
32
+ export * from './utils/DataStream.js';
33
+ export * from './utils/parseQuery.js';
34
+ export * from './types/types.js';
package/lib/index.js CHANGED
@@ -1,36 +1,35 @@
1
- export * from './client/AbstractPowerSyncDatabase';
2
- export * from './client/AbstractPowerSyncOpenFactory';
3
- export * from './client/SQLOpenFactory';
4
- export * from './client/connection/PowerSyncBackendConnector';
5
- export * from './client/connection/PowerSyncCredentials';
6
- export * from './client/sync/bucket/BucketStorageAdapter';
7
- export { UpdateType, CrudEntry } from './client/sync/bucket/CrudEntry';
8
- export * from './client/sync/bucket/SqliteBucketStorage';
9
- export * from './client/sync/bucket/CrudBatch';
10
- export * from './client/sync/bucket/CrudTransaction';
11
- export * from './client/sync/bucket/SyncDataBatch';
12
- export * from './client/sync/bucket/SyncDataBucket';
13
- export * from './client/sync/bucket/OpType';
14
- export * from './client/sync/bucket/OplogEntry';
15
- export * from './client/sync/stream/AbstractRemote';
16
- export * from './client/sync/stream/AbstractStreamingSyncImplementation';
17
- export * from './client/sync/stream/streaming-sync-types';
18
- export { MAX_OP_ID } from './client/constants';
19
- export * from './db/crud/SyncStatus';
20
- export * from './db/crud/UploadQueueStatus';
21
- export * from './db/schema/Schema';
22
- export * from './db/schema/Table';
23
- export * from './db/schema/Index';
24
- export * from './db/schema/IndexedColumn';
25
- export * from './db/crud/SyncStatus';
26
- export * from './db/crud/UploadQueueStatus';
27
- export * from './db/DBAdapter';
28
- export * from './db/Column';
29
- export * from './db/schema/TableV2';
30
- export * from './utils/AbortOperation';
31
- export * from './utils/BaseObserver';
32
- export * from './utils/strings';
33
- export * from './utils/DataStream';
34
- export * from './utils/parseQuery';
35
- export * from './types/types';
1
+ export * from './client/AbstractPowerSyncDatabase.js';
2
+ export * from './client/AbstractPowerSyncOpenFactory.js';
3
+ export * from './client/SQLOpenFactory.js';
4
+ export * from './client/connection/PowerSyncBackendConnector.js';
5
+ export * from './client/connection/PowerSyncCredentials.js';
6
+ export * from './client/sync/bucket/BucketStorageAdapter.js';
7
+ export { UpdateType, CrudEntry } from './client/sync/bucket/CrudEntry.js';
8
+ export * from './client/sync/bucket/SqliteBucketStorage.js';
9
+ export * from './client/sync/bucket/CrudBatch.js';
10
+ export * from './client/sync/bucket/CrudTransaction.js';
11
+ export * from './client/sync/bucket/SyncDataBatch.js';
12
+ export * from './client/sync/bucket/SyncDataBucket.js';
13
+ export * from './client/sync/bucket/OpType.js';
14
+ export * from './client/sync/bucket/OplogEntry.js';
15
+ export * from './client/sync/stream/AbstractRemote.js';
16
+ export * from './client/sync/stream/AbstractStreamingSyncImplementation.js';
17
+ export * from './client/sync/stream/streaming-sync-types.js';
18
+ export { MAX_OP_ID } from './client/constants.js';
19
+ export * from './db/crud/SyncStatus.js';
20
+ export * from './db/crud/UploadQueueStatus.js';
21
+ export * from './db/schema/Schema.js';
22
+ export * from './db/schema/Table.js';
23
+ export * from './db/schema/Index.js';
24
+ export * from './db/schema/IndexedColumn.js';
25
+ export * from './db/schema/Column.js';
26
+ export * from './db/schema/TableV2.js';
27
+ export * from './db/crud/SyncStatus.js';
28
+ export * from './db/crud/UploadQueueStatus.js';
29
+ export * from './db/DBAdapter.js';
30
+ export * from './utils/AbortOperation.js';
31
+ export * from './utils/BaseObserver.js';
32
+ export * from './utils/DataStream.js';
33
+ export * from './utils/parseQuery.js';
34
+ export * from './types/types.js';
36
35
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,+CAA+C,CAAC;AAC9D,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAQ,MAAM,gCAAgC,CAAC;AAC7E,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0DAA0D,CAAC;AACzE,cAAc,2CAA2C,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAEpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,8CAA8C,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAQ,MAAM,mCAAmC,CAAC;AAChF,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mCAAmC,CAAC;AAClD,cAAc,yCAAyC,CAAC;AACxD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6DAA6D,CAAC;AAC5E,cAAc,8CAA8C,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAElC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ILogger } from 'js-logger';
2
- import { BaseListener, BaseObserver } from './BaseObserver';
2
+ import { BaseListener, BaseObserver } from './BaseObserver.js';
3
3
  export type DataStreamOptions = {
4
4
  /**
5
5
  * Close the stream if any consumer throws an error
@@ -1,5 +1,5 @@
1
1
  import Logger from 'js-logger';
2
- import { BaseObserver } from './BaseObserver';
2
+ import { BaseObserver } from './BaseObserver.js';
3
3
  export const DEFAULT_PRESSURE_LIMITS = {
4
4
  highWater: 10,
5
5
  lowWater: 0
@@ -1 +1 @@
1
- {"version":3,"file":"DataStream.js","sourceRoot":"","sources":["../../src/utils/DataStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataStream.js","sourceRoot":"","sources":["../../src/utils/DataStream.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CompilableQuery } from '../types/types';
1
+ import type { CompilableQuery } from '../types/types.js';
2
2
  export interface ParsedQuery {
3
3
  sqlStatement: string;
4
4
  parameters: any[];
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Throttle a function to be called at most once every "wait" milliseconds,
3
+ * on the trailing edge.
4
+ *
5
+ * Roughly equivalent to lodash/throttle with {leading: false, trailing: true}
6
+ */
7
+ export declare function throttleTrailing(func: () => void, wait: number): () => void;
8
+ /**
9
+ * Throttle a function to be called at most once every "wait" milliseconds,
10
+ * on the leading and trailing edge.
11
+ *
12
+ * Roughly equivalent to lodash/throttle with {leading: true, trailing: true}
13
+ */
14
+ export declare function throttleLeadingTrailing(func: () => void, wait: number): () => void;