# frozen_string_literal: true

require_relative "../../addresses"
require_relative "../../oob"

module Blather
	class Stanza
		class Message
			def recipients
				if addresses
					addresses.map { |a| a.jid.node }
				else
					[to.node]
				end
			end

			def addresses
				find(
					"/message/ns:addresses",
					ns: "http://jabber.org/protocol/address"
				).first&.then do |node|
					Addresses.import(node)
				end
			end

			def oobs
				find("/message/ns:x", ns: "jabber:x:oob").map do |node|
					OOB.import(node)
				end
			end
		end
	end
end
