@hawiah/postgres 0.1.0 → 0.2.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.
@@ -4,52 +4,55 @@ import { IDriver, Query, Data } from '../interfaces/IDriver';
4
4
  * PostgreSQL driver configuration options
5
5
  */
6
6
  export interface PostgreSQLDriverOptions {
7
- /**
8
- * PostgreSQL connection string (recommended)
9
- * Example: 'postgresql://user:password@host:port/database'
10
- */
7
+ /** PostgreSQL connection string (e.g. 'postgres://user:pass@host:port/db') */
11
8
  connectionString?: string;
12
- /**
13
- * Or individual connection parameters
14
- */
9
+ /** Database host */
15
10
  host?: string;
11
+ /** Database port (default: 5432) */
16
12
  port?: number;
13
+ /** Database user */
17
14
  user?: string;
15
+ /** Database password */
18
16
  password?: string;
17
+ /** Database name */
19
18
  database?: string;
20
- /**
21
- * Table name to use
22
- */
19
+ /** Table name to use for storing data */
23
20
  tableName: string;
24
- /**
25
- * SSL configuration (required for cloud providers like Neon, Supabase)
26
- */
21
+ /** SSL configuration (required for some cloud providers) */
27
22
  ssl?: boolean | object;
28
- /**
29
- * Connection pool size (default: 10)
30
- */
23
+ /** Connection pool size (default: 10) */
31
24
  max?: number;
32
- /**
33
- * Additional PostgreSQL pool options
34
- */
25
+ /** Additional pool configuration */
35
26
  poolOptions?: PoolConfig;
36
27
  }
37
28
  /**
38
29
  * Driver implementation for PostgreSQL using node-postgres.
39
- * Provides a schema-less interface to PostgreSQL tables with JSONB storage.
30
+ * Supports Hybrid Schema (Real Columns + JSONB) for optimized storage and querying.
40
31
  */
41
32
  export declare class PostgreSQLDriver implements IDriver {
42
33
  private pool;
43
34
  private tableName;
44
35
  private config;
36
+ private schema;
37
+ /**
38
+ * Database type (sql or nosql).
39
+ * Defaults to 'nosql' until a schema is set via setSchema().
40
+ */
41
+ dbType: 'sql' | 'nosql';
45
42
  /**
46
43
  * Creates a new instance of PostgreSQLDriver
47
44
  * @param options - PostgreSQL driver configuration options
48
45
  */
49
46
  constructor(options: PostgreSQLDriverOptions);
47
+ /**
48
+ * Sets the schema for the driver.
49
+ * Switches the driver to SQL mode to use real columns.
50
+ * @param schema - The schema instance
51
+ */
52
+ setSchema(schema: any): void;
50
53
  /**
51
54
  * Connects to the PostgreSQL database.
52
- * Creates the table if it doesn't exist.
55
+ * Creates the table (Hybrid or JSONB only) if it doesn't exist.
53
56
  */
54
57
  connect(): Promise<void>;
55
58
  /**
@@ -58,12 +61,14 @@ export declare class PostgreSQLDriver implements IDriver {
58
61
  disconnect(): Promise<void>;
59
62
  /**
60
63
  * Inserts a new record into the database.
64
+ * Uses real columns if schema is present, otherwise stores as JSONB.
61
65
  * @param data - The data to insert
62
66
  * @returns The inserted record with ID
63
67
  */
64
68
  set(data: Data): Promise<Data>;
65
69
  /**
66
70
  * Retrieves records matching the query.
71
+ * Merges JSONB data with columns if in Hybrid mode.
67
72
  * @param query - The query criteria
68
73
  * @returns Array of matching records
69
74
  */
@@ -76,6 +81,7 @@ export declare class PostgreSQLDriver implements IDriver {
76
81
  getOne(query: Query): Promise<Data | null>;
77
82
  /**
78
83
  * Updates records matching the query.
84
+ * Updates both columns and extra JSONB data accordingly.
79
85
  * @param query - The query criteria
80
86
  * @param data - The data to update
81
87
  * @returns The number of updated records
@@ -119,6 +125,27 @@ export declare class PostgreSQLDriver implements IDriver {
119
125
  * @private
120
126
  */
121
127
  private matchesQuery;
128
+ /**
129
+ * Maps Hawiah types to Postgres types.
130
+ * @param type - The Hawiah schema type
131
+ * @returns The corresponding PostgreSQL type string
132
+ * @private
133
+ */
134
+ private mapHawiahTypeToSQL;
135
+ /**
136
+ * Splits data into schema columns and extra data.
137
+ * @param data - The full data object
138
+ * @returns Object containing separate schemaData and extraData
139
+ * @private
140
+ */
141
+ private splitData;
142
+ /**
143
+ * Merges schema columns and extra data back into a single object.
144
+ * @param row - The raw database row
145
+ * @returns The fully merged data object
146
+ * @private
147
+ */
148
+ private mergeData;
122
149
  /**
123
150
  * Gets the PostgreSQL connection pool.
124
151
  * @returns The PostgreSQL connection pool
@@ -129,7 +156,7 @@ export declare class PostgreSQLDriver implements IDriver {
129
156
  * WARNING: Use with caution. This bypasses the abstraction layer.
130
157
  * @param sql - The SQL query to execute
131
158
  * @param params - Optional parameters for the query
132
- * @returns Query results
159
+ * @returns Query results (rows)
133
160
  */
134
161
  executeRaw(sql: string, params?: any[]): Promise<any>;
135
162
  /**
@@ -165,4 +192,3 @@ export declare class PostgreSQLDriver implements IDriver {
165
192
  */
166
193
  rollback(client: PoolClient): Promise<void>;
167
194
  }
168
- //# sourceMappingURL=PostgreSQLDriver.d.ts.map
@@ -1,15 +1,26 @@
1
- import { Pool } from 'pg';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgreSQLDriver = void 0;
4
+ const pg_1 = require("pg");
2
5
  /**
3
6
  * Driver implementation for PostgreSQL using node-postgres.
4
- * Provides a schema-less interface to PostgreSQL tables with JSONB storage.
7
+ * Supports Hybrid Schema (Real Columns + JSONB) for optimized storage and querying.
5
8
  */
6
- export class PostgreSQLDriver {
9
+ class PostgreSQLDriver {
10
+ pool = null;
11
+ tableName;
12
+ config;
13
+ schema = null;
14
+ /**
15
+ * Database type (sql or nosql).
16
+ * Defaults to 'nosql' until a schema is set via setSchema().
17
+ */
18
+ dbType = 'nosql';
7
19
  /**
8
20
  * Creates a new instance of PostgreSQLDriver
9
21
  * @param options - PostgreSQL driver configuration options
10
22
  */
11
23
  constructor(options) {
12
- this.pool = null;
13
24
  this.tableName = options.tableName;
14
25
  this.config = {
15
26
  connectionString: options.connectionString,
@@ -23,21 +34,55 @@ export class PostgreSQLDriver {
23
34
  ...options.poolOptions,
24
35
  };
25
36
  }
37
+ /**
38
+ * Sets the schema for the driver.
39
+ * Switches the driver to SQL mode to use real columns.
40
+ * @param schema - The schema instance
41
+ */
42
+ setSchema(schema) {
43
+ this.schema = schema;
44
+ this.dbType = 'sql';
45
+ }
26
46
  /**
27
47
  * Connects to the PostgreSQL database.
28
- * Creates the table if it doesn't exist.
48
+ * Creates the table (Hybrid or JSONB only) if it doesn't exist.
29
49
  */
30
50
  async connect() {
31
- this.pool = new Pool(this.config);
32
- const createTableSQL = `
33
- CREATE TABLE IF NOT EXISTS ${this.tableName} (
34
- _id VARCHAR(100) PRIMARY KEY,
35
- _data JSONB NOT NULL,
36
- _createdAt TIMESTAMP NOT NULL,
37
- _updatedAt TIMESTAMP NOT NULL
38
- )
39
- `;
51
+ this.pool = new pg_1.Pool(this.config);
52
+ let createTableSQL = '';
53
+ if (this.schema && this.dbType === 'sql') {
54
+ const definition = typeof this.schema.getDefinition === 'function'
55
+ ? this.schema.getDefinition()
56
+ : this.schema;
57
+ // Map schema fields to Postgres column definitions
58
+ const columns = Object.entries(definition).map(([key, type]) => {
59
+ const sqlType = this.mapHawiahTypeToSQL(type);
60
+ return `${key} ${sqlType}`; // e.g. "age INTEGER"
61
+ }).join(', \n');
62
+ // Hybrid Table: Real Columns + _extras JSONB
63
+ createTableSQL = `
64
+ CREATE TABLE IF NOT EXISTS ${this.tableName} (
65
+ _id VARCHAR(100) PRIMARY KEY,
66
+ ${columns},
67
+ _extras JSONB DEFAULT '{}',
68
+ _createdAt TIMESTAMP NOT NULL,
69
+ _updatedAt TIMESTAMP NOT NULL
70
+ )
71
+ `;
72
+ }
73
+ else {
74
+ // NoSQL Mode: Everything stored in _data JSONB
75
+ createTableSQL = `
76
+ CREATE TABLE IF NOT EXISTS ${this.tableName} (
77
+ _id VARCHAR(100) PRIMARY KEY,
78
+ _data JSONB NOT NULL,
79
+ _createdAt TIMESTAMP NOT NULL,
80
+ _updatedAt TIMESTAMP NOT NULL
81
+ )
82
+ `;
83
+ }
40
84
  await this.pool.query(createTableSQL);
85
+ // Ensure standard indexes exist
41
86
  await this.pool.query(`CREATE INDEX IF NOT EXISTS idx_${this.tableName}_createdAt ON ${this.tableName}(_createdAt)`);
42
87
  await this.pool.query(`CREATE INDEX IF NOT EXISTS idx_${this.tableName}_updatedAt ON ${this.tableName}(_updatedAt)`);
43
88
  }
@@ -52,6 +97,7 @@ export class PostgreSQLDriver {
52
97
  }
53
98
  /**
54
99
  * Inserts a new record into the database.
100
+ * Uses real columns if schema is present, otherwise stores as JSONB.
55
101
  * @param data - The data to insert
56
102
  * @returns The inserted record with ID
57
103
  */
@@ -65,32 +111,53 @@ export class PostgreSQLDriver {
65
111
  _createdAt: now.toISOString(),
66
112
  _updatedAt: now.toISOString(),
67
113
  };
68
- const sql = `
69
- INSERT INTO ${this.tableName} (_id, _data, _createdAt, _updatedAt)
70
- VALUES ($1, $2, $3, $4)
71
- `;
72
- await this.pool.query(sql, [
73
- id,
74
- JSON.stringify(record),
75
- now,
76
- now,
77
- ]);
114
+ if (this.schema && this.dbType === 'sql') {
115
+ const { schemaData, extraData } = this.splitData(record);
116
+ const schemaKeys = Object.keys(schemaData);
117
+ const schemaValues = Object.values(schemaData);
118
+ // Columns: ID + Schema Fields + Extras + Times
119
+ const cols = ['_id', ...schemaKeys, '_extras', '_createdAt', '_updatedAt'];
120
+ // Placeholders: $1, $2, ...
121
+ const valueParams = cols.map((_, i) => `$${i + 1}`).join(', ');
122
+ // Values mapped to placeholders
123
+ const values = [id, ...schemaValues, JSON.stringify(extraData), now, now];
124
+ const sql = `INSERT INTO ${this.tableName} (${cols.join(', ')}) VALUES (${valueParams})`;
125
+ await this.pool.query(sql, values);
126
+ }
127
+ else {
128
+ const sql = `
129
+ INSERT INTO ${this.tableName} (_id, _data, _createdAt, _updatedAt)
130
+ VALUES ($1, $2, $3, $4)
131
+ `;
132
+ await this.pool.query(sql, [id, JSON.stringify(record), now, now]);
133
+ }
78
134
  return record;
79
135
  }
80
136
  /**
81
137
  * Retrieves records matching the query.
138
+ * Merges JSONB data with columns if in Hybrid mode.
82
139
  * @param query - The query criteria
83
140
  * @returns Array of matching records
84
141
  */
85
142
  async get(query) {
86
143
  this.ensureConnected();
87
- const sql = `SELECT _data FROM ${this.tableName}`;
88
- const result = await this.pool.query(sql);
89
- const allRecords = result.rows.map((row) => row._data);
90
- if (Object.keys(query).length === 0) {
91
- return allRecords;
144
+ if (this.schema && this.dbType === 'sql') {
145
+ const sql = `SELECT * FROM ${this.tableName}`;
146
+ const result = await this.pool.query(sql);
147
+ // Merge Real Columns + Extras JSONB
148
+ const records = result.rows.map(row => this.mergeData(row));
149
+ if (Object.keys(query).length === 0)
150
+ return records;
151
+ return records.filter(record => this.matchesQuery(record, query));
152
+ }
153
+ else {
154
+ const sql = `SELECT _data FROM ${this.tableName}`;
155
+ const result = await this.pool.query(sql);
156
+ const allRecords = result.rows.map((row) => row._data);
157
+ if (Object.keys(query).length === 0)
158
+ return allRecords;
159
+ return allRecords.filter((record) => this.matchesQuery(record, query));
92
160
  }
93
- return allRecords.filter((record) => this.matchesQuery(record, query));
94
161
  }
95
162
  /**
96
163
  * Retrieves a single record matching the query.
@@ -100,18 +167,23 @@ export class PostgreSQLDriver {
100
167
  async getOne(query) {
101
168
  this.ensureConnected();
102
169
  if (query._id) {
103
- const sql = `SELECT _data FROM ${this.tableName} WHERE _id = $1 LIMIT 1`;
104
- const result = await this.pool.query(sql, [query._id]);
105
- if (result.rows.length > 0) {
106
- return result.rows[0]._data;
170
+ if (this.schema && this.dbType === 'sql') {
171
+ const sql = `SELECT * FROM ${this.tableName} WHERE _id = $1 LIMIT 1`;
172
+ const result = await this.pool.query(sql, [query._id]);
173
+ return result.rows.length > 0 ? this.mergeData(result.rows[0]) : null;
174
+ }
175
+ else {
176
+ const sql = `SELECT _data FROM ${this.tableName} WHERE _id = $1 LIMIT 1`;
177
+ const result = await this.pool.query(sql, [query._id]);
178
+ return result.rows.length > 0 ? result.rows[0]._data : null;
107
179
  }
108
- return null;
109
180
  }
110
181
  const results = await this.get(query);
111
182
  return results.length > 0 ? results[0] : null;
112
183
  }
113
184
  /**
114
185
  * Updates records matching the query.
186
+ * Updates both columns and extra JSONB data accordingly.
115
187
  * @param query - The query criteria
116
188
  * @param data - The data to update
117
189
  * @returns The number of updated records
@@ -120,24 +192,37 @@ export class PostgreSQLDriver {
120
192
  this.ensureConnected();
121
193
  const records = await this.get(query);
122
194
  let count = 0;
123
- const sql = `
124
- UPDATE ${this.tableName}
125
- SET _data = $1, _updatedAt = $2
126
- WHERE _id = $3
127
- `;
128
195
  for (const record of records) {
129
196
  const updatedRecord = {
130
197
  ...record,
131
198
  ...data,
132
199
  _updatedAt: new Date().toISOString(),
133
200
  };
134
- updatedRecord._id = record._id;
135
- updatedRecord._createdAt = record._createdAt;
136
- await this.pool.query(sql, [
137
- JSON.stringify(updatedRecord),
138
- new Date(),
139
- record._id,
140
- ]);
201
+ const now = new Date();
202
+ if (this.schema && this.dbType === 'sql') {
203
+ const { schemaData, extraData } = this.splitData(updatedRecord);
204
+ const schemaKeys = Object.keys(schemaData);
205
+ const schemaValues = Object.values(schemaData);
206
+ // Build dynamic SET clause: "col1 = $1, col2 = $2, ..."
207
+ let setParts = [];
208
+ let params = [];
209
+ let idx = 1;
210
+ for (let i = 0; i < schemaKeys.length; i++) {
211
+ setParts.push(`${schemaKeys[i]} = $${idx++}`);
212
+ params.push(schemaValues[i]);
213
+ }
214
+ setParts.push(`_extras = $${idx++}`);
215
+ params.push(JSON.stringify(extraData));
216
+ setParts.push(`_updatedAt = $${idx++}`);
217
+ params.push(now);
218
+ params.push(record._id); // Last param is ID
219
+ const sql = `UPDATE ${this.tableName} SET ${setParts.join(', ')} WHERE _id = $${idx}`;
220
+ await this.pool.query(sql, params);
221
+ }
222
+ else {
223
+ const sql = `UPDATE ${this.tableName} SET _data = $1, _updatedAt = $2 WHERE _id = $3`;
224
+ await this.pool.query(sql, [JSON.stringify(updatedRecord), now, record._id]);
225
+ }
141
226
  count++;
142
227
  }
143
228
  return count;
@@ -216,19 +301,88 @@ export class PostgreSQLDriver {
216
301
  }
217
302
  return true;
218
303
  }
304
+ /**
305
+ * Maps Hawiah types to Postgres types.
306
+ * @param type - The Hawiah schema type
307
+ * @returns The corresponding PostgreSQL type string
308
+ * @private
309
+ */
310
+ mapHawiahTypeToSQL(type) {
311
+ let t = type;
312
+ if (typeof type === 'object' && type !== null && type.type) {
313
+ t = type.type;
314
+ }
315
+ t = String(t).toUpperCase();
316
+ if (t.includes('STRING') || t.includes('TEXT') || t.includes('EMAIL') || t.includes('URL') || t.includes('CHAR'))
317
+ return 'TEXT';
318
+ if (t.includes('UUID'))
319
+ return 'UUID'; // Native UUID support
320
+ if (t.includes('NUMBER')) {
321
+ if (t.includes('INT'))
322
+ return 'INTEGER';
323
+ if (t.includes('BIGINT'))
324
+ return 'BIGINT';
325
+ return 'REAL'; // Default float
326
+ }
327
+ if (t.includes('BOOLEAN'))
328
+ return 'BOOLEAN';
329
+ if (t.includes('DATE'))
330
+ return 'TIMESTAMP';
331
+ if (t.includes('JSON'))
332
+ return 'JSONB'; // Native JSON support
333
+ if (t.includes('BLOB'))
334
+ return 'BYTEA';
335
+ return 'TEXT';
336
+ }
337
+ /**
338
+ * Splits data into schema columns and extra data.
339
+ * @param data - The full data object
340
+ * @returns Object containing separate schemaData and extraData
341
+ * @private
342
+ */
343
+ splitData(data) {
344
+ if (!this.schema)
345
+ return { schemaData: {}, extraData: data };
346
+ const definition = typeof this.schema.getDefinition === 'function'
347
+ ? this.schema.getDefinition()
348
+ : this.schema;
349
+ const schemaData = {};
350
+ const extraData = {};
351
+ for (const [key, value] of Object.entries(data)) {
352
+ if (key in definition) {
353
+ schemaData[key] = value;
354
+ }
355
+ else if (!['_id', '_createdAt', '_updatedAt'].includes(key)) {
356
+ extraData[key] = value;
357
+ }
358
+ }
359
+ return { schemaData, extraData };
360
+ }
361
+ /**
362
+ * Merges schema columns and extra data back into a single object.
363
+ * @param row - The raw database row
364
+ * @returns The fully merged data object
365
+ * @private
366
+ */
367
+ mergeData(row) {
368
+ const { _extras, ...rest } = row;
369
+ // Postgres pg driver automatically parses JSONB columns into objects
370
+ const extras = (typeof _extras === 'object' && _extras !== null) ? _extras :
371
+ (typeof _extras === 'string' ? JSON.parse(_extras) : {});
372
+ return { ...rest, ...extras };
373
+ }
374
+ // --- Public Utility Methods ---
219
375
  /**
220
376
  * Gets the PostgreSQL connection pool.
221
377
  * @returns The PostgreSQL connection pool
222
378
  */
223
- getPool() {
224
- return this.pool;
225
- }
379
+ getPool() { return this.pool; }
226
380
  /**
227
381
  * Executes a raw SQL query.
228
382
  * WARNING: Use with caution. This bypasses the abstraction layer.
229
383
  * @param sql - The SQL query to execute
230
384
  * @param params - Optional parameters for the query
231
- * @returns Query results
385
+ * @returns Query results (rows)
232
386
  */
233
387
  async executeRaw(sql, params) {
234
388
  this.ensureConnected();
@@ -291,4 +445,5 @@ export class PostgreSQLDriver {
291
445
  client.release();
292
446
  }
293
447
  }
448
+ exports.PostgreSQLDriver = PostgreSQLDriver;
294
449
  //# sourceMappingURL=PostgreSQLDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSQLDriver.js","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgreSQLDriver.js","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export { IDriver, Query, Data } from './interfaces/IDriver';
2
2
  export { PostgreSQLDriver, PostgreSQLDriverOptions } from './drivers/PostgreSQLDriver';
3
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,2 +1,6 @@
1
- export { PostgreSQLDriver } from './drivers/PostgreSQLDriver';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgreSQLDriver = void 0;
4
+ var PostgreSQLDriver_1 = require("./drivers/PostgreSQLDriver");
5
+ Object.defineProperty(exports, "PostgreSQLDriver", { enumerable: true, get: function () { return PostgreSQLDriver_1.PostgreSQLDriver; } });
2
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAA2B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+DAAuF;AAA9E,oHAAA,gBAAgB,OAAA"}
@@ -65,5 +65,13 @@ export interface IDriver {
65
65
  * @returns Number of matching records
66
66
  */
67
67
  count(query: Query): Promise<number>;
68
+ /**
69
+ * Database type (sql or nosql)
70
+ * Used to determine schema behavior
71
+ */
72
+ dbType?: 'sql' | 'nosql';
73
+ /**
74
+ * Optional: Set schema for the driver to use (e.g. for creating SQL tables)
75
+ */
76
+ setSchema?(schema: any): void;
68
77
  }
69
- //# sourceMappingURL=IDriver.d.ts.map
@@ -1,2 +1,3 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
2
3
  //# sourceMappingURL=IDriver.js.map
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@hawiah/postgres",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "PostgreSQL driver with schema-less JSONB storage - lightweight and fast data persistence for Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "type": "module",
8
7
  "scripts": {
9
8
  "build": "tsc",
10
9
  "dev": "tsc --watch",
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostgreSQLDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/PostgreSQLDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,OAAO;IAC5C,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAa;IAE3B;;;OAGG;gBACS,OAAO,EAAE,uBAAuB;IAgB5C;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;;;OAIG;IACG,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BpC;;;;OAIG;IACG,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAexC;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAiBhD;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAiCvD;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAe3C;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5C;;;;OAIG;IACG,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAa1C;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAMvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,IAAI,IAAI,GAAG,IAAI;IAItB;;;;;;OAMG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAM3D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAO7C;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IDriver.d.ts","sourceRoot":"","sources":["../../src/interfaces/IDriver.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B;;;;OAIG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAE3C;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC;;;;OAIG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACtC"}