todo-model.ts 653 B

1234567891011121314151617181920212223242526272829
  1. export default class TodoModel {
  2. id: string;
  3. description: string;
  4. dateCreated: string;
  5. completed: boolean;
  6. constructor(description: string) {
  7. this.id = this._generateUUID();
  8. this.description = description;
  9. this.dateCreated = new Date().toISOString();
  10. this.completed = false;
  11. }
  12. private _generateUUID() {
  13. let i, random;
  14. let uuid = '';
  15. for (i = 0; i < 32; i++) {
  16. random = Math.random() * 16 | 0;
  17. if (i === 8 || i === 12 || i === 16 || i === 20) {
  18. uuid += '-';
  19. }
  20. uuid += (i === 12 ? 4 : (i === 16 ? (random & 3 | 8) : random))
  21. .toString(16);
  22. }
  23. return uuid;
  24. }
  25. }