-
Notifications
You must be signed in to change notification settings - Fork 1
/
node.js
84 lines (71 loc) · 1.76 KB
/
node.js
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
~ ~
['0 . 0']
-
{ re:
{ id: 'node@ionify'
, is: "invoked object notations interpreted for your node"
, by:['mike.lee@iskitz', 'team@ionify']
, on: '2009.05-04'
, to: '2019.04.13-07'
}
, debug
: false
, on:
[ ['get', 'then']
, 'get'
]
, host
: true
, errors
: { noConsole: "node@ionify needs the console() API"
, noRequire: "node@ionify needs the require() API"
}
, valueOf
: function ionifyNode ()
{ var node = this
; node.ready.with = node
; node.get .with = node
; delete node.valueOf
; node.ready ()
; node.get ({get:"./ions/on.object.js", then:node})
}
, ready
: function ready ()
{ var errors = ready.with.errors
, error =
( (typeof require == "undefined") && errors.noRequire
|| (typeof console == "undefined") && errors.noConsole
)
if (error) throw new Error (error)
return true
}
, get
: function get (ion)
{ var http = get.with.http
|| (get.with.http = require ("http"))
, path = String (ion.get)
, isLocal = path.match (/^[\.\/\\] /)
, data = ""
function from (response)
{ response.on ("data", got)
; response.on ("end" , then)
}
function got (part)
{ data = String (part)
}
function then ()
{~{log: path "\n\n" String (data)}
; eval (data)
~ ion.then
}
isLocal
? require (path, then)
: http.get (path, from)
}
, log
: function log (thing)
{ thing = String (thing.log)
; console.log (log.with.re.id ": " thing)
}
}
;