/**
 * Upgrade CSL item from 1.0.1 to 1.0.2
 *
 * @method upgradeCsl
 * @memberof module:@citation-js/core.util
 *
 * @param {Object} item - Input object
 *
 * @return {Object} upgraded item
 */
export function upgradeCsl(item) {
    if (Array.isArray(item)) {
        return item.map(upgradeCsl);
    }
    item = { ...item };
    if ('event' in item) {
        item['event-title'] = item.event;
        delete item.event;
    }
    if (item.type === 'book' && 'version' in item) {
        item.type = 'software';
    }
    return item;
}
/**
 * Downgrade CSL item from 1.0.2 to 1.0.1
 *
 * @method downgradeCsl
 * @memberof module:@citation-js/core.util
 *
 * @param {Object} item - Input object
 *
 * @return {Object} downgraded item
 */
export function downgradeCsl(item) {
    if (Array.isArray(item)) {
        return item.map(downgradeCsl);
    }
    item = { ...item };
    if ('event-title' in item) {
        item.event = item['event-title'];
        delete item['event-title'];
    }
    if (item.type === 'software') {
        item.type = 'book';
    }
    return item;
}
