Home Reference Source

src/contacts/ContactFactory.js

import {Contact} from './Contact';
import {GroupContact} from './GroupContact';

/** @protected */
export function ContactFactory({stack, userManager, presenceManager, favoriteManager}) {
	const create = (contact) => {
		switch (contact.source) {
			case 'group':
				return new GroupContact(stack, contact);
			default:
				return new Contact(stack, userManager, presenceManager, favoriteManager, contact);
		}
	};

	return Object.freeze({
		create,
	});
}