'use strict';
var EventEmitter = require('@algolia/events');
var inherits = require('../functions/inherits');
function DerivedHelper(mainHelper, fn, recommendFn) {
this.main = mainHelper;
this.fn = fn;
this.recommendFn = recommendFn;
this.lastResults = null;
this.lastRecommendResults = null;
}
inherits(DerivedHelper, EventEmitter);
DerivedHelper.prototype.detach = function () {
this.removeAllListeners();
this.main.detachDerivedHelper(this);
};
DerivedHelper.prototype.getModifiedState = function (parameters) {
return this.fn(parameters);
};
DerivedHelper.prototype.getModifiedRecommendState = function (parameters) {
return this.recommendFn(parameters);
};
module.exports = DerivedHelper;