# frozen_string_literal: true

require "blather"
require "lazy_object"
require "value_semantics/monkey_patched"

class IBRRepo
	value_semantics do
		iq_manager Anything(), default: LazyObject.new { IQ_MANAGER }
	end

	def registered?(jid, from:)
		ibr = Blather::Stanza::Iq::IBR.new(:get, jid)
		ibr.from = from

		iq_manager.write(ibr).then do |result|
			if result.respond_to?(:registered?) && result.registered?
				result
			else
				false
			end
		end
	end
end
