@bunnykit/orm 0.1.7 → 0.1.9

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.
@@ -11,14 +11,14 @@ import { Schema } from "@bunnykit/orm";
11
11
 
12
12
  export default class ${this.toClassName(name)} extends Migration {
13
13
  async up(): Promise<void> {
14
- // Schema.create("table_name", (table) => {
14
+ // await Schema.create("table_name", (table) => {
15
15
  // table.increments("id");
16
16
  // table.timestamps();
17
17
  // });
18
18
  }
19
19
 
20
20
  async down(): Promise<void> {
21
- // Schema.dropIfExists("table_name");
21
+ // await Schema.dropIfExists("table_name");
22
22
  }
23
23
  }
24
24
  `;
@@ -1,15 +1,15 @@
1
1
  import { Builder } from "../query/Builder.js";
2
- import type { Model } from "./Model.js";
2
+ import type { Model, ModelConstructor } from "./Model.js";
3
3
  export declare class BelongsToMany<T extends Model = Model> {
4
4
  protected parent: Model;
5
- protected related: typeof Model;
5
+ protected related: ModelConstructor;
6
6
  protected table: string;
7
7
  protected foreignPivotKey: string;
8
8
  protected relatedPivotKey: string;
9
9
  protected parentKey: string;
10
10
  protected relatedKey: string;
11
11
  protected builder: Builder<T>;
12
- constructor(parent: Model, related: typeof Model, table?: string, foreignPivotKey?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string);
12
+ constructor(parent: Model, related: ModelConstructor, table?: string, foreignPivotKey?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string);
13
13
  protected addConstraints(): void;
14
14
  getQuery(): Builder<T>;
15
15
  addEagerConstraints(models: Model[]): void;
@@ -2,8 +2,8 @@ import { Connection } from "../connection/Connection.js";
2
2
  import { Builder } from "../query/Builder.js";
3
3
  import { MorphTo, MorphOne, MorphMany, MorphToMany } from "./MorphRelations.js";
4
4
  import { BelongsToMany } from "./BelongsToMany.js";
5
- export type ModelConstructor<T extends Model = Model> = typeof Model & (new (...args: any[]) => T);
6
- export type GlobalScope = (builder: Builder<any>, model: typeof Model) => void;
5
+ export type ModelConstructor<T extends Model = Model> = (new (...args: any[]) => T) & Omit<typeof Model, "prototype">;
6
+ export type GlobalScope = (builder: Builder<any>, model: ModelConstructor) => void;
7
7
  export type CastDefinition = string | CastsAttributes | (new (...args: any[]) => CastsAttributes);
8
8
  export interface CastsAttributes {
9
9
  get(model: Model, key: string, value: any, attributes: Record<string, any>): any;
@@ -12,10 +12,10 @@ export interface CastsAttributes {
12
12
  export declare abstract class Relation<T extends Model = Model> {
13
13
  protected builder: Builder<T>;
14
14
  protected parent: Model;
15
- protected related: typeof Model;
15
+ protected related: ModelConstructor;
16
16
  protected foreignKey: string;
17
17
  protected localKey: string;
18
- constructor(parent: Model, related: typeof Model, foreignKey?: string, localKey?: string);
18
+ constructor(parent: Model, related: ModelConstructor, foreignKey?: string, localKey?: string);
19
19
  abstract addConstraints(): void;
20
20
  abstract getResults(): Promise<T | T[] | null>;
21
21
  abstract addEagerConstraints(models: Model[]): void;
@@ -30,7 +30,7 @@ export declare abstract class Relation<T extends Model = Model> {
30
30
  getRelationAggregateSql(parentQuery: Builder<any>, aggregate: string, callback?: (query: Builder<any>) => void | Builder<any>): string;
31
31
  }
32
32
  export declare class HasMany<T extends Model = Model> extends Relation<T> {
33
- constructor(parent: Model, related: typeof Model, foreignKey?: string, localKey?: string);
33
+ constructor(parent: Model, related: ModelConstructor, foreignKey?: string, localKey?: string);
34
34
  addConstraints(): void;
35
35
  addEagerConstraints(models: Model[]): void;
36
36
  getEager(): Promise<any[]>;
@@ -41,7 +41,7 @@ export declare class HasMany<T extends Model = Model> extends Relation<T> {
41
41
  ofMany(column: string, aggregate?: "max" | "min"): HasOne<T>;
42
42
  }
43
43
  export declare class BelongsTo<T extends Model = Model> extends Relation<T> {
44
- constructor(parent: Model, related: typeof Model, foreignKey?: string, ownerKey?: string);
44
+ constructor(parent: Model, related: ModelConstructor, foreignKey?: string, ownerKey?: string);
45
45
  addConstraints(): void;
46
46
  addEagerConstraints(models: Model[]): void;
47
47
  getEager(): Promise<any[]>;
@@ -52,11 +52,11 @@ export declare class BelongsTo<T extends Model = Model> extends Relation<T> {
52
52
  protected newExistenceQuery(parentQuery: Builder<any>, aggregate: string, callback?: (query: Builder<any>) => void | Builder<any>): Builder<any>;
53
53
  }
54
54
  export declare class HasManyThrough<T extends Model = Model> extends Relation<T> {
55
- protected through: typeof Model;
55
+ protected through: ModelConstructor;
56
56
  protected firstKey: string;
57
57
  protected secondKey: string;
58
58
  protected secondLocalKey: string;
59
- constructor(parent: Model, related: typeof Model, through: typeof Model, firstKey?: string, secondKey?: string, localKey?: string, secondLocalKey?: string);
59
+ constructor(parent: Model, related: ModelConstructor, through: ModelConstructor, firstKey?: string, secondKey?: string, localKey?: string, secondLocalKey?: string);
60
60
  addConstraints(): void;
61
61
  addEagerConstraints(models: Model[]): void;
62
62
  getEager(): Promise<any[]>;
@@ -69,7 +69,7 @@ export declare class HasOneThrough<T extends Model = Model> extends HasManyThrou
69
69
  match(models: Model[], results: any[], relationName: string): void;
70
70
  }
71
71
  export declare class HasOne<T extends Model = Model> extends Relation<T> {
72
- constructor(parent: Model, related: typeof Model, foreignKey?: string, localKey?: string);
72
+ constructor(parent: Model, related: ModelConstructor, foreignKey?: string, localKey?: string);
73
73
  addConstraints(): void;
74
74
  addEagerConstraints(models: Model[]): void;
75
75
  getEager(): Promise<any[]>;
@@ -102,69 +102,69 @@ export declare class Model<T extends Record<string, any> = Record<string, any>>
102
102
  static getTable(): string;
103
103
  static getConnection(): Connection;
104
104
  static setConnection(connection: Connection): void;
105
- static on<M extends typeof Model>(this: M, connection: string | Connection): Builder<InstanceType<M>>;
106
- static forTenant<M extends typeof Model>(this: M, tenantId: string): Builder<InstanceType<M>>;
107
- static query<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
105
+ static on<M extends ModelConstructor>(this: M, connection: string | Connection): Builder<InstanceType<M>>;
106
+ static forTenant<M extends ModelConstructor>(this: M, tenantId: string): Builder<InstanceType<M>>;
107
+ static query<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
108
108
  static addGlobalScope(name: string, scope: GlobalScope): void;
109
109
  static removeGlobalScope(name: string): void;
110
110
  static applyGlobalScopes(builder: Builder<any>): void;
111
111
  static getQualifiedDeletedAtColumn(): string;
112
112
  static shouldAutoGeneratePrimaryKey(): Promise<boolean>;
113
- static create<M extends typeof Model>(this: M, attributes: Partial<InstanceType<M> extends Model<infer U> ? U : Record<string, any>>): Promise<InstanceType<M>>;
114
- static find<M extends typeof Model>(this: M, id: any): Promise<InstanceType<M> | null>;
115
- static findOrFail<M extends typeof Model>(this: M, id: any): Promise<InstanceType<M>>;
116
- static first<M extends typeof Model>(this: M): Promise<InstanceType<M> | null>;
117
- static firstOrFail<M extends typeof Model>(this: M): Promise<InstanceType<M>>;
118
- static firstOrCreate<M extends typeof Model>(this: M, attributes?: Record<string, any>, values?: Record<string, any>): Promise<InstanceType<M>>;
119
- static updateOrCreate<M extends typeof Model>(this: M, attributes: Record<string, any>, values?: Record<string, any>): Promise<InstanceType<M>>;
120
- static where<M extends typeof Model>(this: M, column: string | Record<string, any>, operator?: string | any, value?: any): Builder<InstanceType<M>>;
121
- static orderBy<M extends typeof Model>(this: M, column: string, direction?: "asc" | "desc"): Builder<InstanceType<M>>;
122
- static whereIn<M extends typeof Model>(this: M, column: string, values: any[]): Builder<InstanceType<M>>;
123
- static whereNull<M extends typeof Model>(this: M, column: string): Builder<InstanceType<M>>;
124
- static whereNotNull<M extends typeof Model>(this: M, column: string): Builder<InstanceType<M>>;
125
- static orWhere<M extends typeof Model>(this: M, column: string | Record<string, any>, operator?: string | any, value?: any): Builder<InstanceType<M>>;
126
- static whereNot<M extends typeof Model>(this: M, column: string | Record<string, any>, value?: any): Builder<InstanceType<M>>;
127
- static orWhereNot<M extends typeof Model>(this: M, column: string | Record<string, any>, value?: any): Builder<InstanceType<M>>;
128
- static whereDate<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
129
- static orWhereDate<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
130
- static whereDay<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
131
- static orWhereDay<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
132
- static whereMonth<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
133
- static orWhereMonth<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
134
- static whereYear<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
135
- static orWhereYear<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
136
- static whereTime<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
137
- static orWhereTime<M extends typeof Model>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
138
- static latest<M extends typeof Model>(this: M, column?: string): Builder<InstanceType<M>>;
139
- static oldest<M extends typeof Model>(this: M, column?: string): Builder<InstanceType<M>>;
140
- static when<M extends typeof Model>(this: M, condition: any, callback: (query: Builder<any>) => void | Builder<any>, defaultCallback?: (query: Builder<any>) => void | Builder<any>): Builder<InstanceType<M>>;
141
- static unless<M extends typeof Model>(this: M, condition: any, callback: (query: Builder<any>) => void | Builder<any>, defaultCallback?: (query: Builder<any>) => void | Builder<any>): Builder<InstanceType<M>>;
142
- static tap<M extends typeof Model>(this: M, callback: (query: Builder<any>) => void | Builder<any>): Builder<InstanceType<M>>;
143
- static take<M extends typeof Model>(this: M, count: number): Builder<InstanceType<M>>;
144
- static skip<M extends typeof Model>(this: M, count: number): Builder<InstanceType<M>>;
145
- static inRandomOrder<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
146
- static lockForUpdate<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
147
- static sharedLock<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
148
- static with<M extends typeof Model>(this: M, ...relations: string[]): Builder<InstanceType<M>>;
149
- static withTrashed<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
150
- static onlyTrashed<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
151
- static withoutGlobalScope<M extends typeof Model>(this: M, scope: string): Builder<InstanceType<M>>;
152
- static withoutGlobalScopes<M extends typeof Model>(this: M): Builder<InstanceType<M>>;
153
- static scope<M extends typeof Model>(this: M, name: string, ...args: any[]): Builder<InstanceType<M>>;
154
- static has<M extends typeof Model>(this: M, relationName: string, operator?: string, count?: number): Builder<InstanceType<M>>;
155
- static whereHas<M extends typeof Model>(this: M, relationName: string, callback?: (query: Builder<any>) => void | Builder<any>, operator?: string, count?: number): Builder<InstanceType<M>>;
156
- static doesntHave<M extends typeof Model>(this: M, relationName: string): Builder<InstanceType<M>>;
157
- static withCount<M extends typeof Model>(this: M, relationName: string, alias?: string): Builder<InstanceType<M>>;
158
- static withSum<M extends typeof Model>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
159
- static withAvg<M extends typeof Model>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
160
- static withMin<M extends typeof Model>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
161
- static withMax<M extends typeof Model>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
162
- static all<M extends typeof Model>(this: M): Promise<InstanceType<M>[]>;
163
- static paginate<M extends typeof Model>(this: M, perPage?: number, page?: number): Promise<import("../query/Builder.js").Paginator<InstanceType<M>>>;
164
- static chunk<M extends typeof Model>(this: M, count: number, callback: (items: InstanceType<M>[]) => void | Promise<void>): Promise<void>;
165
- static each<M extends typeof Model>(this: M, count: number, callback: (item: InstanceType<M>) => void | Promise<void>): Promise<void>;
166
- static cursor<M extends typeof Model>(this: M): AsyncGenerator<InstanceType<M>>;
167
- static lazy<M extends typeof Model>(this: M, count?: number): AsyncGenerator<InstanceType<M>>;
113
+ static create<M extends ModelConstructor>(this: M, attributes: Partial<InstanceType<M> extends Model<infer U> ? U : Record<string, any>>): Promise<InstanceType<M>>;
114
+ static find<M extends ModelConstructor>(this: M, id: any): Promise<InstanceType<M> | null>;
115
+ static findOrFail<M extends ModelConstructor>(this: M, id: any): Promise<InstanceType<M>>;
116
+ static first<M extends ModelConstructor>(this: M): Promise<InstanceType<M> | null>;
117
+ static firstOrFail<M extends ModelConstructor>(this: M): Promise<InstanceType<M>>;
118
+ static firstOrCreate<M extends ModelConstructor>(this: M, attributes?: Record<string, any>, values?: Record<string, any>): Promise<InstanceType<M>>;
119
+ static updateOrCreate<M extends ModelConstructor>(this: M, attributes: Record<string, any>, values?: Record<string, any>): Promise<InstanceType<M>>;
120
+ static where<M extends ModelConstructor>(this: M, column: string | Record<string, any>, operator?: string | any, value?: any): Builder<InstanceType<M>>;
121
+ static orderBy<M extends ModelConstructor>(this: M, column: string, direction?: "asc" | "desc"): Builder<InstanceType<M>>;
122
+ static whereIn<M extends ModelConstructor>(this: M, column: string, values: any[]): Builder<InstanceType<M>>;
123
+ static whereNull<M extends ModelConstructor>(this: M, column: string): Builder<InstanceType<M>>;
124
+ static whereNotNull<M extends ModelConstructor>(this: M, column: string): Builder<InstanceType<M>>;
125
+ static orWhere<M extends ModelConstructor>(this: M, column: string | Record<string, any>, operator?: string | any, value?: any): Builder<InstanceType<M>>;
126
+ static whereNot<M extends ModelConstructor>(this: M, column: string | Record<string, any>, value?: any): Builder<InstanceType<M>>;
127
+ static orWhereNot<M extends ModelConstructor>(this: M, column: string | Record<string, any>, value?: any): Builder<InstanceType<M>>;
128
+ static whereDate<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
129
+ static orWhereDate<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
130
+ static whereDay<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
131
+ static orWhereDay<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
132
+ static whereMonth<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
133
+ static orWhereMonth<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
134
+ static whereYear<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
135
+ static orWhereYear<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
136
+ static whereTime<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
137
+ static orWhereTime<M extends ModelConstructor>(this: M, column: string, operator?: string | any, value?: any): Builder<InstanceType<M>>;
138
+ static latest<M extends ModelConstructor>(this: M, column?: string): Builder<InstanceType<M>>;
139
+ static oldest<M extends ModelConstructor>(this: M, column?: string): Builder<InstanceType<M>>;
140
+ static when<M extends ModelConstructor>(this: M, condition: any, callback: (query: Builder<any>) => void | Builder<any>, defaultCallback?: (query: Builder<any>) => void | Builder<any>): Builder<InstanceType<M>>;
141
+ static unless<M extends ModelConstructor>(this: M, condition: any, callback: (query: Builder<any>) => void | Builder<any>, defaultCallback?: (query: Builder<any>) => void | Builder<any>): Builder<InstanceType<M>>;
142
+ static tap<M extends ModelConstructor>(this: M, callback: (query: Builder<any>) => void | Builder<any>): Builder<InstanceType<M>>;
143
+ static take<M extends ModelConstructor>(this: M, count: number): Builder<InstanceType<M>>;
144
+ static skip<M extends ModelConstructor>(this: M, count: number): Builder<InstanceType<M>>;
145
+ static inRandomOrder<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
146
+ static lockForUpdate<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
147
+ static sharedLock<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
148
+ static with<M extends ModelConstructor>(this: M, ...relations: string[]): Builder<InstanceType<M>>;
149
+ static withTrashed<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
150
+ static onlyTrashed<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
151
+ static withoutGlobalScope<M extends ModelConstructor>(this: M, scope: string): Builder<InstanceType<M>>;
152
+ static withoutGlobalScopes<M extends ModelConstructor>(this: M): Builder<InstanceType<M>>;
153
+ static scope<M extends ModelConstructor>(this: M, name: string, ...args: any[]): Builder<InstanceType<M>>;
154
+ static has<M extends ModelConstructor>(this: M, relationName: string, operator?: string, count?: number): Builder<InstanceType<M>>;
155
+ static whereHas<M extends ModelConstructor>(this: M, relationName: string, callback?: (query: Builder<any>) => void | Builder<any>, operator?: string, count?: number): Builder<InstanceType<M>>;
156
+ static doesntHave<M extends ModelConstructor>(this: M, relationName: string): Builder<InstanceType<M>>;
157
+ static withCount<M extends ModelConstructor>(this: M, relationName: string, alias?: string): Builder<InstanceType<M>>;
158
+ static withSum<M extends ModelConstructor>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
159
+ static withAvg<M extends ModelConstructor>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
160
+ static withMin<M extends ModelConstructor>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
161
+ static withMax<M extends ModelConstructor>(this: M, relationName: string, column: string, alias?: string): Builder<InstanceType<M>>;
162
+ static all<M extends ModelConstructor>(this: M): Promise<InstanceType<M>[]>;
163
+ static paginate<M extends ModelConstructor>(this: M, perPage?: number, page?: number): Promise<import("../query/Builder.js").Paginator<InstanceType<M>>>;
164
+ static chunk<M extends ModelConstructor>(this: M, count: number, callback: (items: InstanceType<M>[]) => void | Promise<void>): Promise<void>;
165
+ static each<M extends ModelConstructor>(this: M, count: number, callback: (item: InstanceType<M>) => void | Promise<void>): Promise<void>;
166
+ static cursor<M extends ModelConstructor>(this: M): AsyncGenerator<InstanceType<M>>;
167
+ static lazy<M extends ModelConstructor>(this: M, count?: number): AsyncGenerator<InstanceType<M>>;
168
168
  static eagerLoadRelations(models: Model[], relations: string[]): Promise<void>;
169
169
  static eagerLoadRelation(models: Model[], relationName: string): Promise<void>;
170
170
  fill(attributes: Partial<T>): this;
@@ -16,12 +16,12 @@ export declare class MorphTo<T extends Model = Model> {
16
16
  export declare class MorphOne<T extends Model = Model> {
17
17
  protected builder: Builder<T>;
18
18
  protected parent: Model;
19
- protected related: typeof Model;
19
+ protected related: ModelConstructor;
20
20
  protected name: string;
21
21
  protected typeColumn: string;
22
22
  protected idColumn: string;
23
23
  protected localKey: string;
24
- constructor(parent: Model, related: typeof Model, name: string, typeColumn?: string, idColumn?: string, localKey?: string);
24
+ constructor(parent: Model, related: ModelConstructor, name: string, typeColumn?: string, idColumn?: string, localKey?: string);
25
25
  protected getMorphType(): string;
26
26
  getQuery(): Builder<T>;
27
27
  addEagerConstraints(models: Model[]): void;
@@ -37,12 +37,12 @@ export declare class MorphOne<T extends Model = Model> {
37
37
  export declare class MorphMany<T extends Model = Model> {
38
38
  protected builder: Builder<T>;
39
39
  protected parent: Model;
40
- protected related: typeof Model;
40
+ protected related: ModelConstructor;
41
41
  protected name: string;
42
42
  protected typeColumn: string;
43
43
  protected idColumn: string;
44
44
  protected localKey: string;
45
- constructor(parent: Model, related: typeof Model, name: string, typeColumn?: string, idColumn?: string, localKey?: string);
45
+ constructor(parent: Model, related: ModelConstructor, name: string, typeColumn?: string, idColumn?: string, localKey?: string);
46
46
  protected getMorphType(): string;
47
47
  getQuery(): Builder<T>;
48
48
  addEagerConstraints(models: Model[]): void;
@@ -58,7 +58,7 @@ export declare class MorphMany<T extends Model = Model> {
58
58
  export declare class MorphToMany<T extends Model = Model> {
59
59
  protected builder: Builder<T>;
60
60
  protected parent: Model;
61
- protected related: typeof Model;
61
+ protected related: ModelConstructor;
62
62
  protected name: string;
63
63
  protected table: string;
64
64
  protected foreignPivotKey: string;
@@ -66,7 +66,7 @@ export declare class MorphToMany<T extends Model = Model> {
66
66
  protected parentKey: string;
67
67
  protected relatedKey: string;
68
68
  protected morphType: string;
69
- constructor(parent: Model, related: typeof Model, name: string, table?: string, foreignPivotKey?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string, morphType?: string);
69
+ constructor(parent: Model, related: ModelConstructor, name: string, table?: string, foreignPivotKey?: string, relatedPivotKey?: string, parentKey?: string, relatedKey?: string, morphType?: string);
70
70
  protected addConstraints(): void;
71
71
  getQuery(): Builder<T>;
72
72
  addEagerConstraints(models: Model[]): void;
@@ -1,6 +1,6 @@
1
1
  import { Connection } from "../connection/Connection.js";
2
2
  import type { WhereClause, OrderClause, HavingClause, UnionClause } from "../types/index.js";
3
- import type { Model } from "../model/Model.js";
3
+ import type { ModelConstructor } from "../model/Model.js";
4
4
  type RelationConstraint = (query: Builder<any>) => void | Builder<any>;
5
5
  export interface Paginator<T> {
6
6
  data: T[];
@@ -23,7 +23,7 @@ export declare class Builder<T = Record<string, any>> {
23
23
  offsetValue?: number;
24
24
  joins: string[];
25
25
  distinctFlag: boolean;
26
- model?: typeof Model;
26
+ model?: ModelConstructor;
27
27
  eagerLoads: string[];
28
28
  randomOrderFlag: boolean;
29
29
  lockMode?: string;
@@ -32,7 +32,7 @@ export declare class Builder<T = Record<string, any>> {
32
32
  updateJoins: string[];
33
33
  constructor(connection: Connection, table: string);
34
34
  private get grammar();
35
- setModel(model: typeof Model): this;
35
+ setModel(model: ModelConstructor): this;
36
36
  table(table: string): this;
37
37
  select(...columns: string[]): this;
38
38
  distinct(): this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bunnykit/orm",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "An Eloquent-inspired ORM for Bun's native SQL client supporting SQLite, MySQL, and PostgreSQL.",
5
5
  "license": "MIT",
6
6
  "packageManager": "bun@1.3.12",