pqb 0.51.3 → 0.51.5

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 CHANGED
@@ -2730,7 +2730,7 @@ declare class IntervalColumn<Schema extends ColumnSchemaConfig> extends ColumnTy
2730
2730
  toSQL(): string;
2731
2731
  }
2732
2732
 
2733
- declare class EnumColumn<Schema extends ColumnTypeSchemaArg, SchemaType extends Schema['type'], U extends string = string, T extends readonly [U, ...U[]] = [U]> extends ColumnType<Schema, T[number], SchemaType, OperatorsAny> {
2733
+ declare class EnumColumn<Schema extends ColumnTypeSchemaArg, SchemaType extends Schema['type'], T extends readonly string[]> extends ColumnType<Schema, T[number], SchemaType, OperatorsAny> {
2734
2734
  enumName: string;
2735
2735
  options: T;
2736
2736
  operators: OperatorsAny;
@@ -3367,7 +3367,7 @@ interface DefaultSchemaConfig extends ColumnSchemaConfig<ColumnType> {
3367
3367
  };
3368
3368
  dateAsNumber<T extends ColumnType>(this: T): ParseColumn<T, unknown, number>;
3369
3369
  dateAsDate<T extends ColumnType>(this: T): ParseColumn<T, unknown, Date>;
3370
- enum<U extends string, T extends readonly [U, ...U[]]>(dataType: string, type: T): EnumColumn<DefaultSchemaConfig, unknown, U, T>;
3370
+ enum<T extends readonly string[]>(dataType: string, type: T): EnumColumn<DefaultSchemaConfig, unknown, T>;
3371
3371
  array<Item extends ArrayColumnValue>(item: Item): ArrayColumn<DefaultSchemaConfig, Item, unknown, unknown, unknown>;
3372
3372
  json<T>(): JSONColumn<unknown extends T ? MaybeArray<string | number | boolean | object> : T, DefaultSchemaConfig>;
3373
3373
  inputSchema(): undefined;
@@ -8569,7 +8569,7 @@ interface PostgisPoint {
8569
8569
  declare class PostgisGeographyPointColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, PostgisPoint, ReturnType<Schema['geographyPointSchema']>, OperatorsAny> {
8570
8570
  dataType: string;
8571
8571
  operators: OperatorsAny;
8572
- static encode: ({ srid, lon, lat, }: PostgisPoint) => string;
8572
+ static encode: ({ srid, lon, lat }: PostgisPoint) => string;
8573
8573
  static isDefaultPoint(typmod: number): boolean;
8574
8574
  constructor(schema: Schema);
8575
8575
  toCode(ctx: ColumnToCodeCtx, key: string): Code;
@@ -8716,6 +8716,9 @@ interface ColumnsByType {
8716
8716
  }
8717
8717
  declare const makeColumnsByType: (schema: ColumnSchemaConfig) => ColumnsByType;
8718
8718
 
8719
+ interface DbStructureDomainsMap {
8720
+ [K: string]: ColumnType;
8721
+ }
8719
8722
  declare const addColumnParserToQuery: (q: {
8720
8723
  parsers?: ColumnsParsers;
8721
8724
  }, key: string | getValueKey, column: QueryColumn) => void;
@@ -8723,6 +8726,7 @@ declare const setColumnDefaultParse: (column: ColumnTypeBase, parse: (input: any
8723
8726
  declare const setColumnParse: (column: ColumnTypeBase, fn: (input: any) => unknown, outputSchema?: unknown) => any;
8724
8727
  declare const setColumnParseNull: (column: ColumnTypeBase, fn: () => unknown, nullSchema?: unknown) => any;
8725
8728
  declare const setColumnEncode: (column: ColumnTypeBase, fn: (input: any) => unknown, inputSchema?: unknown) => any;
8729
+ declare const getColumnBaseType: (column: ColumnTypeBase, domainsMap: DbStructureDomainsMap, type: string) => string;
8726
8730
 
8727
8731
  type Value = any;
8728
8732
  declare const escapeForLog: (value: Value) => string;
@@ -8908,4 +8912,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
8908
8912
  */
8909
8913
  declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
8910
8914
 
8911
- export { Adapter, type AdapterConfig, type AdapterOptions, type AddQueryDefaults, AfterCommitError, type AfterCommitErrorFulfilledResult, type AfterCommitErrorRejectedResult, type AfterCommitErrorResult, type AfterHook, type AggregateArgTypes, AggregateMethods, type AggregateOptions, type AliasOrTable, ArrayColumn, type ArrayColumnValue, type ArrayData, AsMethods, type AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, type BooleanQueryColumn, BoxColumn, ByteaColumn, type ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, type ClearStatement, type ColumnData, type ColumnDataGenerated, type ColumnFromDbParams, type ColumnInfoQueryData, ColumnRefExpression, ColumnType, type ColumnsByType, type ColumnsShape, type ColumnsShapeToNullableObject, type ColumnsShapeToObject, type ColumnsShapeToObjectArray, type ColumnsShapeToPluck, type CommonQueryData, ComputedColumn, type ComputedColumns, type ComputedColumnsFromOptions, type ComputedMethods, type ComputedOptionsConfig, type ComputedOptionsFactory, type CopyOptions, type CopyQueryData, Create, type CreateBelongsToData, type CreateColumn, type CreateCtx, type CreateData, type CreateKind, type CreateMethodsNames, type CreateRelationsData, type CreateRelationsDataOmittingFKeys, type CreateResult, type CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, type DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, type DbDomainArg, type DbDomainArgRecord, type DbExtension, type DbOptions, type DbResult, type DbSharedOptions, type DbTableConstructor, type DbTableOptionScopes, type DbTableOptions, DecimalColumn, type DecimalColumnData, type DefaultColumnTypes, type DefaultSchemaConfig, Delete, type DeleteArgs, type DeleteMethodsNames, type DeleteQueryData, type DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, type ExpressionOutput, FnExpression, type FnExpressionArgs, type FnExpressionArgsPairs, type FnExpressionArgsValue, For, type FromArg, FromMethods, type FromQuerySelf, type FromResult, type GeneratedColumn, type GeneratorIgnore, type GetArg, type GetColumnInfo, type GetResult, type GetResultOptional, type GetStringArg, type GroupArgs, type HandleResult, Having, type HavingItem, type HookAction, type HookSelectArg, type IdentityColumn, InetColumn, type InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, type IsolationLevel, JSONColumn, JSONTextColumn, Join, type JoinArgToQuery, type JoinArgs, type JoinCallback, type JoinFirstArg, type JoinItem, type JoinItemArgs, type JoinLateralItem, type JoinLateralResult, type JoinQueryBuilder, type JoinQueryMethod, type JoinResult, type JoinResultRequireMain, type JoinedParsers, type JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, type MapTableScopesOption, type MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, type NoPrimaryKeyOption, type NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, type NumberColumnData, type NumericColumns, type OnConflictMerge, OnConflictQueryBuilder, type OnConflictSet, type OnConflictTarget, OnMethods, type Operator, Operators, type OperatorsAny, type OperatorsArray, type OperatorsBoolean, type OperatorsDate, type OperatorsJson, type OperatorsNumber, type OperatorsText, type OperatorsTime, type OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, type OrderArg, type OrderArgSelf, type OrderArgs, type OrderItem, type OrderTsQueryConfig, type Over, PathColumn, type PickColumnData, type PickQueryBaseQuery, type PickQueryColumnTypes, type PickQueryDataShapeAndJoinedShapes, type PickQueryInternal, type PickQueryMetaColumnTypes, type PickQueryMetaRelations, type PickQueryMetaRelationsResult, type PickQueryMetaRelationsResultReturnType, type PickQueryMetaRelationsReturnType, type PickQueryMetaResultRelations, type PickQueryMetaResultRelationsWindows, type PickQueryMetaResultRelationsWindowsColumnTypes, type PickQueryMetaResultRelationsWithDataReturnType, type PickQueryMetaResultRelationsWithDataReturnTypeShape, type PickQueryMetaResultReturnTypeWithDataWindows, type PickQueryMetaResultReturnTypeWithDataWindowsThen, type PickQueryMetaShapeRelationsReturnType, type PickQueryMetaShapeRelationsWithData, type PickQueryMetaTable, type PickQueryMetaTableShape, type PickQueryMetaTableShapeReturnTypeWithData, type PickQueryMetaWithData, type PickQueryMetaWithDataColumnTypes, type PickQueryQ, type PickQueryQAndBaseQuery, type PickQueryQAndInternal, type PickQueryRelations, type PickQueryRelationsWithData, type PickQueryResultColumnTypes, type PickQueryShapeResultReturnTypeSinglePrimaryKey, type PickQueryShapeResultSinglePrimaryKey, type PickQueryShapeSinglePrimaryKey, type PickQuerySinglePrimaryKey, type PickQueryTableMetaResultReturnTypeWithDataWindowsThen, type PickQueryWindows, type PickQueryWithData, type PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, PostgisGeographyPointColumn, type PostgisPoint, type Query, type QueryAfterHook, type QueryArraysResult, type QueryBatchResult, type QueryBeforeHook, type QueryComputedArg, type QueryData, type QueryDataFromItem, type QueryDataJoinTo, type QueryDefaultReturnData, QueryError, type QueryErrorName, QueryGet, type QueryGetSelf, type QueryHelperResult, QueryHooks, type QueryIfResultThen, type QueryInternal, QueryLog, type QueryMetaHasSelect, type QueryMetaHasWhere, QueryMethods, type QueryOrExpression, type QueryOrExpressionBooleanOrNullResult, type QueryResult, type QueryScopeData, type QueryScopes, type QuerySourceItem, type QueryTake, type QueryTakeOptional, QueryUpsertOrCreate, RawSQL, RealColumn, type RecordOfColumnsShapeBase, RefExpression, type RelationConfigBase, type RelationConfigDataForCreate, type RelationJoinQuery, type RelationQueryBase, type RelationsBase, type ReturnsQueryOrExpression, type RuntimeComputedQueryColumn, type SearchArg, SearchMethods, type SearchWeight, type SearchWeightRecord, Select, type SelectArg, type SelectArgs, type SelectAs, type SelectAsValue, type SelectItem, type SelectQueryData, type SelectSubQueryResult, type SelectableFromShape, type SelectableOfType, type SelectableOrExpression, type SelectableOrExpressionOfType, type SelectableOrExpressions, SerialColumn, type SerialColumnData, type SetQueryKind, type SetQueryKindResult, type SetQueryReturnsAll, type SetQueryReturnsAllKind, type SetQueryReturnsAllKindResult, type SetQueryReturnsColumnInfo, type SetQueryReturnsColumnKind, type SetQueryReturnsColumnKindResult, type SetQueryReturnsColumnOptional, type SetQueryReturnsColumnOrThrow, type SetQueryReturnsOneKind, type SetQueryReturnsOneKindResult, type SetQueryReturnsPluck, type SetQueryReturnsPluckColumn, type SetQueryReturnsPluckColumnKind, type SetQueryReturnsPluckColumnKindResult, type SetQueryReturnsRowCount, type SetQueryReturnsRowCountMany, type SetQueryReturnsRows, type SetQueryReturnsValueOptional, type SetQueryReturnsValueOrThrow, type SetQueryReturnsVoid, type SetQueryReturnsVoidKind, type SetQueryTableAlias, type ShapeColumnPrimaryKeys, type ShapeUniqueColumns, type SimpleJoinItem, type SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, type SortDir, type SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, type TableDataFn, type TableDataInput, type TableDataItem, type TableDataItemsUniqueColumnTuples, type TableDataItemsUniqueColumns, type TableDataItemsUniqueConstraints, type TableDataMethods, TextBaseColumn, TextColumn, type TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, type ToSQLCtx, type ToSQLOptions, type ToSQLQuery, Transaction, TransactionAdapter, type TransactionOptions, TransformMethods, type TruncateQueryData, TsQueryColumn, TsVectorColumn, type TypeParsers, UUIDColumn, UnhandledTypeError, Union, type UnionArgs, type UnionItem, type UnionKind, type UnionSet, type UniqueConstraints, type UniqueQueryTypeOrExpression, type UniqueTableDataItem, UnknownColumn, Update, type UpdateArg, type UpdateCtx, type UpdateCtxCollect, type UpdateData, type UpdateQueryData, type UpdateQueryDataItem, type UpdateQueryDataObject, type UpdateSelf, type UpdatedAtDataInjector, type UpsertResult, type UpsertThis, VarCharColumn, VirtualColumn, Where, type WhereArg, type WhereArgs, type WhereInArg, type WhereInColumn, type WhereInItem, type WhereInValues, type WhereItem, type WhereJsonPathEqualsItem, type WhereNotArgs, type WhereOnItem, type WhereOnJoinItem, type WhereQueryBuilder, type WhereResult, type WhereSearchItem, type WhereSearchResult, type WindowArg, type WindowArgDeclaration, type WindowDeclaration, type WindowItem, type WithArgsOptions, type WithConfigs, type WithDataItem, type WithDataItems, type WithItem, WithMethods, type WithOptions, type WithQueryBuilder, type WithRecursiveOptions, type WithResult, type WithSqlResult, type WrapQueryArg, 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, 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, saveSearchAlias, setColumnDefaultParse, setColumnEncode, setColumnParse, setColumnParseNull, setParserForSelectedString, setQueryObjectValueImmutable, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfJoinLateral, throwIfNoWhere, toSQL };
8915
+ export { Adapter, type AdapterConfig, type AdapterOptions, type AddQueryDefaults, AfterCommitError, type AfterCommitErrorFulfilledResult, type AfterCommitErrorRejectedResult, type AfterCommitErrorResult, type AfterHook, type AggregateArgTypes, AggregateMethods, type AggregateOptions, type AliasOrTable, ArrayColumn, type ArrayColumnValue, type ArrayData, AsMethods, type AsQueryArg, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, type BooleanQueryColumn, BoxColumn, ByteaColumn, type ChangeCountArg, CidrColumn, CircleColumn, CitextColumn, Clear, type ClearStatement, type ColumnData, type ColumnDataGenerated, type ColumnFromDbParams, type ColumnInfoQueryData, ColumnRefExpression, ColumnType, type ColumnsByType, type ColumnsShape, type ColumnsShapeToNullableObject, type ColumnsShapeToObject, type ColumnsShapeToObjectArray, type ColumnsShapeToPluck, type CommonQueryData, ComputedColumn, type ComputedColumns, type ComputedColumnsFromOptions, type ComputedMethods, type ComputedOptionsConfig, type ComputedOptionsFactory, type CopyOptions, type CopyQueryData, Create, type CreateBelongsToData, type CreateColumn, type CreateCtx, type CreateData, type CreateKind, type CreateMethodsNames, type CreateRelationsData, type CreateRelationsDataOmittingFKeys, type CreateResult, type CreateSelf, CustomTypeColumn, DateBaseColumn, DateColumn, type DateColumnInput, DateTimeBaseClass, DateTimeTzBaseClass, Db, type DbDomainArg, type DbDomainArgRecord, type DbExtension, type DbOptions, type DbResult, type DbSharedOptions, type DbStructureDomainsMap, type DbTableConstructor, type DbTableOptionScopes, type DbTableOptions, DecimalColumn, type DecimalColumnData, type DefaultColumnTypes, type DefaultSchemaConfig, Delete, type DeleteArgs, type DeleteMethodsNames, type DeleteQueryData, type DeleteResult, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, ExpressionMethods, type ExpressionOutput, FnExpression, type FnExpressionArgs, type FnExpressionArgsPairs, type FnExpressionArgsValue, For, type FromArg, FromMethods, type FromQuerySelf, type FromResult, type GeneratedColumn, type GeneratorIgnore, type GetArg, type GetColumnInfo, type GetResult, type GetResultOptional, type GetStringArg, type GroupArgs, type HandleResult, Having, type HavingItem, type HookAction, type HookSelectArg, type IdentityColumn, InetColumn, type InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, type IsolationLevel, JSONColumn, JSONTextColumn, Join, type JoinArgToQuery, type JoinArgs, type JoinCallback, type JoinFirstArg, type JoinItem, type JoinItemArgs, type JoinLateralItem, type JoinLateralResult, type JoinQueryBuilder, type JoinQueryMethod, type JoinResult, type JoinResultRequireMain, type JoinedParsers, type JoinedShapes, JsonMethods, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, type MapTableScopesOption, type MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, type NoPrimaryKeyOption, type NonUniqDataItem, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, type NumberColumnData, type NumericColumns, type OnConflictMerge, OnConflictQueryBuilder, type OnConflictSet, type OnConflictTarget, OnMethods, type Operator, Operators, type OperatorsAny, type OperatorsArray, type OperatorsBoolean, type OperatorsDate, type OperatorsJson, type OperatorsNumber, type OperatorsText, type OperatorsTime, type OrCreateArg, OrExpression, OrchidOrmError, OrchidOrmInternalError, type OrderArg, type OrderArgSelf, type OrderArgs, type OrderItem, type OrderTsQueryConfig, type Over, PathColumn, type PickColumnData, type PickQueryBaseQuery, type PickQueryColumnTypes, type PickQueryDataShapeAndJoinedShapes, type PickQueryInternal, type PickQueryMetaColumnTypes, type PickQueryMetaRelations, type PickQueryMetaRelationsResult, type PickQueryMetaRelationsResultReturnType, type PickQueryMetaRelationsReturnType, type PickQueryMetaResultRelations, type PickQueryMetaResultRelationsWindows, type PickQueryMetaResultRelationsWindowsColumnTypes, type PickQueryMetaResultRelationsWithDataReturnType, type PickQueryMetaResultRelationsWithDataReturnTypeShape, type PickQueryMetaResultReturnTypeWithDataWindows, type PickQueryMetaResultReturnTypeWithDataWindowsThen, type PickQueryMetaShapeRelationsReturnType, type PickQueryMetaShapeRelationsWithData, type PickQueryMetaTable, type PickQueryMetaTableShape, type PickQueryMetaTableShapeReturnTypeWithData, type PickQueryMetaWithData, type PickQueryMetaWithDataColumnTypes, type PickQueryQ, type PickQueryQAndBaseQuery, type PickQueryQAndInternal, type PickQueryRelations, type PickQueryRelationsWithData, type PickQueryResultColumnTypes, type PickQueryShapeResultReturnTypeSinglePrimaryKey, type PickQueryShapeResultSinglePrimaryKey, type PickQueryShapeSinglePrimaryKey, type PickQuerySinglePrimaryKey, type PickQueryTableMetaResultReturnTypeWithDataWindowsThen, type PickQueryWindows, type PickQueryWithData, type PickQueryWithDataColumnTypes, PointColumn, PolygonColumn, PostgisGeographyPointColumn, type PostgisPoint, type Query, type QueryAfterHook, type QueryArraysResult, type QueryBatchResult, type QueryBeforeHook, type QueryComputedArg, type QueryData, type QueryDataFromItem, type QueryDataJoinTo, type QueryDefaultReturnData, QueryError, type QueryErrorName, QueryGet, type QueryGetSelf, type QueryHelperResult, QueryHooks, type QueryIfResultThen, type QueryInternal, QueryLog, type QueryMetaHasSelect, type QueryMetaHasWhere, QueryMethods, type QueryOrExpression, type QueryOrExpressionBooleanOrNullResult, type QueryResult, type QueryScopeData, type QueryScopes, type QuerySourceItem, type QueryTake, type QueryTakeOptional, QueryUpsertOrCreate, RawSQL, RealColumn, type RecordOfColumnsShapeBase, RefExpression, type RelationConfigBase, type RelationConfigDataForCreate, type RelationJoinQuery, type RelationQueryBase, type RelationsBase, type ReturnsQueryOrExpression, type RuntimeComputedQueryColumn, type SearchArg, SearchMethods, type SearchWeight, type SearchWeightRecord, Select, type SelectArg, type SelectArgs, type SelectAs, type SelectAsValue, type SelectItem, type SelectQueryData, type SelectSubQueryResult, type SelectableFromShape, type SelectableOfType, type SelectableOrExpression, type SelectableOrExpressionOfType, type SelectableOrExpressions, SerialColumn, type SerialColumnData, type SetQueryKind, type SetQueryKindResult, type SetQueryReturnsAll, type SetQueryReturnsAllKind, type SetQueryReturnsAllKindResult, type SetQueryReturnsColumnInfo, type SetQueryReturnsColumnKind, type SetQueryReturnsColumnKindResult, type SetQueryReturnsColumnOptional, type SetQueryReturnsColumnOrThrow, type SetQueryReturnsOneKind, type SetQueryReturnsOneKindResult, type SetQueryReturnsPluck, type SetQueryReturnsPluckColumn, type SetQueryReturnsPluckColumnKind, type SetQueryReturnsPluckColumnKindResult, type SetQueryReturnsRowCount, type SetQueryReturnsRowCountMany, type SetQueryReturnsRows, type SetQueryReturnsValueOptional, type SetQueryReturnsValueOrThrow, type SetQueryReturnsVoid, type SetQueryReturnsVoidKind, type SetQueryTableAlias, type ShapeColumnPrimaryKeys, type ShapeUniqueColumns, type SimpleJoinItem, type SimpleJoinItemNonSubQueryArgs, SmallIntColumn, SmallSerialColumn, type SortDir, type SqlFn, SqlMethod, StringColumn$1 as StringColumn, TableData, type TableDataFn, type TableDataInput, type TableDataItem, type TableDataItemsUniqueColumnTuples, type TableDataItemsUniqueColumns, type TableDataItemsUniqueConstraints, type TableDataMethods, TextBaseColumn, TextColumn, type TextColumnData, Then, TimeColumn, TimestampColumn, TimestampTZColumn, type ToSQLCtx, type ToSQLOptions, type ToSQLQuery, Transaction, TransactionAdapter, type TransactionOptions, TransformMethods, type TruncateQueryData, TsQueryColumn, TsVectorColumn, type TypeParsers, UUIDColumn, UnhandledTypeError, Union, type UnionArgs, type UnionItem, type UnionKind, type UnionSet, type UniqueConstraints, type UniqueQueryTypeOrExpression, type UniqueTableDataItem, UnknownColumn, Update, type UpdateArg, type UpdateCtx, type UpdateCtxCollect, type UpdateData, type UpdateQueryData, type UpdateQueryDataItem, type UpdateQueryDataObject, type UpdateSelf, type UpdatedAtDataInjector, type UpsertResult, type UpsertThis, VarCharColumn, VirtualColumn, Where, type WhereArg, type WhereArgs, type WhereInArg, type WhereInColumn, type WhereInItem, type WhereInValues, type WhereItem, type WhereJsonPathEqualsItem, type WhereNotArgs, type WhereOnItem, type WhereOnJoinItem, type WhereQueryBuilder, type WhereResult, type WhereSearchItem, type WhereSearchResult, type WindowArg, type WindowArgDeclaration, type WindowDeclaration, type WindowItem, type WithArgsOptions, type WithConfigs, type WithDataItem, type WithDataItems, type WithItem, WithMethods, type WithOptions, type WithQueryBuilder, type WithRecursiveOptions, type WithResult, type WithSqlResult, type WrapQueryArg, 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, constraintInnerToCode, constraintToCode, copyTableData, countSelect, createDb, defaultSchemaConfig, escapeForLog, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, extendQuery, filterResult, foreignKeyArgumentToCode, getClonedQueryData, getColumnBaseType, 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, saveSearchAlias, setColumnDefaultParse, setColumnEncode, setColumnParse, setColumnParseNull, setParserForSelectedString, setQueryObjectValueImmutable, setQueryOperators, simplifyColumnDefault, sqlFn, sqlQueryArgsToExpression, tableDataMethods, templateLiteralToSQL, testTransaction, throwIfJoinLateral, throwIfNoWhere, toSQL };
package/dist/index.js CHANGED
@@ -880,12 +880,6 @@ const columnCode = (type, ctx, key, code) => {
880
880
  }
881
881
  if (data.explicitSelect) orchidCore.addCode(code, ".select(false)");
882
882
  if (data.isNullable) orchidCore.addCode(code, ".nullable()");
883
- if (data.encode && data.encode !== data.defaultEncode)
884
- orchidCore.addCode(code, `.encode(${data.encode.toString()})`);
885
- if (data.parse && data.parse !== data.defaultParse)
886
- orchidCore.addCode(code, `.parse(${data.parse.toString()})`);
887
- if (type.data.parseNull)
888
- orchidCore.addCode(code, `.parseNull(${type.data.parseNull.toString()})`);
889
883
  if (data.as) orchidCore.addCode(code, `.as(${data.as.toCode(ctx, key)})`);
890
884
  if (data.default !== void 0 && data.default !== data.defaultDefault && (!ctx.migration || typeof data.default !== "function")) {
891
885
  orchidCore.addCode(
@@ -932,6 +926,60 @@ const getSqlText = (sql) => {
932
926
  throw new Error(`Batch SQL is not supported in this query`);
933
927
  };
934
928
 
929
+ class CustomTypeColumn extends ColumnType {
930
+ constructor(schema, dataType, extension) {
931
+ super(
932
+ schema,
933
+ schema.unknown(),
934
+ schema.unknown(),
935
+ schema.unknown()
936
+ );
937
+ this.dataType = dataType;
938
+ this.operators = Operators.any;
939
+ this.data.isOfCustomType = true;
940
+ this.data.extension = extension;
941
+ }
942
+ toCode(ctx, key) {
943
+ return columnCode(this, ctx, key, `type(${orchidCore.singleQuote(this.dataType)})`);
944
+ }
945
+ as(column) {
946
+ const c = orchidCore.setColumnData(
947
+ this,
948
+ "as",
949
+ column
950
+ );
951
+ c.inputSchema = column.inputSchema;
952
+ c.outputSchema = column.outputSchema;
953
+ c.querySchema = column.querySchema;
954
+ return c;
955
+ }
956
+ }
957
+ class DomainColumn extends CustomTypeColumn {
958
+ toCode(ctx, key) {
959
+ return columnCode(this, ctx, key, `domain(${orchidCore.singleQuote(this.dataType)})`);
960
+ }
961
+ }
962
+
963
+ class EnumColumn extends ColumnType {
964
+ constructor(schema, enumName, options, schemaType) {
965
+ super(schema, schemaType);
966
+ this.enumName = enumName;
967
+ this.options = options;
968
+ this.operators = Operators.any;
969
+ this.dataType = "enum";
970
+ this.inputSchema = this.outputSchema = this.querySchema = schemaType;
971
+ }
972
+ toCode(ctx, key) {
973
+ const options = ctx.migration ? "" : `, [${this.options.map((option) => `'${option}'`).join(", ")}]`;
974
+ return columnCode(this, ctx, key, `enum('${this.enumName}'${options})`);
975
+ }
976
+ toSQL() {
977
+ const name = this.enumName;
978
+ const index = name.indexOf(".");
979
+ return `"${index === -1 ? name : `${name.slice(0, index)}"."${name.slice(index + 1)}`}"`;
980
+ }
981
+ }
982
+
935
983
  const addColumnParserToQuery = (q, key, column) => {
936
984
  if (column._parse) {
937
985
  orchidCore.setObjectValueImmutable(
@@ -943,7 +991,7 @@ const addColumnParserToQuery = (q, key, column) => {
943
991
  }
944
992
  };
945
993
  const setColumnDefaultParse = (column, parse) => {
946
- column.data.parse = column.data.defaultParse = parse;
994
+ column.data.parse = parse;
947
995
  column._parse = (input) => input === null ? null : parse(input);
948
996
  };
949
997
  const setColumnParse = (column, fn, outputSchema) => {
@@ -968,6 +1016,9 @@ const setColumnEncode = (column, fn, inputSchema) => {
968
1016
  c.data = { ...column.data, encode: fn };
969
1017
  return c;
970
1018
  };
1019
+ const getColumnBaseType = (column, domainsMap, type) => {
1020
+ return column instanceof EnumColumn ? "text" : column instanceof DomainColumn ? domainsMap[column.dataType]?.dataType : type;
1021
+ };
971
1022
 
972
1023
  function setQueryOperators(query, operators) {
973
1024
  const q = query.q;
@@ -1643,7 +1694,7 @@ class DateBaseColumn extends ColumnType {
1643
1694
  this.operators = Operators.date;
1644
1695
  this.asNumber = schema.dateAsNumber;
1645
1696
  this.asDate = schema.dateAsDate;
1646
- this.data.encode = this.data.defaultEncode = dateTimeEncode;
1697
+ this.data.encode = dateTimeEncode;
1647
1698
  }
1648
1699
  }
1649
1700
  class DateColumn extends DateBaseColumn {
@@ -1787,13 +1838,13 @@ class BooleanColumn extends ColumnType {
1787
1838
  }
1788
1839
  const parseItem = (input) => input[0] === "t";
1789
1840
 
1790
- const encode = (x) => x === null ? x : JSON.stringify(x);
1841
+ const encode$1 = (x) => x === null ? x : JSON.stringify(x);
1791
1842
  class JSONColumn extends ColumnType {
1792
1843
  constructor(schema, inputType) {
1793
1844
  super(schema, inputType);
1794
1845
  this.dataType = "jsonb";
1795
1846
  this.operators = Operators.json;
1796
- this.data.encode = this.data.defaultEncode = encode;
1847
+ this.data.encode = encode$1;
1797
1848
  this.data.parseItem = JSON.parse;
1798
1849
  }
1799
1850
  toCode(ctx, key) {
@@ -2380,33 +2431,13 @@ const _joinLateral = (self, type, arg, as) => {
2380
2431
  return q;
2381
2432
  };
2382
2433
 
2383
- class EnumColumn extends ColumnType {
2384
- constructor(schema, enumName, options, schemaType) {
2385
- super(schema, schemaType);
2386
- this.enumName = enumName;
2387
- this.options = options;
2388
- this.operators = Operators.any;
2389
- this.dataType = "enum";
2390
- this.inputSchema = this.outputSchema = this.querySchema = schemaType;
2391
- }
2392
- toCode(ctx, key) {
2393
- const options = ctx.migration ? "" : `, [${this.options.map((option) => `'${option}'`).join(", ")}]`;
2394
- return columnCode(this, ctx, key, `enum('${this.enumName}'${options})`);
2395
- }
2396
- toSQL() {
2397
- const name = this.enumName;
2398
- const index = name.indexOf(".");
2399
- return `"${index === -1 ? name : `${name.slice(0, index)}"."${name.slice(index + 1)}`}"`;
2400
- }
2401
- }
2402
-
2403
2434
  class ArrayColumn extends ColumnType {
2404
2435
  constructor(schema, item, inputType, outputType, queryType) {
2405
2436
  super(schema, inputType, outputType, queryType);
2406
2437
  this.dataType = "array";
2407
2438
  this.operators = Operators.array;
2408
2439
  item.data.isNullable = true;
2409
- setColumnDefaultParse(this, (input) => parse.call(this, input));
2440
+ setColumnDefaultParse(this, (input) => parse$1.call(this, input));
2410
2441
  this.data.item = item instanceof ArrayColumn ? item.data.item : item;
2411
2442
  this.data.name = item.data.name;
2412
2443
  this.data.arrayDims = item instanceof ArrayColumn ? item.data.arrayDims + 1 : 1;
@@ -2431,7 +2462,7 @@ class ArrayColumn extends ColumnType {
2431
2462
  return columnCode(this, ctx, key, code);
2432
2463
  }
2433
2464
  }
2434
- const parse = function(source) {
2465
+ const parse$1 = function(source) {
2435
2466
  if (typeof source !== "string") return source;
2436
2467
  const entries = [];
2437
2468
  parsePostgresArray(source, entries, this.data.item.data.parseItem);
@@ -2694,14 +2725,10 @@ const defaultSchemaConfig = {
2694
2725
  return this;
2695
2726
  },
2696
2727
  dateAsNumber() {
2697
- const c = this.parse(Date.parse);
2698
- c.data.defaultParse = Date.parse;
2699
- return c;
2728
+ return this.parse(Date.parse);
2700
2729
  },
2701
2730
  dateAsDate() {
2702
- const c = this.parse(parseDateToDate);
2703
- c.data.defaultParse = parseDateToDate;
2704
- return c;
2731
+ return this.parse(parseDateToDate);
2705
2732
  },
2706
2733
  enum(dataType, type) {
2707
2734
  return new EnumColumn(defaultSchemaConfig, dataType, type, void 0);
@@ -2913,10 +2940,9 @@ class Transaction {
2913
2940
  await adapter.query(sql);
2914
2941
  if (log) log.afterQuery(sql, logData);
2915
2942
  if (transactionId === trx.testTransactionCount) {
2916
- await runAfterCommit(
2917
- trx.afterCommit,
2918
- result
2919
- );
2943
+ const { afterCommit } = trx;
2944
+ trx.afterCommit = void 0;
2945
+ await runAfterCommit(afterCommit, result);
2920
2946
  }
2921
2947
  return result;
2922
2948
  } finally {
@@ -7151,46 +7177,8 @@ const joinSubQuery = (q, sub) => {
7151
7177
  );
7152
7178
  };
7153
7179
 
7154
- class CustomTypeColumn extends ColumnType {
7155
- constructor(schema, dataType, extension) {
7156
- super(
7157
- schema,
7158
- schema.unknown(),
7159
- schema.unknown(),
7160
- schema.unknown()
7161
- );
7162
- this.dataType = dataType;
7163
- this.operators = Operators.any;
7164
- this.data.isOfCustomType = true;
7165
- this.data.extension = extension;
7166
- }
7167
- toCode(ctx, key) {
7168
- return columnCode(this, ctx, key, `type(${orchidCore.singleQuote(this.dataType)})`);
7169
- }
7170
- as(column) {
7171
- const c = orchidCore.setColumnData(
7172
- this,
7173
- "as",
7174
- column
7175
- );
7176
- c.inputSchema = column.inputSchema;
7177
- c.outputSchema = column.outputSchema;
7178
- c.querySchema = column.querySchema;
7179
- return c;
7180
- }
7181
- }
7182
- class DomainColumn extends CustomTypeColumn {
7183
- toCode(ctx, key) {
7184
- return columnCode(this, ctx, key, `domain(${orchidCore.singleQuote(this.dataType)})`);
7185
- }
7186
- }
7187
-
7188
7180
  const defaultSrid = 4326;
7189
- const defaultEncode = ({
7190
- srid = defaultSrid,
7191
- lon,
7192
- lat
7193
- }) => {
7181
+ const encode = ({ srid = defaultSrid, lon, lat }) => {
7194
7182
  const arr = new Uint8Array(25);
7195
7183
  const view = new DataView(arr.buffer);
7196
7184
  view.setInt8(0, 1);
@@ -7206,8 +7194,8 @@ class PostgisGeographyPointColumn extends ColumnType {
7206
7194
  super(schema, schema.geographyPointSchema());
7207
7195
  this.dataType = "geography(Point)";
7208
7196
  this.operators = Operators.any;
7209
- setColumnDefaultParse(this, defaultParse);
7210
- this.data.encode = this.data.defaultEncode = defaultEncode;
7197
+ setColumnDefaultParse(this, parse);
7198
+ this.data.encode = encode;
7211
7199
  }
7212
7200
  static isDefaultPoint(typmod) {
7213
7201
  return typmodType(typmod) === "Point" && typmodSrid(typmod) === defaultSrid;
@@ -7216,8 +7204,9 @@ class PostgisGeographyPointColumn extends ColumnType {
7216
7204
  return columnCode(this, ctx, key, `geography.point()`);
7217
7205
  }
7218
7206
  }
7219
- PostgisGeographyPointColumn.encode = defaultEncode;
7220
- const defaultParse = (input) => {
7207
+ // It is used by test-factory
7208
+ PostgisGeographyPointColumn.encode = encode;
7209
+ const parse = (input) => {
7221
7210
  const bytes = new Uint8Array(20);
7222
7211
  for (let i = 0; i < 40; i += 2) {
7223
7212
  bytes[i / 2] = parseInt(input.slice(10 + i, 12 + i), 16);
@@ -13400,6 +13389,7 @@ exports.extendQuery = extendQuery;
13400
13389
  exports.filterResult = filterResult;
13401
13390
  exports.foreignKeyArgumentToCode = foreignKeyArgumentToCode;
13402
13391
  exports.getClonedQueryData = getClonedQueryData;
13392
+ exports.getColumnBaseType = getColumnBaseType;
13403
13393
  exports.getColumnInfo = getColumnInfo;
13404
13394
  exports.getColumnTypes = getColumnTypes;
13405
13395
  exports.getFullColumnTable = getFullColumnTable;