pqb 0.40.1 → 0.40.3
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 +31 -19
- package/dist/index.js +54 -50
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +52 -49
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4990,7 +4990,7 @@ type AfterCommitErrorResult = AfterCommitErrorFulfilledResult | AfterCommitError
|
|
|
4990
4990
|
* }
|
|
4991
4991
|
* ```
|
|
4992
4992
|
*
|
|
4993
|
-
* Use `
|
|
4993
|
+
* Use `function name() {}` function syntax for hooks to give them names,
|
|
4994
4994
|
* so later they can be identified when handling after commit errors.
|
|
4995
4995
|
*
|
|
4996
4996
|
* ```ts
|
|
@@ -5395,6 +5395,8 @@ declare class Select {
|
|
|
5395
5395
|
|
|
5396
5396
|
declare class SqlMethod<ColumnTypes> {
|
|
5397
5397
|
/**
|
|
5398
|
+
* @deprecated: use `sql` exported from the `createBaseTable` (see "define a base table" in the docs)
|
|
5399
|
+
*
|
|
5398
5400
|
* When there is a need to use a piece of raw SQL, use the `sql` exported from the `BaseTable` file, it is also attached to query objects for convenience.
|
|
5399
5401
|
*
|
|
5400
5402
|
* When selecting a custom SQL, specify a resulting type with `<generic>` syntax:
|
|
@@ -5530,7 +5532,6 @@ declare class SqlMethod<ColumnTypes> {
|
|
|
5530
5532
|
* sql`($one + $two) / $one`.type((t) => t.numeric()).values({ one: 1, two: 2 });
|
|
5531
5533
|
* ```
|
|
5532
5534
|
*
|
|
5533
|
-
* @deprecated use `sql` exported from the `createBaseTable` (see "define a base table" in the docs)
|
|
5534
5535
|
* @param args - template literal or an object { raw: string }
|
|
5535
5536
|
* @return object that has `type` and `values` methods
|
|
5536
5537
|
*/
|
|
@@ -6566,7 +6567,7 @@ declare class QueryUpsertOrCreate {
|
|
|
6566
6567
|
*
|
|
6567
6568
|
* ```ts
|
|
6568
6569
|
* await User.selectAll()
|
|
6569
|
-
* .
|
|
6570
|
+
* .findBy({ email: 'some@email.com' })
|
|
6570
6571
|
* .upsert({
|
|
6571
6572
|
* data: {
|
|
6572
6573
|
* // update record's name
|
|
@@ -6580,7 +6581,7 @@ declare class QueryUpsertOrCreate {
|
|
|
6580
6581
|
*
|
|
6581
6582
|
* // the same as above but using `update` and `create`
|
|
6582
6583
|
* await User.selectAll()
|
|
6583
|
-
* .
|
|
6584
|
+
* .findBy({ email: 'some@email.com' })
|
|
6584
6585
|
* .upsert({
|
|
6585
6586
|
* update: {
|
|
6586
6587
|
* name: 'updated user',
|
|
@@ -6597,7 +6598,7 @@ declare class QueryUpsertOrCreate {
|
|
|
6597
6598
|
*
|
|
6598
6599
|
* ```ts
|
|
6599
6600
|
* await User.selectAll()
|
|
6600
|
-
* .
|
|
6601
|
+
* .findBy({ email: 'some@email.com' })
|
|
6601
6602
|
* .upsert({
|
|
6602
6603
|
* update: {
|
|
6603
6604
|
* name: 'updated user',
|
|
@@ -6610,7 +6611,7 @@ declare class QueryUpsertOrCreate {
|
|
|
6610
6611
|
*
|
|
6611
6612
|
* // the same as above using `data`
|
|
6612
6613
|
* await User.selectAll()
|
|
6613
|
-
* .
|
|
6614
|
+
* .findBy({ email: 'some@email.com' })
|
|
6614
6615
|
* .upsert({
|
|
6615
6616
|
* data: {
|
|
6616
6617
|
* name: 'updated user',
|
|
@@ -6627,7 +6628,7 @@ declare class QueryUpsertOrCreate {
|
|
|
6627
6628
|
*
|
|
6628
6629
|
* ```ts
|
|
6629
6630
|
* const user = await User.selectAll()
|
|
6630
|
-
* .
|
|
6631
|
+
* .findBy({ email: 'some@email.com' })
|
|
6631
6632
|
* .upsert({
|
|
6632
6633
|
* data: {
|
|
6633
6634
|
* name: 'updated user',
|
|
@@ -6660,17 +6661,19 @@ declare class QueryUpsertOrCreate {
|
|
|
6660
6661
|
* By default, it is not returning columns, place `get`, `select`, or `selectAll` before `orCreate` to specify returning columns.
|
|
6661
6662
|
*
|
|
6662
6663
|
* ```ts
|
|
6663
|
-
* const user = await User.selectAll()
|
|
6664
|
-
* email: 'some@email.com'
|
|
6665
|
-
*
|
|
6666
|
-
*
|
|
6664
|
+
* const user = await User.selectAll()
|
|
6665
|
+
* .findBy({ email: 'some@email.com' })
|
|
6666
|
+
* .orCreate({
|
|
6667
|
+
* email: 'some@email.com',
|
|
6668
|
+
* name: 'created user',
|
|
6669
|
+
* });
|
|
6667
6670
|
* ```
|
|
6668
6671
|
*
|
|
6669
6672
|
* The data may be returned from a function, it won't be called if the record was found:
|
|
6670
6673
|
*
|
|
6671
6674
|
* ```ts
|
|
6672
6675
|
* const user = await User.selectAll()
|
|
6673
|
-
* .
|
|
6676
|
+
* .findBy({ email: 'some@email.com' })
|
|
6674
6677
|
* .orCreate(() => ({
|
|
6675
6678
|
* email: 'some@email.com',
|
|
6676
6679
|
* name: 'created user',
|
|
@@ -6747,11 +6750,11 @@ declare class QueryMap {
|
|
|
6747
6750
|
/**
|
|
6748
6751
|
* Use `map` to transform individual records of a query result.
|
|
6749
6752
|
*
|
|
6750
|
-
*
|
|
6753
|
+
* Use `map` to transform individual records of a query result. If the query returns multiple, `map` function going to transform records one by one.
|
|
6751
6754
|
*
|
|
6752
|
-
* For
|
|
6755
|
+
* For an optional query result (`findOptional`, `getOptional`, etc.), `map` is **not** called for empty results.
|
|
6753
6756
|
*
|
|
6754
|
-
*
|
|
6757
|
+
* For transforming the result of a query as a whole, consider using {@link Query.transform} instead.
|
|
6755
6758
|
*
|
|
6756
6759
|
* ```ts
|
|
6757
6760
|
* // add a `titleLength` to every post
|
|
@@ -6784,10 +6787,18 @@ declare class QueryMap {
|
|
|
6784
6787
|
*
|
|
6785
6788
|
* @param fn - function to transform an individual record
|
|
6786
6789
|
*/
|
|
6787
|
-
map<T extends Query, Result
|
|
6790
|
+
map<T extends Query, Result>(this: T, fn: (input: T['returnType'] extends undefined | 'all' | 'pluck' ? T['then'] extends QueryThen<(infer Data)[]> ? Data : never : T['then'] extends QueryThen<infer Data | undefined> ? Data : never) => Result): Result extends RecordUnknown ? {
|
|
6788
6791
|
[K in keyof T]: K extends 'result' ? {
|
|
6789
6792
|
[K in keyof Result]: QueryColumn<Result[K]>;
|
|
6790
6793
|
} : K extends 'then' ? QueryThen<T['returnType'] extends undefined | 'all' ? Result[] : Result> : T[K];
|
|
6794
|
+
} : {
|
|
6795
|
+
[K in keyof T]: K extends 'returnType' ? T['returnType'] extends undefined | 'all' | 'pluck' ? 'pluck' : T['returnType'] extends 'one' ? 'value' : 'valueOrThrow' : K extends 'result' ? T['returnType'] extends undefined | 'all' | 'pluck' ? {
|
|
6796
|
+
pluck: QueryColumn<Result>;
|
|
6797
|
+
} : T['returnType'] extends 'one' | 'value' ? {
|
|
6798
|
+
value: QueryColumn<Result | undefined>;
|
|
6799
|
+
} : {
|
|
6800
|
+
value: QueryColumn<Result>;
|
|
6801
|
+
} : K extends 'then' ? QueryThen<T['returnType'] extends undefined | 'all' | 'pluck' ? Result[] : Result> : T[K];
|
|
6791
6802
|
};
|
|
6792
6803
|
}
|
|
6793
6804
|
|
|
@@ -8149,8 +8160,9 @@ interface ColumnsByType {
|
|
|
8149
8160
|
declare const makeColumnsByType: (schema: ColumnSchemaConfig) => ColumnsByType;
|
|
8150
8161
|
|
|
8151
8162
|
type Value = any;
|
|
8152
|
-
declare const
|
|
8153
|
-
declare const
|
|
8163
|
+
declare const escapeForLog: (value: Value) => string;
|
|
8164
|
+
declare const escapeForMigration: (value: Value) => string;
|
|
8165
|
+
declare const escapeString: (value: string) => string;
|
|
8154
8166
|
|
|
8155
8167
|
/**
|
|
8156
8168
|
* Push all elements of given array into the array in the query data,
|
|
@@ -8322,4 +8334,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
|
|
|
8322
8334
|
*/
|
|
8323
8335
|
declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
|
|
8324
8336
|
|
|
8325
|
-
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AfterCommitError, AfterCommitErrorFulfilledResult, AfterCommitErrorRejectedResult, AfterCommitErrorResult, AfterHook, AggregateArgTypes, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumn, ComputedColumns, ComputedColumnsFromOptions, ComputedMethods, ComputedOptionsFactory, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateResult, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, HandleResult, Having, HavingItem, HookAction, HookSelectArg, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgToQuery, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, NumericColumns, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryMetaWithDataColumnTypes, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBatchResult, QueryBeforeHook, QueryComputedArg, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHooks, QueryInternal, QueryLog, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RuntimeComputedQueryColumn, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectAsValue, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithConfigs, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _afterCommitError, _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, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap,
|
|
8337
|
+
export { Adapter, AdapterConfig, AdapterOptions, AddQueryDefaults, AfterCommitError, AfterCommitErrorFulfilledResult, AfterCommitErrorRejectedResult, AfterCommitErrorResult, AfterHook, AggregateArgTypes, AggregateMethods, AggregateOptions, AliasOrTable, ArrayColumn, ArrayColumnValue, ArrayData, AsMethods, AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanQueryColumn, BoxColumn, ByteaColumn, ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, ClearStatement, ColumnData, ColumnFromDbParams, ColumnInfoQueryData, ColumnRefExpression, ColumnType, ColumnsByType, ColumnsShape, ColumnsShapeToNullableObject, ColumnsShapeToObject, ColumnsShapeToObjectArray, ColumnsShapeToPluck, CommonQueryData, ComputedColumn, ComputedColumns, ComputedColumnsFromOptions, ComputedMethods, ComputedOptionsFactory, CopyOptions, CopyQueryData, Create, CreateBelongsToData, CreateColumn, CreateCtx, CreateData, CreateKind, CreateMethodsNames, CreateRelationsData, CreateRelationsDataOmittingFKeys, CreateResult, CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, DbDomainArg, DbDomainArgRecord, DbExtension, DbOptions, DbResult, DbSharedOptions, DbTableConstructor, DbTableOptionScopes, DbTableOptions, DecimalColumn, DecimalColumnData, DefaultColumnTypes, DefaultSchemaConfig, Delete, DeleteArgs, DeleteMethodsNames, DeleteQueryData, DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, ExpressionOutput, FnExpression, FnExpressionArgs, FnExpressionArgsPairs, FnExpressionArgsValue, For, FromArg, FromMethods, FromQuerySelf, FromResult, GetArg, GetColumnInfo, GetQueryResult, GetResult, GetResultOptional, GetStringArg, GroupArgs, HandleResult, Having, HavingItem, HookAction, HookSelectArg, IdentityColumn, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsolationLevel, JSONColumn, JSONTextColumn, Join, JoinArgToQuery, JoinArgs, JoinCallback, JoinFirstArg, JoinItem, JoinItemArgs, JoinLateralItem, JoinLateralResult, JoinOverrides, JoinQueryBuilder, JoinQueryMethod, JoinResult, JoinedParsers, JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MapTableScopesOption, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumnData, NumericColumns, OnConflictMerge, OnConflictQueryBuilder, OnConflictSet, OnConflictTarget, OnMethods, Operator, Operators, OperatorsAny, OperatorsArray, OperatorsBoolean, OperatorsDate, OperatorsJson, OperatorsNumber, OperatorsText, OperatorsTime, OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, OrderArg, OrderArgSelf, OrderArgs, OrderItem, OrderTsQueryConfig, Over, PathColumn, PickColumnData, PickQueryBaseQuery, PickQueryColumnTypes, PickQueryDataShapeAndJoinedShapes, PickQueryInternal, PickQueryMetaRelations, PickQueryMetaResultRelations, PickQueryMetaResultRelationsWindows, PickQueryMetaResultRelationsWindowsColumnTypes, PickQueryMetaResultRelationsWithDataReturnType, PickQueryMetaResultRelationsWithDataReturnTypeShape, PickQueryMetaResultReturnTypeWithDataWindows, PickQueryMetaResultReturnTypeWithDataWindowsTable, PickQueryMetaShapeRelationsWithData, PickQueryMetaTable, PickQueryMetaTableShape, PickQueryMetaTableShapeReturnTypeWithData, PickQueryMetaWithData, PickQueryMetaWithDataColumnTypes, PickQueryQ, PickQueryQAndBaseQuery, PickQueryQAndInternal, PickQueryRelations, PickQueryRelationsWithData, PickQueryResultColumnTypes, PickQueryShapeResultSinglePrimaryKey, PickQueryShapeSinglePrimaryKey, PickQuerySinglePrimaryKey, PickQueryWindows, PickQueryWithData, PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, Query, QueryAfterHook, QueryArraysResult, QueryBase, QueryBaseThen, QueryBatchResult, QueryBeforeHook, QueryComputedArg, QueryData, QueryDataFromItem, QueryDataJoinTo, QueryDefaultReturnData, QueryError, QueryErrorName, QueryGet, QueryGetSelf, QueryHelperResult, QueryHooks, QueryInternal, QueryLog, QueryMetaHasSelect, QueryMetaHasWhere, QueryMethods, QueryOrExpression, QueryOrExpressionBooleanOrNullResult, QueryResult, QueryScopeData, QueryScopes, QuerySourceItem, QueryUpsertOrCreate, QueryWithTable, RawSQL, RealColumn, RecordOfColumnsShapeBase, RefExpression, RelationConfigBase, RelationConfigDataForCreate, RelationJoinQuery, RelationQuery, RelationQueryBase, RelationsBase, RuntimeComputedQueryColumn, SearchArg, SearchMethods, SearchWeight, SearchWeightRecord, Select, SelectArg, SelectArgs, SelectAs, SelectAsValue, SelectItem, SelectQueryData, SelectSubQueryResult, SelectableFromShape, SelectableOfType, SelectableOrExpression, SelectableOrExpressionOfType, SelectableOrExpressions, SerialColumn, SerialColumnData, SetQueryKind, SetQueryKindResult, SetQueryReturnsAll, SetQueryReturnsAllKind, SetQueryReturnsAllKindResult, SetQueryReturnsColumnInfo, SetQueryReturnsColumnKind, SetQueryReturnsColumnKindResult, SetQueryReturnsColumnOptional, SetQueryReturnsColumnOrThrow, SetQueryReturnsOne, SetQueryReturnsOneKind, SetQueryReturnsOneKindResult, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsPluckColumn, SetQueryReturnsPluckColumnKind, SetQueryReturnsPluckColumnKindResult, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValueOptional, SetQueryReturnsValueOrThrow, SetQueryReturnsVoid, SetQueryReturnsVoidKind, SetQueryTableAlias, ShapeColumnPrimaryKeys, ShapeUniqueColumns, SimpleJoinItem, SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, SortDir, SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, TableDataFn, TableDataInput, TableDataItem, TableDataItemsUniqueColumnTuples, TableDataItemsUniqueColumns, TableDataItemsUniqueConstraints, TableDataMethods, TextBaseColumn, TextColumn, TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, ToSQLCtx, ToSQLOptions, ToSQLQuery, Transaction, TransactionAdapter, TransactionOptions, TransformMethods, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArgs, UnionItem, UnionKind, UnionSet, UniqueConstraints, UniqueQueryTypeOrExpression, UniqueTableDataItem, UnknownColumn, Update, UpdateArg, UpdateCtx, UpdateCtxCollect, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdateSelf, UpdatedAtDataInjector, UpsertResult, UpsertThis, VarCharColumn, VirtualColumn, Where, WhereArg, WhereArgs, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereNotArgs, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WhereSearchItem, WhereSearchResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowItem, WithArgsOptions, WithConfigs, WithDataItem, WithDataItems, WithItem, WithMethods, WithOptions, WithQueryBuilder, WithRecursiveOptions, WithResult, WithSqlResult, WrapQueryArg, XMLColumn, _afterCommitError, _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, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUnion, _queryUpdate, _queryUpdateOrThrow, _queryUpdateRaw, _queryWhere, _queryWhereExists, _queryWhereIn, _queryWhereNot, _queryWhereNotOneOf, _queryWhereNotSql, _queryWhereOneOf, _queryWhereSql, addParserForRawExpression, addParserForSelectItem, addQueryOn, anyShape, applyComputedColumns, checkIfASimpleQuery, cloneQuery, cloneQueryBaseUnscoped, columnCheckToCode, columnCode, columnForeignKeysToCode, columnIndexesToCode, columnsShapeToCode, commitSql, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnInfo, getColumnTypes, getPrimaryKeys, getQueryAs, getShapeFromSelect, getSqlText, handleResult, identityToCode, indexInnerToCode, indexToCode, instantiateColumn, isDefaultTimeStamp, isQueryReturnsAll, isSelectingCount, joinSubQuery, logParamToLogObject, makeColumnTypes, makeColumnsByType, makeFnExpression, makeRegexToFindInSql, makeSQL, parseRecord, parseTableData, parseTableDataInput, primaryKeyInnerToCode, processComputedBatches, processComputedResult, processSelectArg, pushLimitSQL, pushQueryArray, pushQueryOn, pushQueryOnForOuter, pushQueryOrOn, pushQueryValue, pushTableDataCode, queryFrom, queryFromSql, queryJson, queryMethodByReturnType, queryTypeWithLimitOne, queryWrap, raw, referencesArgsToCode, resolveSubQueryCallback, rollbackSql, saveSearchAlias, setParserForSelectedString, setQueryObjectValue, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfNoWhere, toSQL, toSQLCacheKey };
|
package/dist/index.js
CHANGED
|
@@ -921,7 +921,7 @@ const makeVarArg = (_op) => {
|
|
|
921
921
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
922
922
|
);
|
|
923
923
|
};
|
|
924
|
-
const quoteValue
|
|
924
|
+
const quoteValue = (arg, ctx, quotedAs, jsonArray) => {
|
|
925
925
|
if (arg && typeof arg === "object") {
|
|
926
926
|
if (!jsonArray && Array.isArray(arg)) {
|
|
927
927
|
return `(${arg.map((value) => orchidCore.addValue(ctx.values, value)).join(", ")})`;
|
|
@@ -953,16 +953,16 @@ const quoteLikeValue = (arg, ctx, quotedAs, jsonArray) => {
|
|
|
953
953
|
};
|
|
954
954
|
const base = {
|
|
955
955
|
equals: make(
|
|
956
|
-
(key, value, ctx, quotedAs) => value === null ? `${key} IS NULL` : `${key} = ${quoteValue
|
|
956
|
+
(key, value, ctx, quotedAs) => value === null ? `${key} IS NULL` : `${key} = ${quoteValue(value, ctx, quotedAs)}`
|
|
957
957
|
),
|
|
958
958
|
not: make(
|
|
959
|
-
(key, value, ctx, quotedAs) => value === null ? `${key} IS NOT NULL` : `${key} <> ${quoteValue
|
|
959
|
+
(key, value, ctx, quotedAs) => value === null ? `${key} IS NOT NULL` : `${key} <> ${quoteValue(value, ctx, quotedAs)}`
|
|
960
960
|
),
|
|
961
961
|
in: make(
|
|
962
|
-
(key, value, ctx, quotedAs) => `${key} IN ${quoteValue
|
|
962
|
+
(key, value, ctx, quotedAs) => `${key} IN ${quoteValue(value, ctx, quotedAs)}`
|
|
963
963
|
),
|
|
964
964
|
notIn: make(
|
|
965
|
-
(key, value, ctx, quotedAs) => `NOT ${key} IN ${quoteValue
|
|
965
|
+
(key, value, ctx, quotedAs) => `NOT ${key} IN ${quoteValue(value, ctx, quotedAs)}`
|
|
966
966
|
)
|
|
967
967
|
};
|
|
968
968
|
const boolean = __spreadProps$b(__spreadValues$k({}, base), {
|
|
@@ -975,19 +975,19 @@ const boolean = __spreadProps$b(__spreadValues$k({}, base), {
|
|
|
975
975
|
});
|
|
976
976
|
const numeric = __spreadProps$b(__spreadValues$k({}, base), {
|
|
977
977
|
lt: make(
|
|
978
|
-
(key, value, ctx, quotedAs) => `${key} < ${quoteValue
|
|
978
|
+
(key, value, ctx, quotedAs) => `${key} < ${quoteValue(value, ctx, quotedAs)}`
|
|
979
979
|
),
|
|
980
980
|
lte: make(
|
|
981
|
-
(key, value, ctx, quotedAs) => `${key} <= ${quoteValue
|
|
981
|
+
(key, value, ctx, quotedAs) => `${key} <= ${quoteValue(value, ctx, quotedAs)}`
|
|
982
982
|
),
|
|
983
983
|
gt: make(
|
|
984
|
-
(key, value, ctx, quotedAs) => `${key} > ${quoteValue
|
|
984
|
+
(key, value, ctx, quotedAs) => `${key} > ${quoteValue(value, ctx, quotedAs)}`
|
|
985
985
|
),
|
|
986
986
|
gte: make(
|
|
987
|
-
(key, value, ctx, quotedAs) => `${key} >= ${quoteValue
|
|
987
|
+
(key, value, ctx, quotedAs) => `${key} >= ${quoteValue(value, ctx, quotedAs)}`
|
|
988
988
|
),
|
|
989
989
|
between: make(
|
|
990
|
-
(key, [from, to], ctx, quotedAs) => `${key} BETWEEN ${quoteValue
|
|
990
|
+
(key, [from, to], ctx, quotedAs) => `${key} BETWEEN ${quoteValue(from, ctx, quotedAs)} AND ${quoteValue(
|
|
991
991
|
to,
|
|
992
992
|
ctx,
|
|
993
993
|
quotedAs
|
|
@@ -1041,10 +1041,10 @@ const json = __spreadProps$b(__spreadValues$k({}, base), {
|
|
|
1041
1041
|
{ _op: jsonPathQueryOp }
|
|
1042
1042
|
),
|
|
1043
1043
|
jsonSupersetOf: make(
|
|
1044
|
-
(key, value, ctx, quotedAs) => `${key} @> ${quoteValue
|
|
1044
|
+
(key, value, ctx, quotedAs) => `${key} @> ${quoteValue(value, ctx, quotedAs, true)}`
|
|
1045
1045
|
),
|
|
1046
1046
|
jsonSubsetOf: make(
|
|
1047
|
-
(key, value, ctx, quotedAs) => `${key} <@ ${quoteValue
|
|
1047
|
+
(key, value, ctx, quotedAs) => `${key} <@ ${quoteValue(value, ctx, quotedAs, true)}`
|
|
1048
1048
|
),
|
|
1049
1049
|
jsonSet: makeVarArg(
|
|
1050
1050
|
(key, [path, value], ctx) => `jsonb_set(${key}, ${encodeJsonPath(ctx, path)}, ${orchidCore.addValue(
|
|
@@ -3182,25 +3182,26 @@ const defaultSchemaConfig = {
|
|
|
3182
3182
|
timestamp: (precision) => new TimestampTZColumn(defaultSchemaConfig, precision)
|
|
3183
3183
|
};
|
|
3184
3184
|
|
|
3185
|
-
const
|
|
3185
|
+
const escape = (value, migration, nested) => {
|
|
3186
3186
|
const type = typeof value;
|
|
3187
3187
|
if (type === "number" || type === "bigint")
|
|
3188
3188
|
return String(value);
|
|
3189
3189
|
else if (type === "string")
|
|
3190
|
-
return
|
|
3190
|
+
return escapeString(value);
|
|
3191
3191
|
else if (type === "boolean")
|
|
3192
3192
|
return value ? "true" : "false";
|
|
3193
3193
|
else if (value instanceof Date)
|
|
3194
3194
|
return `'${value.toISOString()}'`;
|
|
3195
3195
|
else if (Array.isArray(value))
|
|
3196
|
-
return
|
|
3196
|
+
return migration && nested && !value.length ? "" : (migration ? "{" : nested ? "[" : "ARRAY[") + value.map((el) => escape(el, migration, true)).join(",") + (migration ? "}" : "]");
|
|
3197
3197
|
else if (value === null || value === void 0)
|
|
3198
3198
|
return "NULL";
|
|
3199
3199
|
else
|
|
3200
|
-
return
|
|
3200
|
+
return escapeString(JSON.stringify(value));
|
|
3201
3201
|
};
|
|
3202
|
-
const
|
|
3203
|
-
const
|
|
3202
|
+
const escapeForLog = (value) => escape(value);
|
|
3203
|
+
const escapeForMigration = (value) => escape(value, true);
|
|
3204
|
+
const escapeString = (value) => `'${value.replaceAll("'", "''")}'`;
|
|
3204
3205
|
|
|
3205
3206
|
const makeMessage = (colors, timeColor, time, sqlColor, sql, valuesColor, values) => {
|
|
3206
3207
|
const elapsed = process.hrtime(time);
|
|
@@ -3209,7 +3210,7 @@ const makeMessage = (colors, timeColor, time, sqlColor, sql, valuesColor, values
|
|
|
3209
3210
|
if (!(values == null ? void 0 : values.length)) {
|
|
3210
3211
|
return result;
|
|
3211
3212
|
}
|
|
3212
|
-
const formattedValues = `[${values.map(
|
|
3213
|
+
const formattedValues = `[${values.map(escapeForLog).join(", ")}]`;
|
|
3213
3214
|
return `${result} ${colors ? valuesColor(formattedValues) : formattedValues}`;
|
|
3214
3215
|
};
|
|
3215
3216
|
const logParamToLogObject = (logger, log) => {
|
|
@@ -4242,7 +4243,7 @@ const addParserForSelectItem = (q, as, key, arg) => {
|
|
|
4242
4243
|
let returnType = originalReturnType;
|
|
4243
4244
|
const { hookSelect } = query;
|
|
4244
4245
|
const batches = [];
|
|
4245
|
-
|
|
4246
|
+
const last = path.length;
|
|
4246
4247
|
if (returnType === "value" || returnType === "valueOrThrow") {
|
|
4247
4248
|
if (hookSelect) {
|
|
4248
4249
|
batches.push = (item) => {
|
|
@@ -4252,8 +4253,6 @@ const addParserForSelectItem = (q, as, key, arg) => {
|
|
|
4252
4253
|
batches.push = Array.prototype.push;
|
|
4253
4254
|
return batches.push(item);
|
|
4254
4255
|
};
|
|
4255
|
-
} else {
|
|
4256
|
-
last--;
|
|
4257
4256
|
}
|
|
4258
4257
|
}
|
|
4259
4258
|
collectNestedSelectBatches(batches, rows, path, last);
|
|
@@ -4314,19 +4313,19 @@ const addParserForSelectItem = (q, as, key, arg) => {
|
|
|
4314
4313
|
const parse = (_b2 = query.parsers) == null ? void 0 : _b2[orchidCore.getValueKey];
|
|
4315
4314
|
if (parse) {
|
|
4316
4315
|
if (returnType === "value") {
|
|
4317
|
-
for (const
|
|
4318
|
-
|
|
4316
|
+
for (const item of batches) {
|
|
4317
|
+
item.parent[item.key] = item.data = item.data === void 0 ? arg.q.notFoundDefault : parse(item.data);
|
|
4319
4318
|
}
|
|
4320
4319
|
} else {
|
|
4321
|
-
for (const
|
|
4322
|
-
if (data
|
|
4320
|
+
for (const item of batches) {
|
|
4321
|
+
if (item.data === void 0)
|
|
4323
4322
|
throw new NotFoundError(arg);
|
|
4324
|
-
|
|
4323
|
+
item.parent[item.key] = item.data = parse(item.data);
|
|
4325
4324
|
}
|
|
4326
4325
|
}
|
|
4327
4326
|
} else if (returnType !== "value") {
|
|
4328
4327
|
for (const { data } of batches) {
|
|
4329
|
-
if (data
|
|
4328
|
+
if (data === void 0)
|
|
4330
4329
|
throw new NotFoundError(arg);
|
|
4331
4330
|
}
|
|
4332
4331
|
}
|
|
@@ -4395,7 +4394,9 @@ const collectNestedSelectBatches = (batches, rows, path, last) => {
|
|
|
4395
4394
|
const stack = rows.map(
|
|
4396
4395
|
(row) => ({
|
|
4397
4396
|
data: row,
|
|
4398
|
-
|
|
4397
|
+
parent: row,
|
|
4398
|
+
i: 0,
|
|
4399
|
+
key: path[0]
|
|
4399
4400
|
})
|
|
4400
4401
|
);
|
|
4401
4402
|
while (stack.length > 0) {
|
|
@@ -5827,7 +5828,7 @@ const pushCopySql = (ctx, table, query, quotedAs) => {
|
|
|
5827
5828
|
}).join(", ")})` : "";
|
|
5828
5829
|
const target = "from" in copy ? copy.from : copy.to;
|
|
5829
5830
|
sql.push(
|
|
5830
|
-
`COPY "${table.table}"${columns} ${"from" in copy ? "FROM" : "TO"} ${typeof target === "string" ?
|
|
5831
|
+
`COPY "${table.table}"${columns} ${"from" in copy ? "FROM" : "TO"} ${typeof target === "string" ? escapeString(target) : `PROGRAM ${escapeString(target.program)}`}`
|
|
5831
5832
|
);
|
|
5832
5833
|
if (Object.keys(copy).length > (copy.columns ? 2 : 1)) {
|
|
5833
5834
|
const options = [];
|
|
@@ -5836,15 +5837,15 @@ const pushCopySql = (ctx, table, query, quotedAs) => {
|
|
|
5836
5837
|
if (copy.freeze)
|
|
5837
5838
|
options.push(`FREEZE ${copy.freeze}`);
|
|
5838
5839
|
if (copy.delimiter)
|
|
5839
|
-
options.push(`DELIMITER ${
|
|
5840
|
+
options.push(`DELIMITER ${escapeString(copy.delimiter)}`);
|
|
5840
5841
|
if (copy.null)
|
|
5841
|
-
options.push(`NULL ${
|
|
5842
|
+
options.push(`NULL ${escapeString(copy.null)}`);
|
|
5842
5843
|
if (copy.header)
|
|
5843
5844
|
options.push(`HEADER ${copy.header}`);
|
|
5844
5845
|
if (copy.quote)
|
|
5845
|
-
options.push(`QUOTE ${
|
|
5846
|
+
options.push(`QUOTE ${escapeString(copy.quote)}`);
|
|
5846
5847
|
if (copy.escape)
|
|
5847
|
-
options.push(`ESCAPE ${
|
|
5848
|
+
options.push(`ESCAPE ${escapeString(copy.escape)}`);
|
|
5848
5849
|
if (copy.forceQuote)
|
|
5849
5850
|
options.push(
|
|
5850
5851
|
`FORCE_QUOTE ${copy.forceQuote === "*" ? "*" : `(${copy.forceQuote.map((x) => `"${x}"`).join(", ")})`}`
|
|
@@ -5858,7 +5859,7 @@ const pushCopySql = (ctx, table, query, quotedAs) => {
|
|
|
5858
5859
|
`FORCE_NULL (${copy.forceNull.map((x) => `"${x}"`).join(", ")})`
|
|
5859
5860
|
);
|
|
5860
5861
|
if (copy.encoding)
|
|
5861
|
-
options.push(`ENCODING ${
|
|
5862
|
+
options.push(`ENCODING ${escapeString(copy.encoding)}`);
|
|
5862
5863
|
sql.push(`WITH (${options.join(", ")})`);
|
|
5863
5864
|
}
|
|
5864
5865
|
pushWhereStatementSql(ctx, table, query, quotedAs);
|
|
@@ -11158,7 +11159,7 @@ class QueryUpsertOrCreate {
|
|
|
11158
11159
|
*
|
|
11159
11160
|
* ```ts
|
|
11160
11161
|
* await User.selectAll()
|
|
11161
|
-
* .
|
|
11162
|
+
* .findBy({ email: 'some@email.com' })
|
|
11162
11163
|
* .upsert({
|
|
11163
11164
|
* data: {
|
|
11164
11165
|
* // update record's name
|
|
@@ -11172,7 +11173,7 @@ class QueryUpsertOrCreate {
|
|
|
11172
11173
|
*
|
|
11173
11174
|
* // the same as above but using `update` and `create`
|
|
11174
11175
|
* await User.selectAll()
|
|
11175
|
-
* .
|
|
11176
|
+
* .findBy({ email: 'some@email.com' })
|
|
11176
11177
|
* .upsert({
|
|
11177
11178
|
* update: {
|
|
11178
11179
|
* name: 'updated user',
|
|
@@ -11189,7 +11190,7 @@ class QueryUpsertOrCreate {
|
|
|
11189
11190
|
*
|
|
11190
11191
|
* ```ts
|
|
11191
11192
|
* await User.selectAll()
|
|
11192
|
-
* .
|
|
11193
|
+
* .findBy({ email: 'some@email.com' })
|
|
11193
11194
|
* .upsert({
|
|
11194
11195
|
* update: {
|
|
11195
11196
|
* name: 'updated user',
|
|
@@ -11202,7 +11203,7 @@ class QueryUpsertOrCreate {
|
|
|
11202
11203
|
*
|
|
11203
11204
|
* // the same as above using `data`
|
|
11204
11205
|
* await User.selectAll()
|
|
11205
|
-
* .
|
|
11206
|
+
* .findBy({ email: 'some@email.com' })
|
|
11206
11207
|
* .upsert({
|
|
11207
11208
|
* data: {
|
|
11208
11209
|
* name: 'updated user',
|
|
@@ -11219,7 +11220,7 @@ class QueryUpsertOrCreate {
|
|
|
11219
11220
|
*
|
|
11220
11221
|
* ```ts
|
|
11221
11222
|
* const user = await User.selectAll()
|
|
11222
|
-
* .
|
|
11223
|
+
* .findBy({ email: 'some@email.com' })
|
|
11223
11224
|
* .upsert({
|
|
11224
11225
|
* data: {
|
|
11225
11226
|
* name: 'updated user',
|
|
@@ -11259,17 +11260,19 @@ class QueryUpsertOrCreate {
|
|
|
11259
11260
|
* By default, it is not returning columns, place `get`, `select`, or `selectAll` before `orCreate` to specify returning columns.
|
|
11260
11261
|
*
|
|
11261
11262
|
* ```ts
|
|
11262
|
-
* const user = await User.selectAll()
|
|
11263
|
-
* email: 'some@email.com'
|
|
11264
|
-
*
|
|
11265
|
-
*
|
|
11263
|
+
* const user = await User.selectAll()
|
|
11264
|
+
* .findBy({ email: 'some@email.com' })
|
|
11265
|
+
* .orCreate({
|
|
11266
|
+
* email: 'some@email.com',
|
|
11267
|
+
* name: 'created user',
|
|
11268
|
+
* });
|
|
11266
11269
|
* ```
|
|
11267
11270
|
*
|
|
11268
11271
|
* The data may be returned from a function, it won't be called if the record was found:
|
|
11269
11272
|
*
|
|
11270
11273
|
* ```ts
|
|
11271
11274
|
* const user = await User.selectAll()
|
|
11272
|
-
* .
|
|
11275
|
+
* .findBy({ email: 'some@email.com' })
|
|
11273
11276
|
* .orCreate(() => ({
|
|
11274
11277
|
* email: 'some@email.com',
|
|
11275
11278
|
* name: 'created user',
|
|
@@ -11370,11 +11373,11 @@ class QueryMap {
|
|
|
11370
11373
|
/**
|
|
11371
11374
|
* Use `map` to transform individual records of a query result.
|
|
11372
11375
|
*
|
|
11373
|
-
*
|
|
11376
|
+
* Use `map` to transform individual records of a query result. If the query returns multiple, `map` function going to transform records one by one.
|
|
11374
11377
|
*
|
|
11375
|
-
* For
|
|
11378
|
+
* For an optional query result (`findOptional`, `getOptional`, etc.), `map` is **not** called for empty results.
|
|
11376
11379
|
*
|
|
11377
|
-
*
|
|
11380
|
+
* For transforming the result of a query as a whole, consider using {@link Query.transform} instead.
|
|
11378
11381
|
*
|
|
11379
11382
|
* ```ts
|
|
11380
11383
|
* // add a `titleLength` to every post
|
|
@@ -13171,6 +13174,9 @@ exports.copyTableData = copyTableData;
|
|
|
13171
13174
|
exports.countSelect = countSelect;
|
|
13172
13175
|
exports.createDb = createDb;
|
|
13173
13176
|
exports.defaultSchemaConfig = defaultSchemaConfig;
|
|
13177
|
+
exports.escapeForLog = escapeForLog;
|
|
13178
|
+
exports.escapeForMigration = escapeForMigration;
|
|
13179
|
+
exports.escapeString = escapeString;
|
|
13174
13180
|
exports.extendQuery = extendQuery;
|
|
13175
13181
|
exports.filterResult = filterResult;
|
|
13176
13182
|
exports.foreignKeyArgumentToCode = foreignKeyArgumentToCode;
|
|
@@ -13216,8 +13222,6 @@ exports.queryJson = queryJson;
|
|
|
13216
13222
|
exports.queryMethodByReturnType = queryMethodByReturnType;
|
|
13217
13223
|
exports.queryTypeWithLimitOne = queryTypeWithLimitOne;
|
|
13218
13224
|
exports.queryWrap = queryWrap;
|
|
13219
|
-
exports.quote = quote;
|
|
13220
|
-
exports.quoteString = quoteString;
|
|
13221
13225
|
exports.raw = raw;
|
|
13222
13226
|
exports.referencesArgsToCode = referencesArgsToCode;
|
|
13223
13227
|
exports.resolveSubQueryCallback = resolveSubQueryCallback;
|