/** * Created by reunion on 29/11/2016. */ export declare class DataStructure { /** * Clone un objet complet, de manière profonde (c'est à dire son arborescence complete) * @param objectToClone Comme son nom l'indique... * @returns {{}} Le Clone */ clone(objectToClone: Object): Object; /** * Teste récursivement si un objet est vide (vide si aucune de ses branches ne possède de valeur) * @param object Objet auquel s'applique le test * @returns {boolean} Vrai si vide, sinon faux */ isEmpty(object: Object): boolean; /** * Supprime toutes les branches vides d'un objet * @param objectToClean Objet à nettoyer * @returns {Object} L'objet nettoyé (attention, l'objet n'est pas copié, mais passé par référence) */ cleanObject(objectToClean: Object): Object; /** * Retourne le diff non nettoyé entre l'objet reference et updated (valeurs modifiées de updated par rapport à reference * @param reference L'objet de référence * @param updated L'objet mis à jour * @returns {{}} Le diff */ applyDiff(reference: Object, updated: Object): Object; /** * Retourne le diff nettoyé (objet ne contenant que les propriétés de updated différentes de celle de reference * @param reference L'objet de référence * @param updated L'objet mis à jour * @returns {Object} Le diff */ getDiff(reference: Object, updated: Object): Object; }