/
opt
/
canhelp
/
node_modules
/
drizzle-orm
/
/opt/canhelp/node_modules/drizzle-orm
mkdir
upload
Name
Size
Mode
Actions
aws-data-api/
-
0755
rm
better-sqlite3/
-
0755
rm
bun-sql/
-
0755
rm
bun-sqlite/
-
0755
rm
d1/
-
0755
rm
durable-sqlite/
-
0755
rm
expo-sqlite/
-
0755
rm
gel/
-
0755
rm
gel-core/
-
0755
rm
knex/
-
0755
rm
kysely/
-
0755
rm
libsql/
-
0755
rm
mysql-core/
-
0755
rm
mysql-proxy/
-
0755
rm
mysql2/
-
0755
rm
neon/
-
0755
rm
neon-http/
-
0755
rm
neon-serverless/
-
0755
rm
node-postgres/
-
0755
rm
op-sqlite/
-
0755
rm
pg-core/
-
0755
rm
pg-proxy/
-
0755
rm
pglite/
-
0755
rm
planetscale-serverless/
-
0755
rm
postgres-js/
-
0755
rm
prisma/
-
0755
rm
query-builders/
-
0755
rm
singlestore/
-
0755
rm
singlestore-core/
-
0755
rm
singlestore-proxy/
-
0755
rm
sql/
-
0755
rm
sql-js/
-
0755
rm
sqlite-core/
-
0755
rm
sqlite-proxy/
-
0755
rm
supabase/
-
0755
rm
tidb-serverless/
-
0755
rm
vercel-postgres/
-
0755
rm
xata-http/
-
0755
rm
alias.cjs
4879
0644
edit
dl
rm
alias.cjs.map
6058
0644
edit
dl
rm
alias.d.cts
1578
0644
edit
dl
rm
alias.d.ts
1571
0644
edit
dl
rm
alias.js
3151
0644
edit
dl
rm
alias.js.map
5992
0644
edit
dl
rm
batch.cjs
775
0644
edit
dl
rm
batch.cjs.map
442
0644
edit
dl
rm
batch.d.cts
322
0644
edit
dl
rm
batch.d.ts
320
0644
edit
dl
rm
batch.js
33
0644
edit
dl
rm
batch.js.map
71
0644
edit
dl
rm
casing.cjs
3076
0644
edit
dl
rm
casing.cjs.map
3779
0644
edit
dl
rm
casing.d.cts
503
0644
edit
dl
rm
casing.d.ts
500
0644
edit
dl
rm
casing.js
1904
0644
edit
dl
rm
casing.js.map
3728
0644
edit
dl
rm
column-builder.cjs
4245
0644
edit
dl
rm
column-builder.cjs.map
14827
0644
edit
dl
rm
column-builder.d.cts
11649
0644
edit
dl
rm
column-builder.d.ts
11640
0644
edit
dl
rm
column-builder.js
3185
0644
edit
dl
rm
column-builder.js.map
14788
0644
edit
dl
rm
column.cjs
2333
0644
edit
dl
rm
column.cjs.map
6400
0644
edit
dl
rm
column.d.cts
3937
0644
edit
dl
rm
column.d.ts
3932
0644
edit
dl
rm
column.js
1311
0644
edit
dl
rm
column.js.map
6361
0644
edit
dl
rm
entity.cjs
1940
0644
edit
dl
rm
entity.cjs.map
1889
0644
edit
dl
rm
entity.d.cts
395
0644
edit
dl
rm
entity.d.ts
395
0644
edit
dl
rm
entity.js
867
0644
edit
dl
rm
entity.js.map
1836
0644
edit
dl
rm
errors.cjs
1598
0644
edit
dl
rm
errors.cjs.map
932
0644
edit
dl
rm
errors.d.cts
366
0644
edit
dl
rm
errors.d.ts
365
0644
edit
dl
rm
errors.js
490
0644
edit
dl
rm
errors.js.map
887
0644
edit
dl
rm
expressions.cjs
1163
0644
edit
dl
rm
expressions.cjs.map
183
0644
edit
dl
rm
expressions.d.cts
45
0644
edit
dl
rm
expressions.d.ts
44
0644
edit
dl
rm
expressions.js
83
0644
edit
dl
rm
expressions.js.map
151
0644
edit
dl
rm
index.cjs
2515
0644
edit
dl
rm
index.cjs.map
854
0644
edit
dl
rm
index.d.cts
484
0644
edit
dl
rm
index.d.ts
469
0644
edit
dl
rm
index.js
502
0644
edit
dl
rm
index.js.map
724
0644
edit
dl
rm
logger.cjs
1982
0644
edit
dl
rm
logger.cjs.map
1918
0644
edit
dl
rm
logger.d.cts
694
0644
edit
dl
rm
logger.d.ts
693
0644
edit
dl
rm
logger.js
842
0644
edit
dl
rm
logger.js.map
1867
0644
edit
dl
rm
migrator.cjs
3010
0644
edit
dl
rm
migrator.cjs.map
2638
0644
edit
dl
rm
migrator.d.cts
398
0644
edit
dl
rm
migrator.d.ts
398
0644
edit
dl
rm
migrator.js
1244
0644
edit
dl
rm
migrator.js.map
2554
0644
edit
dl
rm
operations.cjs
790
0644
edit
dl
rm
operations.cjs.map
1352
0644
edit
dl
rm
operations.d.cts
1113
0644
edit
dl
rm
operations.d.ts
1110
0644
edit
dl
rm
operations.js
38
0644
edit
dl
rm
operations.js.map
71
0644
edit
dl
rm
package.json
175667
0644
edit
dl
rm
primary-key.cjs
1298
0644
edit
dl
rm
primary-key.cjs.map
601
0644
edit
dl
rm
primary-key.d.cts
370
0644
edit
dl
rm
primary-key.d.ts
367
0644
edit
dl
rm
primary-key.js
253
0644
edit
dl
rm
primary-key.js.map
562
0644
edit
dl
rm
query-promise.cjs
1634
0644
edit
dl
rm
query-promise.cjs.map
1566
0644
edit
dl
rm
query-promise.d.cts
670
0644
edit
dl
rm
query-promise.d.ts
669
0644
edit
dl
rm
query-promise.js
579
0644
edit
dl
rm
query-promise.js.map
1527
0644
edit
dl
rm
README.md
3219
0644
edit
dl
rm
relations.cjs
11362
0644
edit
dl
rm
relations.cjs.map
26612
0644
edit
dl
rm
relations.d.cts
12304
0644
edit
dl
rm
relations.d.ts
12298
0644
edit
dl
rm
relations.js
8929
0644
edit
dl
rm
relations.js.map
26750
0644
edit
dl
rm
runnable-query.cjs
802
0644
edit
dl
rm
runnable-query.cjs.map
429
0644
edit
dl
rm
runnable-query.d.cts
206
0644
edit
dl
rm
runnable-query.d.ts
205
0644
edit
dl
rm
runnable-query.js
42
0644
edit
dl
rm
runnable-query.js.map
71
0644
edit
dl
rm
selection-proxy.cjs
3620
0644
edit
dl
rm
selection-proxy.cjs.map
5304
0644
edit
dl
rm
selection-proxy.d.cts
464
0644
edit
dl
rm
selection-proxy.d.ts
461
0644
edit
dl
rm
selection-proxy.js
2301
0644
edit
dl
rm
selection-proxy.js.map
5291
0644
edit
dl
rm
session.cjs
781
0644
edit
dl
rm
session.cjs.map
341
0644
edit
dl
rm
session.d.cts
166
0644
edit
dl
rm
session.d.ts
165
0644
edit
dl
rm
session.js
35
0644
edit
dl
rm
session.js.map
71
0644
edit
dl
rm
subquery.cjs
1577
0644
edit
dl
rm
subquery.cjs.map
1922
0644
edit
dl
rm
subquery.d.cts
1015
0644
edit
dl
rm
subquery.d.ts
1013
0644
edit
dl
rm
subquery.js
495
0644
edit
dl
rm
subquery.js.map
1877
0644
edit
dl
rm
table.cjs
3440
0644
edit
dl
rm
table.cjs.map
7787
0644
edit
dl
rm
table.d.cts
3855
0644
edit
dl
rm
table.d.ts
3850
0644
edit
dl
rm
table.js
1973
0644
edit
dl
rm
table.js.map
7699
0644
edit
dl
rm
table.utils.cjs
1135
0644
edit
dl
rm
table.utils.cjs.map
241
0644
edit
dl
rm
table.utils.d.cts
11
0644
edit
dl
rm
table.utils.d.ts
11
0644
edit
dl
rm
table.utils.js
109
0644
edit
dl
rm
table.utils.js.map
198
0644
edit
dl
rm
tracing-utils.cjs
1135
0644
edit
dl
rm
tracing-utils.cjs.map
312
0644
edit
dl
rm
tracing-utils.d.cts
92
0644
edit
dl
rm
tracing-utils.d.ts
92
0644
edit
dl
rm
tracing-utils.js
113
0644
edit
dl
rm
tracing-utils.js.map
269
0644
edit
dl
rm
tracing.cjs
1967
0644
edit
dl
rm
tracing.cjs.map
2232
0644
edit
dl
rm
tracing.d.cts
11
0644
edit
dl
rm
tracing.d.ts
11
0644
edit
dl
rm
tracing.js
898
0644
edit
dl
rm
tracing.js.map
2196
0644
edit
dl
rm
utils.cjs
7714
0644
edit
dl
rm
utils.cjs.map
14497
0644
edit
dl
rm
utils.d.cts
2863
0644
edit
dl
rm
utils.d.ts
2859
0644
edit
dl
rm
utils.js
5762
0644
edit
dl
rm
utils.js.map
14417
0644
edit
dl
rm
version.cjs
1223
0644
edit
dl
rm
version.cjs.map
376
0644
edit
dl
rm
version.d.cts
123
0644
edit
dl
rm
version.d.ts
123
0644
edit
dl
rm
version.js
150
0644
edit
dl
rm
version.js.map
333
0644
edit
dl
rm
view-common.cjs
1165
0644
edit
dl
rm
view-common.cjs.map
242
0644
edit
dl
rm
view-common.d.cts
52
0644
edit
dl
rm
view-common.d.ts
52
0644
edit
dl
rm
view-common.js
129
0644
edit
dl
rm
view-common.js.map
199
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/drizzle-orm/relations.d.ts
(12298B)
import { type AnyTable, type InferModelFromColumns, Table } from "./table.js"; import { type AnyColumn, Column } from "./column.js"; import { entityKind } from "./entity.js"; import { and, asc, between, desc, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/index.js"; import { type Placeholder, SQL, sql } from "./sql/sql.js"; import type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.js"; export declare abstract class Relation<TTableName extends string = string> { readonly sourceTable: Table; readonly referencedTable: AnyTable<{ name: TTableName; }>; readonly relationName: string | undefined; static readonly [entityKind]: string; readonly $brand: 'Relation'; readonly referencedTableName: TTableName; fieldName: string; constructor(sourceTable: Table, referencedTable: AnyTable<{ name: TTableName; }>, relationName: string | undefined); abstract withFieldName(fieldName: string): Relation<TTableName>; } export declare class Relations<TTableName extends string = string, TConfig extends Record<string, Relation> = Record<string, Relation>> { readonly table: AnyTable<{ name: TTableName; }>; readonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig; static readonly [entityKind]: string; readonly $brand: 'Relations'; constructor(table: AnyTable<{ name: TTableName; }>, config: (helpers: TableRelationsHelpers<TTableName>) => TConfig); } export declare class One<TTableName extends string = string, TIsNullable extends boolean = boolean> extends Relation<TTableName> { readonly config: RelationConfig<TTableName, string, AnyColumn<{ tableName: TTableName; }>[]> | undefined; readonly isNullable: TIsNullable; static readonly [entityKind]: string; protected $relationBrand: 'One'; constructor(sourceTable: Table, referencedTable: AnyTable<{ name: TTableName; }>, config: RelationConfig<TTableName, string, AnyColumn<{ tableName: TTableName; }>[]> | undefined, isNullable: TIsNullable); withFieldName(fieldName: string): One<TTableName>; } export declare class Many<TTableName extends string> extends Relation<TTableName> { readonly config: { relationName: string; } | undefined; static readonly [entityKind]: string; protected $relationBrand: 'Many'; constructor(sourceTable: Table, referencedTable: AnyTable<{ name: TTableName; }>, config: { relationName: string; } | undefined); withFieldName(fieldName: string): Many<TTableName>; } export type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never; export type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{ [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never; }>; export type ExtractObjectValues<T> = T[keyof T]; export type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{ [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never; }>; export declare function getOperators(): { and: typeof and; between: typeof between; eq: import("./expressions.js").BinaryOperator; exists: typeof exists; gt: import("./expressions.js").BinaryOperator; gte: import("./expressions.js").BinaryOperator; ilike: typeof ilike; inArray: typeof inArray; isNull: typeof isNull; isNotNull: typeof isNotNull; like: typeof like; lt: import("./expressions.js").BinaryOperator; lte: import("./expressions.js").BinaryOperator; ne: import("./expressions.js").BinaryOperator; not: typeof not; notBetween: typeof notBetween; notExists: typeof notExists; notLike: typeof notLike; notIlike: typeof notIlike; notInArray: typeof notInArray; or: typeof or; sql: typeof sql; }; export type Operators = ReturnType<typeof getOperators>; export declare function getOrderByOperators(): { sql: typeof sql; asc: typeof asc; desc: typeof desc; }; export type OrderByOperators = ReturnType<typeof getOrderByOperators>; export type FindTableByDBName<TSchema extends TablesRelationalConfig, TTableName extends string> = ExtractObjectValues<{ [K in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K : never]: TSchema[K]; }>; export type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = { columns?: { [K in keyof TTableConfig['columns']]?: boolean; } | undefined; with?: { [K in keyof TTableConfig['relations']]?: true | DBQueryConfig<TTableConfig['relations'][K] extends One ? 'one' : 'many', false, TSchema, FindTableByDBName<TSchema, TTableConfig['relations'][K]['referencedTableName']>> | undefined; } | undefined; extras?: Record<string, SQL.Aliased> | ((fields: Simplify<[ TTableConfig['columns'] ] extends [never] ? {} : TTableConfig['columns']>, operators: { sql: Operators['sql']; }) => Record<string, SQL.Aliased>) | undefined; } & (TRelationType extends 'many' ? { where?: SQL | undefined | ((fields: Simplify<[ TTableConfig['columns'] ] extends [never] ? {} : TTableConfig['columns']>, operators: Operators) => SQL | undefined); orderBy?: ValueOrArray<AnyColumn | SQL> | ((fields: Simplify<[ TTableConfig['columns'] ] extends [never] ? {} : TTableConfig['columns']>, operators: OrderByOperators) => ValueOrArray<AnyColumn | SQL>) | undefined; limit?: number | Placeholder | undefined; } & (TIsRoot extends true ? { offset?: number | Placeholder | undefined; } : {}) : {}); export interface TableRelationalConfig { tsName: string; dbName: string; columns: Record<string, Column>; relations: Record<string, Relation>; primaryKey: AnyColumn[]; schema?: string; } export type TablesRelationalConfig = Record<string, TableRelationalConfig>; export interface RelationalSchemaConfig<TSchema extends TablesRelationalConfig> { fullSchema: Record<string, unknown>; schema: TSchema; tableNamesMap: Record<string, string>; } export type ExtractTablesWithRelations<TSchema extends Record<string, unknown>> = { [K in keyof TSchema as TSchema[K] extends Table ? K : never]: TSchema[K] extends Table ? { tsName: K & string; dbName: TSchema[K]['_']['name']; columns: TSchema[K]['_']['columns']; relations: ExtractTableRelationsFromSchema<TSchema, TSchema[K]['_']['name']>; primaryKey: AnyColumn[]; } : never; }; export type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R : T; export type BuildRelationResult<TSchema extends TablesRelationalConfig, TInclude, TRelations extends Record<string, Relation>> = { [K in NonUndefinedKeysOnly<TInclude> & keyof TRelations]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<TSchema, FindTableByDBName<TSchema, TRel['referencedTableName']>, Assume<TInclude[K], true | Record<string, unknown>>> extends infer TResult ? TRel extends One ? TResult | (Equal<TRel['isNullable'], false> extends true ? null : never) : TResult[] : never : never; }; export type NonUndefinedKeysOnly<T> = ExtractObjectValues<{ [K in keyof T as T[K] extends undefined ? never : K]: K; }> & keyof T; export type BuildQueryResult<TSchema extends TablesRelationalConfig, TTableConfig extends TableRelationalConfig, TFullSelection extends true | Record<string, unknown>> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']> : TFullSelection extends Record<string, unknown> ? Simplify<(TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<{ [K in Equal<Exclude<TFullSelection['columns'][keyof TFullSelection['columns'] & keyof TTableConfig['columns']], undefined>, false> extends true ? Exclude<keyof TTableConfig['columns'], NonUndefinedKeysOnly<TFullSelection['columns']>> : { [K in keyof TFullSelection['columns']]: Equal<TFullSelection['columns'][K], true> extends true ? K : never; }[keyof TFullSelection['columns']] & keyof TTableConfig['columns']]: TTableConfig['columns'][K]; }> : InferModelFromColumns<TTableConfig['columns']>) & (TFullSelection['extras'] extends Record<string, unknown> | ((...args: any[]) => Record<string, unknown>) ? { [K in NonUndefinedKeysOnly<ReturnTypeOrValue<TFullSelection['extras']>>]: Assume<ReturnTypeOrValue<TFullSelection['extras']>[K], SQL.Aliased>['_']['type']; } : {}) & (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<TSchema, TFullSelection['with'], TTableConfig['relations']> : {})> : never; export interface RelationConfig<TTableName extends string, TForeignTableName extends string, TColumns extends AnyColumn<{ tableName: TTableName; }>[]> { relationName?: string; fields: TColumns; references: ColumnsWithTable<TTableName, TForeignTableName, TColumns>; } export declare function extractTablesRelationalConfig<TTables extends TablesRelationalConfig>(schema: Record<string, unknown>, configHelpers: (table: Table) => any): { tables: TTables; tableNamesMap: Record<string, string>; }; export declare function relations<TTableName extends string, TRelations extends Record<string, Relation<any>>>(table: AnyTable<{ name: TTableName; }>, relations: (helpers: TableRelationsHelpers<TTableName>) => TRelations): Relations<TTableName, TRelations>; export declare function createOne<TTableName extends string>(sourceTable: Table): <TForeignTable extends Table, TColumns extends [AnyColumn<{ tableName: TTableName; }>, ...AnyColumn<{ tableName: TTableName; }>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns>) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>; export declare function createMany(sourceTable: Table): <TForeignTable extends Table>(referencedTable: TForeignTable, config?: { relationName: string; }) => Many<TForeignTable["_"]["name"]>; export interface NormalizedRelation { fields: AnyColumn[]; references: AnyColumn[]; } export declare function normalizeRelation(schema: TablesRelationalConfig, tableNamesMap: Record<string, string>, relation: Relation): NormalizedRelation; export declare function createTableRelationsHelpers<TTableName extends string>(sourceTable: AnyTable<{ name: TTableName; }>): { one: <TForeignTable extends Table, TColumns extends [AnyColumn<{ tableName: TTableName; }>, ...AnyColumn<{ tableName: TTableName; }>[]]>(table: TForeignTable, config?: RelationConfig<TTableName, TForeignTable["_"]["name"], TColumns> | undefined) => One<TForeignTable["_"]["name"], Equal<TColumns[number]["_"]["notNull"], true>>; many: <TForeignTable extends Table>(referencedTable: TForeignTable, config?: { relationName: string; }) => Many<TForeignTable["_"]["name"]>; }; export type TableRelationsHelpers<TTableName extends string> = ReturnType<typeof createTableRelationsHelpers<TTableName>>; export interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn extends Column = Column> { tableTsKey: string; selection: { dbKey: string; tsKey: string; field: TColumn | SQL | SQL.Aliased; relationTableTsKey: string | undefined; isJson: boolean; isExtra?: boolean; selection: BuildRelationalQueryResult<TTable>['selection']; }[]; sql: TTable | SQL; } export declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
Save
cmd:
run