aboutsummaryrefslogtreecommitdiffstats
path: root/old_base.moon
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2020-01-31 18:28:10 +0000
committers-ol <s-ol@users.noreply.github.com>2020-01-31 18:28:10 +0000
commit16962e1836251526fa08895b1a76dd72b7fd5ef9 (patch)
treeef60d08e792825407d41fb77c14c26ecb135e2fc /old_base.moon
parentnested parens in comments (diff)
downloadalive-16962e1836251526fa08895b1a76dd72b7fd5ef9.tar.gz
alive-16962e1836251526fa08895b1a76dd72b7fd5ef9.zip
modularize
Diffstat (limited to 'old_base.moon')
-rw-r--r--old_base.moon70
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
-}