@iamkirbki/database-handler-better-sqlite3 3.0.2 → 3.1.1

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.
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import Database from "better-sqlite3";
11
- import BetterSqlite3Statement from "./BetterSqlite3Statement";
11
+ import BetterSqlite3Statement from "./BetterSqlite3Statement.js";
12
12
  export default class BetterSqlite3Adapter {
13
13
  constructor() {
14
14
  this.db = null;
@@ -0,0 +1,11 @@
1
+ import { AbstractSchemaBuilder } from "@core/abstract/Schema.js";
2
+ import { BetterSqlite3TableSchemaBuilder } from "./BetterSqlite3TableSchemaBuilder.js";
3
+ import BetterSqlite3Adapter from "./BetterSqlite3Adapter.js";
4
+ export declare class BetterSqlite3SchemaBuilder extends AbstractSchemaBuilder {
5
+ private adapter;
6
+ constructor(adapter: BetterSqlite3Adapter);
7
+ createTable(name: string, callback: (table: BetterSqlite3TableSchemaBuilder) => void): Promise<void>;
8
+ dropTable(name: string): Promise<void>;
9
+ alterTable(_oldName: string, _callback: (table: BetterSqlite3TableSchemaBuilder) => void): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=BetterSqlite3SchemaBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BetterSqlite3SchemaBuilder.d.ts","sourceRoot":"","sources":["../src/BetterSqlite3SchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,qBAAa,0BAA2B,SAAQ,qBAAqB;IAErD,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,oBAAoB;IAK3C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI;IAWpF,SAAS,CAAC,IAAI,EAAE,MAAM;IAOtB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAcjH"}
@@ -0,0 +1,42 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { AbstractSchemaBuilder } from "@core/abstract/Schema.js";
11
+ import { BetterSqlite3TableSchemaBuilder } from "./BetterSqlite3TableSchemaBuilder.js";
12
+ export class BetterSqlite3SchemaBuilder extends AbstractSchemaBuilder {
13
+ // eslint-disable-next-line no-unused-vars
14
+ constructor(adapter) {
15
+ super();
16
+ this.adapter = adapter;
17
+ }
18
+ // eslint-disable-next-line no-unused-vars
19
+ createTable(name, callback) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const tableBuilder = new BetterSqlite3TableSchemaBuilder();
22
+ callback(tableBuilder);
23
+ const cols = tableBuilder.build();
24
+ const query = `CREATE TABLE ${name} ${cols}`;
25
+ const statement = yield this.adapter.prepare(query);
26
+ statement.run();
27
+ });
28
+ }
29
+ dropTable(name) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const query = `DROP TABLE IF EXISTS ${name}`;
32
+ const statement = yield this.adapter.prepare(query);
33
+ statement.run();
34
+ });
35
+ }
36
+ // eslint-disable-next-line no-unused-vars
37
+ alterTable(_oldName, _callback) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ throw new Error("Method not implemented.");
40
+ });
41
+ }
42
+ }
@@ -0,0 +1,13 @@
1
+ import { SchemaTableBuilder } from "@core/abstract/Schema";
2
+ export declare class BetterSqlite3TableSchemaBuilder extends SchemaTableBuilder {
3
+ build(): string;
4
+ increments(name?: string): this;
5
+ primaryKey(name?: string): this;
6
+ foreignKey(name?: string, referenceTable?: string, referenceColumn?: string): this;
7
+ uuid(name?: string): this;
8
+ string(name?: string, length?: number): this;
9
+ integer(name?: string): this;
10
+ boolean(name?: string): this;
11
+ timestamps(): this;
12
+ }
13
+ //# sourceMappingURL=BetterSqlite3TableSchemaBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BetterSqlite3TableSchemaBuilder.d.ts","sourceRoot":"","sources":["../src/BetterSqlite3TableSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,qBAAa,+BAAgC,SAAQ,kBAAkB;IACnE,KAAK,IAAI,MAAM;IAkBf,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM;IAOxB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO/B,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAYlF,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5C,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,UAAU,IAAI,IAAI;CAerB"}
@@ -0,0 +1,75 @@
1
+ import { SchemaTableBuilder } from "@core/abstract/Schema";
2
+ export class BetterSqlite3TableSchemaBuilder extends SchemaTableBuilder {
3
+ build() {
4
+ const columnDefinitions = this.columns.map(column => {
5
+ let definition = `${column.name} ${column.datatype || ''}`.trim();
6
+ if (column.autoincrement) {
7
+ definition += ' AUTO_INCREMENT';
8
+ }
9
+ if (column.constraints && column.constraints.length > 0) {
10
+ definition += ' ' + column.constraints.join(' ');
11
+ }
12
+ return definition;
13
+ });
14
+ return `(${columnDefinitions.join(', ')})`;
15
+ }
16
+ increments(name) {
17
+ return this.addColumn({
18
+ name,
19
+ autoincrement: true,
20
+ });
21
+ }
22
+ primaryKey(name) {
23
+ return this.addColumn({
24
+ name,
25
+ constraints: ['PRIMARY KEY'],
26
+ });
27
+ }
28
+ foreignKey(name, referenceTable, referenceColumn) {
29
+ if (name && referenceTable && referenceColumn) {
30
+ const constraint = `FOREIGN KEY(${name}) REFERENCES ${referenceTable}(${referenceColumn})`;
31
+ return this.addColumn({
32
+ name,
33
+ constraints: [constraint],
34
+ });
35
+ }
36
+ return this;
37
+ }
38
+ uuid(name) {
39
+ return this.addColumn({
40
+ name,
41
+ datatype: 'UUID',
42
+ });
43
+ }
44
+ string(name, length) {
45
+ return this.addColumn({
46
+ name,
47
+ datatype: length ? `VARCHAR(${length})` : 'VARCHAR',
48
+ });
49
+ }
50
+ integer(name) {
51
+ return this.addColumn({
52
+ name,
53
+ datatype: 'INTEGER',
54
+ });
55
+ }
56
+ boolean(name) {
57
+ return this.addColumn({
58
+ name,
59
+ datatype: 'BOOLEAN',
60
+ });
61
+ }
62
+ timestamps() {
63
+ this.addColumn({
64
+ name: 'created_at',
65
+ datatype: 'DATETIME',
66
+ constraints: ['NOT NULL', 'DEFAULT CURRENT_TIMESTAMP'],
67
+ });
68
+ this.addColumn({
69
+ name: 'updated_at',
70
+ datatype: 'DATETIME',
71
+ constraints: ['NOT NULL', 'DEFAULT CURRENT_TIMESTAMP'],
72
+ });
73
+ return this;
74
+ }
75
+ }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import { Database } from "@iamkirbki/database-handler-core";
2
- import BetterSqlite3Adapter from "./BetterSqlite3Adapter";
2
+ import BetterSqlite3Adapter from "./BetterSqlite3Adapter.js";
3
3
  export declare class BetterSqlite3Database extends Database {
4
4
  constructor(dbPath: string);
5
5
  }
6
+ export { BetterSqlite3SchemaBuilder } from "./BetterSqlite3SchemaBuilder.js";
7
+ export { BetterSqlite3TableSchemaBuilder } from "./BetterSqlite3TableSchemaBuilder.js";
6
8
  export { BetterSqlite3Adapter };
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,MAAM,EAAE,MAAM;CAK3B;AACD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAE7D,qBAAa,qBAAsB,SAAQ,QAAQ;gBACrC,MAAM,EAAE,MAAM;CAK3B;AAED,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Database } from "@iamkirbki/database-handler-core";
2
- import BetterSqlite3Adapter from "./BetterSqlite3Adapter";
2
+ import BetterSqlite3Adapter from "./BetterSqlite3Adapter.js";
3
3
  export class BetterSqlite3Database extends Database {
4
4
  constructor(dbPath) {
5
5
  const adapter = new BetterSqlite3Adapter();
@@ -7,4 +7,6 @@ export class BetterSqlite3Database extends Database {
7
7
  super(adapter);
8
8
  }
9
9
  }
10
+ export { BetterSqlite3SchemaBuilder } from "./BetterSqlite3SchemaBuilder.js";
11
+ export { BetterSqlite3TableSchemaBuilder } from "./BetterSqlite3TableSchemaBuilder.js";
10
12
  export { BetterSqlite3Adapter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iamkirbki/database-handler-better-sqlite3",
3
- "version": "3.0.2",
3
+ "version": "3.1.1",
4
4
  "author": "iamkirbki",
5
5
  "description": "Better-sqlite3 adapter for @kirbkis-database-handler/core",
6
6
  "license": "ISC",