/**
* @module flitter-orm/src/proxy/model/FilterProxy
*/
const ModelProxy = require('./ModelProxy')
/**
* Proxy that applies a filter to the reference's result set.
* @extends module:flitter-orm/src/proxy/model/ModelProxy
*/
class FilterProxy extends ModelProxy {
/**
* Instantiate the proxy.
* @param {module:flitter-orm/src/model/Model~Model|module:flitter-orm/src/proxy/model/ModelProxy~ModelProxy} model - proxy ref
* @param {module:flitter-orm/src/filter/Filter~Filter} filter - the filter to apply
* @param {module:flitter-orm/src/model/CursorBuilder~CursorBuilder} [builder] - optionally, the cursor builder to use
*/
constructor(model, filter, builder = undefined) {
super(model, builder)
this.builder.filter(filter)
}
}
module.exports = exports = FilterProxy