11import { TimeInterval } from "../entity/time-interval" ;
22import { injecStorage } from "../storage/inject-storage" ;
3- import { StorageParams } from "../storage/storage-params" ;
3+ import { StorageDeserializeParam , StorageParams } from "../storage/storage-params" ;
44import { todayLocalDate } from "../utils/common" ;
55
66export async function closeInterval ( domain :string | null ) : Promise < void > {
77 if ( domain == null ) return ;
88 const storage = injecStorage ( ) ;
9- const timeIntervalList = await storage . getValue ( StorageParams . TIMEINTERVAL_LIST ) as TimeInterval [ ] ;
9+ const timeIntervalList = await storage . getDeserializeList ( StorageDeserializeParam . TIMEINTERVAL_LIST ) as TimeInterval [ ] ;
1010 const item = timeIntervalList ?. find ( x => x . domain === domain && x . day == todayLocalDate ( ) ) ;
1111 item ?. closeInterval ( ) ;
1212 await storage . saveValue ( StorageParams . TIMEINTERVAL_LIST , timeIntervalList ) ;
@@ -16,18 +16,22 @@ export async function addInterval(domain:string | null): Promise<void>{
1616 if ( domain == null ) return ;
1717
1818 const storage = injecStorage ( ) ;
19- const timeIntervalList = await storage . getValue ( StorageParams . TIMEINTERVAL_LIST ) as TimeInterval [ ] ;
19+ let timeIntervalList = await storage . getDeserializeList ( StorageDeserializeParam . TIMEINTERVAL_LIST ) as TimeInterval [ ] ;
20+ if ( timeIntervalList == undefined )
21+ timeIntervalList = [ ] ;
2022 const item = timeIntervalList ?. find ( x => x . domain === domain && x . day == todayLocalDate ( ) ) ;
2123 if ( item != undefined ) {
2224 if ( item . day == todayLocalDate ( ) )
2325 item . addInterval ( ) ;
2426 else {
25- const newInterval = new TimeInterval ( todayLocalDate ( ) , domain ) ;
27+ const newInterval = new TimeInterval ( ) ;
28+ newInterval . init ( todayLocalDate ( ) , domain ) ;
2629 newInterval . addInterval ( ) ;
2730 timeIntervalList . push ( newInterval ) ;
2831 }
2932 } else {
30- const newInterval = new TimeInterval ( todayLocalDate ( ) , domain ) ;
33+ const newInterval = new TimeInterval ( ) ;
34+ newInterval . init ( todayLocalDate ( ) , domain ) ;
3135 newInterval . addInterval ( ) ;
3236 timeIntervalList . push ( newInterval ) ;
3337 }
0 commit comments