-
Notifications
You must be signed in to change notification settings - Fork 0
/
implementation.coffee
35 lines (26 loc) · 1.16 KB
/
implementation.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Paws = require '../Paws.coffee'
{ Thing, Label, Execution, Native
, Relation, Combination, Position, Mask
, reactor, parse, debugging, utilities: util } = Paws
{ ENV, verbosity, is_silent, colour
, emergency, alert, critical, error, warning, notice, info, debug, verbose, wtf } = debugging
module.exports =
-> Thing.with(names: yes).construct implementation:
version: -> return new Label require('../../package.json').version
console:
print: new Native (label)-> console.log label.alien ; return null
inspect: new Native (thing)-> console.log thing.inspect() ; return null
# I don't like this. The semantics of “what stop[] means” are waaaaay too complex (or just
# wishy-washy) for everyday users. Going to get rid of it.
stop: new Execution (_, here)-> here.stop()
debugger: ->
debugger
return new Label 'debugger'
void: new Native(
(caller, $)->
@caller = caller
@original = this
$.stage @caller, @original.clone()
(_, $)->
$.stage @caller, @original.clone()
)