strapi-plugin-parent-child-relationships
Version:
Strapi plugin to create and manage parent-child relationships between content types using custom fields
25 lines (20 loc) • 810 B
JavaScript
/**
* @param {Array<{id: string}>} browserStateRelations
* @param {Array<{id: string}>} serverStateRelations
* @returns {[connected: string[], disconnected: string[]]} – the connected and disconnected relations ids
*/
export const diffRelations = (browserStateRelations = [], serverStateRelations = []) => {
const connected = browserStateRelations.reduce((acc, relation) => {
if (!serverStateRelations.find((oldRelation) => oldRelation.id === relation.id)) {
return [...acc, relation.id];
}
return acc;
}, []);
const disconnected = serverStateRelations.reduce((acc, relation) => {
if (!browserStateRelations.find((oldRelation) => oldRelation.id === relation.id)) {
return [...acc, relation.id];
}
return acc;
}, []);
return [connected, disconnected];
};