modules/actions/change_preset.js (10 lines of code) (raw):
export function actionChangePreset(entityID, oldPreset, newPreset, skipFieldDefaults) {
return function action(graph) {
var entity = graph.entity(entityID);
var geometry = entity.geometry(graph);
var tags = entity.tags;
if (oldPreset) tags = oldPreset.unsetTags(tags, geometry);
if (newPreset) tags = newPreset.setTags(tags, geometry, skipFieldDefaults);
return graph.replace(entity.update({tags: tags}));
};
}