pqb 0.10.11 → 0.10.13
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 +7 -13
- package/dist/index.js +18 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +19 -8
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -461,9 +461,9 @@ declare class QueryGet {
|
|
|
461
461
|
_getOptional<T extends Query, Arg extends GetArg<T>>(this: T, arg: Arg): GetOptionalResult<T, Arg>;
|
|
462
462
|
}
|
|
463
463
|
|
|
464
|
-
declare type SelectArg<T extends QueryBase> = StringKey<keyof T['selectable']> | (T['relations'] extends Record<string, Relation> ? StringKey<keyof T['relations']> : never) | SelectAsArg<T>;
|
|
464
|
+
declare type SelectArg<T extends QueryBase> = '*' | StringKey<keyof T['selectable']> | (T['relations'] extends Record<string, Relation> ? StringKey<keyof T['relations']> : never) | SelectAsArg<T>;
|
|
465
465
|
declare type SelectAsArg<T extends QueryBase> = Record<string, StringKey<keyof T['selectable']> | RawExpression | ((q: T) => Query | RawExpression)>;
|
|
466
|
-
declare type SelectResult<T extends Query, Args extends SelectArg<T>[], SelectAsArgs = SimpleSpread<FilterTuple<Args, SelectAsArg<T>>>> = AddQuerySelect<T, {
|
|
466
|
+
declare type SelectResult<T extends Query, Args extends SelectArg<T>[], SelectAsArgs = SimpleSpread<FilterTuple<Args, SelectAsArg<T>>>> = AddQuerySelect<T, ('*' extends Args[number] ? T['shape'] : EmptyObject) & {
|
|
467
467
|
[Arg in Args[number] as Arg extends keyof T['selectable'] ? T['selectable'][Arg]['as'] : Arg extends keyof T['relations'] ? Arg : never]: Arg extends keyof T['selectable'] ? T['selectable'][Arg]['column'] : T['relations'] extends Record<string, Relation> ? Arg extends keyof T['relations'] ? T['relations'][Arg]['returns'] extends 'many' ? ArrayOfColumnsObjects<T['relations'][Arg]['table']['result']> : T['relations'][Arg]['options']['required'] extends true ? ColumnsObject<T['relations'][Arg]['table']['result']> : NullableColumn<ColumnsObject<T['relations'][Arg]['table']['result']>> : never : never;
|
|
468
468
|
} & {
|
|
469
469
|
[K in keyof SelectAsArgs]: SelectAsArgs[K] extends keyof T['selectable'] ? T['selectable'][SelectAsArgs[K]]['column'] : SelectAsArgs[K] extends RawExpression ? SelectAsArgs[K]['__column'] : SelectAsArgs[K] extends (q: T) => RawExpression ? ReturnType<SelectAsArgs[K]>['__column'] : SelectAsArgs[K] extends (q: T) => Query ? SelectSubQueryResult<ReturnType<SelectAsArgs[K]>> : SelectAsArgs[K] extends ((q: T) => Query) | RawExpression ? SelectSubQueryResult<ReturnType<Exclude<SelectAsArgs[K], RawExpression>>> | Exclude<SelectAsArgs[K], (q: T) => Query>['__column'] : never;
|
|
@@ -479,8 +479,8 @@ declare const getShapeFromSelect: (q: Query, isSubQuery?: boolean) => ColumnsSha
|
|
|
479
479
|
declare class Select {
|
|
480
480
|
select<T extends Query, K extends SelectArg<T>[]>(this: T, ...args: K): SelectResult<T, K>;
|
|
481
481
|
_select<T extends Query, K extends SelectArg<T>[]>(this: T, ...args: K): SelectResult<T, K>;
|
|
482
|
-
selectAll<T extends Query>(this: T):
|
|
483
|
-
_selectAll<T extends Query>(this: T):
|
|
482
|
+
selectAll<T extends Query>(this: T): SelectResult<T, ['*']>;
|
|
483
|
+
_selectAll<T extends Query>(this: T): SelectResult<T, ['*']>;
|
|
484
484
|
}
|
|
485
485
|
|
|
486
486
|
declare type FromArgs<T extends Query> = [
|
|
@@ -781,6 +781,7 @@ declare type DbTableOptions = {
|
|
|
781
781
|
schema?: string;
|
|
782
782
|
autoPreparedStatements?: boolean;
|
|
783
783
|
noPrimaryKey?: NoPrimaryKeyOption;
|
|
784
|
+
snakeCase?: boolean;
|
|
784
785
|
} & QueryLogOptions;
|
|
785
786
|
declare const anyShape: Record<string, ColumnType<unknown, orchid_core.BaseOperators, unknown>>;
|
|
786
787
|
interface Db<Table extends string | undefined = undefined, Shape extends ColumnsShape = Record<string, never>, Relations extends Query['relations'] = Query['relations'], CT extends ColumnTypesBase = DefaultColumnTypes> extends DbBase<Adapter, Table, Shape, CT>, QueryMethods {
|
|
@@ -819,7 +820,7 @@ declare type DbResult<CT extends ColumnTypesBase> = Db<string, Record<string, ne
|
|
|
819
820
|
adapter: Adapter;
|
|
820
821
|
close: Adapter['close'];
|
|
821
822
|
};
|
|
822
|
-
declare const createDb: <CT extends ColumnTypesBase>({ log, logger, columnTypes: ctOrFn, ...options }: DbOptions<CT>) => DbResult<CT>;
|
|
823
|
+
declare const createDb: <CT extends ColumnTypesBase>({ log, logger, columnTypes: ctOrFn, snakeCase, ...options }: DbOptions<CT>) => DbResult<CT>;
|
|
823
824
|
|
|
824
825
|
declare type WithArgsOptions = Omit<WithOptions, 'columns'> & {
|
|
825
826
|
columns?: boolean | string[];
|
|
@@ -1574,13 +1575,6 @@ declare type AddQuerySelect<T extends Pick<Query, 'result' | 'then' | 'returnTyp
|
|
|
1574
1575
|
result: Result;
|
|
1575
1576
|
then: QueryThen<T['returnType'], Result>;
|
|
1576
1577
|
};
|
|
1577
|
-
declare type QuerySelectAll<T extends Query> = Omit<T, 'result' | 'then'> & {
|
|
1578
|
-
meta: {
|
|
1579
|
-
hasSelect: true;
|
|
1580
|
-
};
|
|
1581
|
-
result: T['shape'];
|
|
1582
|
-
then: QueryThen<T['returnType'], T['shape']>;
|
|
1583
|
-
};
|
|
1584
1578
|
declare type SetQueryReturns<T extends Query, R extends QueryReturnType> = Omit<T, 'returnType' | 'then'> & {
|
|
1585
1579
|
returnType: R;
|
|
1586
1580
|
then: QueryThen<R, T['result']>;
|
|
@@ -3506,4 +3500,4 @@ declare const setQueryObjectValue: <T extends {
|
|
|
3506
3500
|
query: QueryData;
|
|
3507
3501
|
}>(q: T, object: string, key: string, value: unknown) => T;
|
|
3508
3502
|
|
|
3509
|
-
export { Adapter, AdapterOptions, AddQueryJoinedTable, AddQuerySelect, AddQueryWith, AfterCallback, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, BaseRelation, BeforeCallback, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnNameOfTable, ColumnOperators, ColumnParser, ColumnType, ColumnTypes, ColumnsObject, ColumnsParsers, ColumnsShape, CommonQueryData, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeWithTimeZoneBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, Expression, ExpressionOfType, ExpressionOutput, For, ForeignKey, ForeignKeyOptions, ForeignKeyTable, ForeignKeyTableWithColumns, From, FromArgs, FromResult, GetArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingItem, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, JSONTypes, Join, JoinArgs, JoinCallback, JoinCallbackArg, JoinItem, JoinResult, JoinedTablesBase, Json, JsonItem, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operators, OrchidInternalError, OrderArg, OrderItem, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, PormError, Query, QueryArraysResult, QueryBase, QueryCallbacks, QueryData, QueryError, QueryErrorName, QueryGet, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll,
|
|
3503
|
+
export { Adapter, AdapterOptions, AddQueryJoinedTable, AddQuerySelect, AddQueryWith, AfterCallback, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, ArrayColumn, ArrayData, ArrayOfColumnsObjects, BaseRelation, BeforeCallback, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnNameOfTable, ColumnOperators, ColumnParser, ColumnType, ColumnTypes, ColumnsObject, ColumnsParsers, ColumnsShape, CommonQueryData, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeWithTimeZoneBaseClass, Db, DbOptions, DbResult, DbTableOptions, DecimalBaseColumn, DecimalColumn, DefaultColumnTypes, Delete, DeleteMethodsNames, DeleteQueryData, DomainColumn, DoublePrecisionColumn, DropMode, EnumColumn, Expression, ExpressionOfType, ExpressionOutput, For, ForeignKey, ForeignKeyOptions, ForeignKeyTable, ForeignKeyTableWithColumns, From, FromArgs, FromResult, GetArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingItem, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, JSONTypes, Join, JoinArgs, JoinCallback, JoinCallbackArg, JoinItem, JoinResult, JoinedTablesBase, Json, JsonItem, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operators, OrchidInternalError, OrderArg, OrderItem, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, PormError, Query, QueryArraysResult, QueryBase, QueryCallbacks, QueryData, QueryError, QueryErrorName, QueryGet, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryReturnType, QueryReturnsAll, QueryThen, QueryUpsertOrCreate, QueryWithTable, RawMethods, RealColumn, Relation, RelationQuery, RelationQueryBase, RelationQueryData, RelationsBase, Select, SelectAgg, SelectArg, SelectFunctionItem, SelectItem, SelectQueryData, Selectable, SelectableBase, SelectableFromShape, SerialColumn, SerialColumnData, SetQueryJoinedTables, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumnInfo, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWindows, SetQueryWith, SingleColumnIndexOptions, SmallIntColumn, SmallSerialColumn, SortDir, Sql, StringColumn, StringExpression, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimeInterval, TimeWithTimeZoneColumn, TimestampColumn, TimestampWithTimeZoneColumn, ToSqlCtx, ToSqlOptions, Transaction, TransactionAdapter, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownColumn, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertData, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowFunctionOptions, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addParserToQuery, addQueryOn, addQueryOrOn, addWhere, addWhereIn, addWhereNot, aggregate1FunctionNames, anyShape, checkIfASimpleQuery, cloneQueryArrays, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, utils as columnUtils, columnsByType, columnsShapeToCode, createDb, defaultsKey, foreignKeyArgsToCode, foreignKeyArgumentToCode, foreignKeyToCode, getClonedQueryData, getColumnTypes, getQueryAs, getRaw, getShapeFromSelect, getTableData, getValueKey, handleResult, indexToCode, instantiateColumn, isQueryReturnsAll, isRequiredRelationKey, jsonTypes, logColors, logParamToLogObject, makeRegexToFindInSql, makeSql, newTableData, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteString, relationQueryKey, resetTableData, setQueryObjectValue, toSql, toSqlCacheKey };
|
package/dist/index.js
CHANGED
|
@@ -187,10 +187,10 @@ const revealColumnToSqlWithAs = (data, column, quotedAs) => {
|
|
|
187
187
|
key,
|
|
188
188
|
quoted === quotedAs
|
|
189
189
|
);
|
|
190
|
-
return `${quoted}.${q(name || key)}${name ? ` AS ${q(key)}` : ""}`;
|
|
190
|
+
return `${quoted}.${q(name || key)}${name && name !== key ? ` AS ${q(key)}` : ""}`;
|
|
191
191
|
} else {
|
|
192
192
|
const name = (_a = data.shape[column]) == null ? void 0 : _a.data.name;
|
|
193
|
-
return `${quotedAs ? `${quotedAs}.` : ""}${q(name || column)}${name ? ` AS ${q(column)}` : ""}`;
|
|
193
|
+
return `${quotedAs ? `${quotedAs}.` : ""}${q(name || column)}${name && name !== column ? ` AS ${q(column)}` : ""}`;
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
const rawOrRevealColumnToSql = (data, expr, values, quotedAs, shape = data.shape) => {
|
|
@@ -6034,6 +6034,7 @@ class Db {
|
|
|
6034
6034
|
let hasParsers = false;
|
|
6035
6035
|
let modifyQuery = void 0;
|
|
6036
6036
|
let hasCustomName = false;
|
|
6037
|
+
const { snakeCase } = options;
|
|
6037
6038
|
for (const key in shape) {
|
|
6038
6039
|
const column = shape[key];
|
|
6039
6040
|
if (column.parseFn) {
|
|
@@ -6043,8 +6044,15 @@ class Db {
|
|
|
6043
6044
|
if (column.data.modifyQuery) {
|
|
6044
6045
|
modifyQuery = orchidCore.pushOrNewArray(modifyQuery, column.data.modifyQuery);
|
|
6045
6046
|
}
|
|
6046
|
-
if (column.data.name)
|
|
6047
|
+
if (column.data.name) {
|
|
6047
6048
|
hasCustomName = true;
|
|
6049
|
+
} else if (snakeCase) {
|
|
6050
|
+
const snakeName = orchidCore.toSnakeCase(key);
|
|
6051
|
+
if (snakeName !== key) {
|
|
6052
|
+
hasCustomName = true;
|
|
6053
|
+
column.data.name = snakeName;
|
|
6054
|
+
}
|
|
6055
|
+
}
|
|
6048
6056
|
if (typeof column.data.default === "function") {
|
|
6049
6057
|
const arr = this.internal.runtimeDefaultColumns;
|
|
6050
6058
|
if (!arr)
|
|
@@ -6118,11 +6126,13 @@ const createDb = (_a) => {
|
|
|
6118
6126
|
var _b = _a, {
|
|
6119
6127
|
log,
|
|
6120
6128
|
logger,
|
|
6121
|
-
columnTypes: ctOrFn = columnTypes
|
|
6129
|
+
columnTypes: ctOrFn = columnTypes,
|
|
6130
|
+
snakeCase
|
|
6122
6131
|
} = _b, options = __objRest(_b, [
|
|
6123
6132
|
"log",
|
|
6124
6133
|
"logger",
|
|
6125
|
-
"columnTypes"
|
|
6134
|
+
"columnTypes",
|
|
6135
|
+
"snakeCase"
|
|
6126
6136
|
]);
|
|
6127
6137
|
var _a2, _b2;
|
|
6128
6138
|
const adapter = "adapter" in options ? options.adapter : new Adapter(options);
|
|
@@ -6130,10 +6140,11 @@ const createDb = (_a) => {
|
|
|
6130
6140
|
log,
|
|
6131
6141
|
logger,
|
|
6132
6142
|
autoPreparedStatements: (_a2 = options.autoPreparedStatements) != null ? _a2 : false,
|
|
6133
|
-
noPrimaryKey: (_b2 = options.noPrimaryKey) != null ? _b2 : "error"
|
|
6143
|
+
noPrimaryKey: (_b2 = options.noPrimaryKey) != null ? _b2 : "error",
|
|
6144
|
+
snakeCase
|
|
6134
6145
|
};
|
|
6135
6146
|
const ct = typeof ctOrFn === "function" ? ctOrFn(columnTypes) : ctOrFn;
|
|
6136
|
-
if (
|
|
6147
|
+
if (snakeCase) {
|
|
6137
6148
|
ct[orchidCore.snakeCaseKey] = true;
|
|
6138
6149
|
}
|
|
6139
6150
|
const qb = new Db(
|