@m2k-5f/pgtx 1.2.1 → 1.3.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/dist/clauses/empty.clause.d.ts +8 -0
- package/dist/clauses/empty.clause.d.ts.map +1 -0
- package/dist/clauses/empty.clause.js +14 -0
- package/dist/clauses/exclude.clause.d.ts +9 -0
- package/dist/clauses/exclude.clause.d.ts.map +1 -0
- package/dist/clauses/exclude.clause.js +19 -0
- package/dist/connection.d.ts +2 -1
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +5 -1
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -1
- package/dist/pool.d.ts +1 -0
- package/dist/pool.d.ts.map +1 -1
- package/dist/pool.js +2 -1
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CompiledSqlQuery } from "../utils";
|
|
2
|
+
import { Clause } from "./base.clause";
|
|
3
|
+
export declare class EmptyClause extends Clause {
|
|
4
|
+
static new(): EmptyClause;
|
|
5
|
+
map(argCounter: number): CompiledSqlQuery;
|
|
6
|
+
}
|
|
7
|
+
export declare const emptyClause: EmptyClause;
|
|
8
|
+
//# sourceMappingURL=empty.clause.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.clause.d.ts","sourceRoot":"","sources":["../../src/clauses/empty.clause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,qBAAa,WAAY,SAAQ,MAAM;IACnC,MAAM,CAAC,GAAG;IAIV,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;CAG5C;AAED,eAAO,MAAM,WAAW,aAAoB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.emptyClause = exports.EmptyClause = void 0;
|
|
4
|
+
const base_clause_1 = require("./base.clause");
|
|
5
|
+
class EmptyClause extends base_clause_1.Clause {
|
|
6
|
+
static new() {
|
|
7
|
+
return new this();
|
|
8
|
+
}
|
|
9
|
+
map(argCounter) {
|
|
10
|
+
return { argCounter, args: [], text: "" };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.EmptyClause = EmptyClause;
|
|
14
|
+
exports.emptyClause = EmptyClause.new();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CompiledSqlQuery } from "../utils";
|
|
2
|
+
import { Clause } from "./base.clause";
|
|
3
|
+
export declare class ExcludeUpdateClause extends Clause {
|
|
4
|
+
readonly fields: string[];
|
|
5
|
+
constructor(fields: string[]);
|
|
6
|
+
map(argCounter: number): CompiledSqlQuery;
|
|
7
|
+
}
|
|
8
|
+
export declare function excludeClause(fields: string[]): ExcludeUpdateClause;
|
|
9
|
+
//# sourceMappingURL=exclude.clause.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exclude.clause.d.ts","sourceRoot":"","sources":["../../src/clauses/exclude.clause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,qBAAa,mBAAoB,SAAQ,MAAM;IAEvC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE;gBAAhB,MAAM,EAAE,MAAM,EAAE;IAGtB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;CAInD;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAEnE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExcludeUpdateClause = void 0;
|
|
4
|
+
exports.excludeClause = excludeClause;
|
|
5
|
+
const base_clause_1 = require("./base.clause");
|
|
6
|
+
class ExcludeUpdateClause extends base_clause_1.Clause {
|
|
7
|
+
constructor(fields) {
|
|
8
|
+
super();
|
|
9
|
+
this.fields = fields;
|
|
10
|
+
}
|
|
11
|
+
map(argCounter) {
|
|
12
|
+
const text = this.fields.map(f => `${f} = EXCLUDED.${f}`).join(', ');
|
|
13
|
+
return { argCounter, args: [], text };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ExcludeUpdateClause = ExcludeUpdateClause;
|
|
17
|
+
function excludeClause(fields) {
|
|
18
|
+
return new ExcludeUpdateClause(fields);
|
|
19
|
+
}
|
package/dist/connection.d.ts
CHANGED
|
@@ -7,8 +7,9 @@ import { Transaction } from "./transaction";
|
|
|
7
7
|
*/
|
|
8
8
|
export declare class Connection {
|
|
9
9
|
private readonly client;
|
|
10
|
+
private readonly enableLogs;
|
|
10
11
|
private isReleased;
|
|
11
|
-
constructor(client: PoolClient);
|
|
12
|
+
constructor(client: PoolClient, enableLogs: boolean);
|
|
12
13
|
/**
|
|
13
14
|
* Checks if the connection is still open and not returned to the pool.
|
|
14
15
|
*/
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAK3C;;;GAGG;AACH,qBAAa,UAAU;IAIf,OAAO,CAAC,QAAQ,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,IAAI,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAK3C;;;GAGG;AACH,qBAAa,UAAU;IAIf,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ/B,OAAO,CAAC,UAAU,CAAiB;gBAGd,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,OAAO;IAGxC;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;;;;;;OAOG;IACU,OAAO,CAAC,OAAO,SAAS,cAAc,GAAG,GAAG,EAAE,OAAO,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EACpF,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAoB/C;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC,OAAO,CAAC,WAAW;IAMnB;;;;;;OAMG;IACU,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,GAAG,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAcjH;;;;;;;;OAQG;IACU,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAmB/E"}
|
package/dist/connection.js
CHANGED
|
@@ -9,8 +9,9 @@ const cacher = new query_cacher_1.QueryCacher();
|
|
|
9
9
|
* Always remember to call `.release()` when finished.
|
|
10
10
|
*/
|
|
11
11
|
class Connection {
|
|
12
|
-
constructor(client) {
|
|
12
|
+
constructor(client, enableLogs) {
|
|
13
13
|
this.client = client;
|
|
14
|
+
this.enableLogs = enableLogs;
|
|
14
15
|
this.isReleased = false;
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
@@ -69,6 +70,9 @@ class Connection {
|
|
|
69
70
|
async query(strings, ...values) {
|
|
70
71
|
this.checkActive();
|
|
71
72
|
const { text, args } = cacher.cachedBuild(strings, values, 1);
|
|
73
|
+
if (this.enableLogs) {
|
|
74
|
+
console.log(`\nQUERY: ${text}\n${args.length ? `ARGUMENTS: [${args}]\n` : ""}`);
|
|
75
|
+
}
|
|
72
76
|
const result = await this.client.query(text, args);
|
|
73
77
|
return result.rows;
|
|
74
78
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ import { Pool as PgtxPool } from "./pool";
|
|
|
5
5
|
import { literalClause } from "./clauses/literal.clause";
|
|
6
6
|
import { updateClause } from "./clauses/update.clause";
|
|
7
7
|
import { insertClause } from "./clauses/insert.clause";
|
|
8
|
+
import { Connection } from "./connection";
|
|
9
|
+
import { Transaction } from "./transaction";
|
|
10
|
+
import { excludeClause } from "./clauses/exclude.clause";
|
|
11
|
+
import { EmptyClause } from "./clauses/empty.clause";
|
|
8
12
|
/**
|
|
9
13
|
* Core SQL tagging utility for Pgtx.
|
|
10
14
|
* Provides type-safe helpers for building dynamic queries with recursive support.
|
|
@@ -31,6 +35,24 @@ export declare const sql: {
|
|
|
31
35
|
* // Result: status = $1, updated_at = $2
|
|
32
36
|
*/
|
|
33
37
|
update: typeof updateClause;
|
|
38
|
+
/**
|
|
39
|
+
* Generates an assignment list for ON CONFLICT DO UPDATE using the EXCLUDED table.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* sql`INSERT INTO users ${sql.insert(data)} ON CONFLICT (id) DO UPDATE SET ${sql.excluded(['name', 'email'])}`
|
|
43
|
+
* // Result: name = EXCLUDED.name, email = EXCLUDED.email
|
|
44
|
+
*/
|
|
45
|
+
excluded: typeof excludeClause;
|
|
46
|
+
/**
|
|
47
|
+
* Represents a safe empty SQL fragment.
|
|
48
|
+
* Useful for dynamic query building when a condition or list might be optional.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* const filters = [];
|
|
52
|
+
* sql`SELECT * FROM users ${filters.length ? sql.fragment`WHERE ...` : sql.empty}`
|
|
53
|
+
* // Result: SELECT * FROM users
|
|
54
|
+
*/
|
|
55
|
+
empty: EmptyClause;
|
|
34
56
|
/**
|
|
35
57
|
* Safely escapes SQL identifiers (table or column names) using double quotes.
|
|
36
58
|
*
|
|
@@ -88,5 +110,7 @@ export declare const sql: {
|
|
|
88
110
|
* Main Pgtx Connection Pool.
|
|
89
111
|
* Manages connections, transactions (including SAVEPOINTs), and prepared statements.
|
|
90
112
|
*/
|
|
113
|
+
export { Connection as Connection };
|
|
114
|
+
export { Transaction as Transaction };
|
|
91
115
|
export { PgtxPool as Pool };
|
|
92
116
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAe,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,GAAG;IACZ;;;;;;;;;;;OAWG;;IAGH;;;;;;OAMG;;IAGH;;;;;;OAMG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;;;;OAOG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;;;;;;;;;;;;;;;OAmBG;;CAEN,CAAA;AAGD;;;GAGG;AAEH,OAAO,EAAC,UAAU,IAAI,UAAU,EAAC,CAAA;AAEjC,OAAO,EAAC,WAAW,IAAI,WAAW,EAAC,CAAA;AAEnC,OAAO,EAAE,QAAQ,IAAI,IAAI,EAAE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Pool = exports.sql = void 0;
|
|
3
|
+
exports.Pool = exports.Transaction = exports.Connection = exports.sql = void 0;
|
|
4
4
|
const array_clause_1 = require("./clauses/array.clause");
|
|
5
5
|
const fragment_clause_1 = require("./clauses/fragment.clause");
|
|
6
6
|
const iden_caluse_1 = require("./clauses/iden.caluse");
|
|
@@ -9,6 +9,12 @@ Object.defineProperty(exports, "Pool", { enumerable: true, get: function () { re
|
|
|
9
9
|
const literal_clause_1 = require("./clauses/literal.clause");
|
|
10
10
|
const update_clause_1 = require("./clauses/update.clause");
|
|
11
11
|
const insert_clause_1 = require("./clauses/insert.clause");
|
|
12
|
+
const connection_1 = require("./connection");
|
|
13
|
+
Object.defineProperty(exports, "Connection", { enumerable: true, get: function () { return connection_1.Connection; } });
|
|
14
|
+
const transaction_1 = require("./transaction");
|
|
15
|
+
Object.defineProperty(exports, "Transaction", { enumerable: true, get: function () { return transaction_1.Transaction; } });
|
|
16
|
+
const exclude_clause_1 = require("./clauses/exclude.clause");
|
|
17
|
+
const empty_clause_1 = require("./clauses/empty.clause");
|
|
12
18
|
/**
|
|
13
19
|
* Core SQL tagging utility for Pgtx.
|
|
14
20
|
* Provides type-safe helpers for building dynamic queries with recursive support.
|
|
@@ -35,6 +41,24 @@ exports.sql = {
|
|
|
35
41
|
* // Result: status = $1, updated_at = $2
|
|
36
42
|
*/
|
|
37
43
|
update: update_clause_1.updateClause,
|
|
44
|
+
/**
|
|
45
|
+
* Generates an assignment list for ON CONFLICT DO UPDATE using the EXCLUDED table.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* sql`INSERT INTO users ${sql.insert(data)} ON CONFLICT (id) DO UPDATE SET ${sql.excluded(['name', 'email'])}`
|
|
49
|
+
* // Result: name = EXCLUDED.name, email = EXCLUDED.email
|
|
50
|
+
*/
|
|
51
|
+
excluded: exclude_clause_1.excludeClause,
|
|
52
|
+
/**
|
|
53
|
+
* Represents a safe empty SQL fragment.
|
|
54
|
+
* Useful for dynamic query building when a condition or list might be optional.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* const filters = [];
|
|
58
|
+
* sql`SELECT * FROM users ${filters.length ? sql.fragment`WHERE ...` : sql.empty}`
|
|
59
|
+
* // Result: SELECT * FROM users
|
|
60
|
+
*/
|
|
61
|
+
empty: empty_clause_1.emptyClause,
|
|
38
62
|
/**
|
|
39
63
|
* Safely escapes SQL identifiers (table or column names) using double quotes.
|
|
40
64
|
*
|
package/dist/pool.d.ts
CHANGED
package/dist/pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAC,MAAM,IAAI,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,IAAI,CAAQ;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,cAAc,EAAC,MAAM,IAAI,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,qBAAa,IAAI;IACb,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,UAAU,CAAS;gBAGvB,MAAM,EAAE,UAAU;IAMtB;;;;;;OAMG;IACU,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE;IAc5F;;;;;;;;OAQG;IACU,OAAO,CAAC,OAAO,SAAS,cAAc,GAAG,GAAG,EAAE,OAAO,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,EACpF,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAyB/C;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAK3C;;;;;;;;;OASG;IACU,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAc5E;;OAEG;IACH,IAAW,KAAK;;;;MAMf;IAED;;OAEG;IACI,KAAK;CAGf"}
|
package/dist/pool.js
CHANGED
|
@@ -9,6 +9,7 @@ const connection_1 = require("./connection");
|
|
|
9
9
|
*/
|
|
10
10
|
class Pool {
|
|
11
11
|
constructor(config) {
|
|
12
|
+
this.enableLogs = config.enableLogs ?? false;
|
|
12
13
|
this.pool = new pg_1.Pool(config);
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
@@ -68,7 +69,7 @@ class Pool {
|
|
|
68
69
|
*/
|
|
69
70
|
async acquire() {
|
|
70
71
|
const client = await this.pool.connect();
|
|
71
|
-
return new connection_1.Connection(client);
|
|
72
|
+
return new connection_1.Connection(client, this.enableLogs);
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
75
|
* Starts a managed transaction.
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { PoolConfig as PgPoolConfig } from "pg";
|
|
2
|
-
export type PoolConfig = PgPoolConfig
|
|
2
|
+
export type PoolConfig = PgPoolConfig & {
|
|
3
|
+
enableLogs?: boolean;
|
|
4
|
+
};
|
|
3
5
|
export type PreparedStatement<TResult extends any, Tparams extends any[]> = {
|
|
4
6
|
text: string;
|
|
5
7
|
name: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,IAAI,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,IAAI,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAC,CAAA;AAE9D,MAAM,MAAM,iBAAiB,CAAC,OAAO,SAAS,GAAG,EAAE,OAAO,SAAS,GAAG,EAAE,IAAI;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;CACpD,CAAA"}
|