Import other modules into monorepo
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
25
src/orm/model/ModelBuilder.ts
Normal file
25
src/orm/model/ModelBuilder.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import {Model} from "./Model";
|
||||
import {AbstractBuilder} from "../builder/AbstractBuilder";
|
||||
import {AbstractResultIterable} from "../builder/result/AbstractResultIterable";
|
||||
import {Instantiable} from "../../di";
|
||||
import {ModelResultIterable} from "./ModelResultIterable";
|
||||
|
||||
/**
|
||||
* Implementation of the abstract builder whose results yield instances of a given Model, `T`.
|
||||
*/
|
||||
export class ModelBuilder<T extends Model<T>> extends AbstractBuilder<T> {
|
||||
constructor(
|
||||
/** The model class that is created for results of this query. */
|
||||
protected readonly ModelClass: Instantiable<T>
|
||||
) {
|
||||
super()
|
||||
}
|
||||
|
||||
public getNewInstance(): AbstractBuilder<T> {
|
||||
return this.app().make<ModelBuilder<T>>(ModelBuilder)
|
||||
}
|
||||
|
||||
public getResultIterable(): AbstractResultIterable<T> {
|
||||
return this.app().make<ModelResultIterable<T>>(ModelResultIterable, this, this._connection, this.ModelClass)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user