@holo-js/db 0.1.3 → 0.1.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 +356 -337
- package/dist/index.mjs +1216 -925
- package/package.json +8 -9
package/dist/index.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ interface ForeignKeyReference {
|
|
|
9
9
|
onDelete?: string;
|
|
10
10
|
onUpdate?: string;
|
|
11
11
|
}
|
|
12
|
-
interface ColumnDefinition<_TType = unknown, TNullable extends boolean = false, THasDefault extends boolean = false, TGenerated extends boolean = false> {
|
|
12
|
+
interface ColumnDefinition<_TType = unknown, TNullable extends boolean = false, THasDefault extends boolean = false, TGenerated extends boolean = false, TPrimaryKey extends boolean = false> {
|
|
13
13
|
readonly kind: LogicalColumnKind;
|
|
14
14
|
readonly name: string;
|
|
15
15
|
readonly nullable: TNullable;
|
|
16
16
|
readonly hasDefault: THasDefault;
|
|
17
17
|
readonly generated: TGenerated;
|
|
18
|
-
readonly primaryKey:
|
|
18
|
+
readonly primaryKey: TPrimaryKey;
|
|
19
19
|
readonly unique: boolean;
|
|
20
20
|
readonly defaultKind?: ColumnDefaultKind;
|
|
21
21
|
readonly defaultValue?: unknown;
|
|
@@ -24,7 +24,7 @@ interface ColumnDefinition<_TType = unknown, TNullable extends boolean = false,
|
|
|
24
24
|
readonly enumValues?: readonly string[];
|
|
25
25
|
readonly vectorDimensions?: number;
|
|
26
26
|
}
|
|
27
|
-
type AnyColumnDefinition = ColumnDefinition<unknown, boolean, boolean, boolean>;
|
|
27
|
+
type AnyColumnDefinition = ColumnDefinition<unknown, boolean, boolean, boolean, boolean>;
|
|
28
28
|
type TableColumnsShape = Record<string, AnyColumnDefinition>;
|
|
29
29
|
interface TableDefinition<TName extends string = string, TColumns extends TableColumnsShape = TableColumnsShape> {
|
|
30
30
|
readonly kind: 'table';
|
|
@@ -37,10 +37,10 @@ interface TableIndexDefinition {
|
|
|
37
37
|
readonly columns: readonly string[];
|
|
38
38
|
readonly unique: boolean;
|
|
39
39
|
}
|
|
40
|
-
type ColumnSelectType<TColumn extends AnyColumnDefinition> = TColumn extends ColumnDefinition<infer TValue, infer TNullable, boolean, boolean> ? TNullable extends true ? TValue | null : TValue : never;
|
|
41
|
-
type ColumnInsertType<TColumn extends AnyColumnDefinition> = TColumn extends ColumnDefinition<infer TValue, infer TNullable, boolean, boolean> ? TNullable extends true ? TValue | null : TValue : never;
|
|
40
|
+
type ColumnSelectType<TColumn extends AnyColumnDefinition> = TColumn extends ColumnDefinition<infer TValue, infer TNullable, boolean, boolean, boolean> ? TNullable extends true ? TValue | null : TValue : never;
|
|
41
|
+
type ColumnInsertType<TColumn extends AnyColumnDefinition> = TColumn extends ColumnDefinition<infer TValue, infer TNullable, boolean, boolean, boolean> ? TNullable extends true ? TValue | null : TValue : never;
|
|
42
42
|
type OptionalInsertKeys<TColumns extends TableColumnsShape> = {
|
|
43
|
-
[K in keyof TColumns]: TColumns[K] extends ColumnDefinition<unknown, boolean, infer THasDefault, infer TGenerated> ? THasDefault extends true ? K : TGenerated extends true ? K : never : never;
|
|
43
|
+
[K in keyof TColumns]: TColumns[K] extends ColumnDefinition<unknown, boolean, infer THasDefault, infer TGenerated, boolean> ? THasDefault extends true ? K : TGenerated extends true ? K : never : never;
|
|
44
44
|
}[keyof TColumns];
|
|
45
45
|
type RequiredInsertKeys<TColumns extends TableColumnsShape> = Exclude<keyof TColumns, OptionalInsertKeys<TColumns>>;
|
|
46
46
|
type InferSelect<TTable extends TableDefinition> = {
|
|
@@ -82,59 +82,59 @@ type VectorOptions = {
|
|
|
82
82
|
type ColumnBuildOptions = {
|
|
83
83
|
name: string;
|
|
84
84
|
};
|
|
85
|
-
declare class ColumnBuilder<TType, TNullable extends boolean = false, THasDefault extends boolean = false, TGenerated extends boolean = false> {
|
|
85
|
+
declare class ColumnBuilder<TType, TNullable extends boolean = false, THasDefault extends boolean = false, TGenerated extends boolean = false, TPrimaryKey extends boolean = false> {
|
|
86
86
|
private readonly metadata;
|
|
87
87
|
constructor(kind: LogicalColumnKind, name?: string, metadata?: Partial<ColumnMetadata>);
|
|
88
|
-
notNull(): ColumnBuilder<TType, false, THasDefault, TGenerated>;
|
|
89
|
-
nullable(): ColumnBuilder<TType, true, THasDefault, TGenerated>;
|
|
90
|
-
default(value: unknown): ColumnBuilder<TType, TNullable, true, TGenerated>;
|
|
91
|
-
defaultNow(): ColumnBuilder<TType, TNullable, true, TGenerated>;
|
|
92
|
-
generated(): ColumnBuilder<TType, TNullable, THasDefault, true>;
|
|
93
|
-
primaryKey(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
94
|
-
unique(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
95
|
-
references(columnName: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
96
|
-
on(table: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
97
|
-
constraintName(name: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
98
|
-
constrained(table?: string, columnName?: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
99
|
-
onDelete(action: NonNullable<ForeignKeyReference['onDelete']>): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
100
|
-
onUpdate(action: NonNullable<ForeignKeyReference['onUpdate']>): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
101
|
-
cascadeOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
102
|
-
restrictOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
103
|
-
nullOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
104
|
-
noActionOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
105
|
-
cascadeOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
106
|
-
restrictOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
107
|
-
nullOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
108
|
-
noActionOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated>;
|
|
109
|
-
toDefinition(options: ColumnBuildOptions): ColumnDefinition<TType, TNullable, THasDefault, TGenerated>;
|
|
88
|
+
notNull(): ColumnBuilder<TType, false, THasDefault, TGenerated, TPrimaryKey>;
|
|
89
|
+
nullable(): ColumnBuilder<TType, true, THasDefault, TGenerated, TPrimaryKey>;
|
|
90
|
+
default(value: unknown): ColumnBuilder<TType, TNullable, true, TGenerated, TPrimaryKey>;
|
|
91
|
+
defaultNow(): ColumnBuilder<TType, TNullable, true, TGenerated, TPrimaryKey>;
|
|
92
|
+
generated(): ColumnBuilder<TType, TNullable, THasDefault, true, TPrimaryKey>;
|
|
93
|
+
primaryKey(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, true>;
|
|
94
|
+
unique(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
95
|
+
references(columnName: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
96
|
+
on(table: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
97
|
+
constraintName(name: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
98
|
+
constrained(table?: string, columnName?: string): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
99
|
+
onDelete(action: NonNullable<ForeignKeyReference['onDelete']>): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
100
|
+
onUpdate(action: NonNullable<ForeignKeyReference['onUpdate']>): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
101
|
+
cascadeOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
102
|
+
restrictOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
103
|
+
nullOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
104
|
+
noActionOnDelete(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
105
|
+
cascadeOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
106
|
+
restrictOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
107
|
+
nullOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
108
|
+
noActionOnUpdate(): ColumnBuilder<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
109
|
+
toDefinition(options: ColumnBuildOptions): ColumnDefinition<TType, TNullable, THasDefault, TGenerated, TPrimaryKey>;
|
|
110
110
|
private clone;
|
|
111
111
|
}
|
|
112
112
|
declare const column: {
|
|
113
|
-
id(name?: string): ColumnBuilder<number, false, false, true>;
|
|
114
|
-
autoIncrementId(name?: string): ColumnBuilder<number, false, false, true>;
|
|
115
|
-
integer(name?: string): ColumnBuilder<number, false, false, false>;
|
|
116
|
-
bigInteger(name?: string): ColumnBuilder<number, false, false, false>;
|
|
117
|
-
string(name?: string): ColumnBuilder<string, false, false, false>;
|
|
118
|
-
text(name?: string): ColumnBuilder<string, false, false, false>;
|
|
119
|
-
boolean(name?: string): ColumnBuilder<boolean, false, false, false>;
|
|
120
|
-
real(name?: string): ColumnBuilder<number, false, false, false>;
|
|
121
|
-
decimal(name?: string): ColumnBuilder<string, false, false, false>;
|
|
122
|
-
date(name?: string): ColumnBuilder<Date, false, false, false>;
|
|
123
|
-
datetime(name?: string): ColumnBuilder<Date, false, false, false>;
|
|
124
|
-
timestamp(name?: string): ColumnBuilder<Date, false, false, false>;
|
|
125
|
-
json<TValue = unknown>(name?: string): ColumnBuilder<TValue, false, false, false>;
|
|
126
|
-
blob(name?: string): ColumnBuilder<Uint8Array<ArrayBufferLike>, false, false, false>;
|
|
127
|
-
uuid(name?: string): ColumnBuilder<string, false, false, false>;
|
|
128
|
-
ulid(name?: string): ColumnBuilder<string, false, false, false>;
|
|
129
|
-
snowflake(name?: string): ColumnBuilder<string, false, false, false>;
|
|
130
|
-
foreignId(name?: string): ColumnBuilder<number, false, false, false>;
|
|
131
|
-
foreignUuid(name?: string): ColumnBuilder<string, false, false, false>;
|
|
132
|
-
foreignUlid(name?: string): ColumnBuilder<string, false, false, false>;
|
|
133
|
-
foreignSnowflake(name?: string): ColumnBuilder<string, false, false, false>;
|
|
134
|
-
vector(options: VectorOptions, name?: string): ColumnBuilder<VectorValue, false, false, false>;
|
|
135
|
-
enum<const TValues extends readonly string[]>(values: TValues, name?: string): ColumnBuilder<TValues[number], false, false, false>;
|
|
113
|
+
id(name?: string): ColumnBuilder<number, false, false, true, true>;
|
|
114
|
+
autoIncrementId(name?: string): ColumnBuilder<number, false, false, true, true>;
|
|
115
|
+
integer(name?: string): ColumnBuilder<number, false, false, false, false>;
|
|
116
|
+
bigInteger(name?: string): ColumnBuilder<number, false, false, false, false>;
|
|
117
|
+
string(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
118
|
+
text(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
119
|
+
boolean(name?: string): ColumnBuilder<boolean, false, false, false, false>;
|
|
120
|
+
real(name?: string): ColumnBuilder<number, false, false, false, false>;
|
|
121
|
+
decimal(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
122
|
+
date(name?: string): ColumnBuilder<Date, false, false, false, false>;
|
|
123
|
+
datetime(name?: string): ColumnBuilder<Date, false, false, false, false>;
|
|
124
|
+
timestamp(name?: string): ColumnBuilder<Date, false, false, false, false>;
|
|
125
|
+
json<TValue = unknown>(name?: string): ColumnBuilder<TValue, false, false, false, false>;
|
|
126
|
+
blob(name?: string): ColumnBuilder<Uint8Array<ArrayBufferLike>, false, false, false, false>;
|
|
127
|
+
uuid(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
128
|
+
ulid(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
129
|
+
snowflake(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
130
|
+
foreignId(name?: string): ColumnBuilder<number, false, false, false, false>;
|
|
131
|
+
foreignUuid(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
132
|
+
foreignUlid(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
133
|
+
foreignSnowflake(name?: string): ColumnBuilder<string, false, false, false, false>;
|
|
134
|
+
vector(options: VectorOptions, name?: string): ColumnBuilder<VectorValue, false, false, false, false>;
|
|
135
|
+
enum<const TValues extends readonly string[]>(values: TValues, name?: string): ColumnBuilder<TValues[number], false, false, false, false>;
|
|
136
136
|
};
|
|
137
|
-
type AnyColumnBuilder = ColumnBuilder<unknown, boolean, boolean, boolean>;
|
|
137
|
+
type AnyColumnBuilder = ColumnBuilder<unknown, boolean, boolean, boolean, boolean>;
|
|
138
138
|
type ColumnInput = AnyColumnBuilder | AnyColumnDefinition;
|
|
139
139
|
|
|
140
140
|
type ColumnShapeInput$2 = Record<string, ColumnInput>;
|
|
@@ -166,11 +166,13 @@ declare function resolveGeneratedTableDefinition<TName extends string>(tableName
|
|
|
166
166
|
declare function listGeneratedTableDefinitions(): readonly TableDefinition[];
|
|
167
167
|
declare function renderGeneratedSchemaPlaceholder(): string;
|
|
168
168
|
declare function renderGeneratedSchemaModule(tables: readonly TableDefinition[]): string;
|
|
169
|
+
declare function renderGeneratedSchemaRuntimeModule(tables: readonly TableDefinition[]): string;
|
|
169
170
|
|
|
170
171
|
type EntityConstructor = {
|
|
171
|
-
new <TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap>(repository:
|
|
172
|
-
prototype:
|
|
172
|
+
new <TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap>(repository: unknown, attributes: Partial<ModelRecord<TTable>>, exists?: boolean): Entity<TTable, TRelations>;
|
|
173
|
+
prototype: Entity<TableDefinition, RelationMap>;
|
|
173
174
|
};
|
|
175
|
+
|
|
174
176
|
declare class EntityBase<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap> {
|
|
175
177
|
private readonly repository;
|
|
176
178
|
private attributes;
|
|
@@ -194,6 +196,7 @@ declare class EntityBase<TTable extends TableDefinition = TableDefinition, TRela
|
|
|
194
196
|
get<TKey extends Extract<keyof ModelRecord<TTable>, string>>(key: TKey): ModelRecord<TTable>[TKey];
|
|
195
197
|
set<TKey extends Extract<keyof ModelRecord<TTable>, string>>(key: TKey, value: ModelRecord<TTable>[TKey]): this;
|
|
196
198
|
fill(values: Partial<ModelRecord<TTable>>): this;
|
|
199
|
+
update(values: ModelUpdatePayload<TTable>): Promise<this>;
|
|
197
200
|
forceFill(values: Partial<ModelRecord<TTable>>): this;
|
|
198
201
|
isDirty(key?: Extract<keyof ModelRecord<TTable>, string>): boolean;
|
|
199
202
|
isClean(): boolean;
|
|
@@ -228,7 +231,14 @@ declare class EntityBase<TTable extends TableDefinition = TableDefinition, TRela
|
|
|
228
231
|
readonly appended: readonly string[] | null;
|
|
229
232
|
};
|
|
230
233
|
forgetRelation(name: string): this;
|
|
234
|
+
relation<K extends ModelRelationName<TRelations>>(name: K): RelationMethodsOf<TRelations[K]>;
|
|
231
235
|
toJSON(): ModelRecord<TTable>;
|
|
236
|
+
private applyPersistedEntity;
|
|
237
|
+
private persistEntity;
|
|
238
|
+
private deletePersistedEntity;
|
|
239
|
+
private restoreEntity;
|
|
240
|
+
private forceDeletePersistedEntity;
|
|
241
|
+
private loadAggregateDefinitions;
|
|
232
242
|
save(): Promise<this>;
|
|
233
243
|
push(): Promise<this>;
|
|
234
244
|
saveQuietly(): Promise<this>;
|
|
@@ -241,14 +251,14 @@ declare class EntityBase<TTable extends TableDefinition = TableDefinition, TRela
|
|
|
241
251
|
fresh(): Promise<Entity<TTable, TRelations> | undefined>;
|
|
242
252
|
refresh(): Promise<this>;
|
|
243
253
|
replicate(except?: readonly string[]): Entity<TTable, TRelations>;
|
|
244
|
-
load<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): Promise<this & ResolveEagerLoads<TRelations, TPaths> & (this extends {
|
|
254
|
+
load<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): Promise<Omit<this, keyof ResolveEagerLoads<TRelations, TPaths>> & ResolveEagerLoads<TRelations, TPaths> & (this extends {
|
|
245
255
|
toJSON(): infer R;
|
|
246
256
|
} ? {
|
|
247
257
|
toJSON(): R & SerializeLoaded<ResolveEagerLoads<TRelations, TPaths>>;
|
|
248
258
|
} : {
|
|
249
259
|
toJSON(): ModelRecord<TTable> & SerializeLoaded<ResolveEagerLoads<TRelations, TPaths>>;
|
|
250
260
|
})>;
|
|
251
|
-
loadMissing<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): Promise<this & ResolveEagerLoads<TRelations, TPaths> & (this extends {
|
|
261
|
+
loadMissing<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): Promise<Omit<this, keyof ResolveEagerLoads<TRelations, TPaths>> & ResolveEagerLoads<TRelations, TPaths> & (this extends {
|
|
252
262
|
toJSON(): infer R;
|
|
253
263
|
} ? {
|
|
254
264
|
toJSON(): R & SerializeLoaded<ResolveEagerLoads<TRelations, TPaths>>;
|
|
@@ -289,9 +299,14 @@ declare class EntityBase<TTable extends TableDefinition = TableDefinition, TRela
|
|
|
289
299
|
attached: unknown[];
|
|
290
300
|
detached: unknown[];
|
|
291
301
|
}>;
|
|
292
|
-
private initializeModelProperties;
|
|
293
302
|
}
|
|
294
|
-
type
|
|
303
|
+
type ModelRelationMethods<TRelations extends RelationMap> = string extends ModelRelationName<TRelations> ? Record<never, never> : {
|
|
304
|
+
[K in ModelRelationName<TRelations>]: () => RelationMethodsOf<TRelations[K]>;
|
|
305
|
+
};
|
|
306
|
+
type ModelBase<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap> = EntityBase<TTable, TRelations> & ModelRecord<TTable> & {
|
|
307
|
+
relation<K extends ModelRelationName<TRelations>>(name: K): RelationMethodsOf<TRelations[K]>;
|
|
308
|
+
};
|
|
309
|
+
type Entity<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap> = ModelBase<TTable, TRelations> & ModelRelationMethods<TRelations>;
|
|
295
310
|
declare const Entity: EntityConstructor;
|
|
296
311
|
|
|
297
312
|
/**
|
|
@@ -351,6 +366,7 @@ declare class ModelRegistry {
|
|
|
351
366
|
clear(): void;
|
|
352
367
|
}
|
|
353
368
|
declare function createModelRegistry(): ModelRegistry;
|
|
369
|
+
declare function resetGlobalModelRegistry(): void;
|
|
354
370
|
|
|
355
371
|
type SchedulingMode = 'concurrent' | 'serialized' | 'worker';
|
|
356
372
|
interface QuerySchedulerOptions {
|
|
@@ -381,6 +397,8 @@ declare class QueryScheduler {
|
|
|
381
397
|
}): SchedulingMode;
|
|
382
398
|
private resolveMode;
|
|
383
399
|
private resolveState;
|
|
400
|
+
private waitForSlot;
|
|
401
|
+
private wakeNext;
|
|
384
402
|
}
|
|
385
403
|
declare function createQueryScheduler(options: QuerySchedulerOptions): QueryScheduler;
|
|
386
404
|
|
|
@@ -768,12 +786,7 @@ interface QueryCacheConfig {
|
|
|
768
786
|
readonly flexible?: QueryCacheFlexibleTtlInput;
|
|
769
787
|
readonly invalidate?: readonly string[];
|
|
770
788
|
}
|
|
771
|
-
interface NormalizedQueryCacheConfig {
|
|
772
|
-
readonly ttl?: QueryCacheTtlInput;
|
|
773
|
-
readonly key?: string;
|
|
774
|
-
readonly driver?: string;
|
|
775
|
-
readonly flexible?: QueryCacheFlexibleTtlInput;
|
|
776
|
-
readonly invalidate?: readonly string[];
|
|
789
|
+
interface NormalizedQueryCacheConfig extends QueryCacheConfig {
|
|
777
790
|
}
|
|
778
791
|
interface DatabaseQueryCacheBridge {
|
|
779
792
|
get<TValue>(key: string, options?: {
|
|
@@ -904,8 +917,8 @@ interface CursorPaginationOptions {
|
|
|
904
917
|
|
|
905
918
|
type SelectRow<TTableOrName extends string | TableDefinition> = TTableOrName extends TableDefinition ? InferSelect<TTableOrName> : Record<string, unknown>;
|
|
906
919
|
type TableReference = string | TableDefinition;
|
|
907
|
-
type BuilderCallback$
|
|
908
|
-
type ValueBuilderCallback$
|
|
920
|
+
type BuilderCallback$1<TBuilder> = (query: TBuilder) => unknown;
|
|
921
|
+
type ValueBuilderCallback$1<TBuilder, TValue> = (query: TBuilder, value: TValue) => unknown;
|
|
909
922
|
type SelectedColumnNames<TRow extends Record<string, unknown>> = Extract<keyof TRow, string>;
|
|
910
923
|
type ExactDeclaredColumnName<TTableOrName extends TableReference> = TTableOrName extends TableDefinition ? Extract<keyof SelectRow<TTableOrName>, string> : string;
|
|
911
924
|
type DeclaredColumnName<TTableOrName extends TableReference> = TTableOrName extends TableDefinition ? ExactDeclaredColumnName<TTableOrName> | `${string}.${ExactDeclaredColumnName<TTableOrName>}` : string;
|
|
@@ -945,13 +958,13 @@ declare class TableQueryBuilder<TTableOrName extends TableReference = string, TS
|
|
|
945
958
|
selectSub(query: TableQueryBuilder<TableDefinition, Record<string, unknown>>, alias: string): TableQueryBuilder<TTableOrName, Record<string, unknown>>;
|
|
946
959
|
addSelectSub(query: TableQueryBuilder<TableDefinition, Record<string, unknown>>, alias: string): TableQueryBuilder<TTableOrName, Record<string, unknown>>;
|
|
947
960
|
distinct(): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
948
|
-
where(callback: BuilderCallback$
|
|
961
|
+
where(callback: BuilderCallback$1<TableQueryBuilder<TTableOrName, SelectRow<TTableOrName>>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
949
962
|
where(column: JsonColumnPath<TTableOrName>, operator: QueryOperator | unknown, value?: unknown): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
950
|
-
orWhere(callback: BuilderCallback$
|
|
963
|
+
orWhere(callback: BuilderCallback$1<TableQueryBuilder<TTableOrName, SelectRow<TTableOrName>>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
951
964
|
orWhere(column: JsonColumnPath<TTableOrName>, operator: QueryOperator | unknown, value?: unknown): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
952
965
|
private whereGroupWithBoolean;
|
|
953
|
-
whereNot(callback: BuilderCallback$
|
|
954
|
-
orWhereNot(callback: BuilderCallback$
|
|
966
|
+
whereNot(callback: BuilderCallback$1<TableQueryBuilder<TTableOrName, SelectRow<TTableOrName>>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
967
|
+
orWhereNot(callback: BuilderCallback$1<TableQueryBuilder<TTableOrName, SelectRow<TTableOrName>>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
955
968
|
whereExists(subquery: TableQueryBuilder<TableDefinition, Record<string, unknown>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
956
969
|
orWhereExists(subquery: TableQueryBuilder<TableDefinition, Record<string, unknown>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
957
970
|
whereNotExists(subquery: TableQueryBuilder<TableDefinition, Record<string, unknown>>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
@@ -1023,8 +1036,8 @@ declare class TableQueryBuilder<TTableOrName extends TableReference = string, TS
|
|
|
1023
1036
|
}): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1024
1037
|
whereVectorSimilarTo(column: DeclaredColumnName<TTableOrName>, vector: readonly number[], minSimilarity?: number): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1025
1038
|
orWhereVectorSimilarTo(column: DeclaredColumnName<TTableOrName>, vector: readonly number[], minSimilarity?: number): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1026
|
-
when<TValue>(value: TValue, callback: ValueBuilderCallback$
|
|
1027
|
-
unless<TValue>(value: TValue, callback: ValueBuilderCallback$
|
|
1039
|
+
when<TValue>(value: TValue, callback: ValueBuilderCallback$1<TableQueryBuilder<TTableOrName, TSelectedRow>, TValue>, defaultCallback?: ValueBuilderCallback$1<TableQueryBuilder<TTableOrName, TSelectedRow>, TValue>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1040
|
+
unless<TValue>(value: TValue, callback: ValueBuilderCallback$1<TableQueryBuilder<TTableOrName, TSelectedRow>, TValue>, defaultCallback?: ValueBuilderCallback$1<TableQueryBuilder<TTableOrName, TSelectedRow>, TValue>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1028
1041
|
withoutWhereNull(column: DeclaredColumnName<TTableOrName>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1029
1042
|
withoutWhereNotNull(column: DeclaredColumnName<TTableOrName>): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
1030
1043
|
orderBy(column: DeclaredColumnName<TTableOrName>, direction?: QueryDirection): TableQueryBuilder<TTableOrName, TSelectedRow>;
|
|
@@ -1137,36 +1150,39 @@ declare class TableQueryBuilder<TTableOrName extends TableReference = string, TS
|
|
|
1137
1150
|
private normalizePredicateValueForColumn;
|
|
1138
1151
|
}
|
|
1139
1152
|
|
|
1140
|
-
type CollectionLoadedItem<TItem, TTable extends TableDefinition, TRelations extends RelationMap, TPaths extends readonly ModelRelationPath<TRelations>[]> = TItem & ResolveEagerLoads<TRelations, TPaths> & (TItem extends {
|
|
1153
|
+
type CollectionLoadedItem<TItem, TTable extends TableDefinition, TRelations extends RelationMap, TPaths extends readonly ModelRelationPath<TRelations>[]> = Omit<TItem, keyof ResolveEagerLoads<TRelations, TPaths>> & ResolveEagerLoads<TRelations, TPaths> & (TItem extends {
|
|
1141
1154
|
toJSON(): infer TSerialized;
|
|
1142
1155
|
} ? {
|
|
1143
1156
|
toJSON(): TSerialized & SerializeLoaded<ResolveEagerLoads<TRelations, TPaths>>;
|
|
1144
1157
|
} : {
|
|
1145
1158
|
toJSON(): ModelRecord<TTable> & SerializeLoaded<ResolveEagerLoads<TRelations, TPaths>>;
|
|
1146
1159
|
});
|
|
1147
|
-
type
|
|
1148
|
-
|
|
1160
|
+
type CollectionSerializedItem<TItem, TTable extends TableDefinition> = TItem extends {
|
|
1161
|
+
toJSON(): infer TSerialized;
|
|
1162
|
+
} ? TSerialized : ModelRecord<TTable>;
|
|
1163
|
+
interface ModelCollectionMethods<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap, TItem = Entity<TTable, TRelations>> {
|
|
1149
1164
|
modelKeys(): unknown[];
|
|
1150
1165
|
toQuery(): ModelQueryBuilder<TTable, TRelations>;
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1166
|
+
toJSON(): Array<CollectionSerializedItem<TItem, TTable>>;
|
|
1167
|
+
load<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): Promise<ModelCollection<TTable, TRelations, CollectionLoadedItem<TItem, TTable, TRelations, TPaths>>>;
|
|
1168
|
+
loadMissing<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): Promise<ModelCollection<TTable, TRelations, CollectionLoadedItem<TItem, TTable, TRelations, TPaths>>>;
|
|
1169
|
+
loadMorph(relation: ModelRelationName<TRelations>, mapping: ModelMorphLoadMap): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1170
|
+
loadCount(...relations: readonly ModelRelationName<TRelations>[]): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1171
|
+
loadExists(...relations: readonly ModelRelationName<TRelations>[]): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1172
|
+
loadSum<TRelationName extends ModelRelationName<TRelations>>(relation: TRelationName, column: RelatedColumnNameOfRelation<TRelations[TRelationName]>): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1173
|
+
loadAvg<TRelationName extends ModelRelationName<TRelations>>(relation: TRelationName, column: RelatedColumnNameOfRelation<TRelations[TRelationName]>): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1174
|
+
loadMin<TRelationName extends ModelRelationName<TRelations>>(relation: TRelationName, column: RelatedColumnNameOfRelation<TRelations[TRelationName]>): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1175
|
+
loadMax<TRelationName extends ModelRelationName<TRelations>>(relation: TRelationName, column: RelatedColumnNameOfRelation<TRelations[TRelationName]>): Promise<ModelCollection<TTable, TRelations, TItem>>;
|
|
1160
1176
|
fresh(): Promise<ModelCollection<TTable, TRelations>>;
|
|
1161
|
-
append(...keys: readonly string[]): ModelCollection<TTable, TRelations>;
|
|
1162
|
-
withoutAppends(): ModelCollection<TTable, TRelations>;
|
|
1163
|
-
makeVisible(...keys: readonly string[]): ModelCollection<TTable, TRelations>;
|
|
1164
|
-
makeHidden(...keys: readonly string[]): ModelCollection<TTable, TRelations>;
|
|
1165
|
-
setVisible(keys: readonly string[]): ModelCollection<TTable, TRelations>;
|
|
1166
|
-
setHidden(keys: readonly string[]): ModelCollection<TTable, TRelations>;
|
|
1177
|
+
append(...keys: readonly string[]): ModelCollection<TTable, TRelations, TItem>;
|
|
1178
|
+
withoutAppends(): ModelCollection<TTable, TRelations, TItem>;
|
|
1179
|
+
makeVisible(...keys: readonly string[]): ModelCollection<TTable, TRelations, TItem>;
|
|
1180
|
+
makeHidden(...keys: readonly string[]): ModelCollection<TTable, TRelations, TItem>;
|
|
1181
|
+
setVisible(keys: readonly string[]): ModelCollection<TTable, TRelations, TItem>;
|
|
1182
|
+
setHidden(keys: readonly string[]): ModelCollection<TTable, TRelations, TItem>;
|
|
1167
1183
|
}
|
|
1168
|
-
type ModelCollection<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap
|
|
1169
|
-
declare function createModelCollection<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap>
|
|
1184
|
+
type ModelCollection<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap, TItem = Entity<TTable, TRelations>> = Array<TItem> & ModelCollectionMethods<TTable, TRelations, TItem>;
|
|
1185
|
+
declare function createModelCollection<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap, TItem extends Entity<TTable, TRelations> = Entity<TTable, TRelations>>(items: readonly TItem[]): ModelCollection<TTable, TRelations, TItem>;
|
|
1170
1186
|
|
|
1171
1187
|
type WriteMode = 'create' | 'update';
|
|
1172
1188
|
type PivotAttributes = Record<string, unknown>;
|
|
@@ -1209,7 +1225,7 @@ declare class ModelRepository<TTable extends TableDefinition = TableDefinition>
|
|
|
1209
1225
|
getDeletedAtColumn(): string | undefined;
|
|
1210
1226
|
getRelationNames(): readonly string[];
|
|
1211
1227
|
getRelationDefinition(name: string): RelationDefinition;
|
|
1212
|
-
createCollection(items: readonly
|
|
1228
|
+
createCollection<TItem extends Entity<TTable>>(items: readonly TItem[]): ModelCollection<TTable, RelationMap, TItem>;
|
|
1213
1229
|
query(): ModelQueryBuilder<TTable>;
|
|
1214
1230
|
newQuery(): ModelQueryBuilder<TTable>;
|
|
1215
1231
|
newModelQuery(): ModelQueryBuilder<TTable>;
|
|
@@ -1405,10 +1421,10 @@ declare class ModelRepository<TTable extends TableDefinition = TableDefinition>
|
|
|
1405
1421
|
private formatDateCast;
|
|
1406
1422
|
}
|
|
1407
1423
|
|
|
1408
|
-
type BuilderCallback
|
|
1409
|
-
type ValueBuilderCallback
|
|
1424
|
+
type BuilderCallback<TBuilder> = (query: TBuilder) => unknown;
|
|
1425
|
+
type ValueBuilderCallback<TBuilder, TValue> = (query: TBuilder, value: TValue) => unknown;
|
|
1410
1426
|
type RelationConstraint = (query: ModelQueryBuilder<TableDefinition>) => unknown;
|
|
1411
|
-
type SubqueryBuilder
|
|
1427
|
+
type SubqueryBuilder<TSubTable extends TableDefinition = TableDefinition> = TableQueryBuilder<TSubTable, Record<string, unknown>> | ModelQueryBuilder<TSubTable>;
|
|
1412
1428
|
type RelationFilter = {
|
|
1413
1429
|
relation: string;
|
|
1414
1430
|
negate: boolean;
|
|
@@ -1416,7 +1432,7 @@ type RelationFilter = {
|
|
|
1416
1432
|
boolean?: 'and' | 'or';
|
|
1417
1433
|
morphTypes?: readonly string[];
|
|
1418
1434
|
};
|
|
1419
|
-
type MorphEntityTarget
|
|
1435
|
+
type MorphEntityTarget = {
|
|
1420
1436
|
exists(): boolean;
|
|
1421
1437
|
getRepository(): {
|
|
1422
1438
|
definition: {
|
|
@@ -1426,13 +1442,13 @@ type MorphEntityTarget$1 = {
|
|
|
1426
1442
|
};
|
|
1427
1443
|
get(key: string): unknown;
|
|
1428
1444
|
};
|
|
1429
|
-
type MorphModelTarget
|
|
1445
|
+
type MorphModelTarget = {
|
|
1430
1446
|
definition?: {
|
|
1431
1447
|
morphClass?: string;
|
|
1432
1448
|
};
|
|
1433
1449
|
};
|
|
1434
|
-
type MorphRelationTypeInput = string | MorphModelTarget
|
|
1435
|
-
type MorphTypeSelector
|
|
1450
|
+
type MorphRelationTypeInput = string | MorphModelTarget | readonly (string | MorphModelTarget)[];
|
|
1451
|
+
type MorphTypeSelector = string | MorphModelTarget | MorphEntityTarget | null;
|
|
1436
1452
|
type EagerLoad = {
|
|
1437
1453
|
relation: string;
|
|
1438
1454
|
constraint?: RelationConstraint;
|
|
@@ -1455,27 +1471,29 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1455
1471
|
getConnection(): DatabaseContext;
|
|
1456
1472
|
getConnectionName(): string;
|
|
1457
1473
|
getTableQueryBuilder(): TableQueryBuilder<TTable, Record<string, unknown>>;
|
|
1474
|
+
private collectNestedPredicates;
|
|
1475
|
+
private replayNestedPredicates;
|
|
1458
1476
|
from(table: string): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1459
|
-
where(callback: BuilderCallback
|
|
1477
|
+
where(callback: BuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1460
1478
|
where(column: ModelColumnName<TTable> | ModelJsonColumnPath<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1461
|
-
orWhere(callback: BuilderCallback
|
|
1479
|
+
orWhere(callback: BuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1462
1480
|
orWhere(column: ModelColumnName<TTable> | ModelJsonColumnPath<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1463
|
-
whereNot(callback: BuilderCallback
|
|
1464
|
-
orWhereNot(callback: BuilderCallback
|
|
1465
|
-
whereExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder
|
|
1466
|
-
orWhereExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder
|
|
1467
|
-
whereNotExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder
|
|
1468
|
-
orWhereNotExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder
|
|
1469
|
-
whereSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'in' | 'not in' | 'like', subquery: SubqueryBuilder
|
|
1470
|
-
orWhereSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'in' | 'not in' | 'like', subquery: SubqueryBuilder
|
|
1471
|
-
whereInSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, subquery: SubqueryBuilder
|
|
1472
|
-
whereNotInSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, subquery: SubqueryBuilder
|
|
1481
|
+
whereNot(callback: BuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1482
|
+
orWhereNot(callback: BuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1483
|
+
whereExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1484
|
+
orWhereExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1485
|
+
whereNotExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1486
|
+
orWhereNotExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1487
|
+
whereSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'in' | 'not in' | 'like', subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1488
|
+
orWhereSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'in' | 'not in' | 'like', subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1489
|
+
whereInSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1490
|
+
whereNotInSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1473
1491
|
whereNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1474
1492
|
orWhereNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1475
1493
|
whereNotNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1476
1494
|
orWhereNotNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1477
|
-
when<TValue>(value: TValue, callback: ValueBuilderCallback
|
|
1478
|
-
unless<TValue>(value: TValue, callback: ValueBuilderCallback
|
|
1495
|
+
when<TValue>(value: TValue, callback: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>, TValue>, defaultCallback?: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>, TValue>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1496
|
+
unless<TValue>(value: TValue, callback: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>, TValue>, defaultCallback?: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations, TLoaded>, TValue>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1479
1497
|
orderBy(column: ModelColumnName<TTable>, direction?: 'asc' | 'desc'): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1480
1498
|
latest(column?: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1481
1499
|
oldest(column?: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
@@ -1493,8 +1511,8 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1493
1511
|
forPage(page: number, perPage?: number): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1494
1512
|
select(...columns: readonly ModelSelectableColumn<TTable>[]): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1495
1513
|
addSelect(...columns: readonly ModelSelectableColumn<TTable>[]): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1496
|
-
selectSub<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1497
|
-
addSelectSub<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1514
|
+
selectSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1515
|
+
addSelectSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1498
1516
|
distinct(): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1499
1517
|
withCasts(casts: Record<string, ModelCastDefinition>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1500
1518
|
whereColumn(column: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', compareTo: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
@@ -1511,13 +1529,13 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1511
1529
|
leftJoin(table: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1512
1530
|
rightJoin(table: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1513
1531
|
crossJoin(table: string): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1514
|
-
joinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1515
|
-
leftJoinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1516
|
-
rightJoinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1517
|
-
joinLateral<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1518
|
-
leftJoinLateral<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1519
|
-
union<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1520
|
-
unionAll<TSubTable extends TableDefinition>(query: SubqueryBuilder
|
|
1532
|
+
joinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1533
|
+
leftJoinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1534
|
+
rightJoinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1535
|
+
joinLateral<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1536
|
+
leftJoinLateral<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1537
|
+
union<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1538
|
+
unionAll<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1521
1539
|
groupBy(...columns: readonly ModelColumnName<TTable>[]): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1522
1540
|
having(expression: string, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1523
1541
|
havingBetween(expression: string, range: readonly [unknown, unknown]): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
@@ -1546,6 +1564,7 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1546
1564
|
with<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): ModelQueryBuilder<TTable, TRelations, TLoaded & ResolveEagerLoads<TRelations, TPaths>>;
|
|
1547
1565
|
with<TPath extends ModelRelationPath<TRelations>>(relation: TPath, constraint: RelationConstraint): ModelQueryBuilder<TTable, TRelations, TLoaded & ResolveEagerLoads<TRelations, readonly [TPath]>>;
|
|
1548
1566
|
with(relations: Readonly<Partial<Record<ModelRelationPath<TRelations>, RelationConstraint>>>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1567
|
+
with<TPaths extends readonly ModelRelationPath<TRelations>[]>(relations: TPaths): ModelQueryBuilder<TTable, TRelations, TLoaded & ResolveEagerLoads<TRelations, TPaths>>;
|
|
1549
1568
|
has(relation: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1550
1569
|
orHas(relation: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1551
1570
|
whereHas(relation: ModelRelationPath<TRelations>, constraint?: RelationConstraint): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
@@ -1558,12 +1577,12 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1558
1577
|
orWhereRelation<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1559
1578
|
whereMorphRelation<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath, types: MorphRelationTypeInput, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1560
1579
|
orWhereMorphRelation<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath, types: MorphRelationTypeInput, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1561
|
-
whereBelongsTo<TRelated extends TableDefinition>(relatedEntity: Entity<TRelated>, relationName?: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1562
|
-
orWhereBelongsTo<TRelated extends TableDefinition>(relatedEntity: Entity<TRelated>, relationName?: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1563
|
-
whereMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector
|
|
1564
|
-
orWhereMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector
|
|
1565
|
-
whereNotMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector
|
|
1566
|
-
orWhereNotMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector
|
|
1580
|
+
whereBelongsTo<TRelated extends TableDefinition, TRelatedRelations extends RelationMap = RelationMap>(relatedEntity: Entity<TRelated, TRelatedRelations>, relationName?: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1581
|
+
orWhereBelongsTo<TRelated extends TableDefinition, TRelatedRelations extends RelationMap = RelationMap>(relatedEntity: Entity<TRelated, TRelatedRelations>, relationName?: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1582
|
+
whereMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1583
|
+
orWhereMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1584
|
+
whereNotMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1585
|
+
orWhereNotMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1567
1586
|
withWhereHas<TPath extends ModelRelationPath<TRelations>>(relation: TPath, constraint?: RelationConstraint): ModelQueryBuilder<TTable, TRelations, TLoaded & ResolveEagerLoads<TRelations, readonly [TPath]>>;
|
|
1568
1587
|
withCount(...relations: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1569
1588
|
withCount(relations: Readonly<Partial<Record<ModelRelationPath<TRelations>, RelationConstraint>>>): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
@@ -1615,12 +1634,30 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1615
1634
|
};
|
|
1616
1635
|
dump(): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1617
1636
|
cache(config: QueryCacheTtlInput | QueryCacheConfig): ModelQueryBuilder<TTable, TRelations, TLoaded>;
|
|
1618
|
-
get(): Promise<ModelCollection<TTable, TRelations
|
|
1637
|
+
get(): Promise<ModelCollection<TTable, TRelations, EntityWithLoaded<TTable, TRelations, TLoaded>>>;
|
|
1638
|
+
getJson(): Promise<SerializedEntityWithLoaded<TTable, TLoaded>[]>;
|
|
1619
1639
|
first(): Promise<EntityWithLoaded<TTable, TRelations, TLoaded> | undefined>;
|
|
1640
|
+
firstJson(): Promise<SerializedEntityWithLoaded<TTable, TLoaded> | undefined>;
|
|
1620
1641
|
sole(): Promise<EntityWithLoaded<TTable, TRelations, TLoaded>>;
|
|
1642
|
+
soleJson(): Promise<SerializedEntityWithLoaded<TTable, TLoaded>>;
|
|
1621
1643
|
paginate(perPage?: number, page?: number, options?: PaginationOptions): Promise<PaginatedResult<EntityWithLoaded<TTable, TRelations, TLoaded>>>;
|
|
1644
|
+
paginateJson(perPage?: number, page?: number, options?: PaginationOptions): Promise<{
|
|
1645
|
+
data: readonly SerializedEntityWithLoaded<TTable, TLoaded>[];
|
|
1646
|
+
meta: PaginationMeta;
|
|
1647
|
+
}>;
|
|
1622
1648
|
simplePaginate(perPage?: number, page?: number, options?: PaginationOptions): Promise<SimplePaginatedResult<EntityWithLoaded<TTable, TRelations, TLoaded>>>;
|
|
1649
|
+
simplePaginateJson(perPage?: number, page?: number, options?: PaginationOptions): Promise<{
|
|
1650
|
+
data: readonly SerializedEntityWithLoaded<TTable, TLoaded>[];
|
|
1651
|
+
meta: SimplePaginationMeta;
|
|
1652
|
+
}>;
|
|
1623
1653
|
cursorPaginate(perPage?: number, cursor?: string | null, options?: CursorPaginationOptions): Promise<CursorPaginatedResult<EntityWithLoaded<TTable, TRelations, TLoaded>>>;
|
|
1654
|
+
cursorPaginateJson(perPage?: number, cursor?: string | null, options?: CursorPaginationOptions): Promise<{
|
|
1655
|
+
data: readonly SerializedEntityWithLoaded<TTable, TLoaded>[];
|
|
1656
|
+
perPage: number;
|
|
1657
|
+
cursorName: string;
|
|
1658
|
+
nextCursor: string | null;
|
|
1659
|
+
prevCursor: string | null;
|
|
1660
|
+
}>;
|
|
1624
1661
|
chunk(size: number, callback: (rows: readonly EntityWithLoaded<TTable, TRelations, TLoaded>[], page: number) => unknown | Promise<unknown>): Promise<void>;
|
|
1625
1662
|
chunkById(size: number, callback: (rows: readonly EntityWithLoaded<TTable, TRelations, TLoaded>[], page: number) => unknown | Promise<unknown>, column?: ModelAttributeKey<TTable>): Promise<void>;
|
|
1626
1663
|
chunkByIdDesc(size: number, callback: (rows: readonly EntityWithLoaded<TTable, TRelations, TLoaded>[], page: number) => unknown | Promise<unknown>, column?: ModelAttributeKey<TTable>): Promise<void>;
|
|
@@ -1640,6 +1677,7 @@ declare class ModelQueryBuilder<TTable extends TableDefinition = TableDefinition
|
|
|
1640
1677
|
firstOrFail(): Promise<EntityWithLoaded<TTable, TRelations, TLoaded>>;
|
|
1641
1678
|
find(value: unknown, column?: string): Promise<EntityWithLoaded<TTable, TRelations, TLoaded> | undefined>;
|
|
1642
1679
|
findOrFail(value: unknown, column?: string): Promise<EntityWithLoaded<TTable, TRelations, TLoaded>>;
|
|
1680
|
+
findOrFailJson(value: unknown, column?: string): Promise<SerializedEntityWithLoaded<TTable, TLoaded>>;
|
|
1643
1681
|
update(values: Partial<ModelRecord<TTable>>): Promise<DriverExecutionResult>;
|
|
1644
1682
|
updateJson(columnPath: ModelJsonColumnPath<TTable>, value: unknown): Promise<DriverExecutionResult>;
|
|
1645
1683
|
increment(column: ModelColumnName<TTable>, amount?: number, extraValues?: Partial<ModelRecord<TTable>>): Promise<DriverExecutionResult>;
|
|
@@ -1725,6 +1763,10 @@ interface AnyEntity {
|
|
|
1725
1763
|
toAttributes(): Record<string, unknown>;
|
|
1726
1764
|
getChanges(): Record<string, unknown>;
|
|
1727
1765
|
}
|
|
1766
|
+
interface RegisteredModels {
|
|
1767
|
+
}
|
|
1768
|
+
type RegisteredModelName = Extract<keyof RegisteredModels, string>;
|
|
1769
|
+
type RegisteredModelReference<TName extends RegisteredModelName> = RegisteredModels[TName];
|
|
1728
1770
|
type ModelDefinitionLike<TTable extends TableDefinition = TableDefinition> = (AnyModelDefinition & {
|
|
1729
1771
|
readonly table: TTable;
|
|
1730
1772
|
}) | {
|
|
@@ -1805,7 +1847,7 @@ interface MorphToRelationDefinition<TTable extends TableDefinition = TableDefini
|
|
|
1805
1847
|
readonly morphTypeColumn: string;
|
|
1806
1848
|
readonly morphIdColumn: string;
|
|
1807
1849
|
}
|
|
1808
|
-
interface BelongsToManyRelationDefinition<TRelated extends ModelDefinitionLike = ModelDefinitionLike, TPivotTable extends string | TableDefinition = string | TableDefinition> extends ScopedRelationDefinition {
|
|
1850
|
+
interface BelongsToManyRelationDefinition<TRelated extends ModelDefinitionLike = ModelDefinitionLike, TPivotTable extends string | TableDefinition = string | TableDefinition> extends ScopedRelationDefinition, PivotRelationMethods<BelongsToManyRelationDefinition<TRelated, TPivotTable>, TPivotTable> {
|
|
1809
1851
|
readonly kind: 'belongsToMany';
|
|
1810
1852
|
readonly related: () => TRelated;
|
|
1811
1853
|
readonly pivotTable: TPivotTable;
|
|
@@ -1818,13 +1860,8 @@ interface BelongsToManyRelationDefinition<TRelated extends ModelDefinitionLike =
|
|
|
1818
1860
|
readonly pivotOrderBy: readonly PivotOrderDefinition[];
|
|
1819
1861
|
readonly pivotAccessor: string;
|
|
1820
1862
|
readonly pivotModel?: () => ModelDefinitionLike;
|
|
1821
|
-
withPivot(...columns: readonly PivotTableColumnName<TPivotTable>[]): BelongsToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1822
|
-
wherePivot(column: PivotTableColumnName<TPivotTable>, operator: unknown, value?: unknown): BelongsToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1823
|
-
orderByPivot(column: PivotTableColumnName<TPivotTable>, direction?: 'asc' | 'desc'): BelongsToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1824
|
-
as(accessor: string): BelongsToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1825
|
-
using(model: () => ModelDefinitionLike): BelongsToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1826
1863
|
}
|
|
1827
|
-
interface MorphToManyRelationDefinition<TRelated extends ModelDefinitionLike = ModelDefinitionLike, TPivotTable extends string | TableDefinition = string | TableDefinition> extends ScopedRelationDefinition {
|
|
1864
|
+
interface MorphToManyRelationDefinition<TRelated extends ModelDefinitionLike = ModelDefinitionLike, TPivotTable extends string | TableDefinition = string | TableDefinition> extends ScopedRelationDefinition, PivotRelationMethods<MorphToManyRelationDefinition<TRelated, TPivotTable>, TPivotTable> {
|
|
1828
1865
|
readonly kind: 'morphToMany';
|
|
1829
1866
|
readonly related: () => TRelated;
|
|
1830
1867
|
readonly pivotTable: TPivotTable;
|
|
@@ -1839,13 +1876,8 @@ interface MorphToManyRelationDefinition<TRelated extends ModelDefinitionLike = M
|
|
|
1839
1876
|
readonly pivotOrderBy: readonly PivotOrderDefinition[];
|
|
1840
1877
|
readonly pivotAccessor: string;
|
|
1841
1878
|
readonly pivotModel?: () => ModelDefinitionLike;
|
|
1842
|
-
withPivot(...columns: readonly PivotTableColumnName<TPivotTable>[]): MorphToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1843
|
-
wherePivot(column: PivotTableColumnName<TPivotTable>, operator: unknown, value?: unknown): MorphToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1844
|
-
orderByPivot(column: PivotTableColumnName<TPivotTable>, direction?: 'asc' | 'desc'): MorphToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1845
|
-
as(accessor: string): MorphToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1846
|
-
using(model: () => ModelDefinitionLike): MorphToManyRelationDefinition<TRelated, TPivotTable>;
|
|
1847
1879
|
}
|
|
1848
|
-
interface MorphedByManyRelationDefinition<TRelated extends ModelDefinitionLike = ModelDefinitionLike, TPivotTable extends string | TableDefinition = string | TableDefinition> extends ScopedRelationDefinition {
|
|
1880
|
+
interface MorphedByManyRelationDefinition<TRelated extends ModelDefinitionLike = ModelDefinitionLike, TPivotTable extends string | TableDefinition = string | TableDefinition> extends ScopedRelationDefinition, PivotRelationMethods<MorphedByManyRelationDefinition<TRelated, TPivotTable>, TPivotTable> {
|
|
1849
1881
|
readonly kind: 'morphedByMany';
|
|
1850
1882
|
readonly related: () => TRelated;
|
|
1851
1883
|
readonly pivotTable: TPivotTable;
|
|
@@ -1860,11 +1892,6 @@ interface MorphedByManyRelationDefinition<TRelated extends ModelDefinitionLike =
|
|
|
1860
1892
|
readonly pivotOrderBy: readonly PivotOrderDefinition[];
|
|
1861
1893
|
readonly pivotAccessor: string;
|
|
1862
1894
|
readonly pivotModel?: () => ModelDefinitionLike;
|
|
1863
|
-
withPivot(...columns: readonly PivotTableColumnName<TPivotTable>[]): MorphedByManyRelationDefinition<TRelated, TPivotTable>;
|
|
1864
|
-
wherePivot(column: PivotTableColumnName<TPivotTable>, operator: unknown, value?: unknown): MorphedByManyRelationDefinition<TRelated, TPivotTable>;
|
|
1865
|
-
orderByPivot(column: PivotTableColumnName<TPivotTable>, direction?: 'asc' | 'desc'): MorphedByManyRelationDefinition<TRelated, TPivotTable>;
|
|
1866
|
-
as(accessor: string): MorphedByManyRelationDefinition<TRelated, TPivotTable>;
|
|
1867
|
-
using(model: () => ModelDefinitionLike): MorphedByManyRelationDefinition<TRelated, TPivotTable>;
|
|
1868
1895
|
}
|
|
1869
1896
|
interface PivotWhereDefinition {
|
|
1870
1897
|
readonly column: string;
|
|
@@ -1901,6 +1928,52 @@ interface HasManyThroughRelationDefinition<TRelated extends ModelDefinitionLike
|
|
|
1901
1928
|
readonly secondLocalKey: string;
|
|
1902
1929
|
}
|
|
1903
1930
|
type RelationDefinition = BelongsToRelationDefinition | HasManyRelationDefinition | HasOneRelationDefinition | HasOneOfManyRelationDefinition | MorphOneRelationDefinition | MorphManyRelationDefinition | MorphOneOfManyRelationDefinition | MorphToRelationDefinition | BelongsToManyRelationDefinition | MorphToManyRelationDefinition | MorphedByManyRelationDefinition | HasOneThroughRelationDefinition | HasManyThroughRelationDefinition;
|
|
1931
|
+
/**
|
|
1932
|
+
* Methods available on BelongsTo relations when called as a method (e.g., post.category())
|
|
1933
|
+
*/
|
|
1934
|
+
interface BelongsToRelationMethods<TRelated> {
|
|
1935
|
+
associate(related: TRelated | null): void;
|
|
1936
|
+
dissociate(): void;
|
|
1937
|
+
}
|
|
1938
|
+
/**
|
|
1939
|
+
* Methods available on HasOne/HasOneThrough relations when called as a method
|
|
1940
|
+
*/
|
|
1941
|
+
interface HasOneRelationMethods<TRelated> {
|
|
1942
|
+
create(values: Record<string, unknown>): Promise<TRelated>;
|
|
1943
|
+
save(related: TRelated): Promise<TRelated>;
|
|
1944
|
+
}
|
|
1945
|
+
/**
|
|
1946
|
+
* Methods available on HasMany/HasManyThrough relations when called as a method
|
|
1947
|
+
*/
|
|
1948
|
+
interface HasManyRelationMethods<TRelated> {
|
|
1949
|
+
create(values: Record<string, unknown>): Promise<TRelated>;
|
|
1950
|
+
createMany(values: readonly Record<string, unknown>[]): Promise<TRelated[]>;
|
|
1951
|
+
save(related: TRelated): Promise<TRelated>;
|
|
1952
|
+
saveMany(related: readonly TRelated[]): Promise<TRelated[]>;
|
|
1953
|
+
}
|
|
1954
|
+
/**
|
|
1955
|
+
* Methods available on BelongsToMany relations when called as a method (e.g., post.tags())
|
|
1956
|
+
*/
|
|
1957
|
+
interface BelongsToManyRelationMethods<TRelated, TPivot = Record<string, unknown>> {
|
|
1958
|
+
attach(ids: unknown | readonly unknown[], attributes?: TPivot): Promise<void>;
|
|
1959
|
+
detach(ids?: unknown | readonly unknown[]): Promise<number>;
|
|
1960
|
+
sync(ids: unknown): Promise<{
|
|
1961
|
+
attached: unknown[];
|
|
1962
|
+
detached: unknown[];
|
|
1963
|
+
updated: unknown[];
|
|
1964
|
+
}>;
|
|
1965
|
+
toggle(ids: unknown): Promise<{
|
|
1966
|
+
attached: unknown[];
|
|
1967
|
+
detached: unknown[];
|
|
1968
|
+
}>;
|
|
1969
|
+
updateExistingPivot(id: unknown, attributes: TPivot): Promise<number>;
|
|
1970
|
+
create(values: Record<string, unknown>): Promise<TRelated>;
|
|
1971
|
+
save(related: TRelated): Promise<TRelated>;
|
|
1972
|
+
}
|
|
1973
|
+
/**
|
|
1974
|
+
* Converts a RelationDefinition to its corresponding methods type
|
|
1975
|
+
*/
|
|
1976
|
+
type RelationMethodsOf<TRelation extends RelationDefinition> = TRelation extends BelongsToRelationDefinition<infer TRelated> ? BelongsToRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends HasOneRelationDefinition<infer TRelated> ? HasOneRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends HasOneOfManyRelationDefinition<infer TRelated> ? HasOneRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends HasManyRelationDefinition<infer TRelated> ? HasManyRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends HasOneThroughRelationDefinition<infer TRelated> ? HasOneRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends HasManyThroughRelationDefinition<infer TRelated> ? HasManyRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends BelongsToManyRelationDefinition<infer TRelated> ? BelongsToManyRelationMethods<Entity<ModelDefinitionTable<TRelated>>, Record<string, unknown>> : TRelation extends MorphOneRelationDefinition<infer TRelated> ? HasOneRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends MorphOneOfManyRelationDefinition<infer TRelated> ? HasOneRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends MorphManyRelationDefinition<infer TRelated> ? HasManyRelationMethods<Entity<ModelDefinitionTable<TRelated>>> : TRelation extends MorphToManyRelationDefinition<infer TRelated> ? BelongsToManyRelationMethods<Entity<ModelDefinitionTable<TRelated>>, Record<string, unknown>> : TRelation extends MorphedByManyRelationDefinition<infer TRelated> ? BelongsToManyRelationMethods<Entity<ModelDefinitionTable<TRelated>>, Record<string, unknown>> : never;
|
|
1904
1977
|
interface RelationMap {
|
|
1905
1978
|
readonly [key: string]: RelationDefinition;
|
|
1906
1979
|
}
|
|
@@ -1942,6 +2015,7 @@ type IsToManyRelation<TRelation extends RelationDefinition> = TRelation extends
|
|
|
1942
2015
|
} ? true : false;
|
|
1943
2016
|
/** Resolves a single (non-nested) relation to its typed entity shape. */
|
|
1944
2017
|
type ResolveRelationEntity<TRelation extends RelationDefinition> = Entity<RelatedTableOfRelation<TRelation>, RelatedRelationsOfRelation<TRelation>>;
|
|
2018
|
+
type ResolveNestedRelationEntity<TRelation extends RelationDefinition, TLoaded> = EntityWithLoaded<RelatedTableOfRelation<TRelation>, RelatedRelationsOfRelation<TRelation>, TLoaded>;
|
|
1945
2019
|
/**
|
|
1946
2020
|
* Wraps a base entity type in the correct cardinality for a relation:
|
|
1947
2021
|
* - to-many → `TEntity[]`
|
|
@@ -1963,7 +2037,7 @@ type ResolveEagerLoadPath<TRelations extends RelationMap, TPath extends string>
|
|
|
1963
2037
|
} ? {
|
|
1964
2038
|
readonly [K in TRoot]: WrapRelationCardinality<TRelations[TRoot], ResolveRelationEntity<TRelations[TRoot]>>;
|
|
1965
2039
|
} : {
|
|
1966
|
-
readonly [K in TRoot]: WrapRelationCardinality<TRelations[TRoot],
|
|
2040
|
+
readonly [K in TRoot]: WrapRelationCardinality<TRelations[TRoot], ResolveNestedRelationEntity<TRelations[TRoot], ResolveEagerLoadPath<RelatedRelationsOfRelation<TRelations[TRoot]>, TRest>>>;
|
|
1967
2041
|
} : never : TPath extends keyof TRelations & string ? {
|
|
1968
2042
|
readonly [K in TPath]: WrapRelationCardinality<TRelations[TPath], ResolveRelationEntity<TRelations[TPath]>>;
|
|
1969
2043
|
} : never;
|
|
@@ -2006,7 +2080,7 @@ type SerializedEntityWithLoaded<TTable extends TableDefinition, TLoaded> = Model
|
|
|
2006
2080
|
* The entity type returned by terminal query methods when eager loads
|
|
2007
2081
|
* have been accumulated via `with()`.
|
|
2008
2082
|
*/
|
|
2009
|
-
type EntityWithLoaded<TTable extends TableDefinition, TRelations extends RelationMap, TLoaded> =
|
|
2083
|
+
type EntityWithLoaded<TTable extends TableDefinition, TRelations extends RelationMap, TLoaded> = ModelBase<TTable, TRelations> & Omit<ModelRelationMethods<TRelations>, Extract<keyof TLoaded, string>> & TLoaded & {
|
|
2010
2084
|
toJSON(): SerializedEntityWithLoaded<TTable, TLoaded>;
|
|
2011
2085
|
};
|
|
2012
2086
|
type EmptyScopeMap = Record<never, never>;
|
|
@@ -2032,7 +2106,7 @@ type ModelCastDefinition = BuiltInCastString | EnumCastDefinition | CastableDefi
|
|
|
2032
2106
|
type ModelAccessor = (value: unknown, entity: AnyEntity) => unknown;
|
|
2033
2107
|
type ModelMutator = (value: unknown, entity?: AnyEntity) => unknown;
|
|
2034
2108
|
type ModelDateSerializer = (value: Date) => unknown;
|
|
2035
|
-
type ModelCollectionFactory<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap> =
|
|
2109
|
+
type ModelCollectionFactory<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap> = <TItem extends Entity<TTable, TRelations>>(items: readonly TItem[]) => ModelCollection<TTable, TRelations, TItem>;
|
|
2036
2110
|
type ModelPrunableDefinition<TTable extends TableDefinition = TableDefinition, TRelations extends RelationMap = RelationMap> = (query: ModelQueryBuilder<TTable, TRelations>) => unknown;
|
|
2037
2111
|
interface UniqueIdTrait<TTable extends TableDefinition = TableDefinition> {
|
|
2038
2112
|
readonly kind: 'uniqueIds';
|
|
@@ -2258,6 +2332,22 @@ declare class FactoryService {
|
|
|
2258
2332
|
}
|
|
2259
2333
|
declare function createFactoryService(): FactoryService;
|
|
2260
2334
|
|
|
2335
|
+
declare class ForeignKeyBuilderState {
|
|
2336
|
+
private readonly columnName;
|
|
2337
|
+
private referenceTable?;
|
|
2338
|
+
private referenceColumn;
|
|
2339
|
+
private onDeleteAction?;
|
|
2340
|
+
private onUpdateAction?;
|
|
2341
|
+
constructor(columnName: string, referenceColumn?: string);
|
|
2342
|
+
references(columnName: string): void;
|
|
2343
|
+
on(table: string): void;
|
|
2344
|
+
constrained(table?: string, columnName?: string): void;
|
|
2345
|
+
onDelete(action: NonNullable<ForeignKeyReference['onDelete']>): void;
|
|
2346
|
+
onUpdate(action: NonNullable<ForeignKeyReference['onUpdate']>): void;
|
|
2347
|
+
toReference(defaultTable?: string): ForeignKeyReference;
|
|
2348
|
+
applyToColumnBuilder(builder: AnyColumnBuilder): AnyColumnBuilder;
|
|
2349
|
+
}
|
|
2350
|
+
|
|
2261
2351
|
type ColumnShapeInput$1 = Record<string, ColumnInput>;
|
|
2262
2352
|
type WithColumn<TColumns extends ColumnShapeInput$1, TColumnName extends string, TColumn extends ColumnInput> = TColumns & {
|
|
2263
2353
|
[K in TColumnName]: TColumn;
|
|
@@ -2289,7 +2379,8 @@ type ColumnReference = {
|
|
|
2289
2379
|
declare class TableCreateColumnBuilder<TName extends string, TColumns extends ColumnShapeInput$1> {
|
|
2290
2380
|
protected readonly root: TableDefinitionBuilder<TName, TColumns>;
|
|
2291
2381
|
protected readonly builderRef: ColumnReference;
|
|
2292
|
-
|
|
2382
|
+
protected readonly columnName: string;
|
|
2383
|
+
constructor(root: TableDefinitionBuilder<TName, TColumns>, builderRef: ColumnReference, columnName: string);
|
|
2293
2384
|
build(): BoundTableDefinition<TName, TColumns>;
|
|
2294
2385
|
notNull(): this;
|
|
2295
2386
|
nullable(): this;
|
|
@@ -2299,6 +2390,9 @@ declare class TableCreateColumnBuilder<TName extends string, TColumns extends Co
|
|
|
2299
2390
|
primaryKey(): this;
|
|
2300
2391
|
unique(): this;
|
|
2301
2392
|
unique(columns: readonly string[], name?: string): TableDefinitionBuilder<TName, TColumns>;
|
|
2393
|
+
index(): this;
|
|
2394
|
+
index(name: string): this;
|
|
2395
|
+
index(columns: readonly string[], name?: string): TableDefinitionBuilder<TName, TColumns>;
|
|
2302
2396
|
foreign(columnName: string): TableCreateForeignKeyBuilder<TName, TColumns>;
|
|
2303
2397
|
foreignId<TColumnName extends string>(columnName: TColumnName): TableCreateForeignIdBuilder<TName, WithColumn<TColumns, TColumnName, ReturnType<typeof column.bigInteger>>>;
|
|
2304
2398
|
foreignUuid<TColumnName extends string>(columnName: TColumnName): TableCreateForeignIdBuilder<TName, WithColumn<TColumns, TColumnName, ReturnType<typeof column.uuid>>>;
|
|
@@ -2325,7 +2419,6 @@ declare class TableCreateColumnBuilder<TName extends string, TColumns extends Co
|
|
|
2325
2419
|
dimensions: number;
|
|
2326
2420
|
}): TableCreateColumnBuilder<TName, WithColumn<TColumns, TColumnName, ReturnType<typeof column.vector>>>;
|
|
2327
2421
|
enum<const TValues extends readonly string[], TColumnName extends string>(columnName: TColumnName, values: TValues): TableCreateColumnBuilder<TName, WithColumn<TColumns, TColumnName, ReturnType<typeof column.enum<TValues>>>>;
|
|
2328
|
-
index(columns: readonly string[], name?: string): TableDefinitionBuilder<TName, TColumns>;
|
|
2329
2422
|
timestamps(): TableDefinitionBuilder<TName, WithTimestamps<TColumns>>;
|
|
2330
2423
|
softDeletes<TColumnName extends string = 'deleted_at'>(columnName?: TColumnName): TableDefinitionBuilder<TName, WithSoftDeletes<TColumns, TColumnName>>;
|
|
2331
2424
|
morphs<TMorphName extends string>(name: TMorphName, indexName?: string): TableDefinitionBuilder<TName, WithMorphColumns<TColumns, TMorphName, ReturnType<typeof column.bigInteger>>>;
|
|
@@ -2338,17 +2431,13 @@ declare class TableCreateColumnBuilder<TName extends string, TColumns extends Co
|
|
|
2338
2431
|
nullableSnowflakeMorphs<TMorphName extends string>(name: TMorphName, indexName?: string): TableDefinitionBuilder<TName, WithNullableMorphColumns<TColumns, TMorphName, ReturnType<typeof column.snowflake>>>;
|
|
2339
2432
|
}
|
|
2340
2433
|
declare class TableCreateForeignIdBuilder<TName extends string, TColumns extends ColumnShapeInput$1> extends TableCreateColumnBuilder<TName, TColumns> {
|
|
2341
|
-
private readonly
|
|
2342
|
-
private referenceTable?;
|
|
2343
|
-
private referenceColumn;
|
|
2344
|
-
private onDeleteAction?;
|
|
2345
|
-
private onUpdateAction?;
|
|
2434
|
+
private readonly foreignKeyState;
|
|
2346
2435
|
constructor(root: TableDefinitionBuilder<TName, TColumns>, builderRef: ColumnReference, columnName: string);
|
|
2347
2436
|
references(columnName: string): this;
|
|
2348
2437
|
on(table: string): this;
|
|
2349
2438
|
constrained(table?: string, columnName?: string): this;
|
|
2350
|
-
onDelete(action:
|
|
2351
|
-
onUpdate(action:
|
|
2439
|
+
onDelete(action: Parameters<ForeignKeyBuilderState['onDelete']>[0]): this;
|
|
2440
|
+
onUpdate(action: Parameters<ForeignKeyBuilderState['onUpdate']>[0]): this;
|
|
2352
2441
|
cascadeOnDelete(): this;
|
|
2353
2442
|
restrictOnDelete(): this;
|
|
2354
2443
|
nullOnDelete(): this;
|
|
@@ -2362,17 +2451,13 @@ declare class TableCreateForeignIdBuilder<TName extends string, TColumns extends
|
|
|
2362
2451
|
declare class TableCreateForeignKeyBuilder<TName extends string, TColumns extends ColumnShapeInput$1> {
|
|
2363
2452
|
private readonly root;
|
|
2364
2453
|
private readonly builderRef;
|
|
2365
|
-
private readonly
|
|
2366
|
-
private referenceTable?;
|
|
2367
|
-
private referenceColumn;
|
|
2368
|
-
private onDeleteAction?;
|
|
2369
|
-
private onUpdateAction?;
|
|
2454
|
+
private readonly foreignKeyState;
|
|
2370
2455
|
constructor(root: TableDefinitionBuilder<TName, TColumns>, builderRef: ColumnReference, columnName: string);
|
|
2371
2456
|
references(columnName: string): this;
|
|
2372
2457
|
on(table: string): this;
|
|
2373
2458
|
constrained(table?: string, columnName?: string): this;
|
|
2374
|
-
onDelete(action:
|
|
2375
|
-
onUpdate(action:
|
|
2459
|
+
onDelete(action: Parameters<ForeignKeyBuilderState['onDelete']>[0]): this;
|
|
2460
|
+
onUpdate(action: Parameters<ForeignKeyBuilderState['onUpdate']>[0]): this;
|
|
2376
2461
|
cascadeOnDelete(): this;
|
|
2377
2462
|
restrictOnDelete(): this;
|
|
2378
2463
|
nullOnDelete(): this;
|
|
@@ -2485,6 +2570,7 @@ type TableMutationOperation = AddColumnMutationOperation | AlterColumnMutationOp
|
|
|
2485
2570
|
type ColumnMutationMode = 'addColumn' | 'alterColumn';
|
|
2486
2571
|
declare class TableForeignKeyBuilder {
|
|
2487
2572
|
private readonly operation;
|
|
2573
|
+
private readonly foreignKeyState;
|
|
2488
2574
|
constructor(operation: CreateForeignKeyMutationOperation);
|
|
2489
2575
|
references(columnName: string): this;
|
|
2490
2576
|
on(table: string): this;
|
|
@@ -2499,6 +2585,7 @@ declare class TableForeignKeyBuilder {
|
|
|
2499
2585
|
restrictOnUpdate(): this;
|
|
2500
2586
|
nullOnUpdate(): this;
|
|
2501
2587
|
noActionOnUpdate(): this;
|
|
2588
|
+
private applyReference;
|
|
2502
2589
|
}
|
|
2503
2590
|
declare class TableColumnMutationBuilder {
|
|
2504
2591
|
protected readonly root: TableMutationBuilder;
|
|
@@ -2511,6 +2598,7 @@ declare class TableColumnMutationBuilder {
|
|
|
2511
2598
|
generated(): this;
|
|
2512
2599
|
primaryKey(): this;
|
|
2513
2600
|
unique(): this;
|
|
2601
|
+
index(name?: string): this;
|
|
2514
2602
|
foreignId(columnName: string): TableForeignIdMutationBuilder;
|
|
2515
2603
|
foreignUuid(columnName: string): TableForeignIdMutationBuilder;
|
|
2516
2604
|
foreignUlid(columnName: string): TableForeignIdMutationBuilder;
|
|
@@ -2528,11 +2616,8 @@ declare class TableColumnMutationBuilder {
|
|
|
2528
2616
|
declare class TableForeignIdMutationBuilder extends TableColumnMutationBuilder {
|
|
2529
2617
|
private readonly operations;
|
|
2530
2618
|
private readonly columnName;
|
|
2619
|
+
private readonly foreignKeyState;
|
|
2531
2620
|
private foreignOperation?;
|
|
2532
|
-
private referenceTable?;
|
|
2533
|
-
private referenceColumn;
|
|
2534
|
-
private onDeleteAction?;
|
|
2535
|
-
private onUpdateAction?;
|
|
2536
2621
|
constructor(root: TableMutationBuilder, operation: MutableColumnMutationOperation, operations: TableMutationOperation[], columnName: string);
|
|
2537
2622
|
references(columnName: string): this;
|
|
2538
2623
|
on(table: string): this;
|
|
@@ -2657,6 +2742,7 @@ declare class SchemaService {
|
|
|
2657
2742
|
private assertForeignKeyCapability;
|
|
2658
2743
|
private resolveColumnDefinition;
|
|
2659
2744
|
private createDefinedTable;
|
|
2745
|
+
private assertTableMutationIndexNames;
|
|
2660
2746
|
private executeTableMutation;
|
|
2661
2747
|
private buildTableDefinition;
|
|
2662
2748
|
private updateRegisteredTable;
|
|
@@ -2744,6 +2830,7 @@ declare class MigrationService {
|
|
|
2744
2830
|
private ensureTrackingTable;
|
|
2745
2831
|
private getRanRecords;
|
|
2746
2832
|
private createContext;
|
|
2833
|
+
private runMigrationLifecycle;
|
|
2747
2834
|
private normalizeMigratedAt;
|
|
2748
2835
|
private createMigrationLog;
|
|
2749
2836
|
private runExclusively;
|
|
@@ -2760,6 +2847,7 @@ declare function createModelEventService(): ModelEventService;
|
|
|
2760
2847
|
|
|
2761
2848
|
type RuntimeState = {
|
|
2762
2849
|
savepointCounter: number;
|
|
2850
|
+
rootTransactionTail: Promise<void>;
|
|
2763
2851
|
scheduler: QueryScheduler;
|
|
2764
2852
|
};
|
|
2765
2853
|
type ScopeState = {
|
|
@@ -2772,6 +2860,7 @@ type TransactionCallbackState = {
|
|
|
2772
2860
|
afterRollback: TransactionCallback[];
|
|
2773
2861
|
};
|
|
2774
2862
|
type ContextInternals = {
|
|
2863
|
+
contextId: number;
|
|
2775
2864
|
connectionName: string;
|
|
2776
2865
|
schemaName?: string;
|
|
2777
2866
|
adapter: DriverAdapter;
|
|
@@ -2787,6 +2876,7 @@ type ContextInternals = {
|
|
|
2787
2876
|
transactionCallbacks?: TransactionCallbackState;
|
|
2788
2877
|
};
|
|
2789
2878
|
declare class DatabaseContext {
|
|
2879
|
+
private readonly _contextId;
|
|
2790
2880
|
private readonly _connectionName;
|
|
2791
2881
|
private readonly _schemaName?;
|
|
2792
2882
|
private readonly _adapter;
|
|
@@ -2809,6 +2899,7 @@ declare class DatabaseContext {
|
|
|
2809
2899
|
isConnected(): boolean;
|
|
2810
2900
|
getDriver(): DatabaseDriverName;
|
|
2811
2901
|
getConnectionName(): string;
|
|
2902
|
+
getContextId(): number;
|
|
2812
2903
|
getSchemaName(): string | undefined;
|
|
2813
2904
|
getAdapter(): DriverAdapter;
|
|
2814
2905
|
getDialect(): Dialect;
|
|
@@ -2834,6 +2925,7 @@ declare class DatabaseContext {
|
|
|
2834
2925
|
executeCompiled(statement: CompiledStatement, options?: DatabaseOperationOptions): Promise<DriverExecutionResult>;
|
|
2835
2926
|
transaction<T>(callback: (tx: DatabaseContext) => Promise<T>, options?: DatabaseOperationOptions): Promise<T>;
|
|
2836
2927
|
private _runRootTransaction;
|
|
2928
|
+
private _runSerializedRootTransaction;
|
|
2837
2929
|
private _runNestedTransaction;
|
|
2838
2930
|
private _createChildContext;
|
|
2839
2931
|
private _runTransactionCallback;
|
|
@@ -3027,13 +3119,6 @@ declare class PostgresAdapter<TConfig extends PostgresConnectionConfig = Postgre
|
|
|
3027
3119
|
readonly config?: TConfig;
|
|
3028
3120
|
constructor(options?: PostgresAdapterOptions<TConfig>);
|
|
3029
3121
|
protected createConcreteAdapter(): Promise<DriverAdapter>;
|
|
3030
|
-
releaseScopedTransaction(state: {
|
|
3031
|
-
client: {
|
|
3032
|
-
release?(): void;
|
|
3033
|
-
};
|
|
3034
|
-
leased: boolean;
|
|
3035
|
-
released: boolean;
|
|
3036
|
-
}): void;
|
|
3037
3122
|
createSavepoint(name: string, options?: DatabaseOperationOptions): Promise<void>;
|
|
3038
3123
|
rollbackToSavepoint(name: string, options?: DatabaseOperationOptions): Promise<void>;
|
|
3039
3124
|
releaseSavepoint(name: string, options?: DatabaseOperationOptions): Promise<void>;
|
|
@@ -3072,13 +3157,6 @@ declare class MySQLAdapter<TConfig extends MySQLConnectionConfig = MySQLConnecti
|
|
|
3072
3157
|
readonly config: TConfig;
|
|
3073
3158
|
constructor(options?: MySQLAdapterOptions<TConfig>);
|
|
3074
3159
|
protected createConcreteAdapter(): Promise<DriverAdapter>;
|
|
3075
|
-
releaseScopedTransaction(state: {
|
|
3076
|
-
client: {
|
|
3077
|
-
release?(): void;
|
|
3078
|
-
};
|
|
3079
|
-
leased: boolean;
|
|
3080
|
-
released: boolean;
|
|
3081
|
-
}): void;
|
|
3082
3160
|
createSavepoint(name: string, options?: DatabaseOperationOptions): Promise<void>;
|
|
3083
3161
|
rollbackToSavepoint(name: string, options?: DatabaseOperationOptions): Promise<void>;
|
|
3084
3162
|
releaseSavepoint(name: string, options?: DatabaseOperationOptions): Promise<void>;
|
|
@@ -3216,7 +3294,6 @@ declare class MySQLQueryCompiler extends SQLQueryCompiler {
|
|
|
3216
3294
|
protected compileJsonPredicate(predicate: QueryJsonPredicate, bindings: unknown[]): string;
|
|
3217
3295
|
protected compileJsonUpdateOperations(column: string, operations: readonly QueryJsonUpdateOperation[], bindings: unknown[]): string;
|
|
3218
3296
|
protected compileFullTextPredicate(predicate: QueryFullTextPredicate, bindings: unknown[]): string;
|
|
3219
|
-
protected compileDatePredicate(predicate: QueryDatePredicate, placeholder: string): string;
|
|
3220
3297
|
}
|
|
3221
3298
|
|
|
3222
3299
|
declare function createPaginator<T>(data: readonly T[], meta: Omit<PaginationMeta, 'pageName'> & {
|
|
@@ -3524,174 +3601,65 @@ declare function encryptedCast(secret: string): Readonly<{
|
|
|
3524
3601
|
set(value: unknown): string | null | undefined;
|
|
3525
3602
|
}>;
|
|
3526
3603
|
|
|
3527
|
-
type
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
primaryKey: string;
|
|
3537
|
-
};
|
|
3538
|
-
};
|
|
3539
|
-
get(key: string): unknown;
|
|
3540
|
-
};
|
|
3541
|
-
type MorphModelTarget = {
|
|
3542
|
-
definition?: {
|
|
3543
|
-
morphClass?: string;
|
|
3544
|
-
};
|
|
3545
|
-
};
|
|
3546
|
-
type MorphTypeSelector = string | MorphModelTarget | MorphEntityTarget | null;
|
|
3547
|
-
type SubqueryBuilder<TSubTable extends TableDefinition = TableDefinition> = ModelQueryBuilder<TSubTable> | TableQueryBuilder<TSubTable, Record<string, unknown>>;
|
|
3548
|
-
type ColumnShapeInput = Record<string, ColumnInput>;
|
|
3549
|
-
type EmptyColumnShape = Record<never, never>;
|
|
3550
|
-
type ModelTableBuilderResult<TName extends string, TColumns extends ColumnShapeInput> = {
|
|
3551
|
-
build(): BoundTableDefinition<TName, TColumns>;
|
|
3552
|
-
};
|
|
3553
|
-
type StaticModelApi<TTable extends TableDefinition, TScopes extends ModelScopesDefinition, TRelations extends RelationMap = RelationMap> = ModelReference<TTable, TScopes, TRelations> & ModelScopeMethods<TTable, TScopes, TRelations> & {
|
|
3604
|
+
type PrimaryKeyName$1<TTable extends TableDefinition> = Extract<{
|
|
3605
|
+
[K in keyof TTable['columns']]: TTable['columns'][K] extends {
|
|
3606
|
+
readonly primaryKey: true;
|
|
3607
|
+
} ? K : never;
|
|
3608
|
+
}[keyof TTable['columns']], keyof ModelRecord<TTable> & string>;
|
|
3609
|
+
type ModelPrimaryKeyValue$1<TTable extends TableDefinition> = [PrimaryKeyName$1<TTable>] extends [never] ? unknown : ModelRecord<TTable>[PrimaryKeyName$1<TTable>];
|
|
3610
|
+
type StaticModelQueryForwardMethod = 'from' | 'debug' | 'dump' | 'where' | 'orWhere' | 'whereNot' | 'orWhereNot' | 'whereExists' | 'orWhereExists' | 'whereNotExists' | 'orWhereNotExists' | 'whereSub' | 'orWhereSub' | 'whereInSub' | 'whereNotInSub' | 'select' | 'addSelect' | 'withCasts' | 'selectSub' | 'addSelectSub' | 'whereNull' | 'orWhereNull' | 'whereNotNull' | 'orWhereNotNull' | 'when' | 'unless' | 'distinct' | 'whereColumn' | 'whereIn' | 'whereNotIn' | 'whereBetween' | 'whereNotBetween' | 'whereLike' | 'orWhereLike' | 'whereAny' | 'whereAll' | 'whereNone' | 'join' | 'leftJoin' | 'rightJoin' | 'crossJoin' | 'joinSub' | 'leftJoinSub' | 'rightJoinSub' | 'joinLateral' | 'leftJoinLateral' | 'union' | 'unionAll' | 'groupBy' | 'having' | 'havingBetween' | 'unsafeWhere' | 'orUnsafeWhere' | 'whereDate' | 'whereMonth' | 'whereDay' | 'whereYear' | 'whereTime' | 'whereJson' | 'orWhereJson' | 'whereJsonContains' | 'orWhereJsonContains' | 'whereJsonLength' | 'orWhereJsonLength' | 'whereFullText' | 'orWhereFullText' | 'whereVectorSimilarTo' | 'orWhereVectorSimilarTo' | 'orderBy' | 'latest' | 'oldest' | 'inRandomOrder' | 'reorder' | 'unsafeOrderBy' | 'lock' | 'lockForUpdate' | 'sharedLock' | 'with' | 'withCount' | 'withExists' | 'withSum' | 'withAvg' | 'withMin' | 'withMax' | 'has' | 'orHas' | 'whereHas' | 'orWhereHas' | 'doesntHave' | 'orDoesntHave' | 'whereDoesntHave' | 'orWhereDoesntHave' | 'whereRelation' | 'orWhereRelation' | 'whereBelongsTo' | 'orWhereBelongsTo' | 'whereMorphedTo' | 'orWhereMorphedTo' | 'whereNotMorphedTo' | 'orWhereNotMorphedTo' | 'withWhereHas';
|
|
3611
|
+
type StaticModelQueryForwarders<TTable extends TableDefinition, TRelations extends RelationMap> = Pick<ModelQueryBuilder<TTable, TRelations>, StaticModelQueryForwardMethod>;
|
|
3612
|
+
type StaticModelApi<TTable extends TableDefinition, TScopes extends ModelScopesDefinition, TRelations extends RelationMap = RelationMap> = ModelReference<TTable, TScopes, TRelations> & ModelScopeMethods<TTable, TScopes, TRelations> & StaticModelQueryForwarders<TTable, TRelations> & {
|
|
3554
3613
|
query(): ModelQueryBuilder<TTable, TRelations>;
|
|
3555
3614
|
newQuery(): ModelQueryBuilder<TTable, TRelations>;
|
|
3556
3615
|
newModelQuery(): ModelQueryBuilder<TTable, TRelations>;
|
|
3557
3616
|
newQueryWithoutScopes(): ModelQueryBuilder<TTable, TRelations>;
|
|
3558
3617
|
newQueryWithoutRelationships(): ModelQueryBuilder<TTable, TRelations>;
|
|
3559
|
-
from(table: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3560
|
-
debug(): ReturnType<ModelQueryBuilder<TTable, TRelations>['debug']>;
|
|
3561
|
-
dump(): ModelQueryBuilder<TTable, TRelations>;
|
|
3562
3618
|
preventLazyLoading(value?: boolean): StaticModelApi<TTable, TScopes, TRelations>;
|
|
3563
3619
|
preventAccessingMissingAttributes(value?: boolean): StaticModelApi<TTable, TScopes, TRelations>;
|
|
3564
3620
|
automaticallyEagerLoadRelationships(value?: boolean): StaticModelApi<TTable, TScopes, TRelations>;
|
|
3565
3621
|
withoutEvents<TResult>(callback: () => TResult | Promise<TResult>): Promise<TResult>;
|
|
3566
3622
|
unguarded<TResult>(callback: () => TResult | Promise<TResult>): Promise<TResult>;
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3571
|
-
whereNot(callback: BuilderCallback<ModelQueryBuilder<TTable, TRelations>>): ModelQueryBuilder<TTable, TRelations>;
|
|
3572
|
-
orWhereNot(callback: BuilderCallback<ModelQueryBuilder<TTable, TRelations>>): ModelQueryBuilder<TTable, TRelations>;
|
|
3573
|
-
whereExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3574
|
-
orWhereExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3575
|
-
whereNotExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3576
|
-
orWhereNotExists<TSubTable extends TableDefinition>(subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3577
|
-
whereSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'in' | 'not in' | 'like', subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3578
|
-
orWhereSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'in' | 'not in' | 'like', subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3579
|
-
whereInSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3580
|
-
whereNotInSub<TSubTable extends TableDefinition>(column: ModelColumnName<TTable>, subquery: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3581
|
-
select(...columns: readonly ModelSelectableColumn<TTable>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3582
|
-
addSelect(...columns: readonly ModelSelectableColumn<TTable>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3583
|
-
withCasts(casts: Record<string, ModelCastDefinition>): ModelQueryBuilder<TTable, TRelations>;
|
|
3584
|
-
selectSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3585
|
-
addSelectSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3586
|
-
whereNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3587
|
-
orWhereNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3588
|
-
whereNotNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3589
|
-
orWhereNotNull(column: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3590
|
-
when<TValue>(value: TValue, callback: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations>, TValue>, defaultCallback?: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations>, TValue>): ModelQueryBuilder<TTable, TRelations>;
|
|
3591
|
-
unless<TValue>(value: TValue, callback: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations>, TValue>, defaultCallback?: ValueBuilderCallback<ModelQueryBuilder<TTable, TRelations>, TValue>): ModelQueryBuilder<TTable, TRelations>;
|
|
3592
|
-
distinct(): ModelQueryBuilder<TTable, TRelations>;
|
|
3593
|
-
whereColumn(column: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', compareTo: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3594
|
-
whereIn(column: ModelColumnName<TTable>, values: readonly unknown[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3595
|
-
whereNotIn(column: ModelColumnName<TTable>, values: readonly unknown[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3596
|
-
whereBetween(column: ModelColumnName<TTable>, range: readonly [unknown, unknown]): ModelQueryBuilder<TTable, TRelations>;
|
|
3597
|
-
whereNotBetween(column: ModelColumnName<TTable>, range: readonly [unknown, unknown]): ModelQueryBuilder<TTable, TRelations>;
|
|
3598
|
-
whereLike(column: ModelColumnName<TTable>, pattern: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3599
|
-
orWhereLike(column: ModelColumnName<TTable>, pattern: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3600
|
-
whereAny(columns: readonly ModelColumnName<TTable>[], operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3601
|
-
whereAll(columns: readonly ModelColumnName<TTable>[], operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3602
|
-
whereNone(columns: readonly ModelColumnName<TTable>[], operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3603
|
-
join(table: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3604
|
-
leftJoin(table: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3605
|
-
rightJoin(table: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3606
|
-
crossJoin(table: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3607
|
-
joinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3608
|
-
leftJoinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3609
|
-
rightJoinSub<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string, leftColumn: ModelColumnReference<TTable>, operator: '!=' | '=' | '>' | '>=' | '<' | '<=' | 'like', rightColumn: ModelColumnReference<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3610
|
-
joinLateral<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3611
|
-
leftJoinLateral<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>, alias: string): ModelQueryBuilder<TTable, TRelations>;
|
|
3612
|
-
union<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3613
|
-
unionAll<TSubTable extends TableDefinition>(query: SubqueryBuilder<TSubTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3614
|
-
groupBy(...columns: readonly ModelColumnName<TTable>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3615
|
-
having(expression: string, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3616
|
-
havingBetween(expression: string, range: readonly [unknown, unknown]): ModelQueryBuilder<TTable, TRelations>;
|
|
3617
|
-
unsafeWhere(sql: string, bindings: readonly unknown[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3618
|
-
orUnsafeWhere(sql: string, bindings: readonly unknown[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3619
|
-
whereDate(column: ModelColumnName<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3620
|
-
whereMonth(column: ModelColumnName<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3621
|
-
whereDay(column: ModelColumnName<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3622
|
-
whereYear(column: ModelColumnName<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3623
|
-
whereTime(column: ModelColumnName<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3624
|
-
whereJson(columnPath: ModelJsonColumnPath<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3625
|
-
orWhereJson(columnPath: ModelJsonColumnPath<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3626
|
-
whereJsonContains(columnPath: ModelJsonColumnPath<TTable>, value: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3627
|
-
orWhereJsonContains(columnPath: ModelJsonColumnPath<TTable>, value: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3628
|
-
whereJsonLength(columnPath: ModelJsonColumnPath<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3629
|
-
orWhereJsonLength(columnPath: ModelJsonColumnPath<TTable>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3630
|
-
whereFullText(columns: ModelColumnName<TTable> | readonly ModelColumnName<TTable>[], value: string, options?: {
|
|
3631
|
-
mode?: 'natural' | 'boolean';
|
|
3632
|
-
}): ModelQueryBuilder<TTable, TRelations>;
|
|
3633
|
-
orWhereFullText(columns: ModelColumnName<TTable> | readonly ModelColumnName<TTable>[], value: string, options?: {
|
|
3634
|
-
mode?: 'natural' | 'boolean';
|
|
3635
|
-
}): ModelQueryBuilder<TTable, TRelations>;
|
|
3636
|
-
whereVectorSimilarTo(column: ModelColumnName<TTable>, vector: readonly number[], minSimilarity?: number): ModelQueryBuilder<TTable, TRelations>;
|
|
3637
|
-
orWhereVectorSimilarTo(column: ModelColumnName<TTable>, vector: readonly number[], minSimilarity?: number): ModelQueryBuilder<TTable, TRelations>;
|
|
3638
|
-
latest(column?: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3639
|
-
oldest(column?: ModelColumnName<TTable>): ModelQueryBuilder<TTable, TRelations>;
|
|
3640
|
-
inRandomOrder(): ModelQueryBuilder<TTable, TRelations>;
|
|
3641
|
-
reorder(column?: ModelColumnName<TTable>, direction?: 'asc' | 'desc'): ModelQueryBuilder<TTable, TRelations>;
|
|
3642
|
-
unsafeOrderBy(sql: string, bindings: readonly unknown[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3643
|
-
lock(mode: 'update' | 'share'): ModelQueryBuilder<TTable, TRelations>;
|
|
3644
|
-
lockForUpdate(): ModelQueryBuilder<TTable, TRelations>;
|
|
3645
|
-
sharedLock(): ModelQueryBuilder<TTable, TRelations>;
|
|
3646
|
-
with<TPaths extends readonly ModelRelationPath<TRelations>[]>(...relations: TPaths): ModelQueryBuilder<TTable, TRelations, ResolveEagerLoads<TRelations, TPaths>>;
|
|
3647
|
-
with<TPath extends ModelRelationPath<TRelations>>(relation: TPath, constraint: RelationConstraintCallback): ModelQueryBuilder<TTable, TRelations, ResolveEagerLoads<TRelations, readonly [TPath]>>;
|
|
3648
|
-
with<TMap extends Readonly<Partial<Record<ModelRelationPath<TRelations>, RelationConstraintCallback>>>>(relations: TMap): ModelQueryBuilder<TTable, TRelations>;
|
|
3649
|
-
withCount(...relations: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3650
|
-
withCount(relations: RelationConstraintMap<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3651
|
-
withExists(...relations: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3652
|
-
withExists(relations: RelationConstraintMap<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3653
|
-
withSum<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath | RelationConstraintMap<TRelations>, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, ...rest: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3654
|
-
withAvg<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath | RelationConstraintMap<TRelations>, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, ...rest: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3655
|
-
withMin<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath | RelationConstraintMap<TRelations>, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, ...rest: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3656
|
-
withMax<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath | RelationConstraintMap<TRelations>, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, ...rest: readonly ModelRelationPath<TRelations>[]): ModelQueryBuilder<TTable, TRelations>;
|
|
3657
|
-
has(relation: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3658
|
-
orHas(relation: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3659
|
-
whereHas(relation: ModelRelationPath<TRelations>, constraint?: RelationConstraintCallback): ModelQueryBuilder<TTable, TRelations>;
|
|
3660
|
-
orWhereHas(relation: ModelRelationPath<TRelations>, constraint?: RelationConstraintCallback): ModelQueryBuilder<TTable, TRelations>;
|
|
3661
|
-
doesntHave(relation: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3662
|
-
orDoesntHave(relation: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3663
|
-
whereDoesntHave(relation: ModelRelationPath<TRelations>, constraint?: RelationConstraintCallback): ModelQueryBuilder<TTable, TRelations>;
|
|
3664
|
-
orWhereDoesntHave(relation: ModelRelationPath<TRelations>, constraint?: RelationConstraintCallback): ModelQueryBuilder<TTable, TRelations>;
|
|
3665
|
-
whereRelation<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3666
|
-
orWhereRelation<TRelationPath extends ModelRelationPath<TRelations>>(relation: TRelationPath, column: RelatedColumnNameForRelationPath<TRelations, TRelationPath>, operator: unknown, value?: unknown): ModelQueryBuilder<TTable, TRelations>;
|
|
3667
|
-
whereBelongsTo<TRelated extends TableDefinition>(entity: Entity<TRelated>, relationName?: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3668
|
-
orWhereBelongsTo<TRelated extends TableDefinition>(entity: Entity<TRelated>, relationName?: ModelRelationPath<TRelations>): ModelQueryBuilder<TTable, TRelations>;
|
|
3669
|
-
whereMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations>;
|
|
3670
|
-
orWhereMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations>;
|
|
3671
|
-
whereNotMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations>;
|
|
3672
|
-
orWhereNotMorphedTo(relation: ModelRelationPath<TRelations>, target: MorphTypeSelector): ModelQueryBuilder<TTable, TRelations>;
|
|
3673
|
-
withWhereHas<TPath extends ModelRelationPath<TRelations>>(relation: TPath, constraint?: RelationConstraintCallback): ModelQueryBuilder<TTable, TRelations, ResolveEagerLoads<TRelations, readonly [TPath]>>;
|
|
3674
|
-
find(value: unknown): Promise<Entity<TTable, TRelations> | undefined>;
|
|
3675
|
-
findMany(values: readonly unknown[]): Promise<ModelCollection<TTable, TRelations>>;
|
|
3676
|
-
findOrFail(value: unknown): Promise<Entity<TTable, TRelations>>;
|
|
3623
|
+
find(value: ModelPrimaryKeyValue$1<TTable>): Promise<Entity<TTable, TRelations> | undefined>;
|
|
3624
|
+
findMany(values: readonly ModelPrimaryKeyValue$1<TTable>[]): Promise<ModelCollection<TTable, TRelations>>;
|
|
3625
|
+
findOrFail(value: ModelPrimaryKeyValue$1<TTable>): Promise<Entity<TTable, TRelations>>;
|
|
3626
|
+
findOrFailJson(value: ModelPrimaryKeyValue$1<TTable>): Promise<SerializedEntityWithLoaded<TTable, unknown>>;
|
|
3677
3627
|
first(): Promise<Entity<TTable, TRelations> | undefined>;
|
|
3628
|
+
firstJson(): Promise<SerializedEntityWithLoaded<TTable, unknown> | undefined>;
|
|
3678
3629
|
firstOrFail(): Promise<Entity<TTable, TRelations>>;
|
|
3679
3630
|
sole(): Promise<Entity<TTable, TRelations>>;
|
|
3631
|
+
soleJson(): Promise<SerializedEntityWithLoaded<TTable, unknown>>;
|
|
3680
3632
|
firstWhere(column: ModelColumnName<TTable>, operator: unknown, value?: unknown): Promise<Entity<TTable, TRelations> | undefined>;
|
|
3681
3633
|
get(): Promise<ModelCollection<TTable, TRelations>>;
|
|
3634
|
+
getJson(): Promise<SerializedEntityWithLoaded<TTable, unknown>[]>;
|
|
3682
3635
|
all(): Promise<ModelCollection<TTable, TRelations>>;
|
|
3683
3636
|
paginate(perPage?: number, page?: number, options?: PaginationOptions): Promise<PaginatedResult<Entity<TTable, TRelations>> & {
|
|
3684
3637
|
data: ModelCollection<TTable, TRelations>;
|
|
3685
3638
|
}>;
|
|
3639
|
+
paginateJson(perPage?: number, page?: number, options?: PaginationOptions): Promise<{
|
|
3640
|
+
data: readonly SerializedEntityWithLoaded<TTable, unknown>[];
|
|
3641
|
+
meta: PaginationMeta;
|
|
3642
|
+
}>;
|
|
3686
3643
|
simplePaginate(perPage?: number, page?: number, options?: PaginationOptions): Promise<SimplePaginatedResult<Entity<TTable, TRelations>> & {
|
|
3687
3644
|
data: ModelCollection<TTable, TRelations>;
|
|
3688
3645
|
}>;
|
|
3646
|
+
simplePaginateJson(perPage?: number, page?: number, options?: PaginationOptions): Promise<{
|
|
3647
|
+
data: readonly SerializedEntityWithLoaded<TTable, unknown>[];
|
|
3648
|
+
meta: SimplePaginationMeta;
|
|
3649
|
+
}>;
|
|
3689
3650
|
cursorPaginate(perPage?: number, cursor?: string | null, options?: CursorPaginationOptions): Promise<CursorPaginatedResult<Entity<TTable, TRelations>> & {
|
|
3690
3651
|
data: ModelCollection<TTable, TRelations>;
|
|
3691
3652
|
}>;
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
|
|
3653
|
+
cursorPaginateJson(perPage?: number, cursor?: string | null, options?: CursorPaginationOptions): Promise<{
|
|
3654
|
+
data: readonly SerializedEntityWithLoaded<TTable, unknown>[];
|
|
3655
|
+
perPage: number;
|
|
3656
|
+
cursorName: string;
|
|
3657
|
+
nextCursor: string | null;
|
|
3658
|
+
prevCursor: string | null;
|
|
3659
|
+
}>;
|
|
3660
|
+
chunk(size: number, callback: (rows: readonly EntityWithLoaded<TTable, TRelations, unknown>[], page: number) => unknown | Promise<unknown>): Promise<void>;
|
|
3661
|
+
chunkById(size: number, callback: (rows: readonly EntityWithLoaded<TTable, TRelations, unknown>[], page: number) => unknown | Promise<unknown>, column?: ModelAttributeKey<TTable>): Promise<void>;
|
|
3662
|
+
chunkByIdDesc(size: number, callback: (rows: readonly EntityWithLoaded<TTable, TRelations, unknown>[], page: number) => unknown | Promise<unknown>, column?: ModelAttributeKey<TTable>): Promise<void>;
|
|
3695
3663
|
lazy(size?: number): AsyncGenerator<Entity<TTable, TRelations>, void, unknown>;
|
|
3696
3664
|
cursor(): AsyncGenerator<Entity<TTable, TRelations>, void, unknown>;
|
|
3697
3665
|
count(): Promise<number>;
|
|
@@ -3713,27 +3681,33 @@ type StaticModelApi<TTable extends TableDefinition, TScopes extends ModelScopesD
|
|
|
3713
3681
|
createQuietly(values: InferInsert<TTable>): Promise<Entity<TTable, TRelations>>;
|
|
3714
3682
|
createManyQuietly(values: readonly Partial<ModelRecord<TTable>>[]): Promise<ModelCollection<TTable, TRelations>>;
|
|
3715
3683
|
createManyQuietly(values: readonly InferInsert<TTable>[]): Promise<ModelCollection<TTable, TRelations>>;
|
|
3716
|
-
update(id:
|
|
3684
|
+
update(id: ModelPrimaryKeyValue$1<TTable>, values: ModelUpdatePayload<TTable>): Promise<Entity<TTable, TRelations>>;
|
|
3717
3685
|
prune(): Promise<number>;
|
|
3718
3686
|
increment(column: ModelColumnName<TTable>, amount?: number, extraValues?: Partial<ModelRecord<TTable>>): Promise<DriverExecutionResult>;
|
|
3719
3687
|
decrement(column: ModelColumnName<TTable>, amount?: number, extraValues?: Partial<ModelRecord<TTable>>): Promise<DriverExecutionResult>;
|
|
3720
|
-
delete(id:
|
|
3721
|
-
destroy(ids: readonly
|
|
3722
|
-
restore(id:
|
|
3723
|
-
forceDelete(id:
|
|
3688
|
+
delete(id: ModelPrimaryKeyValue$1<TTable>): Promise<void>;
|
|
3689
|
+
destroy(ids: readonly ModelPrimaryKeyValue$1<TTable>[]): Promise<number>;
|
|
3690
|
+
restore(id: ModelPrimaryKeyValue$1<TTable>): Promise<Entity<TTable, TRelations>>;
|
|
3691
|
+
forceDelete(id: ModelPrimaryKeyValue$1<TTable>): Promise<void>;
|
|
3724
3692
|
withTrashed(): ModelQueryBuilder<TTable, TRelations>;
|
|
3725
3693
|
onlyTrashed(): ModelQueryBuilder<TTable, TRelations>;
|
|
3726
3694
|
updateOrCreate(match: Partial<ModelRecord<TTable>>, values?: Partial<ModelRecord<TTable>>): Promise<Entity<TTable, TRelations>>;
|
|
3727
3695
|
upsert(match: Partial<ModelRecord<TTable>>, values?: Partial<ModelRecord<TTable>>): Promise<Entity<TTable, TRelations>>;
|
|
3728
3696
|
firstOrNew(match: Partial<ModelRecord<TTable>>, values?: Partial<ModelRecord<TTable>>): Promise<Entity<TTable, TRelations>>;
|
|
3729
3697
|
firstOrCreate(match: Partial<ModelRecord<TTable>>, values?: Partial<ModelRecord<TTable>>): Promise<Entity<TTable, TRelations>>;
|
|
3730
|
-
saveMany(entities: readonly
|
|
3698
|
+
saveMany(entities: readonly EntityWithLoaded<TTable, TRelations, unknown>[]): Promise<ModelCollection<TTable, TRelations>>;
|
|
3731
3699
|
resolveRelationUsing(name: string, resolver: DynamicRelationResolver): StaticModelApi<TTable, TScopes, TRelations>;
|
|
3732
3700
|
make(values?: Partial<ModelRecord<TTable>>): Entity<TTable, TRelations>;
|
|
3733
3701
|
getRepository(): ModelRepository<TTable>;
|
|
3734
3702
|
getConnectionName(): string | undefined;
|
|
3735
3703
|
getTableName(): string;
|
|
3736
3704
|
};
|
|
3705
|
+
|
|
3706
|
+
type ColumnShapeInput = Record<string, ColumnInput>;
|
|
3707
|
+
type EmptyColumnShape = Record<never, never>;
|
|
3708
|
+
type ModelTableBuilderResult<TName extends string, TColumns extends ColumnShapeInput> = {
|
|
3709
|
+
build(): BoundTableDefinition<TName, TColumns>;
|
|
3710
|
+
};
|
|
3737
3711
|
declare function defineModel<TTable extends TableDefinition, TScopes extends ModelScopesDefinition = EmptyScopeMap, TRelations extends RelationMap = RelationMap>(table: TTable, options?: DefineModelOptions<TTable, TScopes, TRelations>): StaticModelApi<TTable, TScopes, TRelations>;
|
|
3738
3712
|
declare function defineModel<TName extends string, TColumns extends ColumnShapeInput, TScopes extends ModelScopesDefinition = EmptyScopeMap, TRelations extends RelationMap = RelationMap>(tableName: TName, builder: (table: TableDefinitionBuilder<TName, EmptyColumnShape>) => ModelTableBuilderResult<TName, TColumns>, options?: DefineModelOptions<BoundTableDefinition<TName, TColumns>, TScopes, TRelations>): StaticModelApi<BoundTableDefinition<TName, TColumns>, TScopes, TRelations>;
|
|
3739
3713
|
declare function defineModel<TName extends string, TScopes extends ModelScopesDefinition = EmptyScopeMap, TRelations extends RelationMap = RelationMap>(tableName: TName, options?: DefineModelOptions<GeneratedSchemaTable<TName>, TScopes, TRelations>): StaticModelApi<GeneratedSchemaTable<TName>, TScopes, TRelations>;
|
|
@@ -3741,14 +3715,52 @@ declare function defineModel<TName extends string, TScopes extends ModelScopesDe
|
|
|
3741
3715
|
declare function resolveMorphModel(type: string): ModelDefinitionLike | undefined;
|
|
3742
3716
|
declare function resetMorphRegistry(): void;
|
|
3743
3717
|
|
|
3718
|
+
type SerializableModel = {
|
|
3719
|
+
toJSON(): unknown;
|
|
3720
|
+
};
|
|
3721
|
+
type SerializeModels<TValue> = TValue extends Date ? Date : TValue extends SerializableModel ? ReturnType<TValue['toJSON']> : TValue extends readonly (infer TItem)[] ? SerializeModels<TItem>[] : TValue extends object ? {
|
|
3722
|
+
[K in keyof TValue]: SerializeModels<TValue[K]>;
|
|
3723
|
+
} : TValue;
|
|
3724
|
+
declare function serializeModels<TValue>(value: TValue): SerializeModels<TValue>;
|
|
3725
|
+
|
|
3726
|
+
type StringModelAttributeKey<TTable extends TableDefinition> = Extract<{
|
|
3727
|
+
[K in ModelAttributeKey<TTable>]: Exclude<ModelRecord<TTable>[K], null | undefined> extends string ? K : never;
|
|
3728
|
+
}[ModelAttributeKey<TTable>], string>;
|
|
3729
|
+
type PrimaryKeyName<TTable extends TableDefinition> = Extract<{
|
|
3730
|
+
[K in keyof TTable['columns']]: TTable['columns'][K] extends {
|
|
3731
|
+
readonly primaryKey: true;
|
|
3732
|
+
} ? K : never;
|
|
3733
|
+
}[keyof TTable['columns']], keyof ModelRecord<TTable> & string>;
|
|
3734
|
+
type ModelPrimaryKeyValue<TTable extends TableDefinition> = [PrimaryKeyName<TTable>] extends [never] ? ModelRecord<TTable>[ModelAttributeKey<TTable>] : ModelRecord<TTable>[PrimaryKeyName<TTable>];
|
|
3735
|
+
interface UniqueSlugOptions<TTable extends TableDefinition, TColumn extends StringModelAttributeKey<TTable> = StringModelAttributeKey<TTable>> {
|
|
3736
|
+
readonly column?: TColumn;
|
|
3737
|
+
readonly ignore?: ModelPrimaryKeyValue<TTable>;
|
|
3738
|
+
readonly separator?: string;
|
|
3739
|
+
readonly fallback?: string;
|
|
3740
|
+
}
|
|
3741
|
+
type UniqueSlugModel<TTable extends TableDefinition, TScopes extends ModelScopesDefinition, TRelations extends RelationMap> = StaticModelApi<TTable, TScopes, TRelations>;
|
|
3742
|
+
declare function uniqueSlug<TTable extends TableDefinition, TScopes extends ModelScopesDefinition, TRelations extends RelationMap, TColumn extends StringModelAttributeKey<TTable> = Extract<'slug', StringModelAttributeKey<TTable>>>(model: UniqueSlugModel<TTable, TScopes, TRelations>, value: string, options?: UniqueSlugOptions<TTable, TColumn>): Promise<string>;
|
|
3743
|
+
|
|
3744
|
+
declare function belongsTo<const TName extends RegisteredModelName>(related: TName, foreignKeyOrOptions: string | {
|
|
3745
|
+
foreignKey: string;
|
|
3746
|
+
ownerKey?: string;
|
|
3747
|
+
}, ownerKey?: string): BelongsToRelationDefinition<RegisteredModelReference<TName>>;
|
|
3744
3748
|
declare function belongsTo<TRelated extends ModelDefinitionLike<TableDefinition>>(related: () => TRelated, foreignKeyOrOptions: string | {
|
|
3745
3749
|
foreignKey: string;
|
|
3746
3750
|
ownerKey?: string;
|
|
3747
3751
|
}, ownerKey?: string): BelongsToRelationDefinition<TRelated>;
|
|
3752
|
+
declare function hasMany<const TName extends RegisteredModelName>(related: TName, foreignKeyOrOptions: string | {
|
|
3753
|
+
foreignKey: string;
|
|
3754
|
+
localKey?: string;
|
|
3755
|
+
}, localKey?: string): HasManyRelationDefinition<RegisteredModelReference<TName>>;
|
|
3748
3756
|
declare function hasMany<TRelated extends ModelDefinitionLike<TableDefinition>>(related: () => TRelated, foreignKeyOrOptions: string | {
|
|
3749
3757
|
foreignKey: string;
|
|
3750
3758
|
localKey?: string;
|
|
3751
3759
|
}, localKey?: string): HasManyRelationDefinition<TRelated>;
|
|
3760
|
+
declare function hasOne<const TName extends RegisteredModelName>(related: TName, foreignKeyOrOptions: string | {
|
|
3761
|
+
foreignKey: string;
|
|
3762
|
+
localKey?: string;
|
|
3763
|
+
}, localKey?: string): HasOneRelationDefinition<RegisteredModelReference<TName>>;
|
|
3752
3764
|
declare function hasOne<TRelated extends ModelDefinitionLike<TableDefinition>>(related: () => TRelated, foreignKeyOrOptions: string | {
|
|
3753
3765
|
foreignKey: string;
|
|
3754
3766
|
localKey?: string;
|
|
@@ -3762,6 +3774,13 @@ declare function morphTo(name: string, type?: string, id?: string): MorphToRelat
|
|
|
3762
3774
|
declare function ofMany<TRelated extends ModelDefinitionLike<TableDefinition>>(related: () => TRelated, foreignKey: string, aggregateColumn: string, aggregate?: 'min' | 'max', localKey?: string): HasOneOfManyRelationDefinition<TRelated>;
|
|
3763
3775
|
declare function latestOfMany<TRelated extends ModelDefinitionLike<TableDefinition>>(related: () => TRelated, foreignKey: string, localKey?: string, column?: string): HasOneOfManyRelationDefinition<TRelated>;
|
|
3764
3776
|
declare function oldestOfMany<TRelated extends ModelDefinitionLike<TableDefinition>>(related: () => TRelated, foreignKey: string, localKey?: string, column?: string): HasOneOfManyRelationDefinition<TRelated>;
|
|
3777
|
+
declare function belongsToMany<const TName extends RegisteredModelName, TPivotTable extends string | TableDefinition>(related: TName, pivotTableOrOptions: TPivotTable | {
|
|
3778
|
+
pivotTable: TPivotTable;
|
|
3779
|
+
foreignPivotKey: string;
|
|
3780
|
+
relatedPivotKey: string;
|
|
3781
|
+
parentKey?: string;
|
|
3782
|
+
relatedKey?: string;
|
|
3783
|
+
}, foreignPivotKey?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string): BelongsToManyRelationDefinition<RegisteredModelReference<TName>, TPivotTable> & PivotRelationMethods<BelongsToManyRelationDefinition<RegisteredModelReference<TName>, TPivotTable>, TPivotTable>;
|
|
3765
3784
|
declare function belongsToMany<TRelated extends ModelDefinitionLike<TableDefinition>, TPivotTable extends string | TableDefinition>(related: () => TRelated, pivotTableOrOptions: TPivotTable | {
|
|
3766
3785
|
pivotTable: TPivotTable;
|
|
3767
3786
|
foreignPivotKey: string;
|
|
@@ -3836,4 +3855,4 @@ interface NormalizedHoloProjectConfig {
|
|
|
3836
3855
|
declare function normalizeHoloProjectConfig(config?: HoloProjectConfig): NormalizedHoloProjectConfig;
|
|
3837
3856
|
declare function defineHoloProject<TConfig extends HoloProjectConfig>(config: TConfig): NormalizedHoloProjectConfig & TConfig;
|
|
3838
3857
|
|
|
3839
|
-
export { type AddColumnOperation, type AlterColumnOperation, type AnyColumnDefinition, AsyncConnectionContext, type BoundTableDefinition, CapabilityError, ColumnBuilder, type ColumnDefinition, type CompiledStatement, CompilerError, type ConcurrencyOptions, ConfigurationError, ConnectionManager, type ConnectionManagerOptions, type CreateForeignKeyOperation, type CreateIndexOperation, type CreateTableOperation, type CursorPaginatedResult, DB, type DDLOperation, type DDLStatement, DEFAULT_CAPABILITIES, DEFAULT_HOLO_PROJECT_PATHS, DEFAULT_SECURITY_POLICY, DIALECT_ID_STRATEGY_MAP, DIALECT_LOGICAL_TYPE_MAP, DIALECT_VECTOR_SUPPORT, type DatabaseCapabilities, DatabaseContext, type DatabaseContextOptions, type DatabaseDriverName, DatabaseError, type DatabaseLogger, type DatabaseOperationOptions, type DatabaseQueryCacheBridge, type DefineModelOptions, type DefineTableOptions, type DeleteQueryPlan, type Dialect, type DriverAdapter, type DriverExecutionResult, type DriverQueryResult, type DropColumnOperation, type DropForeignKeyOperation, type DropIndexOperation, type DropTableOperation, type DynamicRelationResolver, Entity, type EntityWithLoaded, Factory, type FactoryAttributes, type FactoryContext, type FactoryDefinition, type FactoryHook, type FactoryModelReference, FactoryService, type FactoryStateDefinition, type ForeignKeyReference, type GeneratedMigrationTemplate, type GeneratedSchemaTable, type GeneratedSchemaTableName, type GeneratedSchemaTables, HasSnowflakes, HasUlids, HasUniqueIds, HasUuids, type HoloProjectConfig, type HoloProjectConnectionConfig, type HoloProjectDatabaseConfig, type HoloProjectPaths, HydrationError, type IdGenerationStrategy, type InferInsert, type InferSelect, type InferUpdate, type InsertQueryPlan, type IntrospectedColumn, type IntrospectedForeignKey, type IntrospectedIndex, type LogicalColumnKind, type MigrateOptions, type MigrationContext, type MigrationDefinition, type MigrationErrorLog, type MigrationExecutionPolicy, MigrationService, type MigrationSquashPlan, type MigrationStartLog, type MigrationStatus, type MigrationSuccessLog, type MigrationTemplateKind, type MigrationTemplateOptions, type ModelAttributeKey, type ModelCollection, type ModelDefinition, ModelEventService, type ModelInsertPayload, ModelNotFoundException, ModelQueryBuilder, type ModelRecord, type ModelReference, ModelRegistry, ModelRepository, type ModelScopeArgs, type ModelScopeMap, type ModelTrait, type ModelUpdatePayload, MySQLAdapter, type MySQLAdapterOptions, type MySQLClientLike, type MySQLPoolLike, MySQLQueryCompiler, type MySQLQueryableLike, MySQLSchemaCompiler, type NormalizedHoloProjectConfig, type PaginatedResult, type PaginationMeta, PostgresAdapter, type PostgresAdapterOptions, type PostgresClientLike, type PostgresPoolLike, PostgresQueryCompiler, type PostgresQueryableLike, PostgresSchemaCompiler, type QueryCacheConfig, type QueryCacheFlexibleTtlInput, type QueryCacheTtlInput, type QueryDirection, type QueryOperator, type QueryOrderBy, type QueryPlan, type QueryPredicate, QueryScheduler, type QuerySelection, type QuerySource, type RelationDefinition, RelationError, type RelationMap, type RenameColumnOperation, type RenameIndexOperation, type RenameTableOperation, type ResolveEagerLoadPath, type ResolveEagerLoadUnion, type ResolveEagerLoads, type RollbackOptions, type RuntimeConfigInput, type RuntimeConnectionConfig, type RuntimeDatabaseConfig, type RuntimeHoloConfig, SQLQueryCompiler, SQLSchemaCompiler, SQLiteAdapter, type SQLiteAdapterOptions, type SQLiteDatabaseLike, SQLiteQueryCompiler, SQLiteSchemaCompiler, type SQLiteStatementLike, type SchemaColumnMismatch, type SchemaDefaultDialectName, type SchemaDialectName, type SchemaDiff, SchemaError, type SchemaForeignKeyMismatch, type SchemaIndexMismatch, SchemaRegistry, SchemaService, type SchemaSyncPlan, SecurityError, type SecurityPolicy, type SeedOptions, type SeederContext, type SeederDefinition, type SeederErrorLog, SeederService, type SeederStartLog, type SeederSuccessLog, type SelectQueryPlan, SerializationError, type SerializedEntityWithLoaded, type SimplePaginatedResult, type SimplePaginationMeta, type SupportedDatabaseDriver, type TableColumnsShape, type TableDefinition, TableDefinitionBuilder, type TableIndexDefinition, TableMutationBuilder, TableQueryBuilder, type TableSchemaDiff, type TransactionCallback, TransactionError, type UniqueIdRuntimeConfig, type UniqueIdTrait, type UniqueIdTraitKind, type UnsafeStatement, type UpdateQueryPlan, type VectorValue, addColumnOperation, alterColumnOperation, belongsTo, belongsToMany, binaryCast, clearGeneratedTables, column, compileDialectDefaultLiteral, configureDB, configureDatabaseQueryCacheBridge, connectionAsyncContext, createAdapter, createCapabilities, createConnectionManager, createCursorPaginator, createDatabase, createDeleteQueryPlan, createDialect, createFactoryService, createForeignKeyOperation, createIndexOperation, createInsertQueryPlan, createMigrationFileName, createMigrationService, createMigrationTimestamp, createModelCollection, createModelEventService, createModelRegistry, createMySQLAdapter, createPaginator, createPostgresAdapter, createQueryScheduler, createRuntimeConnectionOptions, createRuntimeLogger, createSQLiteAdapter, diffSchema as createSchemaDiff, createSchemaRegistry, createSchemaService, createSecurityPolicy, createSeederService, createSelectQueryPlan, createSimplePaginator, createTableOperation, createTableSource, createUpdateQueryPlan, defineFactory, defineGeneratedTable, defineHoloProject, defineMigration, defineModel, defineSeeder, diffSchema, dropColumnOperation, dropForeignKeyOperation, dropIndexOperation, dropTableOperation, encryptedCast, enumCast, generateMigrationTemplate, generateSnowflake, generateUlid, generateUuidV7, getDatabaseQueryCacheBridge, getGeneratedTableDefinition, getModelDefinition, hasMany, hasManyThrough, hasOne, hasOneThrough, inferMigrationTableName, inferMigrationTemplateKind, isSupportedDatabaseDriver, latestMorphOne, latestOfMany, listGeneratedTableDefinitions, morphMany, morphOfMany, morphOne, morphTo, morphToMany, morphedByMany, normalizeDialectReadValue, normalizeDialectWriteValue, normalizeHoloProjectConfig, normalizeMigrationSlug, ofMany, oldestMorphOne, oldestOfMany, parseDatabaseDriver, queryCacheInternals, redactBindings, redactSql, registerGeneratedTables, renameColumnOperation, renameIndexOperation, renameTableOperation, renderGeneratedSchemaModule, renderGeneratedSchemaPlaceholder, resetDB, resetDatabaseQueryCacheBridge, resetMorphRegistry, resolveDialectColumnType, resolveDialectIdStrategyType, resolveGeneratedTableDefinition, resolveMorphModel, resolveRuntimeConnectionManagerOptions, scopeRelation, unsafeSql, validateQueryPlan, withLimit, withOffset, withOrderBy, withPredicate, withSelections };
|
|
3858
|
+
export { type AddColumnOperation, type AlterColumnOperation, type AnyColumnDefinition, AsyncConnectionContext, type BelongsToManyRelationDefinition, type BelongsToRelationDefinition, type BoundTableDefinition, type BuiltInCastName, type BuiltInCastString, CapabilityError, type CastableDefinition, ColumnBuilder, type ColumnDefinition, type CompiledStatement, CompilerError, type ConcurrencyOptions, ConfigurationError, ConnectionManager, type ConnectionManagerOptions, type CreateForeignKeyOperation, type CreateIndexOperation, type CreateTableOperation, type CursorPaginatedResult, type CursorPaginationOptions, DB, type DDLOperation, type DDLStatement, DEFAULT_CAPABILITIES, DEFAULT_HOLO_PROJECT_PATHS, DEFAULT_SECURITY_POLICY, DIALECT_ID_STRATEGY_MAP, DIALECT_LOGICAL_TYPE_MAP, DIALECT_VECTOR_SUPPORT, type DatabaseCapabilities, DatabaseContext, type DatabaseContextOptions, type DatabaseDriverName, DatabaseError, type DatabaseLogger, type DatabaseOperationOptions, type DatabaseQueryCacheBridge, type DefineModelOptions, type DefineTableOptions, type DeleteQueryPlan, type Dialect, type DriverAdapter, type DriverExecutionResult, type DriverQueryResult, type DropColumnOperation, type DropForeignKeyOperation, type DropIndexOperation, type DropTableOperation, type DynamicRelationResolver, type EmptyScopeMap, Entity, type EntityWithLoaded, type EnumCastDefinition, Factory, type FactoryAttributes, type FactoryContext, type FactoryDefinition, type FactoryHook, type FactoryModelReference, FactoryService, type FactoryStateDefinition, type ForeignKeyReference, type GeneratedMigrationTemplate, type GeneratedSchemaTable, type GeneratedSchemaTableName, type GeneratedSchemaTables, type HasManyRelationDefinition, type HasOneRelationDefinition, HasSnowflakes, HasUlids, HasUniqueIds, HasUuids, type HoloProjectConfig, type HoloProjectConnectionConfig, type HoloProjectDatabaseConfig, type HoloProjectPaths, HydrationError, type IdGenerationStrategy, type InferInsert, type InferSelect, type InferUpdate, type InsertQueryPlan, type IntrospectedColumn, type IntrospectedForeignKey, type IntrospectedIndex, type LogicalColumnKind, type MigrateOptions, type MigrationContext, type MigrationDefinition, type MigrationErrorLog, type MigrationExecutionPolicy, MigrationService, type MigrationSquashPlan, type MigrationStartLog, type MigrationStatus, type MigrationSuccessLog, type MigrationTemplateKind, type MigrationTemplateOptions, type ModelAttributeKey, type ModelCastDefinition, type ModelCollection, type ModelDefinition, ModelEventService, type ModelInsertPayload, ModelNotFoundException, ModelQueryBuilder, type ModelRecord, type ModelReference, ModelRegistry, ModelRepository, type ModelScopeArgs, type ModelScopeMap, type ModelTrait, type ModelUpdatePayload, MySQLAdapter, type MySQLAdapterOptions, type MySQLClientLike, type MySQLPoolLike, MySQLQueryCompiler, type MySQLQueryableLike, MySQLSchemaCompiler, type NormalizedHoloProjectConfig, type PaginatedResult, type PaginationMeta, type PaginationOptions, type PivotRelationMethods, PostgresAdapter, type PostgresAdapterOptions, type PostgresClientLike, type PostgresPoolLike, PostgresQueryCompiler, type PostgresQueryableLike, PostgresSchemaCompiler, type QueryCacheConfig, type QueryCacheFlexibleTtlInput, type QueryCacheTtlInput, type QueryDirection, type QueryOperator, type QueryOrderBy, type QueryPlan, type QueryPredicate, QueryScheduler, type QuerySelection, type QuerySource, type RegisteredModelName, type RegisteredModelReference, type RegisteredModels, type RelationDefinition, RelationError, type RelationMap, type RenameColumnOperation, type RenameIndexOperation, type RenameTableOperation, type ResolveEagerLoadPath, type ResolveEagerLoadUnion, type ResolveEagerLoads, type RollbackOptions, type RuntimeConfigInput, type RuntimeConnectionConfig, type RuntimeDatabaseConfig, type RuntimeHoloConfig, SQLQueryCompiler, SQLSchemaCompiler, SQLiteAdapter, type SQLiteAdapterOptions, type SQLiteDatabaseLike, SQLiteQueryCompiler, SQLiteSchemaCompiler, type SQLiteStatementLike, type SchemaColumnMismatch, type SchemaDefaultDialectName, type SchemaDialectName, type SchemaDiff, SchemaError, type SchemaForeignKeyMismatch, type SchemaIndexMismatch, SchemaRegistry, SchemaService, type SchemaSyncPlan, SecurityError, type SecurityPolicy, type SeedOptions, type SeederContext, type SeederDefinition, type SeederErrorLog, SeederService, type SeederStartLog, type SeederSuccessLog, type SelectQueryPlan, SerializationError, type SerializeLoaded, type SerializeModels, type SerializedEntityWithLoaded, type SimplePaginatedResult, type SimplePaginationMeta, type StaticModelApi, type SupportedDatabaseDriver, type TableColumnsShape, type TableDefinition, TableDefinitionBuilder, type TableIndexDefinition, TableMutationBuilder, TableQueryBuilder, type TableSchemaDiff, type TransactionCallback, TransactionError, type UniqueIdRuntimeConfig, type UniqueIdTrait, type UniqueIdTraitKind, type UnsafeStatement, type UpdateQueryPlan, type VectorValue, addColumnOperation, alterColumnOperation, belongsTo, belongsToMany, binaryCast, clearGeneratedTables, column, compileDialectDefaultLiteral, configureDB, configureDatabaseQueryCacheBridge, connectionAsyncContext, createAdapter, createCapabilities, createConnectionManager, createCursorPaginator, createDatabase, createDeleteQueryPlan, createDialect, createFactoryService, createForeignKeyOperation, createIndexOperation, createInsertQueryPlan, createMigrationFileName, createMigrationService, createMigrationTimestamp, createModelCollection, createModelEventService, createModelRegistry, createMySQLAdapter, createPaginator, createPostgresAdapter, createQueryScheduler, createRuntimeConnectionOptions, createRuntimeLogger, createSQLiteAdapter, diffSchema as createSchemaDiff, createSchemaRegistry, createSchemaService, createSecurityPolicy, createSeederService, createSelectQueryPlan, createSimplePaginator, createTableOperation, createTableSource, createUpdateQueryPlan, defineFactory, defineGeneratedTable, defineHoloProject, defineMigration, defineModel, defineSeeder, diffSchema, dropColumnOperation, dropForeignKeyOperation, dropIndexOperation, dropTableOperation, encryptedCast, enumCast, generateMigrationTemplate, generateSnowflake, generateUlid, generateUuidV7, getDatabaseQueryCacheBridge, getGeneratedTableDefinition, getModelDefinition, hasMany, hasManyThrough, hasOne, hasOneThrough, inferMigrationTableName, inferMigrationTemplateKind, isSupportedDatabaseDriver, latestMorphOne, latestOfMany, listGeneratedTableDefinitions, morphMany, morphOfMany, morphOne, morphTo, morphToMany, morphedByMany, normalizeDialectReadValue, normalizeDialectWriteValue, normalizeHoloProjectConfig, normalizeMigrationSlug, ofMany, oldestMorphOne, oldestOfMany, parseDatabaseDriver, queryCacheInternals, redactBindings, redactSql, registerGeneratedTables, renameColumnOperation, renameIndexOperation, renameTableOperation, renderGeneratedSchemaModule, renderGeneratedSchemaPlaceholder, renderGeneratedSchemaRuntimeModule, resetDB, resetDatabaseQueryCacheBridge, resetGlobalModelRegistry, resetMorphRegistry, resolveDialectColumnType, resolveDialectIdStrategyType, resolveGeneratedTableDefinition, resolveMorphModel, resolveRuntimeConnectionManagerOptions, scopeRelation, serializeModels, uniqueSlug, unsafeSql, validateQueryPlan, withLimit, withOffset, withOrderBy, withPredicate, withSelections };
|