//Initialise functions
{
/**
* Parses an action for DALS/{@link ve.UndoRedo}. Contract function.
* @alias DALS.Timeline.parseAction
*
* @param {Object|string} [arg0_json]
* @param {Object} [arg0_json.options]
* @param {string} [arg0_json.options.name="New Action"]
* @param {string} [arg0_json.options.key]
* @param {Object[]} [arg0_json.value] - [n]: { type: {@link string}, <action_key>: {@link any} }
*/
DALS.Timeline.parseAction = function (arg0_json) {
//Convert from parameters
let json = (typeof arg0_json === "string") ? JSON.parse(arg0_json) : arg0_json;
//Initialise JSON
if (json.options === undefined) json.options = {};
if (json.value === undefined) json.value = [];
//Iterate over multi-value packet (MVP) and filter it down to superclass single-value packets (SVPs)
for (let i = 0; i < json.value.length; i++) try {
if (json.value[i].type === "global") {
if (json.value[i].load_save)
DALS.fromJSON(json.value[i].load_save);
}
} catch (e) { console.error(e); }
console.error(`DALS.Timeline.parseAction(arg0_json) does not have a parser bound to it.`);
};
}