Source: crud.js

/**
 * 할 일 추가
 * @param {string} content - 내용
 * @param {boolean} [completed] - 완료 여부
 * @param {string} [category] - 카테고리
 * @param {string[]} [tags] - 태그들
 * @returns {boolean} - 할 일 추가 성공 여부
 */
function create(content, completed, category, tags) { }

/**
 * 모든 할 일 조회
 * @returns {Todo[]}
 *//**
 * 특정 할 일 조회
 * @param {number} id - 아이디
 * @returns {Todo}
 */
function read(id) { }

/** 할 일 속성 수정 parameter
 * @typedef TodoProperties
 * @type {object}
 * @property {string} [content] - 내용
 * @property {boolean} [completed] - 완료 여부
 * @property {string} [category] - 카테고리
 * @property {string[]} [tags] - 태그들
*/
/**
 * 할 일 속성 수정
 * @param {number} id - 수정할 todo의 아이디
 * @param {TodoProperties} properties
 * @returns {Todo} - 변경된 할 일 객체
 */
 function update(id, properties) { }

/**
 * 모든 할 일 삭제
 * @returns {Todo[]} - 삭제된 할 일 목록
 *//**
 * ID로 특정 할 일 삭제
 * @param {number} id - 아이디
 * @returns {Todo} - 삭제된 할 일
 *//**
 * ID로 특정 할 일의 특정 태그 삭제
 * @param {number} id - 아이디
 * @param {string} tag - 태그
 * @returns {Todo} - 특정 태그가 삭제된 할 일
 *//**
 * ID로 특정 할 일의 모든 태그 삭제
 * @param {number} id - 아이디
 * @param {boolean} removeAllTags - 태그
 * @returns {Todo} - 모든 태그가 삭제된 할 일
 */
function remove() { }