JSFiddle - React, Tailwind, and code Playground

HTML

<h2>Example for WordPress #20564</h2>
<p>Kind of "filter" for the data variable.</p>
<p>Add callbacks on ready event, and fire them just before autosave.</p>
<p>Click on autosave and check your webconsole!</p>
<span id="autosave" >[Autosave!]</span>

CSS

body {
    font-family: monospace;
}
span {
    cursor: pointer;
}

JavaScript

window.wp = window.wp || {};
window.wp.autosave = window.wp.autosave || {};
window.wp.autosave.addfieldcallback = function (callback) {
    window.wp.autosave.callbacks = window.wp.autosave.callbacks || Array();
    window.wp.autosave.callbacks.push(callback);
};
$('#autosave').click(function () {
    var data = {
        prop: 'initdata',
        some: 'field'
    };
    console.log(data, window.wp.autosave.callbacks);
    for (var i = 0; i < window.wp.autosave.callbacks.length; i += 1) {
        data = $.extend(data, window.wp.autosave.callbacks[i]());
    }
    console.log(data);
});
$(document).ready(function () {
    window.wp.autosave.addfieldcallback(function () {
        console.log('callback one called');
        return {
            prop: 'customdata'
        };
    });
    window.wp.autosave.addfieldcallback(function () {
        console.log('callback two called');
        return {
            'custom_field': 'custom_field_value'
        };
    });
});