Use match-event more
This commit is contained in:
parent
a71e138e79
commit
ed3877e7b1
|
@ -21,7 +21,7 @@
|
||||||
(core:assert (file name new-content)))))
|
(core:assert (file name new-content)))))
|
||||||
|
|
||||||
(define ((file-observation-event-handler name) e content)
|
(define ((file-observation-event-handler name) e content)
|
||||||
(match e
|
(match-event e
|
||||||
[(? patch? p)
|
[(? patch? p)
|
||||||
(if (set-empty? (project-assertions (patch-removed p) (observe (file (?!) ?))))
|
(if (set-empty? (project-assertions (patch-removed p) (observe (file (?!) ?))))
|
||||||
#f
|
#f
|
||||||
|
@ -30,11 +30,10 @@
|
||||||
[(message (save (file (== name) new-content)))
|
[(message (save (file (== name) new-content)))
|
||||||
(update-file content name new-content)]
|
(update-file content name new-content)]
|
||||||
[(message (delete (== name)))
|
[(message (delete (== name)))
|
||||||
(update-file content name #f)]
|
(update-file content name #f)]))
|
||||||
[_ #f]))
|
|
||||||
|
|
||||||
(define (file-system-event-handler e files)
|
(define (file-system-event-handler e files)
|
||||||
(match e
|
(match-event e
|
||||||
[(? patch? p)
|
[(? patch? p)
|
||||||
(transition files
|
(transition files
|
||||||
(for-trie/list [((observe (file $name _)) (patch-added p))]
|
(for-trie/list [((observe (file $name _)) (patch-added p))]
|
||||||
|
@ -49,8 +48,7 @@
|
||||||
[(message (save (file name new-content)))
|
[(message (save (file name new-content)))
|
||||||
(transition (hash-set files name new-content) '())]
|
(transition (hash-set files name new-content) '())]
|
||||||
[(message (delete name))
|
[(message (delete name))
|
||||||
(transition (hash-remove files name) '())]
|
(transition (hash-remove files name) '())]))
|
||||||
[_ #f]))
|
|
||||||
|
|
||||||
(spawn file-system-event-handler
|
(spawn file-system-event-handler
|
||||||
(hash)
|
(hash)
|
||||||
|
|
Loading…
Reference in New Issue