local pairs = pairs

local module = {}

--[[
exports.options = {
  options: function(options, merge){
    this.options = exports.merge(options || {}, merge || {});
  }
};
--]]

module.null_option = {}

module.options = {
	options = function(self, options, merge)
		self.options = module.merge(options or {}, merge or {})
	end
}

function module.merge(source, merge)
	for k,v in pairs(merge) do
		if v == module.null_option then
			source[k] = nil
		else
			source[k] = v
		end
	end
	return source
end

return module
