MCPcopy Index your code
hub / github.com/MALSync/MALSync / changeCheck

Function changeCheck

src/utils/syncHandler.ts:82–136  ·  view source on GitHub ↗
(item, mode)

Source from the content-addressed store, hash-verified

80}
81
82export function changeCheck(item, mode) {
83 if (item.master && item.master.uid) {
84 const checkDates = shouldCheckDates(item.master);
85 const checkRewatchCount = shouldCheckRewatchCount(item.master);
86 for (let i = 0; i < item.slaves.length; i++) {
87 const slave = item.slaves[i];
88 if (slave.score !== item.master.score) {
89 item.diff = true;
90 slave.diff.score = item.master.score;
91 }
92 if (slave.watchedEp !== item.master.watchedEp) {
93 if (item.master.status === status.Completed) {
94 if (slave.watchedEp !== slave.totalEp) {
95 item.diff = true;
96 slave.diff.watchedEp = slave.totalEp;
97 }
98 } else {
99 item.diff = true;
100 slave.diff.watchedEp = item.master.watchedEp;
101 }
102 }
103 if (item.master.type === 'manga' && slave.readVol !== item.master.readVol) {
104 if (item.master.status === status.Completed) {
105 if (slave.readVol !== slave.totalVol) {
106 item.diff = true;
107 slave.diff.readVol = slave.totalVol;
108 }
109 } else {
110 item.diff = true;
111 slave.diff.readVol = item.master.readVol;
112 }
113 }
114 if (normalizeStatus(slave.status) !== normalizeStatus(item.master.status)) {
115 item.diff = true;
116 slave.diff.status = normalizeStatus(item.master.status);
117 }
118 if (checkDates && shouldCheckDates(slave)) {
119 if (slave.startDate !== item.master.startDate) {
120 item.diff = true;
121 slave.diff.startDate = item.master.startDate;
122 }
123 if (slave.finishDate !== item.master.finishDate) {
124 item.diff = true;
125 slave.diff.finishDate = item.master.finishDate;
126 }
127 }
128 if (checkRewatchCount && shouldCheckRewatchCount(slave)) {
129 if ((slave.rewatchCount ?? 0) !== (item.master.rewatchCount ?? 0)) {
130 item.diff = true;
131 slave.diff.rewatchCount = item.master.rewatchCount ?? 0;
132 }
133 }
134 }
135 }
136}
137
138export function missingCheck(item, missing, types, mode) {
139 if (item.master && item.master.uid) {

Callers 1

generateSyncFunction · 0.85

Calls 3

shouldCheckDatesFunction · 0.85
shouldCheckRewatchCountFunction · 0.85
normalizeStatusFunction · 0.85

Tested by

no test coverage detected