@@ -10,43 +10,43 @@ type DataProps = {
1010 todos : TodoItem [ ] ;
1111} ;
1212
13- const storage : DataProps = {
14- todos : JSON . parse ( window . localStorage ?. getItem ( "todos" ) || "[]" ) ,
15- } ;
16-
17- export const data : Data < DataProps > = {
13+ export const data : Data < DataProps , DataProps > = {
14+ cacheTtl : 0 ,
15+ any : ( _req , ctx ) => {
16+ ctx . todos = JSON . parse ( window . localStorage ?. getItem ( "todos" ) || "[]" ) ;
17+ } ,
1818 get : ( _req , ctx ) => {
19- return ctx . json ( storage ) ;
19+ return ctx . json ( { todos : ctx . todos } ) ;
2020 } ,
2121 put : async ( req , ctx ) => {
2222 const { message } = await req . json ( ) ;
2323 if ( typeof message === "string" ) {
24- storage . todos . push ( { id : Date . now ( ) , message, completed : false } ) ;
25- window . localStorage ?. setItem ( "todos" , JSON . stringify ( storage . todos ) ) ;
24+ ctx . todos . push ( { id : Date . now ( ) , message, completed : false } ) ;
25+ window . localStorage ?. setItem ( "todos" , JSON . stringify ( ctx . todos ) ) ;
2626 }
27- return ctx . json ( storage ) ;
27+ return ctx . json ( { todos : ctx . todos } ) ;
2828 } ,
2929 patch : async ( req , ctx ) => {
3030 const { id, message, completed } = await req . json ( ) ;
31- const todo = storage . todos . find ( ( todo ) => todo . id === id ) ;
31+ const todo = ctx . todos . find ( ( todo ) => todo . id === id ) ;
3232 if ( todo ) {
3333 if ( typeof message === "string" ) {
3434 todo . message = message ;
3535 }
3636 if ( typeof completed === "boolean" ) {
3737 todo . completed = completed ;
3838 }
39- window . localStorage ?. setItem ( "todos" , JSON . stringify ( storage . todos ) ) ;
39+ window . localStorage ?. setItem ( "todos" , JSON . stringify ( ctx . todos ) ) ;
4040 }
41- return ctx . json ( storage ) ;
41+ return ctx . json ( { todos : ctx . todos } ) ;
4242 } ,
4343 delete : async ( req , ctx ) => {
4444 const { id } = await req . json ( ) ;
4545 if ( id ) {
46- storage . todos = storage . todos . filter ( ( todo ) => todo . id !== id ) ;
47- window . localStorage ?. setItem ( "todos" , JSON . stringify ( storage . todos ) ) ;
46+ ctx . todos = ctx . todos . filter ( ( todo ) => todo . id !== id ) ;
47+ window . localStorage ?. setItem ( "todos" , JSON . stringify ( ctx . todos ) ) ;
4848 }
49- return ctx . json ( storage ) ;
49+ return ctx . json ( { todos : ctx . todos } ) ;
5050 } ,
5151} ;
5252
0 commit comments