Files
kiss-vscode/projects/nat-archive-tool/src/nat/System.kiss

21 lines
632 B
Plaintext

(prop :Map<String,Entry> entries (new Map))
(method :Void process [:Archive archive]
(doFor e (entries.iterator)
(processEntry archive e)))
(defNew [&prop :EntryChecker canProcessEntry
&prop :EntryProcessor processEntry]
[])
(prop &mut :Null<EntryProcessor> onRemoveEntry)
(method :Void checkEntryInOrOut [:Archive archive :Entry e]
(if (canProcessEntry archive e)
(dictSet entries e.id e)
(when (entries.exists e.id)
(entries.remove e.id)
(when onRemoveEntry (onRemoveEntry archive e)))))
// TODO systems may need access to a UI or ArchiveController