zerohelper-sqlite-adapter 11.0.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.
package/README.md ADDED
@@ -0,0 +1,43 @@
1
+ # zerohelper-sqlite-adapter
2
+
3
+ SQLite database adapter for ZeroHelper.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install zerohelper-sqlite-adapter
9
+ npm install sqlite3
10
+ ```
11
+
12
+ ## Usage
13
+
14
+ ```typescript
15
+ import { createDatabase } from '@onurege3467/zerohelper';
16
+
17
+ const db = createDatabase({
18
+ adapter: 'sqlite',
19
+ config: { path: './data.db' }
20
+ });
21
+
22
+ await db.insert('users', { name: 'John', age: 30 });
23
+ const users = await db.select('users', { name: 'John' });
24
+ await db.close();
25
+ ```
26
+
27
+ ## Features
28
+
29
+ - Full SQLite3 support with prepared statements
30
+ - Automatic table creation and schema migration
31
+ - Transaction support (BEGIN, COMMIT, ROLLBACK)
32
+ - JSON column support for complex data types
33
+ - Connection pooling ready
34
+
35
+ ## Configuration
36
+
37
+ | Option | Type | Required | Description |
38
+ |--------|------|----------|-------------|
39
+ | `path` | string | Yes | Path to SQLite database file |
40
+
41
+ ## License
42
+
43
+ ISC
@@ -0,0 +1,25 @@
1
+ import { IDatabase, SQLiteConfig } from '@onurege3467/zerohelper-core';
2
+ export declare class SQLiteDatabase extends IDatabase {
3
+ private db;
4
+ private _isOpen;
5
+ private _queue;
6
+ constructor(config: SQLiteConfig);
7
+ private _flushQueue;
8
+ private _flushQueueWithError;
9
+ private _execute;
10
+ private _query;
11
+ ensureTable(table: string, data?: any): Promise<void>;
12
+ insert(table: string, data: any): Promise<number>;
13
+ update(table: string, data: any, where: any): Promise<number>;
14
+ delete(table: string, where: any): Promise<number>;
15
+ select<T = any>(table: string, where?: any): Promise<T[]>;
16
+ selectOne<T = any>(table: string, where?: any): Promise<T | null>;
17
+ set(table: string, data: any, where: any): Promise<any>;
18
+ bulkInsert(table: string, dataArray: any[]): Promise<number>;
19
+ increment(table: string, incs: any, where: any): Promise<number>;
20
+ decrement(table: string, decs: any, where: any): Promise<number>;
21
+ close(): Promise<void>;
22
+ }
23
+ export declare function createDatabase(config: SQLiteConfig): SQLiteDatabase;
24
+ export default SQLiteDatabase;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAKvE,qBAAa,cAAe,SAAQ,SAAS;IAC3C,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAyG;gBAE3G,MAAM,EAAE,YAAY;IAYhC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,oBAAoB;YAOd,QAAQ;IAatB,OAAO,CAAC,MAAM;IAWR,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAajD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAY7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAWlD,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,GAAU,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAc/D,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,GAAU,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKvE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKvD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAoB5D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAWhE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAMhE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAEnE;AACD,eAAe,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SQLiteDatabase = void 0;
7
+ exports.createDatabase = createDatabase;
8
+ const zerohelper_core_1 = require("@onurege3467/zerohelper-core");
9
+ const sqlite3_1 = __importDefault(require("sqlite3"));
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const path_1 = __importDefault(require("path"));
12
+ class SQLiteDatabase extends zerohelper_core_1.IDatabase {
13
+ constructor(config) {
14
+ super();
15
+ this._isOpen = false;
16
+ this._queue = [];
17
+ if (!config?.path)
18
+ throw new Error('SQLite "path" gereklidir.');
19
+ const dir = path_1.default.dirname(config.path);
20
+ if (!fs_1.default.existsSync(dir))
21
+ fs_1.default.mkdirSync(dir, { recursive: true });
22
+ this.db = new sqlite3_1.default.Database(config.path, (err) => {
23
+ if (err)
24
+ this._flushQueueWithError(err);
25
+ else {
26
+ this._isOpen = true;
27
+ this._flushQueue();
28
+ }
29
+ });
30
+ }
31
+ _flushQueue() {
32
+ while (this._queue.length > 0) {
33
+ const item = this._queue.shift();
34
+ if (item)
35
+ item.operation().then(item.resolve).catch(item.reject);
36
+ }
37
+ }
38
+ _flushQueueWithError(error) {
39
+ while (this._queue.length > 0) {
40
+ const item = this._queue.shift();
41
+ if (item)
42
+ item.reject(error);
43
+ }
44
+ }
45
+ async _execute(op, table, fn) {
46
+ const operation = async () => {
47
+ const start = Date.now();
48
+ const res = await fn();
49
+ this.recordMetric(op, table, Date.now() - start);
50
+ return res;
51
+ };
52
+ if (this._isOpen)
53
+ return operation();
54
+ return new Promise((resolve, reject) => {
55
+ this._queue.push({ operation, resolve, reject });
56
+ });
57
+ }
58
+ _query(sql, params = []) {
59
+ return new Promise((resolve, reject) => {
60
+ const s = sql.trim().toUpperCase();
61
+ if (s.startsWith('SELECT') || s.startsWith('PRAGMA')) {
62
+ this.db.all(sql, params, (err, rows) => err ? reject(err) : resolve(rows));
63
+ }
64
+ else {
65
+ this.db.run(sql, params, function (err) { err ? reject(err) : resolve({ changes: this.changes, lastID: this.lastID }); });
66
+ }
67
+ });
68
+ }
69
+ async ensureTable(table, data = {}) {
70
+ try {
71
+ await this._query(`SELECT 1 FROM "${table}" LIMIT 1`);
72
+ const info = await this._query(`PRAGMA table_info("${table}")`);
73
+ const names = info.map(c => c.name);
74
+ for (const key of Object.keys(data)) {
75
+ if (key !== '_id' && !names.includes(key)) {
76
+ await this._query(`ALTER TABLE "${table}" ADD COLUMN "${key}" TEXT`);
77
+ }
78
+ }
79
+ }
80
+ catch {
81
+ const defs = Object.keys(data).map(k => `"${k}" TEXT`);
82
+ await this._query(`CREATE TABLE "${table}" (_id INTEGER PRIMARY KEY AUTOINCREMENT${defs.length ? ', ' + defs.join(',') : ''})`);
83
+ }
84
+ }
85
+ async insert(table, data) {
86
+ await this.runHooks('beforeInsert', table, data);
87
+ return this._execute('insert', table, async () => {
88
+ await this.ensureTable(table, data);
89
+ const keys = Object.keys(data);
90
+ const sql = `INSERT INTO "${table}" (${keys.map(k => `"${k}"`).join(',')}) VALUES (${keys.map(() => '?').join(',')})`;
91
+ const res = await this._query(sql, Object.values(data).map(v => typeof v === 'object' ? JSON.stringify(v) : v));
92
+ const finalData = { _id: res.lastID, ...data };
93
+ await this.runHooks('afterInsert', table, finalData);
94
+ return res.lastID;
95
+ });
96
+ }
97
+ async update(table, data, where) {
98
+ await this.runHooks('beforeUpdate', table, { data, where });
99
+ return this._execute('update', table, async () => {
100
+ await this.ensureTable(table, { ...data, ...where });
101
+ const set = Object.keys(data).map(k => `"${k}" = ?`).join(',');
102
+ const wKeys = Object.keys(where);
103
+ const sql = `UPDATE "${table}" SET ${set} WHERE ${wKeys.map(k => `"${k}" = ?`).join(' AND ')}`;
104
+ const res = await this._query(sql, [...Object.values(data).map(v => typeof v === 'object' ? JSON.stringify(v) : v), ...Object.values(where)]);
105
+ return res.changes;
106
+ });
107
+ }
108
+ async delete(table, where) {
109
+ await this.runHooks('beforeDelete', table, where);
110
+ return this._execute('delete', table, async () => {
111
+ await this.ensureTable(table, where);
112
+ const wKeys = Object.keys(where);
113
+ const sql = `DELETE FROM "${table}" WHERE ${wKeys.map(k => `"${k}" = ?`).join(' AND ')}`;
114
+ const res = await this._query(sql, Object.values(where));
115
+ return res.changes;
116
+ });
117
+ }
118
+ async select(table, where = null) {
119
+ return this._execute('select', table, async () => {
120
+ await this.ensureTable(table, where || {});
121
+ const wKeys = where ? Object.keys(where) : [];
122
+ const sql = `SELECT * FROM "${table}"${wKeys.length ? ' WHERE ' + wKeys.map(k => `"${k}" = ?`).join(' AND ') : ''}`;
123
+ const rows = await this._query(sql, wKeys.map(k => where[k]));
124
+ return rows.map((r) => {
125
+ const nr = {};
126
+ for (const k in r) {
127
+ try {
128
+ nr[k] = JSON.parse(r[k]);
129
+ }
130
+ catch {
131
+ nr[k] = r[k];
132
+ }
133
+ }
134
+ return nr;
135
+ });
136
+ });
137
+ }
138
+ async selectOne(table, where = null) {
139
+ const res = await this.select(table, where);
140
+ return res[0] || null;
141
+ }
142
+ async set(table, data, where) {
143
+ const ex = await this.selectOne(table, where);
144
+ return ex ? this.update(table, data, where) : this.insert(table, { ...where, ...data });
145
+ }
146
+ async bulkInsert(table, dataArray) {
147
+ if (!dataArray.length)
148
+ return 0;
149
+ return this._execute('bulkInsert', table, async () => {
150
+ await this.ensureTable(table, dataArray[0]);
151
+ await this._query('BEGIN TRANSACTION');
152
+ try {
153
+ const keys = Object.keys(dataArray[0]);
154
+ const sql = `INSERT INTO "${table}" (${keys.map(k => `"${k}"`).join(',')}) VALUES (${keys.map(() => '?').join(',')})`;
155
+ for (const d of dataArray) {
156
+ await this._query(sql, Object.values(d).map(v => typeof v === 'object' ? JSON.stringify(v) : v));
157
+ }
158
+ await this._query('COMMIT');
159
+ return dataArray.length;
160
+ }
161
+ catch (error) {
162
+ await this._query('ROLLBACK');
163
+ throw error;
164
+ }
165
+ });
166
+ }
167
+ async increment(table, incs, where) {
168
+ return this._execute('increment', table, async () => {
169
+ await this.ensureTable(table, where);
170
+ const set = Object.keys(incs).map(f => `"${f}" = CAST("${f}" AS NUMERIC) + ?`);
171
+ const wKeys = Object.keys(where);
172
+ const sql = `UPDATE "${table}" SET ${set} WHERE ${wKeys.map(k => `"${k}" = ?`).join(' AND ')}`;
173
+ const res = await this._query(sql, [...Object.values(incs), ...Object.values(where)]);
174
+ return res.changes;
175
+ });
176
+ }
177
+ async decrement(table, decs, where) {
178
+ const incs = {};
179
+ for (const k in decs)
180
+ incs[k] = -decs[k];
181
+ return this.increment(table, incs, where);
182
+ }
183
+ async close() {
184
+ return new Promise((resolve, reject) => {
185
+ this.db.close(err => {
186
+ this._isOpen = false;
187
+ err ? reject(err) : resolve();
188
+ });
189
+ });
190
+ }
191
+ }
192
+ exports.SQLiteDatabase = SQLiteDatabase;
193
+ function createDatabase(config) {
194
+ return new SQLiteDatabase(config);
195
+ }
196
+ exports.default = SQLiteDatabase;
197
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "zerohelper-sqlite-adapter",
3
+ "version": "11.0.0",
4
+ "description": "SQLite adapter for ZeroHelper",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": { "build": "tsc", "clean": "rm -rf dist" },
8
+ "keywords": ["zerohelper", "database", "sqlite", "adapter"],
9
+ "author": "Onure9e",
10
+ "license": "ISC",
11
+ "dependencies": { "sqlite3": "^5.1.7" },
12
+ "peerDependencies": { "@onurege3467/zerohelper-core": "^11.0.0" },
13
+ "devDependencies": { "@types/node": "^22.10.2", "typescript": "^5.7.2" },
14
+ "files": ["dist", "README.md"],
15
+ "publishConfig": { "access": "public" }
16
+ }