diff options
| author | s-ol <s-ol@users.noreply.github.com> | 2020-01-31 18:28:10 +0000 |
|---|---|---|
| committer | s-ol <s-ol@users.noreply.github.com> | 2020-01-31 18:28:10 +0000 |
| commit | 16962e1836251526fa08895b1a76dd72b7fd5ef9 (patch) | |
| tree | ef60d08e792825407d41fb77c14c26ecb135e2fc /old_base.moon | |
| parent | nested parens in comments (diff) | |
| download | alive-16962e1836251526fa08895b1a76dd72b7fd5ef9.tar.gz alive-16962e1836251526fa08895b1a76dd72b7fd5ef9.zip | |
modularize
Diffstat (limited to 'old_base.moon')
| -rw-r--r-- | old_base.moon | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/old_base.moon b/old_base.moon deleted file mode 100644 index 950ea16..0000000 --- a/old_base.moon +++ /dev/null @@ -1,70 +0,0 @@ -DISP, OP, OUT = {}, {}, {} - -class Value - new: (@value) => - - __tostring: => "<value: #{@value}>" - -class Dispatcher - new: => - @operators = {} - - dispatch: (...) => - for op in pairs @operators - op\dispatch ... - op\update! - - register: (op, params=true) => - @operators[op] = params - - unregister: (op) => - @operators[op] = nil - -class Op - new: (opts={}, defaults) => - assert defaults, "OP-def needs default arguments" - for k,v in pairs defaults - @[k] = opts[k] or v - - @parents = 0 - @setup! - - setup: => - destroy: => - update: => -- return current value (pure) - - mount: (lastval) => - @parents += 1 - - if lastval and @parents == 1 - @setup lastval - - unmount: => - @parents -= 1 - if @parents == 0 - @destroy! - -class Out - new: (@handle) => - @values = {} - @mapping = {} - - __call: (key, op) => - if @mapping[key] - @mapping[key]\unmount! - - @mapping[key] = op - @mapping[key]\mount @values[key] - - update: => - for key, op in pairs @mapping - @values[key] = op\update! - - @handle! if @handle - -{ - :Value, - :DISP, :Dispatcher - :OP, :Op - :OUT, :Out -} |
