linkgress-orm 0.2.11 → 0.2.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"lateral-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IA2D9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IAqG1C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAwDrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8I7B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA+GlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmF7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAqD/B"}
1
+ {"version":3,"file":"lateral-collection-strategy.d.ts","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,IAAI,sBAAsB;IAIjC,iBAAiB,IAAI,OAAO;IAK5B,gBAAgB,CACd,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,YAAY,GACpB,2BAA2B;IA2D9B;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;;OAIG;IACH,OAAO,CAAC,kCAAkC;IAyG1C;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAwDrC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8I7B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IA+GlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmF7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAqD/B"}
@@ -139,8 +139,11 @@ class LateralCollectionStrategy {
139
139
  };
140
140
  // Build navigation JOINs for multi-level navigation (selector joins only)
141
141
  const navJoinsSQL = this.buildNavigationJoinsWithAlias(selectorNavigationJoins, innerTableAlias, targetTable, context);
142
+ // Check if the source table has been aliased by a parent LATERAL (for nested collections)
143
+ // If so, use that alias instead of the raw table name
144
+ const sourceTableAlias = context.lateralTableAliasMap?.get(sourceTable) || sourceTable;
142
145
  // Build WHERE clause with correlation to parent
143
- let whereSQL = `"${innerTableAlias}"."${foreignKey}" = "${sourceTable}"."id"`;
146
+ let whereSQL = `"${innerTableAlias}"."${foreignKey}" = "${sourceTableAlias}"."id"`;
144
147
  if (whereClause) {
145
148
  const rewrittenWhereClause = rewriteTableReference(whereClause);
146
149
  whereSQL += ` AND ${rewrittenWhereClause}`;
@@ -1 +1 @@
1
- {"version":3,"file":"lateral-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lateral-collection-strategy.js","sourceRoot":"","sources":["../../../src/query/strategies/lateral-collection-strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import { SqlBuildContext } from './conditions';
2
+ import type { QueryExecutor, OrderDirection } from '../entity/db-context';
3
+ import type { DatabaseClient } from '../database/database-client.interface';
4
+ /**
5
+ * Union type: UNION removes duplicates, UNION ALL keeps all rows
6
+ */
7
+ export type UnionType = 'UNION' | 'UNION ALL';
8
+ /**
9
+ * Builder for UNION and UNION ALL queries.
10
+ * Combines multiple SELECT queries into a single result set.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * // Basic UNION (removes duplicates)
15
+ * const result = await db.users
16
+ * .select(u => ({ id: u.id, name: u.name }))
17
+ * .union(
18
+ * db.customers.select(c => ({ id: c.id, name: c.name }))
19
+ * )
20
+ * .toList();
21
+ *
22
+ * // UNION ALL (keeps duplicates)
23
+ * const allRows = await db.activeUsers
24
+ * .select(u => ({ id: u.id }))
25
+ * .unionAll(
26
+ * db.inactiveUsers.select(u => ({ id: u.id }))
27
+ * )
28
+ * .toList();
29
+ *
30
+ * // Multiple unions with ordering
31
+ * const sorted = await db.users
32
+ * .select(u => ({ id: u.id, name: u.name }))
33
+ * .union(db.customers.select(c => ({ id: c.id, name: c.name })))
34
+ * .unionAll(db.vendors.select(v => ({ id: v.id, name: v.name })))
35
+ * .orderBy(r => r.name)
36
+ * .limit(100)
37
+ * .toList();
38
+ * ```
39
+ */
40
+ export declare class UnionQueryBuilder<TSelection> {
41
+ private components;
42
+ private orderByFields;
43
+ private limitValue?;
44
+ private offsetValue?;
45
+ private client;
46
+ private executor?;
47
+ /**
48
+ * Internal constructor - use SelectQueryBuilder.union() or unionAll() to create instances
49
+ */
50
+ constructor(firstQuery: {
51
+ buildUnionSql: (context: SqlBuildContext) => string;
52
+ }, client: DatabaseClient, executor?: QueryExecutor);
53
+ /**
54
+ * Add a query with UNION (removes duplicate rows)
55
+ *
56
+ * @param query The query to union with the current result
57
+ * @returns A new UnionQueryBuilder with the added query
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const users = await db.activeUsers
62
+ * .select(u => ({ id: u.id, email: u.email }))
63
+ * .union(db.pendingUsers.select(u => ({ id: u.id, email: u.email })))
64
+ * .toList();
65
+ * ```
66
+ */
67
+ union(query: {
68
+ buildUnionSql: (context: SqlBuildContext) => string;
69
+ }): UnionQueryBuilder<TSelection>;
70
+ /**
71
+ * Add a query with UNION ALL (keeps all rows including duplicates)
72
+ *
73
+ * @param query The query to union with the current result
74
+ * @returns A new UnionQueryBuilder with the added query
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * // UNION ALL is faster than UNION as it doesn't need to remove duplicates
79
+ * const allLogs = await db.errorLogs
80
+ * .select(l => ({ timestamp: l.createdAt, message: l.message }))
81
+ * .unionAll(db.infoLogs.select(l => ({ timestamp: l.createdAt, message: l.message })))
82
+ * .orderBy(r => r.timestamp)
83
+ * .toList();
84
+ * ```
85
+ */
86
+ unionAll(query: {
87
+ buildUnionSql: (context: SqlBuildContext) => string;
88
+ }): UnionQueryBuilder<TSelection>;
89
+ /**
90
+ * Order the combined result set
91
+ *
92
+ * @param selector Function that selects the field(s) to order by
93
+ * @returns This builder for chaining
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * // Single field
98
+ * .orderBy(r => r.name)
99
+ *
100
+ * // Multiple fields
101
+ * .orderBy(r => [r.lastName, r.firstName])
102
+ *
103
+ * // With direction
104
+ * .orderBy(r => [[r.createdAt, 'DESC'], [r.name, 'ASC']])
105
+ * ```
106
+ */
107
+ orderBy<T>(selector: (row: TSelection) => T): this;
108
+ orderBy<T>(selector: (row: TSelection) => T[]): this;
109
+ orderBy<T>(selector: (row: TSelection) => Array<[T, OrderDirection]>): this;
110
+ /**
111
+ * Limit the number of results
112
+ *
113
+ * @param count Maximum number of rows to return
114
+ * @returns This builder for chaining
115
+ */
116
+ limit(count: number): this;
117
+ /**
118
+ * Skip a number of results
119
+ *
120
+ * @param count Number of rows to skip
121
+ * @returns This builder for chaining
122
+ */
123
+ offset(count: number): this;
124
+ /**
125
+ * Execute the union query and return results
126
+ *
127
+ * @returns Promise resolving to array of results
128
+ */
129
+ toList(): Promise<TSelection[]>;
130
+ /**
131
+ * Get the first result or null if no results
132
+ *
133
+ * @returns Promise resolving to first result or null
134
+ */
135
+ firstOrDefault(): Promise<TSelection | null>;
136
+ /**
137
+ * Count the total number of results
138
+ *
139
+ * @returns Promise resolving to the count
140
+ */
141
+ count(): Promise<number>;
142
+ /**
143
+ * Build the SQL for this union query
144
+ * @internal
145
+ */
146
+ buildSql(): {
147
+ sql: string;
148
+ params: any[];
149
+ };
150
+ /**
151
+ * Get the SQL string for debugging
152
+ *
153
+ * @returns The SQL that would be executed
154
+ */
155
+ toSql(): string;
156
+ /**
157
+ * Create a mock row for orderBy selector
158
+ */
159
+ private createMockRow;
160
+ /**
161
+ * Clone this builder
162
+ */
163
+ private clone;
164
+ }
165
+ /**
166
+ * Check if a value is a UnionQueryBuilder
167
+ */
168
+ export declare function isUnionQueryBuilder(value: any): value is UnionQueryBuilder<any>;
169
+ //# sourceMappingURL=union-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-builder.d.ts","sourceRoot":"","sources":["../../src/query/union-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,eAAe,EAA6B,MAAM,cAAc,CAAC;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAG5E;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAY9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,iBAAiB,CAAC,UAAU;IACvC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,aAAa,CAA2D;IAChF,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAgB;IAEjC;;OAEG;gBAED,UAAU,EAAE;QAAE,aAAa,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;KAAE,EACnE,MAAM,EAAE,cAAc,EACtB,QAAQ,CAAC,EAAE,aAAa;IAS1B;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,KAAK,EAAE;QAAE,aAAa,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC;IASpG;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,KAAK,EAAE;QAAE,aAAa,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,MAAM,CAAA;KAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC;IASvG;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,CAAC,GAAG,IAAI;IAClD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,CAAC,EAAE,GAAG,IAAI;IACpD,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,IAAI;IAa3E;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAUrC;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAUlD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAY9B;;;OAGG;IACH,QAAQ,IAAI;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,EAAE,CAAA;KAAE;IAyC1C;;;;OAIG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,KAAK;CAUd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAE/E"}
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnionQueryBuilder = void 0;
4
+ exports.isUnionQueryBuilder = isUnionQueryBuilder;
5
+ const query_utils_1 = require("./query-utils");
6
+ /**
7
+ * Builder for UNION and UNION ALL queries.
8
+ * Combines multiple SELECT queries into a single result set.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Basic UNION (removes duplicates)
13
+ * const result = await db.users
14
+ * .select(u => ({ id: u.id, name: u.name }))
15
+ * .union(
16
+ * db.customers.select(c => ({ id: c.id, name: c.name }))
17
+ * )
18
+ * .toList();
19
+ *
20
+ * // UNION ALL (keeps duplicates)
21
+ * const allRows = await db.activeUsers
22
+ * .select(u => ({ id: u.id }))
23
+ * .unionAll(
24
+ * db.inactiveUsers.select(u => ({ id: u.id }))
25
+ * )
26
+ * .toList();
27
+ *
28
+ * // Multiple unions with ordering
29
+ * const sorted = await db.users
30
+ * .select(u => ({ id: u.id, name: u.name }))
31
+ * .union(db.customers.select(c => ({ id: c.id, name: c.name })))
32
+ * .unionAll(db.vendors.select(v => ({ id: v.id, name: v.name })))
33
+ * .orderBy(r => r.name)
34
+ * .limit(100)
35
+ * .toList();
36
+ * ```
37
+ */
38
+ class UnionQueryBuilder {
39
+ /**
40
+ * Internal constructor - use SelectQueryBuilder.union() or unionAll() to create instances
41
+ */
42
+ constructor(firstQuery, client, executor) {
43
+ this.components = [];
44
+ this.orderByFields = [];
45
+ this.client = client;
46
+ this.executor = executor;
47
+ this.components.push({
48
+ buildSql: (ctx) => firstQuery.buildUnionSql(ctx),
49
+ });
50
+ }
51
+ /**
52
+ * Add a query with UNION (removes duplicate rows)
53
+ *
54
+ * @param query The query to union with the current result
55
+ * @returns A new UnionQueryBuilder with the added query
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const users = await db.activeUsers
60
+ * .select(u => ({ id: u.id, email: u.email }))
61
+ * .union(db.pendingUsers.select(u => ({ id: u.id, email: u.email })))
62
+ * .toList();
63
+ * ```
64
+ */
65
+ union(query) {
66
+ const newBuilder = this.clone();
67
+ newBuilder.components.push({
68
+ buildSql: (ctx) => query.buildUnionSql(ctx),
69
+ unionType: 'UNION',
70
+ });
71
+ return newBuilder;
72
+ }
73
+ /**
74
+ * Add a query with UNION ALL (keeps all rows including duplicates)
75
+ *
76
+ * @param query The query to union with the current result
77
+ * @returns A new UnionQueryBuilder with the added query
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * // UNION ALL is faster than UNION as it doesn't need to remove duplicates
82
+ * const allLogs = await db.errorLogs
83
+ * .select(l => ({ timestamp: l.createdAt, message: l.message }))
84
+ * .unionAll(db.infoLogs.select(l => ({ timestamp: l.createdAt, message: l.message })))
85
+ * .orderBy(r => r.timestamp)
86
+ * .toList();
87
+ * ```
88
+ */
89
+ unionAll(query) {
90
+ const newBuilder = this.clone();
91
+ newBuilder.components.push({
92
+ buildSql: (ctx) => query.buildUnionSql(ctx),
93
+ unionType: 'UNION ALL',
94
+ });
95
+ return newBuilder;
96
+ }
97
+ orderBy(selector) {
98
+ // Create a mock row with field refs for the selection
99
+ const mockRow = this.createMockRow();
100
+ const result = selector(mockRow);
101
+ // Clear previous orderBy
102
+ this.orderByFields = [];
103
+ (0, query_utils_1.parseOrderBy)(result, this.orderByFields);
104
+ return this;
105
+ }
106
+ /**
107
+ * Limit the number of results
108
+ *
109
+ * @param count Maximum number of rows to return
110
+ * @returns This builder for chaining
111
+ */
112
+ limit(count) {
113
+ this.limitValue = count;
114
+ return this;
115
+ }
116
+ /**
117
+ * Skip a number of results
118
+ *
119
+ * @param count Number of rows to skip
120
+ * @returns This builder for chaining
121
+ */
122
+ offset(count) {
123
+ this.offsetValue = count;
124
+ return this;
125
+ }
126
+ /**
127
+ * Execute the union query and return results
128
+ *
129
+ * @returns Promise resolving to array of results
130
+ */
131
+ async toList() {
132
+ const { sql, params } = this.buildSql();
133
+ const result = this.executor
134
+ ? await this.executor.query(sql, params)
135
+ : await this.client.query(sql, params);
136
+ return result.rows;
137
+ }
138
+ /**
139
+ * Get the first result or null if no results
140
+ *
141
+ * @returns Promise resolving to first result or null
142
+ */
143
+ async firstOrDefault() {
144
+ const originalLimit = this.limitValue;
145
+ this.limitValue = 1;
146
+ const results = await this.toList();
147
+ this.limitValue = originalLimit;
148
+ return results.length > 0 ? results[0] : null;
149
+ }
150
+ /**
151
+ * Count the total number of results
152
+ *
153
+ * @returns Promise resolving to the count
154
+ */
155
+ async count() {
156
+ const { sql: innerSql, params } = this.buildSql();
157
+ const sql = `SELECT COUNT(*) as count FROM (${innerSql}) as union_count`;
158
+ const result = this.executor
159
+ ? await this.executor.query(sql, params)
160
+ : await this.client.query(sql, params);
161
+ return parseInt(result.rows[0]?.count || '0', 10);
162
+ }
163
+ /**
164
+ * Build the SQL for this union query
165
+ * @internal
166
+ */
167
+ buildSql() {
168
+ const context = {
169
+ paramCounter: 1,
170
+ params: [],
171
+ };
172
+ const sqlParts = [];
173
+ for (let i = 0; i < this.components.length; i++) {
174
+ const component = this.components[i];
175
+ if (i > 0 && component.unionType) {
176
+ sqlParts.push(component.unionType);
177
+ }
178
+ // Each component query should be wrapped in parentheses
179
+ const componentSql = component.buildSql(context);
180
+ sqlParts.push(`(${componentSql})`);
181
+ }
182
+ let sql = sqlParts.join('\n');
183
+ // Add ORDER BY (applies to the entire union result)
184
+ if (this.orderByFields.length > 0) {
185
+ const orderParts = this.orderByFields.map(({ field, direction }) => `"${field}" ${direction}`);
186
+ sql += `\nORDER BY ${orderParts.join(', ')}`;
187
+ }
188
+ // Add LIMIT
189
+ if (this.limitValue !== undefined) {
190
+ sql += `\nLIMIT ${this.limitValue}`;
191
+ }
192
+ // Add OFFSET
193
+ if (this.offsetValue !== undefined) {
194
+ sql += `\nOFFSET ${this.offsetValue}`;
195
+ }
196
+ return { sql, params: context.params };
197
+ }
198
+ /**
199
+ * Get the SQL string for debugging
200
+ *
201
+ * @returns The SQL that would be executed
202
+ */
203
+ toSql() {
204
+ return this.buildSql().sql;
205
+ }
206
+ /**
207
+ * Create a mock row for orderBy selector
208
+ */
209
+ createMockRow() {
210
+ // Create a proxy that returns FieldRef objects for any property access
211
+ return new Proxy({}, {
212
+ get: (_target, prop) => {
213
+ if (typeof prop === 'symbol')
214
+ return undefined;
215
+ return {
216
+ __fieldName: prop,
217
+ __dbColumnName: prop,
218
+ };
219
+ },
220
+ has: () => true,
221
+ });
222
+ }
223
+ /**
224
+ * Clone this builder
225
+ */
226
+ clone() {
227
+ const cloned = Object.create(UnionQueryBuilder.prototype);
228
+ cloned.components = [...this.components];
229
+ cloned.orderByFields = [...this.orderByFields];
230
+ cloned.limitValue = this.limitValue;
231
+ cloned.offsetValue = this.offsetValue;
232
+ cloned.client = this.client;
233
+ cloned.executor = this.executor;
234
+ return cloned;
235
+ }
236
+ }
237
+ exports.UnionQueryBuilder = UnionQueryBuilder;
238
+ /**
239
+ * Check if a value is a UnionQueryBuilder
240
+ */
241
+ function isUnionQueryBuilder(value) {
242
+ return value instanceof UnionQueryBuilder;
243
+ }
244
+ //# sourceMappingURL=union-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"union-builder.js","sourceRoot":"","sources":["../../src/query/union-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkgress-orm",
3
- "version": "0.2.11",
3
+ "version": "0.2.14",
4
4
  "description": "A lightweight, type-safe ORM for PostgreSQL with LINQ-style queries and automatic type inference",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",