2016-06-07 16:45:13 -07:00

26 lines
461 B
TypeScript

// #docregion
export class RestoreService<T> {
originalItem: T;
currentItem: T;
setItem (item: T) {
this.originalItem = item;
this.currentItem = this.clone(item);
}
getItem (): T {
return this.currentItem;
}
restoreItem (): T {
this.currentItem = this.originalItem;
return this.getItem();
}
clone (item: T): T {
// super poor clone implementation
return JSON.parse(JSON.stringify(item));
}
}
// #enddocregion