import ResultOperator from '../builder/type/result/ResultOperator.ts' import {Model} from './Model.ts' import {Injectable} from '../../../di/src/decorator/Injection.ts' import {QueryRow} from '../db/types.ts' import Instantiable from '../../../di/src/type/Instantiable.ts' import {make} from '../../../di/src/global.ts' @Injectable() export default class ModelResultOperator> extends ResultOperator { constructor( protected ModelClass: Instantiable, ) { super() } inflate_row(row: QueryRow): T { return make(this.ModelClass).assume_from_source(row) } deflate_row(item: T): QueryRow { return item.to_row() } }