pqb 0.5.6 → 0.5.7
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/index.d.ts +51 -48
- package/dist/index.esm.js +13 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/db.test.ts +9 -0
- package/src/db.ts +11 -1
- package/src/queryMethods/then.ts +10 -1
- package/src/sql/types.ts +7 -2
package/dist/index.d.ts
CHANGED
|
@@ -203,54 +203,6 @@ declare class TransactionAdapter implements Adapter {
|
|
|
203
203
|
close(): Promise<void>;
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
declare type QueryLogObject = {
|
|
207
|
-
colors: boolean;
|
|
208
|
-
beforeQuery(sql: Sql): unknown;
|
|
209
|
-
afterQuery(sql: Sql, logData: unknown): void;
|
|
210
|
-
onError(error: Error, sql: Sql, logData: unknown): void;
|
|
211
|
-
};
|
|
212
|
-
declare type QueryLogger = {
|
|
213
|
-
log(message: string): void;
|
|
214
|
-
error(message: string): void;
|
|
215
|
-
};
|
|
216
|
-
declare type QueryLogOptions = {
|
|
217
|
-
log?: boolean | Partial<QueryLogObject>;
|
|
218
|
-
logger?: QueryLogger;
|
|
219
|
-
};
|
|
220
|
-
declare const logColors: {
|
|
221
|
-
boldCyanBright: (message: string) => string;
|
|
222
|
-
boldBlue: (message: string) => string;
|
|
223
|
-
boldYellow: (message: string) => string;
|
|
224
|
-
boldMagenta: (message: string) => string;
|
|
225
|
-
boldRed: (message: string) => string;
|
|
226
|
-
};
|
|
227
|
-
declare const logParamToLogObject: (logger: QueryLogger, log: QueryLogOptions['log']) => QueryLogObject | undefined;
|
|
228
|
-
declare class QueryLog {
|
|
229
|
-
log<T extends Query>(this: T, log?: boolean): T;
|
|
230
|
-
_log<T extends Query>(this: T, log?: boolean): T;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
declare type BeforeCallback<T extends Query = Query> = (query: T) => void | Promise<void>;
|
|
234
|
-
declare type AfterCallback<T extends Query = Query> = (query: T, data: unknown) => void | Promise<void>;
|
|
235
|
-
declare class QueryCallbacks {
|
|
236
|
-
beforeQuery<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
237
|
-
_beforeQuery<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
238
|
-
afterQuery<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
239
|
-
_afterQuery<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
240
|
-
beforeCreate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
241
|
-
_beforeCreate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
242
|
-
afterCreate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
243
|
-
_afterCreate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
244
|
-
beforeUpdate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
245
|
-
_beforeUpdate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
246
|
-
afterUpdate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
247
|
-
_afterUpdate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
248
|
-
beforeDelete<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
249
|
-
_beforeDelete<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
250
|
-
afterDelete<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
251
|
-
_afterDelete<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
206
|
declare type Sql = {
|
|
255
207
|
text: string;
|
|
256
208
|
values: unknown[];
|
|
@@ -280,6 +232,7 @@ declare type CommonQueryData = {
|
|
|
280
232
|
afterQuery?: AfterCallback[];
|
|
281
233
|
log?: QueryLogObject;
|
|
282
234
|
logger: QueryLogger;
|
|
235
|
+
autoPreparedStatements?: boolean;
|
|
283
236
|
[toSqlCacheKey]?: Sql;
|
|
284
237
|
};
|
|
285
238
|
declare type SelectQueryData = CommonQueryData & {
|
|
@@ -877,6 +830,7 @@ declare class UnhandledTypeError extends PormInternalError {
|
|
|
877
830
|
|
|
878
831
|
declare type DbTableOptions = {
|
|
879
832
|
schema?: string;
|
|
833
|
+
autoPreparedStatements?: boolean;
|
|
880
834
|
} & QueryLogOptions;
|
|
881
835
|
declare const anyShape: Record<string, ColumnType<unknown, Operators, unknown>>;
|
|
882
836
|
interface Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations'], CT extends ColumnTypesBase = ColumnTypesBase> extends QueryMethods {
|
|
@@ -942,6 +896,7 @@ declare type DbOptions<CT extends ColumnTypesBase> = ({
|
|
|
942
896
|
adapter: Adapter;
|
|
943
897
|
} | Omit<AdapterOptions, 'log'>) & QueryLogOptions & {
|
|
944
898
|
columnTypes: CT;
|
|
899
|
+
autoPreparedStatements?: boolean;
|
|
945
900
|
};
|
|
946
901
|
declare const createDb: <CT extends ColumnTypesBase>({ log, logger, columnTypes: ct, ...options }: DbOptions<CT>) => DbResult<CT>;
|
|
947
902
|
|
|
@@ -1288,6 +1243,54 @@ declare class Window {
|
|
|
1288
1243
|
_selectCumeDist<T extends Query, As extends string | undefined = undefined>(this: T, options: WindowFunctionOptions<T, As>): SelectAgg<T, 'cume_dist', As, IntegerColumn>;
|
|
1289
1244
|
}
|
|
1290
1245
|
|
|
1246
|
+
declare type QueryLogObject = {
|
|
1247
|
+
colors: boolean;
|
|
1248
|
+
beforeQuery(sql: Sql): unknown;
|
|
1249
|
+
afterQuery(sql: Sql, logData: unknown): void;
|
|
1250
|
+
onError(error: Error, sql: Sql, logData: unknown): void;
|
|
1251
|
+
};
|
|
1252
|
+
declare type QueryLogger = {
|
|
1253
|
+
log(message: string): void;
|
|
1254
|
+
error(message: string): void;
|
|
1255
|
+
};
|
|
1256
|
+
declare type QueryLogOptions = {
|
|
1257
|
+
log?: boolean | Partial<QueryLogObject>;
|
|
1258
|
+
logger?: QueryLogger;
|
|
1259
|
+
};
|
|
1260
|
+
declare const logColors: {
|
|
1261
|
+
boldCyanBright: (message: string) => string;
|
|
1262
|
+
boldBlue: (message: string) => string;
|
|
1263
|
+
boldYellow: (message: string) => string;
|
|
1264
|
+
boldMagenta: (message: string) => string;
|
|
1265
|
+
boldRed: (message: string) => string;
|
|
1266
|
+
};
|
|
1267
|
+
declare const logParamToLogObject: (logger: QueryLogger, log: QueryLogOptions['log']) => QueryLogObject | undefined;
|
|
1268
|
+
declare class QueryLog {
|
|
1269
|
+
log<T extends Query>(this: T, log?: boolean): T;
|
|
1270
|
+
_log<T extends Query>(this: T, log?: boolean): T;
|
|
1271
|
+
}
|
|
1272
|
+
|
|
1273
|
+
declare type BeforeCallback<T extends Query = Query> = (query: T) => void | Promise<void>;
|
|
1274
|
+
declare type AfterCallback<T extends Query = Query> = (query: T, data: unknown) => void | Promise<void>;
|
|
1275
|
+
declare class QueryCallbacks {
|
|
1276
|
+
beforeQuery<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1277
|
+
_beforeQuery<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1278
|
+
afterQuery<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1279
|
+
_afterQuery<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1280
|
+
beforeCreate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1281
|
+
_beforeCreate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1282
|
+
afterCreate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1283
|
+
_afterCreate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1284
|
+
beforeUpdate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1285
|
+
_beforeUpdate<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1286
|
+
afterUpdate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1287
|
+
_afterUpdate<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1288
|
+
beforeDelete<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1289
|
+
_beforeDelete<T extends Query>(this: T, cb: BeforeCallback<T>): T;
|
|
1290
|
+
afterDelete<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1291
|
+
_afterDelete<T extends Query>(this: T, cb: AfterCallback<T>): T;
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1291
1294
|
declare type UpsertData<T extends Query> = {
|
|
1292
1295
|
update: UpdateData<T>;
|
|
1293
1296
|
create: CreateData<T>;
|
package/dist/index.esm.js
CHANGED
|
@@ -3255,6 +3255,8 @@ function maybeWrappedThen(resolve, reject) {
|
|
|
3255
3255
|
return then(this, resolve, reject);
|
|
3256
3256
|
}
|
|
3257
3257
|
}
|
|
3258
|
+
const queriesNames = {};
|
|
3259
|
+
let nameI = 0;
|
|
3258
3260
|
const then = async (q, resolve, reject) => {
|
|
3259
3261
|
let sql;
|
|
3260
3262
|
let logData;
|
|
@@ -3277,6 +3279,9 @@ const then = async (q, resolve, reject) => {
|
|
|
3277
3279
|
);
|
|
3278
3280
|
}
|
|
3279
3281
|
sql = q.toSql();
|
|
3282
|
+
if (q.query.autoPreparedStatements) {
|
|
3283
|
+
sql.name = queriesNames[sql.text] || (queriesNames[sql.text] = (nameI++).toString(36));
|
|
3284
|
+
}
|
|
3280
3285
|
if (q.query.log) {
|
|
3281
3286
|
logData = q.query.log.beforeQuery(sql);
|
|
3282
3287
|
}
|
|
@@ -5646,7 +5651,8 @@ class Db {
|
|
|
5646
5651
|
adapter,
|
|
5647
5652
|
handleResult,
|
|
5648
5653
|
logger,
|
|
5649
|
-
log: logParamToLogObject(logger, options.log)
|
|
5654
|
+
log: logParamToLogObject(logger, options.log),
|
|
5655
|
+
autoPreparedStatements: options.autoPreparedStatements || true
|
|
5650
5656
|
};
|
|
5651
5657
|
if (options == null ? void 0 : options.schema) {
|
|
5652
5658
|
this.query.schema = options.schema;
|
|
@@ -5705,8 +5711,13 @@ const createDb = (_a) => {
|
|
|
5705
5711
|
"logger",
|
|
5706
5712
|
"columnTypes"
|
|
5707
5713
|
]);
|
|
5714
|
+
var _a2;
|
|
5708
5715
|
const adapter = "adapter" in options ? options.adapter : new Adapter(options);
|
|
5709
|
-
const commonOptions = {
|
|
5716
|
+
const commonOptions = {
|
|
5717
|
+
log,
|
|
5718
|
+
logger,
|
|
5719
|
+
autoPreparedStatements: (_a2 = options.autoPreparedStatements) != null ? _a2 : true
|
|
5720
|
+
};
|
|
5710
5721
|
const qb = new Db(
|
|
5711
5722
|
adapter,
|
|
5712
5723
|
void 0,
|