MCPcopy Index your code
hub / github.com/callumalpass/tasknotes / getUserFieldChanges

Function getUserFieldChanges

src/modals/taskModalUserFields.ts:56–78  ·  view source on GitHub ↗
(
	userFields: Record<string, unknown>,
	frontmatter: Record<string, unknown>,
	userFieldConfigs: readonly Pick<UserMappedField, "key">[]
)

Source from the content-addressed store, hash-verified

54}
55
56export function getUserFieldChanges(
57 userFields: Record<string, unknown>,
58 frontmatter: Record<string, unknown>,
59 userFieldConfigs: readonly Pick<UserMappedField, "key">[]
60): Record<string, unknown> {
61 const userFieldsChanges: Record<string, unknown> = {};
62
63 for (const field of userFieldConfigs) {
64 if (!field?.key) continue;
65
66 const newValue = userFields[field.key];
67 const oldValue = frontmatter[field.key];
68
69 if (isUserFieldValueDifferent(newValue, oldValue)) {
70 userFieldsChanges[field.key] =
71 newValue === null || newValue === undefined || newValue === ""
72 ? null
73 : newValue;
74 }
75 }
76
77 return userFieldsChanges;
78}
79
80export function isUserFieldValueDifferent(newValue: unknown, oldValue: unknown): boolean {
81 const normalizedNew = normalizeEmptyUserFieldValue(newValue);

Callers 2

buildTaskEditChangesFunction · 0.90

Calls 1

Tested by

no test coverage detected