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.mjs CHANGED
@@ -446,8 +446,7 @@ const simplifyColumnDefault = (value) => {
446
446
  }
447
447
  return;
448
448
  };
449
- const instantiateColumn = (typeFn, params) => {
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
- const item = computed[key];
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).as;
3371
- if (as) (renames ?? (renames = {}))[column] = as;
3372
- (tempColumns ?? (tempColumns = /* @__PURE__ */ new Set()))?.add(as || column);
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 record of result) {
3440
- for (const a in renames) {
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?.(error);
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(q, arg, as, key);
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) return selectColumn(query, q, arg, columnAs);
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
- return handleComputed(query, q.computeds, key);
4222
- };
4223
- const handleComputed = (q, computeds, column) => {
4224
- if (computeds?.[column]) {
4225
- const computed = computeds[column];
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
- q.q.selectedComputeds = { ...q.q.selectedComputeds, [column]: computed };
4246
+ query.q.selectedComputeds = {
4247
+ ...query.q.selectedComputeds,
4248
+ [columnAlias || key]: computed
4249
+ };
4231
4250
  return;
4232
4251
  }
4233
- return column;
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)) (selected ?? (selected = {}))[item] = quotedAs;
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) (selected ?? (selected = {}))[as] = true;
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 (col?.data.name || typeof select === "object") {
4960
- sql += ` "${columnName}"`;
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, instantiateColumn, 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 };
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