pqb 0.51.1 → 0.51.2
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 +47 -20
- package/dist/index.js +69 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +69 -30
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -446,8 +446,7 @@ const simplifyColumnDefault = (value) => {
|
|
|
446
446
|
}
|
|
447
447
|
return;
|
|
448
448
|
};
|
|
449
|
-
const
|
|
450
|
-
const column = typeFn();
|
|
449
|
+
const assignDbDataToColumn = (column, params) => {
|
|
451
450
|
const { dateTimePrecision } = params;
|
|
452
451
|
Object.assign(column.data, {
|
|
453
452
|
...params,
|
|
@@ -3054,7 +3053,8 @@ const applyComputedColumns = (q, fn) => {
|
|
|
3054
3053
|
q.computeBatchAtRuntime = computeBatchAtRuntime;
|
|
3055
3054
|
const computed = fn(q);
|
|
3056
3055
|
for (const key in computed) {
|
|
3057
|
-
|
|
3056
|
+
let item = computed[key];
|
|
3057
|
+
if (typeof item === "function") item = item.call(computed);
|
|
3058
3058
|
if (item instanceof ComputedColumn) {
|
|
3059
3059
|
q.q.computeds = {
|
|
3060
3060
|
...q.q.computeds,
|
|
@@ -3367,9 +3367,13 @@ const then = async (q, adapter, trx, beforeHooks, afterHooks, afterCommitHooks,
|
|
|
3367
3367
|
let renames;
|
|
3368
3368
|
if (hookSelect) {
|
|
3369
3369
|
for (const column of hookSelect.keys()) {
|
|
3370
|
-
const as = hookSelect.get(column)
|
|
3371
|
-
if (as)
|
|
3372
|
-
|
|
3370
|
+
const { as, temp } = hookSelect.get(column);
|
|
3371
|
+
if (as) {
|
|
3372
|
+
(renames ?? (renames = {}))[column] = as;
|
|
3373
|
+
}
|
|
3374
|
+
if (temp) {
|
|
3375
|
+
(tempColumns ?? (tempColumns = /* @__PURE__ */ new Set()))?.add(temp);
|
|
3376
|
+
}
|
|
3373
3377
|
}
|
|
3374
3378
|
if (renames) {
|
|
3375
3379
|
for (const record of result) {
|
|
@@ -3436,9 +3440,11 @@ const then = async (q, adapter, trx, beforeHooks, afterHooks, afterCommitHooks,
|
|
|
3436
3440
|
}
|
|
3437
3441
|
if (hookSelect || tempReturnType !== returnType) {
|
|
3438
3442
|
if (renames) {
|
|
3439
|
-
for (const
|
|
3440
|
-
for (const
|
|
3443
|
+
for (const a in renames) {
|
|
3444
|
+
for (const record of result) {
|
|
3445
|
+
const value = record[a];
|
|
3441
3446
|
record[a] = record[renames[a]];
|
|
3447
|
+
record[renames[a]] = value;
|
|
3442
3448
|
}
|
|
3443
3449
|
}
|
|
3444
3450
|
}
|
|
@@ -3481,7 +3487,8 @@ const then = async (q, adapter, trx, beforeHooks, afterHooks, afterCommitHooks,
|
|
|
3481
3487
|
if (log && sql) {
|
|
3482
3488
|
log.onError(error, sql, logData);
|
|
3483
3489
|
}
|
|
3484
|
-
return reject
|
|
3490
|
+
if (reject) return reject(error);
|
|
3491
|
+
throw error;
|
|
3485
3492
|
}
|
|
3486
3493
|
};
|
|
3487
3494
|
const execQuery = (adapter, method, sql) => {
|
|
@@ -3904,7 +3911,7 @@ const addParsersForSelectJoined = (q, arg, as = arg) => {
|
|
|
3904
3911
|
);
|
|
3905
3912
|
}
|
|
3906
3913
|
};
|
|
3907
|
-
const addParserForSelectItem = (q, as, key, arg, joinQuery) => {
|
|
3914
|
+
const addParserForSelectItem = (q, as, key, arg, columnAlias, joinQuery) => {
|
|
3908
3915
|
if (typeof arg === "object" || typeof arg === "function") {
|
|
3909
3916
|
const { q: query } = arg;
|
|
3910
3917
|
if (query.batchParsers) {
|
|
@@ -4076,7 +4083,13 @@ const addParserForSelectItem = (q, as, key, arg, joinQuery) => {
|
|
|
4076
4083
|
}
|
|
4077
4084
|
return arg;
|
|
4078
4085
|
}
|
|
4079
|
-
return setParserForSelectedString(
|
|
4086
|
+
return setParserForSelectedString(
|
|
4087
|
+
q,
|
|
4088
|
+
arg,
|
|
4089
|
+
as,
|
|
4090
|
+
key,
|
|
4091
|
+
columnAlias
|
|
4092
|
+
);
|
|
4080
4093
|
};
|
|
4081
4094
|
const collectNestedSelectBatches = (batches, rows, path, last) => {
|
|
4082
4095
|
const stack = rows.map(
|
|
@@ -4168,15 +4181,18 @@ const processSelectArg = (q, as, arg, columnAs) => {
|
|
|
4168
4181
|
as,
|
|
4169
4182
|
key,
|
|
4170
4183
|
value,
|
|
4184
|
+
key,
|
|
4171
4185
|
joinQuery
|
|
4172
4186
|
);
|
|
4173
4187
|
}
|
|
4174
4188
|
return { selectAs };
|
|
4175
4189
|
};
|
|
4176
|
-
const setParserForSelectedString = (query, arg, as, columnAs) => {
|
|
4190
|
+
const setParserForSelectedString = (query, arg, as, columnAs, columnAlias) => {
|
|
4177
4191
|
const { q } = query;
|
|
4178
4192
|
const index = arg.indexOf(".");
|
|
4179
|
-
if (index === -1)
|
|
4193
|
+
if (index === -1) {
|
|
4194
|
+
return selectColumn(query, q, arg, columnAs, columnAlias);
|
|
4195
|
+
}
|
|
4180
4196
|
const table = getFullColumnTable(query, arg, index, as);
|
|
4181
4197
|
const column = arg.slice(index + 1);
|
|
4182
4198
|
if (column === "*") {
|
|
@@ -4184,7 +4200,7 @@ const setParserForSelectedString = (query, arg, as, columnAs) => {
|
|
|
4184
4200
|
return table === as ? column : arg;
|
|
4185
4201
|
}
|
|
4186
4202
|
if (table === as) {
|
|
4187
|
-
return selectColumn(query, q, column, columnAs);
|
|
4203
|
+
return selectColumn(query, q, column, columnAs, columnAlias);
|
|
4188
4204
|
}
|
|
4189
4205
|
const parser = q.joinedParsers?.[table]?.[column];
|
|
4190
4206
|
if (parser) setParserToQuery(q, columnAs || column, parser);
|
|
@@ -4213,24 +4229,27 @@ const setParserForSelectedString = (query, arg, as, columnAs) => {
|
|
|
4213
4229
|
}
|
|
4214
4230
|
return arg;
|
|
4215
4231
|
};
|
|
4216
|
-
const selectColumn = (query, q, key, columnAs) => {
|
|
4232
|
+
const selectColumn = (query, q, key, columnAs, columnAlias) => {
|
|
4233
|
+
if (columnAlias === "pluck") {
|
|
4234
|
+
throw new Error("?");
|
|
4235
|
+
}
|
|
4217
4236
|
if (columnAs && q.parsers) {
|
|
4218
4237
|
const parser = q.parsers[key];
|
|
4219
4238
|
if (parser) setObjectValueImmutable(q, "parsers", columnAs, parser);
|
|
4220
4239
|
}
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
const
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
const map = q.q.hookSelect = new Map(q.q.hookSelect);
|
|
4227
|
-
for (const column2 of computed.deps) {
|
|
4228
|
-
map.set(column2, { select: column2 });
|
|
4240
|
+
if (q.computeds?.[key]) {
|
|
4241
|
+
const computed = q.computeds[key];
|
|
4242
|
+
const map = query.q.hookSelect = new Map(query.q.hookSelect);
|
|
4243
|
+
for (const key2 of computed.deps) {
|
|
4244
|
+
map.set(key2, { select: key2 });
|
|
4229
4245
|
}
|
|
4230
|
-
|
|
4246
|
+
query.q.selectedComputeds = {
|
|
4247
|
+
...query.q.selectedComputeds,
|
|
4248
|
+
[columnAlias || key]: computed
|
|
4249
|
+
};
|
|
4231
4250
|
return;
|
|
4232
4251
|
}
|
|
4233
|
-
return
|
|
4252
|
+
return key;
|
|
4234
4253
|
};
|
|
4235
4254
|
const getShapeFromSelect = (q, isSubQuery) => {
|
|
4236
4255
|
const query = q.q;
|
|
@@ -4832,6 +4851,7 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4832
4851
|
return query.inCTE.selectNum || !select ? select ? "0, " + select : "0" : select;
|
|
4833
4852
|
}
|
|
4834
4853
|
let selected;
|
|
4854
|
+
let selectedAs;
|
|
4835
4855
|
const list = [];
|
|
4836
4856
|
if (query.select) {
|
|
4837
4857
|
for (const item of query.select) {
|
|
@@ -4840,8 +4860,10 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4840
4860
|
if (item === "*") {
|
|
4841
4861
|
if (hookSelect) {
|
|
4842
4862
|
selected ?? (selected = {});
|
|
4863
|
+
selectedAs ?? (selectedAs = {});
|
|
4843
4864
|
for (const key in query.selectableShape) {
|
|
4844
4865
|
selected[key] = quotedAs;
|
|
4866
|
+
selectedAs[key] = key;
|
|
4845
4867
|
}
|
|
4846
4868
|
}
|
|
4847
4869
|
sql = selectAllSql(query, quotedAs, jsonList);
|
|
@@ -4852,6 +4874,7 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4852
4874
|
const key = item.slice(index + 1);
|
|
4853
4875
|
if (hookSelect?.get(key)) {
|
|
4854
4876
|
(selected ?? (selected = {}))[key] = `"${tableName}"`;
|
|
4877
|
+
(selectedAs ?? (selectedAs = {}))[key] = key;
|
|
4855
4878
|
}
|
|
4856
4879
|
sql = tableColumnToSqlWithAs(
|
|
4857
4880
|
ctx,
|
|
@@ -4865,7 +4888,10 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4865
4888
|
jsonList
|
|
4866
4889
|
);
|
|
4867
4890
|
} else {
|
|
4868
|
-
if (hookSelect?.get(item))
|
|
4891
|
+
if (hookSelect?.get(item)) {
|
|
4892
|
+
(selected ?? (selected = {}))[item] = quotedAs;
|
|
4893
|
+
(selectedAs ?? (selectedAs = {}))[item] = item;
|
|
4894
|
+
}
|
|
4869
4895
|
sql = ownColumnToSqlWithAs(
|
|
4870
4896
|
ctx,
|
|
4871
4897
|
table.q,
|
|
@@ -4883,7 +4909,9 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4883
4909
|
if ("selectAs" in item) {
|
|
4884
4910
|
const obj = item.selectAs;
|
|
4885
4911
|
for (const as in obj) {
|
|
4886
|
-
if (hookSelect)
|
|
4912
|
+
if (hookSelect) {
|
|
4913
|
+
(selected ?? (selected = {}))[as] = true;
|
|
4914
|
+
}
|
|
4887
4915
|
const value = obj[as];
|
|
4888
4916
|
if (typeof value === "object") {
|
|
4889
4917
|
if (isExpression(value)) {
|
|
@@ -4899,6 +4927,9 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4899
4927
|
}
|
|
4900
4928
|
}
|
|
4901
4929
|
} else if (value) {
|
|
4930
|
+
if (hookSelect) {
|
|
4931
|
+
(selectedAs ?? (selectedAs = {}))[value] = as;
|
|
4932
|
+
}
|
|
4902
4933
|
list.push(
|
|
4903
4934
|
columnToSqlWithAs(
|
|
4904
4935
|
ctx,
|
|
@@ -4955,9 +4986,17 @@ const selectToSql = (ctx, table, query, quotedAs, hookSelect = query.hookSelect,
|
|
|
4955
4986
|
let i = 2;
|
|
4956
4987
|
while (selected[name = `${column}${i}`]) i++;
|
|
4957
4988
|
item.as = name;
|
|
4989
|
+
item.temp = name;
|
|
4958
4990
|
sql += ` "${name}"`;
|
|
4959
|
-
} else if (
|
|
4960
|
-
|
|
4991
|
+
} else if (selectedAs?.[columnName]) {
|
|
4992
|
+
item.as = selectedAs[columnName];
|
|
4993
|
+
item.temp = columnName;
|
|
4994
|
+
continue;
|
|
4995
|
+
} else {
|
|
4996
|
+
if (col?.data.name || typeof select === "object") {
|
|
4997
|
+
sql += ` "${columnName}"`;
|
|
4998
|
+
}
|
|
4999
|
+
item.temp = columnName;
|
|
4961
5000
|
}
|
|
4962
5001
|
if (jsonList) jsonList[name] = col;
|
|
4963
5002
|
list.push(sql);
|
|
@@ -13167,5 +13206,5 @@ function copyTableData(query, arg) {
|
|
|
13167
13206
|
return q;
|
|
13168
13207
|
}
|
|
13169
13208
|
|
|
13170
|
-
export { Adapter, AfterCommitError, AggregateMethods, ArrayColumn, AsMethods, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ColumnRefExpression, ColumnType, ComputedColumn, Create, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DecimalColumn, Delete, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, FnExpression, For, FromMethods, Having, InetColumn, IntegerBaseColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, Join, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, OnConflictQueryBuilder, OnMethods, Operators, OrExpression, OrchidOrmError, OrchidOrmInternalError, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryError, QueryGet, QueryHooks, QueryLog, QueryMethods, QueryUpsertOrCreate, RawSQL, RealColumn, RefExpression, SearchMethods, Select, SerialColumn, SmallIntColumn, SmallSerialColumn, SqlMethod, StringColumn, TextBaseColumn, TextColumn, Then, TimeColumn, TimestampColumn, TimestampTZColumn, Transaction, TransactionAdapter, TransformMethods, TsQueryColumn, TsVectorColumn, UUIDColumn, UnhandledTypeError, Union, UnknownColumn, Update, VarCharColumn, VirtualColumn, Where, WithMethods, XMLColumn, _afterCommitError, _clone, _getSelectableColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryResolveAlias, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, addColumnParserToQuery, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnExcludesToCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql$1 as commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getFullColumnTable, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode,
|
|
13209
|
+
export { Adapter, AfterCommitError, AggregateMethods, ArrayColumn, AsMethods, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ColumnRefExpression, ColumnType, ComputedColumn, Create, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DecimalColumn, Delete, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, FnExpression, For, FromMethods, Having, InetColumn, IntegerBaseColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, Join, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, OnConflictQueryBuilder, OnMethods, Operators, OrExpression, OrchidOrmError, OrchidOrmInternalError, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryError, QueryGet, QueryHooks, QueryLog, QueryMethods, QueryUpsertOrCreate, RawSQL, RealColumn, RefExpression, SearchMethods, Select, SerialColumn, SmallIntColumn, SmallSerialColumn, SqlMethod, StringColumn, TextBaseColumn, TextColumn, Then, TimeColumn, TimestampColumn, TimestampTZColumn, Transaction, TransactionAdapter, TransformMethods, TsQueryColumn, TsVectorColumn, UUIDColumn, UnhandledTypeError, Union, UnknownColumn, Update, VarCharColumn, VirtualColumn, Where, WithMethods, XMLColumn, _afterCommitError, _clone, _getSelectableColumn, _initQueryBuilder, _queryAfterSaveCommit, _queryAll, _queryAs, _queryChangeCounter, _queryCreate, _queryCreateFrom, _queryCreateMany, _queryCreateManyFrom, _queryCreateManyRaw, _queryCreateRaw, _queryDefaults, _queryDelete, _queryExec, _queryFindBy, _queryFindByOptional, _queryGet, _queryGetOptional, _queryHookAfterCreate, _queryHookAfterCreateCommit, _queryHookAfterDelete, _queryHookAfterDeleteCommit, _queryHookAfterQuery, _queryHookAfterSave, _queryHookAfterUpdate, _queryHookAfterUpdateCommit, _queryHookBeforeCreate, _queryHookBeforeDelete, _queryHookBeforeQuery, _queryHookBeforeSave, _queryHookBeforeUpdate, _queryInsert, _queryInsertFrom, _queryInsertMany, _queryInsertManyFrom, _queryInsertManyRaw, _queryInsertRaw, _queryJoinOn, _queryJoinOnJsonPathEquals, _queryJoinOrOn, _queryOr, _queryOrNot, _queryResolveAlias, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, addColumnParserToQuery, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, assignDbDataToColumn, checkIfASimpleQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnExcludesToCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql$1 as commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getFullColumnTable, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, parseRecord, parseTableData, parseTableDataInput, postgisTypmodToSql, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArrayImmutable, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValueImmutable, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, raw, referencesArgsToCode, resolveSubQueryCallbackV2, rollbackSql$1 as rollbackSql, saveSearchAlias, setColumnDefaultParse, setColumnEncode, setColumnParse, setColumnParseNull, setParserForSelectedString, setQueryObjectValueImmutable, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfJoinLateral, throwIfNoWhere, toSQL };
|
|
13171
13210
|
//# sourceMappingURL=index.mjs.map
|