-
Notifications
You must be signed in to change notification settings - Fork 1
TodoList API
Todo의 정보만을 담고 있는 Plain 객체
Todo의 입력을 위한 최소 프로퍼티 조건만을 가지고 있는 입력용 Type
새로운 TodoList 클래스 인스턴스를 반환합니다.
new TodoList(todoArr)
-
매개변수
todoArr
: Todo 객체들이 들어있는 배열 -
반환값
TodoList 인스턴스
Active Todo (= 현재 실행해야 하는 Todo ) 객체를 반환합니다.
todoList.getActiveTodo()
-
매개변수
없음
-
반환값
Active Todo의 PlainTodo 객체
해당 id를 가지는 Todo를 반환합니다.
todoList.getTodoById(id)
-
매개변수
id
: Todo의 id -
반환값
Todo의 PlainTodo 객체 혹은
undefined
Active Todo의 from 프로퍼티를 내일 00시 00분 00초
로 변경하고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다. 이 메서드를 호출하면 현재의 Active Todo의 상태가 From 값 변화에 따라 자동으로 WAIT
으로 바뀌고, 다음날까지 다시는 todoList.getActiveTodo()
로 반환되지 않습니다.
todoList.postponeForToday()
-
매개변수
없음
-
반환값
새로운 TodoList 인스턴스
Active Todo의 lastPostponed 값을 현재로 변경하고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다. 이 메서드에 이어 todoList.getActiveTodo()
를 호출하면, 기존의 Active Todo와 Deadline, Importance 값이 같은 다른 Todo가 반환됩니다.
todoList.postponeTemporally()
-
매개변수
없음
-
반환값
새로운 TodoList 인스턴스
Active Todo의 Deadline 값을 하루 증가시키고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다.
todoList.postponeDeadline()
-
매개변수
없음
-
반환값
새로운 TodoList 인스턴스
Active Todo의 Importance 값을 한단계 낮추고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다. 만약 Importance 값이 이미 최저값이라면 아무런 변경도 이루어지지 않습니다.
todoList.lowerImportance()
-
매개변수
없음
-
반환값
새로운 TodoList 인스턴스
Active Todo의 상태를 DONE
으로 변경하고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다.
todoList.setDone()
-
매개변수
없음
-
반환값
새로운 TodoList 인스턴스
updateElapsedTime()
메서드는 Active Todo의 ElapsedTime 값을 인자로 주어진 값으로 변경하고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다.
todoList.updateElapsedTime(elapsedTime)
-
매개변수
elapsedTime
: milliSecond로 표현된 Active Todo의 현재 소요시간 -
반환값
새로운 TodoList 인스턴스
getSortedList()
메서드는 인자로 넘긴 타입의 Todo들을 비교함수 배열 순서에 따라 정렬하여 배열에 담아 반환합니다.
todoList.getSortedList(type, compareArr)
-
매개변수
type
: 반환할 Todo 배열의 목적 상태값.DONE
,WAIT
,READY
중 하나.compareArr
: 반환한 Todo 배열의 정렬에 사용할 비교 함수의 이름(string)들이 들어있는 배열. index가 작은 비교함수가 더 우선순위가 높은 정렬 방식이 됩니다. -
반환값
정렬된 Todo들의 PlainTodo 배열
add()
메서드는 인자로 전달된 todo 정보를 토대로 새로운 Todo 인스턴스를 생성하여 전체 Todo 배열에 삽입하고, 해당 변경사항이 적용된 TodoList를 새로 반환합니다.
todoList.add(todo)
-
매개변수
todo
: 새로 생성할 todo의 정보를 담고 있는 객체. -
반환값
새로운 TodoList 인스턴스
edit()
메서드는 인자로 전달된 id의 Todo의 값들을 마찬가지로 인자로 전달한 todo 정보를 토대로 변경합니다. 이후 해당 변경사항이 적용된 TodoList를 새로 반환합니다.
todoList.edit(id, todo)
-
매개변수
id
: 변경할 Todo의 id 값todo
: 변경할 todo 정보를 담고 있는 객체. -
반환값
새로운 TodoList 인스턴스
인자로 전달된 id의 Todo를 TodoList에서 삭제합니다. 해당 Todo가 삭제된 새로운 TodoList를 반환합니다.
todoList.remove(id)
-
매개변수
id
: 삭제할 Todo의 id 값 -
반환값
새로운 TodoList 인스턴스
TodoList의 각종 메타데이터를 요약하여 객체로 반환합니다.
todoList.summary()
-
매개변수
없음
-
반환값
메타데이터가 담긴 객체
- OaO 환경설정 A to Z
- CRLF 너가 뭔데 날 힘들게 해?
- Github Issue 똑똑하게 사용하기
- OAO! CI CD 적용기 with release 자동화
- 매번 다른 import문
- 못생긴 상대경로에서 간zlzl존 절대경로로😎
- TodoList API 개발기
- 의존성 주입으로 DB를 바꿔보자
- 렌더링 최적화 서막: useNavigate를 추가한 순간 리렌더 범위가 확장된 건에 대하여
- 렌더링 최적화 1탄: 렌더링 범위에 대하여 (by 최적화무새)
- 렌더링 최적화 2탄: 잘못된 custom hook 사용,, 전체 리렌더링을 부르다,,
- 렌더링 최적화 3탄: Todo 상세 좀 봤다고 테이블 전체가 재렌더링 되는건을 고치기😌
- 렌더링 최적화 4탄: 다이어그램 편
- 🐁 마우스 상대위치 계산은 이상해
- React 컴포넌트에 애니메이션을 적용해보자 🏃🏻💨
- 컴포넌트 재사용성을 높여보자: Modal 분리기 🌹
- 선후관계를 자동완성으로 추가해보자 🔎