rado 0.2.24 → 0.2.25

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.
@@ -5,8 +5,8 @@ import { Statement } from '../lib/Statement';
5
5
  import { SqliteSchema } from '../sqlite/SqliteSchema';
6
6
  export declare class SqlJsDriver extends Driver.Sync {
7
7
  db: Database;
8
- tableData: (tableName: string) => Array<SqliteSchema.Column>;
9
- indexData: (tableName: string) => Array<SqliteSchema.Index>;
8
+ tableData?: (tableName: string) => Array<SqliteSchema.Column>;
9
+ indexData?: (tableName: string) => Array<SqliteSchema.Index>;
10
10
  constructor(db: Database);
11
11
  prepareStatement(stmt: Statement, discardAfter: boolean): Driver.Sync.PreparedStatement;
12
12
  schemaInstructions(tableName: string): SchemaInstructions | undefined;
@@ -38,8 +38,6 @@ var SqlJsDriver = class extends Driver.Sync {
38
38
  constructor(db) {
39
39
  super(new SqliteFormatter());
40
40
  this.db = db;
41
- this.tableData = this.prepare(SqliteSchema.tableData);
42
- this.indexData = this.prepare(SqliteSchema.indexData);
43
41
  }
44
42
  tableData;
45
43
  indexData;
@@ -55,6 +53,8 @@ var SqlJsDriver = class extends Driver.Sync {
55
53
  }
56
54
  }
57
55
  schemaInstructions(tableName) {
56
+ this.tableData = this.tableData || (this.tableData = this.prepare(SqliteSchema.tableData));
57
+ this.indexData = this.indexData || (this.indexData = this.prepare(SqliteSchema.indexData));
58
58
  const columnData = this.tableData(tableName);
59
59
  const indexData = this.indexData(tableName);
60
60
  return SqliteSchema.createInstructions(columnData, indexData);
@@ -2,6 +2,7 @@ import { Expr } from '../define/Expr';
2
2
  import { Query, QueryData } from '../define/Query';
3
3
  import { SchemaInstructions } from '../define/Schema';
4
4
  import { Table } from '../define/Table';
5
+ import { SelectMultiple } from '../define/query/Select';
5
6
  import { Callable } from '../util/Callable';
6
7
  import { Formatter } from './Formatter';
7
8
  import { Statement } from './Statement';
@@ -9,8 +10,6 @@ declare abstract class DriverBase extends Callable {
9
10
  formatter: Formatter;
10
11
  constructor(formatter: Formatter);
11
12
  compile<T extends Array<Expr<any>>, R>(create: (...params: T) => Query<R>): [QueryData, Statement];
12
- all(...args: Array<any>): any;
13
- get(...args: Array<any>): any;
14
13
  executeTemplate(expectedReturn: QueryData.RawReturn, strings: TemplateStringsArray, ...params: Array<any>): any;
15
14
  abstract executeQuery(query: QueryData): any;
16
15
  }
@@ -32,13 +31,7 @@ declare abstract class SyncDriver extends DriverBase {
32
31
  prepare<T extends Array<Expr<any>>, R>(create: (...params: T) => Query<R>): (...params: ParamTypes<T>) => R;
33
32
  migrateSchema(...tables: Array<Table<any>>): unknown;
34
33
  executeQuery(query: QueryData, stmt?: SyncPreparedStatement, params?: Array<any>): unknown;
35
- all<T>(cursor: Query.SelectSingle<T>): Array<T>;
36
- all<T>(cursor: Query<T>): T;
37
- all<T>(strings: TemplateStringsArray, ...params: Array<any>): Array<T>;
38
- get<T>(cursor: Query.SelectMultiple<T>): T | null;
39
- get<T>(cursor: Query<T>): T;
40
- get<T>(strings: TemplateStringsArray, ...params: Array<any>): T;
41
- iterate<T>(cursor: Query.SelectMultiple<T>): Iterable<T>;
34
+ iterate<T>(cursor: SelectMultiple<T>): Iterable<T>;
42
35
  transaction<T>(run: (query: SyncDriver) => T): T;
43
36
  toAsync(): SyncWrapper;
44
37
  }
@@ -65,13 +58,7 @@ declare abstract class AsyncDriver extends DriverBase {
65
58
  prepare<T extends Array<Expr<any>>, R>(create: (...params: T) => Query<R>): (...params: ParamTypes<T>) => Promise<R>;
66
59
  migrateSchema(...tables: Array<Table<any>>): Promise<unknown>;
67
60
  executeQuery(query: QueryData, stmt?: AsyncPreparedStatement, params?: Array<any>): Promise<unknown>;
68
- all<T>(cursor: Query.SelectSingle<T>): Promise<Array<T>>;
69
- all<T>(cursor: Query<T>): Promise<T>;
70
- all<T>(strings: TemplateStringsArray, ...params: Array<any>): Promise<Array<T>>;
71
- get<T>(cursor: Query.SelectMultiple<T>): Promise<T | null>;
72
- get<T>(cursor: Query<T>): Promise<T>;
73
- get<T>(strings: TemplateStringsArray, ...params: Array<any>): Promise<T>;
74
- iterate<T>(cursor: Query.SelectMultiple<T>): AsyncIterable<T>;
61
+ iterate<T>(cursor: SelectMultiple<T>): AsyncIterable<T>;
75
62
  transaction<T>(run: (query: AsyncDriver) => T): Promise<T>;
76
63
  }
77
64
  declare class SyncWrapper extends AsyncDriver {
@@ -34,22 +34,6 @@ var DriverBase = class extends Callable {
34
34
  const query = cursor[Query.Data];
35
35
  return [query, this.formatter.compile(query)];
36
36
  }
37
- all(...args) {
38
- const [input, ...rest] = args;
39
- if (Query.isSingle(input))
40
- return this.executeQuery(input.all()[Query.Data]);
41
- if (Query.isQuery(input))
42
- return this.executeQuery(input[Query.Data]);
43
- return this.executeTemplate("rows", input, ...rest);
44
- }
45
- get(...args) {
46
- const [input, ...rest] = args;
47
- if (Query.isMultiple(input))
48
- return this.executeQuery(input.maybeFirst()[Query.Data]);
49
- if (Query.isQuery(input))
50
- return this.executeQuery(input[Query.Data]);
51
- return this.executeTemplate("row", input, ...rest);
52
- }
53
37
  executeTemplate(expectedReturn, strings, ...params) {
54
38
  return this.executeQuery(
55
39
  new QueryData.Raw({ strings, params, expectedReturn })
@@ -133,12 +117,6 @@ var SyncDriver = class extends DriverBase {
133
117
  }
134
118
  }
135
119
  }
136
- all(...args) {
137
- return super.all(...args);
138
- }
139
- get(...args) {
140
- return super.get(...args);
141
- }
142
120
  *iterate(cursor) {
143
121
  const stmt = this.prepareStatement(
144
122
  this.formatter.compile(cursor[Query.Data]),
@@ -255,12 +233,6 @@ var AsyncDriver = class extends DriverBase {
255
233
  }
256
234
  }
257
235
  }
258
- all(...args) {
259
- return super.all(...args);
260
- }
261
- get(...args) {
262
- return super.get(...args);
263
- }
264
236
  async *iterate(cursor) {
265
237
  const stmt = this.prepareStatement(
266
238
  this.formatter.compile(cursor[Query.Data]),
@@ -1,16 +1,16 @@
1
1
  // src/sqlite/SqliteSchema.ts
2
- import { Query } from "../define/Query.js";
2
+ import { sql } from "../define/Sql.js";
3
3
  import { Statement } from "../lib/Statement.js";
4
4
  import { SqliteFormatter } from "./SqliteFormatter.js";
5
5
  var SqliteSchema;
6
6
  ((SqliteSchema2) => {
7
7
  const formatter = new SqliteFormatter();
8
8
  function tableData(tableName) {
9
- return Query.all`select * from pragma_table_info(${tableName}) order by cid`;
9
+ return sql.all`select * from pragma_table_info(${tableName}) order by cid`;
10
10
  }
11
11
  SqliteSchema2.tableData = tableData;
12
12
  function indexData(tableName) {
13
- return Query.all`select * from sqlite_master where type='index' and tbl_name=${tableName}`;
13
+ return sql.all`select * from sqlite_master where type='index' and tbl_name=${tableName}`;
14
14
  }
15
15
  SqliteSchema2.indexData = indexData;
16
16
  function createInstructions(columnData, indexData2) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rado",
3
- "version": "0.2.24",
3
+ "version": "0.2.25",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",