pqb 0.40.5 → 0.40.6

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
@@ -7717,6 +7717,8 @@ interface ColumnFromDbParams {
7717
7717
  dateTimePrecision?: number;
7718
7718
  compression?: string;
7719
7719
  collate?: string;
7720
+ extension?: string;
7721
+ typmod: number;
7720
7722
  }
7721
7723
  interface PickColumnData {
7722
7724
  data: ColumnData;
@@ -8011,10 +8013,10 @@ declare class BooleanColumn<Schema extends ColumnSchemaConfig> extends ColumnTyp
8011
8013
  parseItem(input: string): boolean;
8012
8014
  }
8013
8015
 
8014
- declare class CustomTypeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, unknown, ReturnType<Schema['unknown']>, typeof Operators.any> {
8016
+ declare class CustomTypeColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, unknown, ReturnType<Schema['unknown']>, OperatorsAny> {
8015
8017
  dataType: string;
8016
8018
  operators: OperatorsAny;
8017
- constructor(schema: Schema, dataType: string);
8019
+ constructor(schema: Schema, dataType: string, extension?: string);
8018
8020
  toCode(ctx: ColumnToCodeCtx, key: string): Code;
8019
8021
  as<T extends {
8020
8022
  inputType: unknown;
@@ -8029,6 +8031,22 @@ declare class DomainColumn<Schema extends ColumnSchemaConfig> extends CustomType
8029
8031
  toCode(ctx: ColumnToCodeCtx, key: string): Code;
8030
8032
  }
8031
8033
 
8034
+ interface PostgisPoint {
8035
+ lon: number;
8036
+ lat: number;
8037
+ srid?: number;
8038
+ }
8039
+ declare class PostgisGeographyPointColumn<Schema extends ColumnSchemaConfig> extends ColumnType<Schema, PostgisPoint, ReturnType<Schema['geographyPointSchema']>, OperatorsAny> {
8040
+ dataType: string;
8041
+ operators: OperatorsAny;
8042
+ static isDefaultPoint(typmod: number): boolean;
8043
+ constructor(schema: Schema);
8044
+ parseFn(input: string | null): PostgisPoint | null;
8045
+ encodeFn({ srid, lon, lat }: PostgisPoint): string;
8046
+ toCode(ctx: ColumnToCodeCtx, key: string): Code;
8047
+ }
8048
+ declare const postgisTypmodToSql: (typmod: number) => string;
8049
+
8032
8050
  declare const getColumnTypes: <ColumnTypes, Shape extends QueryColumnsInit>(types: ColumnTypes, fn: (t: ColumnTypes) => Shape, nowSQL: string | undefined, language: string | undefined) => Shape;
8033
8051
  interface DefaultColumnTypes<SchemaConfig extends ColumnSchemaConfig> extends TimestampHelpers {
8034
8052
  schema: SchemaConfig;
@@ -8080,6 +8098,9 @@ interface DefaultColumnTypes<SchemaConfig extends ColumnSchemaConfig> extends Ti
8080
8098
  jsonText(): JSONTextColumn<SchemaConfig>;
8081
8099
  type(dataType: string): CustomTypeColumn<SchemaConfig>;
8082
8100
  domain(dataType: string): DomainColumn<SchemaConfig>;
8101
+ geography: {
8102
+ point(): PostgisGeographyPointColumn<SchemaConfig>;
8103
+ };
8083
8104
  }
8084
8105
  declare const makeColumnTypes: <SchemaConfig extends ColumnSchemaConfig<orchid_core.ColumnTypeBase<orchid_core.ColumnTypeSchemaArg, unknown, any, any, unknown, unknown, any, unknown, any, orchid_core.ColumnDataBase>>>(schema: SchemaConfig) => DefaultColumnTypes<SchemaConfig>;
8085
8106
 
@@ -8156,7 +8177,8 @@ declare const columnIndexesToCode: (indexes: Exclude<ColumnData['indexes'], unde
8156
8177
  declare const columnCheckToCode: (ctx: ColumnToCodeCtx, { sql, name }: ColumnDataCheckBase, columnName: string) => string;
8157
8178
  declare const identityToCode: (identity: TableData.Identity, dataType?: string) => Codes;
8158
8179
  declare const columnCode: (type: ColumnType, ctx: ColumnToCodeCtx, key: string, code: Code, data?: ColumnData, skip?: {
8159
- encodeFn: unknown;
8180
+ encodeFn?: unknown;
8181
+ parseFn?: unknown;
8160
8182
  }) => Code;
8161
8183
 
8162
8184
  interface ColumnsByType {
@@ -8339,4 +8361,4 @@ type CopyResult<T extends PickQueryMeta> = SetQueryKind<T, 'copy'>;
8339
8361
  */
8340
8362
  declare function copyTableData<T extends PickQueryMetaShape>(query: T, arg: CopyArg<T>): CopyResult<T>;
8341
8363
 
8342
- 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, GeneratorIgnore, 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 };
8364
+ 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, GeneratorIgnore, 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, PostgisGeographyPointColumn, PostgisPoint, 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, postgisTypmodToSql, 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
@@ -811,7 +811,7 @@ const columnCode = (type, ctx, key, code, data = type.data, skip) => {
811
811
  orchidCore.addCode(code, ".nullable()");
812
812
  if (type.encodeFn && type.encodeFn !== (skip == null ? void 0 : skip.encodeFn))
813
813
  orchidCore.addCode(code, `.encode(${type.encodeFn.toString()})`);
814
- if (type.parseFn && !("hideFromCode" in type.parseFn))
814
+ if (type.parseFn && type.parseFn !== (skip == null ? void 0 : skip.parseFn) && !("hideFromCode" in type.parseFn))
815
815
  orchidCore.addCode(code, `.parse(${type.parseFn.toString()})`);
816
816
  if (data.as)
817
817
  orchidCore.addCode(code, `.as(${data.as.toCode(ctx, key)})`);
@@ -1264,7 +1264,7 @@ class CircleColumn extends ColumnType {
1264
1264
  }
1265
1265
  class MoneyColumn extends ColumnType {
1266
1266
  constructor(schema) {
1267
- super(schema, schema.stringSchema());
1267
+ super(schema, schema.number());
1268
1268
  this.dataType = "money";
1269
1269
  this.operators = Operators.number;
1270
1270
  this.parseFn = Object.assign(
@@ -1474,6 +1474,7 @@ class CitextColumn extends TextBaseColumn {
1474
1474
  constructor(schema) {
1475
1475
  super(schema, schema.stringSchema());
1476
1476
  this.dataType = "citext";
1477
+ this.data.extension = "citext";
1477
1478
  }
1478
1479
  toCode(ctx, key) {
1479
1480
  return textColumnToCode(this, ctx, key);
@@ -3179,7 +3180,8 @@ const defaultSchemaConfig = {
3179
3180
  citext: () => new CitextColumn(defaultSchemaConfig),
3180
3181
  date: () => new DateColumn(defaultSchemaConfig),
3181
3182
  timestampNoTZ: (precision) => new TimestampColumn(defaultSchemaConfig, precision),
3182
- timestamp: (precision) => new TimestampTZColumn(defaultSchemaConfig, precision)
3183
+ timestamp: (precision) => new TimestampTZColumn(defaultSchemaConfig, precision),
3184
+ geographyPointSchema: orchidCore.noop
3183
3185
  };
3184
3186
 
3185
3187
  const escape = (value, migration, nested) => {
@@ -6144,7 +6146,7 @@ const joinSubQuery = (q, sub) => {
6144
6146
  };
6145
6147
 
6146
6148
  class CustomTypeColumn extends ColumnType {
6147
- constructor(schema, dataType) {
6149
+ constructor(schema, dataType, extension) {
6148
6150
  super(
6149
6151
  schema,
6150
6152
  schema.unknown(),
@@ -6154,6 +6156,7 @@ class CustomTypeColumn extends ColumnType {
6154
6156
  this.dataType = dataType;
6155
6157
  this.operators = Operators.any;
6156
6158
  this.data.isOfCustomType = true;
6159
+ this.data.extension = extension;
6157
6160
  }
6158
6161
  toCode(ctx, key) {
6159
6162
  return columnCode(this, ctx, key, `type(${orchidCore.singleQuote(this.dataType)})`);
@@ -6176,6 +6179,108 @@ class DomainColumn extends CustomTypeColumn {
6176
6179
  }
6177
6180
  }
6178
6181
 
6182
+ const defaultSrid = 4326;
6183
+ class PostgisGeographyPointColumn extends ColumnType {
6184
+ constructor(schema) {
6185
+ super(schema, schema.geographyPointSchema());
6186
+ this.dataType = "geography(Point)";
6187
+ this.operators = Operators.any;
6188
+ }
6189
+ static isDefaultPoint(typmod) {
6190
+ return typmodType(typmod) === "Point" && typmodSrid(typmod) === defaultSrid;
6191
+ }
6192
+ parseFn(input) {
6193
+ if (!input)
6194
+ return null;
6195
+ const bytes = new Uint8Array(20);
6196
+ for (let i = 0; i < 40; i += 2) {
6197
+ bytes[i / 2] = parseInt(input.slice(10 + i, 12 + i), 16);
6198
+ }
6199
+ const view = new DataView(bytes.buffer);
6200
+ const srid = view.getUint32(0, true);
6201
+ const lon = view.getFloat64(4, true);
6202
+ const lat = view.getFloat64(12, true);
6203
+ return srid === defaultSrid ? { lon, lat } : {
6204
+ lon,
6205
+ lat,
6206
+ srid
6207
+ };
6208
+ }
6209
+ encodeFn({ srid = defaultSrid, lon, lat }) {
6210
+ const arr = new Uint8Array(25);
6211
+ const view = new DataView(arr.buffer);
6212
+ view.setInt8(0, 1);
6213
+ view.setInt8(1, 1);
6214
+ view.setInt8(4, 32);
6215
+ view.setUint32(5, srid, true);
6216
+ view.setFloat64(9, lon, true);
6217
+ view.setFloat64(17, lat, true);
6218
+ return uint8ArrToHex(arr);
6219
+ }
6220
+ toCode(ctx, key) {
6221
+ return columnCode(this, ctx, key, `geography.point()`, this.data, {
6222
+ encodeFn: PostgisGeographyPointColumn.prototype.encodeFn,
6223
+ parseFn: PostgisGeographyPointColumn.prototype.parseFn
6224
+ });
6225
+ }
6226
+ }
6227
+ const typmodGetType = (typmod) => (typmod & 252) >> 2;
6228
+ const lwtypeName = (type) => [
6229
+ "Unknown",
6230
+ "Point",
6231
+ "LineString",
6232
+ "Polygon",
6233
+ "MultiPoint",
6234
+ "MultiLineString",
6235
+ "MultiPolygon",
6236
+ "GeometryCollection",
6237
+ "CircularString",
6238
+ "CompoundCurve",
6239
+ "CurvePolygon",
6240
+ "MultiCurve",
6241
+ "MultiSurface",
6242
+ "PolyhedralSurface",
6243
+ "Triangle",
6244
+ "Tin"
6245
+ ][type] || "Invalid type";
6246
+ const typmodGetZ = (typmod) => (typmod & 2) >> 1;
6247
+ const typmodGetM = (typmod) => typmod & 1;
6248
+ const typmodType = (typmod) => {
6249
+ const type = typmodGetType(typmod);
6250
+ let s = "";
6251
+ if (typmod < 0 || type === 0) {
6252
+ s += "Geometry";
6253
+ } else {
6254
+ s += lwtypeName(type);
6255
+ }
6256
+ if (typmod >= 0 && typmodGetZ(typmod))
6257
+ s += "Z";
6258
+ if (typmod >= 0 && typmodGetM(typmod))
6259
+ s += "M";
6260
+ return s;
6261
+ };
6262
+ const typmodSrid = (typmod) => {
6263
+ return typmod < 0 ? 0 : (typmod & 268435200) - (typmod & 268435456) >> 8;
6264
+ };
6265
+ const postgisTypmodToSql = (typmod) => {
6266
+ const srid = typmodSrid(typmod);
6267
+ return typmodType(typmod) + (srid === defaultSrid ? "" : ", " + srid);
6268
+ };
6269
+ let byteToHex;
6270
+ function uint8ArrToHex(arr) {
6271
+ if (!byteToHex) {
6272
+ byteToHex = [];
6273
+ for (let n = 0; n <= 255; ++n) {
6274
+ const hexOctet = n.toString(16).padStart(2, "0");
6275
+ byteToHex.push(hexOctet);
6276
+ }
6277
+ }
6278
+ const hexOctets = [];
6279
+ for (let i = 0; i < arr.length; ++i)
6280
+ hexOctets.push(byteToHex[arr[i]]);
6281
+ return hexOctets.join("");
6282
+ }
6283
+
6179
6284
  var __defProp$8 = Object.defineProperty;
6180
6285
  var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
6181
6286
  var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
@@ -6304,6 +6409,11 @@ const makeColumnTypes = (schema) => {
6304
6409
  },
6305
6410
  domain(dataType) {
6306
6411
  return new DomainColumn(schema, dataType);
6412
+ },
6413
+ geography: {
6414
+ point() {
6415
+ return new PostgisGeographyPointColumn(schema);
6416
+ }
6307
6417
  }
6308
6418
  }, orchidCore.makeTimestampsHelpers(makeRegexToFindInSql));
6309
6419
  };
@@ -6385,7 +6495,8 @@ const makeColumnsByType = (schema) => {
6385
6495
  serial: t.serial,
6386
6496
  bigserial: t.bigSerial,
6387
6497
  // requires citext extension
6388
- citext: t.citext
6498
+ citext: t.citext,
6499
+ geographyDefaultPoint: t.geography.point
6389
6500
  };
6390
6501
  };
6391
6502
 
@@ -13059,6 +13170,7 @@ exports.OrchidOrmInternalError = OrchidOrmInternalError;
13059
13170
  exports.PathColumn = PathColumn;
13060
13171
  exports.PointColumn = PointColumn;
13061
13172
  exports.PolygonColumn = PolygonColumn;
13173
+ exports.PostgisGeographyPointColumn = PostgisGeographyPointColumn;
13062
13174
  exports.QueryBase = QueryBase;
13063
13175
  exports.QueryError = QueryError;
13064
13176
  exports.QueryGet = QueryGet;
@@ -13208,6 +13320,7 @@ exports.makeSQL = makeSQL;
13208
13320
  exports.parseRecord = parseRecord;
13209
13321
  exports.parseTableData = parseTableData;
13210
13322
  exports.parseTableDataInput = parseTableDataInput;
13323
+ exports.postgisTypmodToSql = postgisTypmodToSql;
13211
13324
  exports.primaryKeyInnerToCode = primaryKeyInnerToCode;
13212
13325
  exports.processComputedBatches = processComputedBatches;
13213
13326
  exports.processComputedResult = processComputedResult;