local Rx = require 'Rx'
local Observable = Rx.Observable

--------------------------------------------------------------------------------

local perfTestOperatorPrototype = {

    class = {},

}

--------------------------------------------------------------------------------

function perfTestOperatorPrototype.class.addFactory(_, operatorName)

    local methodNameAsPackage = string.format('Rx.perf.operators.%s', operatorName)

    Observable.addFactory(operatorName, require(methodNameAsPackage))

end

--------------------------------------------------------------------------------

function perfTestOperatorPrototype.class.addOperator(_, operatorName)

    local methodNameAsPackage = string.format('Rx.perf.operators.%s', operatorName)

    Observable.addOperator(operatorName, require(methodNameAsPackage))

end

--------------------------------------------------------------------------------

return Rx.Class('Rx.internals.PerfTestOperator', perfTestOperatorPrototype)
