JSFiddle - React, Tailwind, and code Playground
by Andrew Gerst
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
JavaScript
const id = 'operator-uuid';
const body = {
android_minversion: null,
};
const oldOperatorSettings = {
"android_minversion": "5,2,1",
"customer_view_individual_citation": "0",
"enable_call_support": "0",
"genetec_api_hit_parking_rights": "0",
"map_lookup_meta_to_userdef": null,
"max_lpn_levenshtein_distance": "0",
"officer_reports_hide_street": "0",
"omm_append_common_notes": "1",
"push_notification_application_id_prefix": null,
"recent_zones_expired_timeout_in_seconds": "0",
"show_notes_on_rmc_appeal": "0",
"side_menu_change_operator_enabled": "0",
"smsoffersenabled": "0",
"touch_tone_vehicle_entry_enabled": "1",
"use_payment_entry_on_cashier_report": "0",
"whitelabel_termsconditionstype": "2",
};
const changedSettings = _.omitBy(body, (v, k) => {
console.log('k', k);
console.log('v', v);
console.log('oldOperatorSettings[k]', oldOperatorSettings[k]);
return oldOperatorSettings[k] === v;
});
console.log('changedSettings', changedSettings);
const returnedPromises = _.mapValues(changedSettings, (v, k) => ({ key: k, value: v, operator_id: id }));
console.log('returnedPromises', returnedPromises);
console.log(_.values(returnedPromises));