statebus 6.2.3 → 6.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client.js +2 -2
- package/extras/tests.js +60 -0
- package/package.json +9 -2
- package/server.js +4 -4
- package/statebus.js +39 -7
- package/extras/#test_save_delay.js# +0 -11
- package/extras/abort-test.html +0 -10
- package/extras/abort-test.js +0 -17
- package/extras/backups/db.2021-11-13 +0 -12
- package/extras/backups/db.2021-11-14 +0 -12
- package/extras/backups/db.2021-11-15 +0 -25
- package/extras/backups/db.2021-11-16 +0 -25
- package/extras/backups/db.2022-01-14 +0 -24
- package/extras/backups/db.2022-01-15 +0 -29
- package/extras/backups/db.2022-01-16 +0 -29
- package/extras/backups/db.2022-01-17 +0 -29
- package/extras/backups/db.2022-01-18 +0 -29
- package/extras/backups/db.2022-01-19 +0 -29
- package/extras/backups/db.2022-01-20 +0 -32
- package/extras/backups/db.2022-01-21 +0 -32
- package/extras/backups/db.2022-01-22 +0 -47
- package/extras/backups/db.2022-01-23 +0 -47
- package/extras/backups/db.2022-02-20 +0 -53
- package/extras/backups/db.2022-09-08 +0 -48
- package/extras/backups/db.2022-09-09 +0 -48
- package/extras/backups/db.2022-09-10 +0 -48
- package/extras/backups/db.2022-09-11 +0 -48
- package/extras/backups/db.2022-09-12 +0 -48
- package/extras/backups/db.2022-09-13 +0 -48
- package/extras/backups/db.2022-09-14 +0 -48
- package/extras/backups/pdb.2017-08-21 +0 -46
- package/extras/braid-client.html +0 -12
- package/extras/braid-client2.html +0 -9
- package/extras/braid-client3.html +0 -0
- package/extras/braid-server.js +0 -37
- package/extras/braid-server2.js +0 -35
- package/extras/chokitest.js +0 -142
- package/extras/clientless.js +0 -4
- package/extras/css.html +0 -4
- package/extras/ct.js +0 -24
- package/extras/ctests.js +0 -8
- package/extras/db +0 -48
- package/extras/ds.html +0 -8
- package/extras/ds.js +0 -17
- package/extras/email.html +0 -12
- package/extras/express-experiment.js +0 -15
- package/extras/f.js +0 -21
- package/extras/file-test.js +0 -12
- package/extras/flash.html +0 -8
- package/extras/flash.js +0 -7
- package/extras/fullnode-test.html +0 -4
- package/extras/fullnode-test.js +0 -26
- package/extras/hello-react/index.html +0 -24
- package/extras/hello-react.html +0 -4
- package/extras/hello.html +0 -4
- package/extras/k.js +0 -12
- package/extras/load-from-file.html +0 -4
- package/extras/multi-chat/1.html +0 -39
- package/extras/multicriteria +0 -52054
- package/extras/nested +0 -425965
- package/extras/new-react.html +0 -20
- package/extras/pdb +0 -46
- package/extras/perf.js +0 -68
- package/extras/perf2.js +0 -69
- package/extras/perf3.js +0 -14
- package/extras/pgt.js +0 -61
- package/extras/pointers-test.js +0 -17
- package/extras/pointers-test2.js +0 -83
- package/extras/ptest.js +0 -19
- package/extras/react-example.html +0 -32
- package/extras/react-example.jsx.html +0 -41
- package/extras/react.12.js +0 -18116
- package/extras/react.12.min.js +0 -16
- package/extras/react.15.min.js +0 -28
- package/extras/react.3.min.js +0 -19
- package/extras/remote-hello.html +0 -9
- package/extras/reset_pass.coffee +0 -101
- package/extras/reset_pass.html +0 -116
- package/extras/rocks-test.js +0 -6
- package/extras/s4.js +0 -2
- package/extras/sbdb +0 -4
- package/extras/slideboard +0 -4
- package/extras/smaller-file.js +0 -8
- package/extras/sqls-test.js +0 -6
- package/extras/stateb.us.coffee +0 -92
- package/extras/syncie.html +0 -31
- package/extras/syncie.js +0 -15
- package/extras/test2.js +0 -48
- package/extras/test_client.html +0 -8
- package/extras/test_client.js +0 -19
- package/extras/test_save_delay.js +0 -11
- package/extras/test_timeouts.js +0 -10
- package/extras/tests-val.js +0 -1572
- package/extras/tests.html +0 -5
- package/extras/uni.js +0 -7
- package/extras/usage_test.html +0 -3
- package/extras/usage_test.js +0 -32
- package/extras/vtest.js +0 -17
package/extras/chokitest.js
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
function l () {console.log.apply(console, arguments)}; log = l
|
|
2
|
-
var delay_so_far = 0
|
|
3
|
-
function delay (f, time) {
|
|
4
|
-
delay_so_far = delay_so_far + time
|
|
5
|
-
return setTimeout(f, delay_so_far)
|
|
6
|
-
}
|
|
7
|
-
if (false) {
|
|
8
|
-
var chokidar = require('chokidar')
|
|
9
|
-
var fs = require('fs')
|
|
10
|
-
var f = '/tmp/blah'
|
|
11
|
-
|
|
12
|
-
fs.writeFileSync(f, 'foo')
|
|
13
|
-
|
|
14
|
-
var w = chokidar.watch(f)
|
|
15
|
-
w.on('change', () => {l('file changed', fs.readFileSync(f)+'')})
|
|
16
|
-
|
|
17
|
-
setTimeout(()=>{l(1); fs.writeFileSync(f, '1')},100)
|
|
18
|
-
setTimeout(()=>{l(1.5); w.close()}, 200)
|
|
19
|
-
setTimeout(()=>{l(2); fs.writeFileSync(f, '2')},300)
|
|
20
|
-
setTimeout(()=>{l(3); fs.writeFileSync(f, '3')},500)
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
else if (true) {
|
|
24
|
-
var bus = require('../server')()
|
|
25
|
-
var chokidar = require('chokidar')
|
|
26
|
-
var watchers = {}
|
|
27
|
-
fs = require('fs')
|
|
28
|
-
var c = 0
|
|
29
|
-
function read_file (filename, cb) {
|
|
30
|
-
// if (false) {
|
|
31
|
-
// fs.readFile(filename, function (err, result) {
|
|
32
|
-
// if (err) throw err
|
|
33
|
-
// else cb(null, result + '')
|
|
34
|
-
// })
|
|
35
|
-
// } else
|
|
36
|
-
setTimeout(() => {l('fake-reading'); cb(null, c++ +'')}, 40)
|
|
37
|
-
|
|
38
|
-
l('Making WATCHER')
|
|
39
|
-
if (!(filename in watchers)) {
|
|
40
|
-
watchers[filename] = chokidar.watch(filename)
|
|
41
|
-
watchers[filename].on('change', () => {
|
|
42
|
-
l('file changed', filename)
|
|
43
|
-
// l('watchers', watchers)
|
|
44
|
-
// watchers[filename].close()
|
|
45
|
-
bus.dirty(this.key)})
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
read_file = bus.memoize(read_file, {to_forget: (json) => {
|
|
50
|
-
var filename = json[0]
|
|
51
|
-
l('######## unwatching', filename)
|
|
52
|
-
watchers[filename].unwatch(filename)
|
|
53
|
-
watchers[filename].close()
|
|
54
|
-
// delete watchers[filename]
|
|
55
|
-
}})
|
|
56
|
-
|
|
57
|
-
fs.writeFileSync('/tmp/blah', 'foo')
|
|
58
|
-
|
|
59
|
-
bus.honk = 3
|
|
60
|
-
|
|
61
|
-
//read_file('/tmp/blah')
|
|
62
|
-
// function cb1 (o) {l('Fetched', o._)}
|
|
63
|
-
// bus.fetch('funcall/read_file/["/tmp/blah"]', cb1)
|
|
64
|
-
// delay(() => {l('forgetting'); bus.forget('funcall/read_file/["/tmp/blah"]', cb1)}, 100)
|
|
65
|
-
|
|
66
|
-
l('FETCH', bus.fetch('funcall/read_file/["/tmp/blah"]')._)
|
|
67
|
-
|
|
68
|
-
// delay(() => {l('reading again'); read_file('/tmp/blah')}, 500)
|
|
69
|
-
// delay(() => {l('reading again'); read_file('/tmp/blah')}, 100)
|
|
70
|
-
|
|
71
|
-
// if (false)
|
|
72
|
-
// bus(() => {
|
|
73
|
-
// var result = read_file('/tmp/blah')
|
|
74
|
-
// l('read file as', JSON.stringify(result && result.substr(0,50)))
|
|
75
|
-
// bus.forget()
|
|
76
|
-
// // if (bus.loading())
|
|
77
|
-
// // l('Still loading!')
|
|
78
|
-
// // else
|
|
79
|
-
// // if (result === '1') {
|
|
80
|
-
// // l('done. forgetting')
|
|
81
|
-
// // bus.forget()
|
|
82
|
-
// // }
|
|
83
|
-
// })
|
|
84
|
-
|
|
85
|
-
delay(() => {l('* MODIFY 1'); fs.writeFileSync('/tmp/blah', '1')}, 300)
|
|
86
|
-
delay(() => {l('unwatching'); watchers['/tmp/blah'].close()}, 300)
|
|
87
|
-
//delay(() => {l('forgetting'); bus.forget('funcall/read_file/["/tmp/blah"]')}, 300)
|
|
88
|
-
delay(() => {l('* MODIFY 2'); fs.writeFileSync('/tmp/blah', '2')}, 1)
|
|
89
|
-
delay(() => {l('* MODIFY 3'); fs.writeFileSync('/tmp/blah', '3')}, 1)
|
|
90
|
-
} else {
|
|
91
|
-
var bus = require('../server')()
|
|
92
|
-
var chokidar = require('chokidar')
|
|
93
|
-
var watchers = {}
|
|
94
|
-
fs = require('fs')
|
|
95
|
-
var c = 0
|
|
96
|
-
function read_file (filename, cb) {
|
|
97
|
-
if (true) {
|
|
98
|
-
fs.readFile(filename, function (err, result) {
|
|
99
|
-
if (err) throw err
|
|
100
|
-
else cb(null, result + '')
|
|
101
|
-
})
|
|
102
|
-
} else
|
|
103
|
-
setTimeout(() => {l('fake-reading'); cb(null, c++ +'')}, 40)
|
|
104
|
-
|
|
105
|
-
watchers[filename] = chokidar.watch(filename)
|
|
106
|
-
watchers[filename].on('change', () => {
|
|
107
|
-
l('file changed', filename)
|
|
108
|
-
// l('watchers', watchers)
|
|
109
|
-
// watchers[filename].close()
|
|
110
|
-
bus.dirty(this.key)})
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
read_file = bus.memoize(read_file, {to_forget: (json) => {
|
|
114
|
-
var filename = json[0]
|
|
115
|
-
l('######## unwatching', filename)
|
|
116
|
-
watchers[filename].unwatch(filename)
|
|
117
|
-
watchers[filename].close()
|
|
118
|
-
// delete watchers[filename]
|
|
119
|
-
}})
|
|
120
|
-
|
|
121
|
-
fs.writeFileSync('/tmp/blah', 'foo')
|
|
122
|
-
|
|
123
|
-
bus.honk = 3
|
|
124
|
-
|
|
125
|
-
bus(() => {
|
|
126
|
-
var result = read_file('/tmp/blah')
|
|
127
|
-
l('read file as', JSON.stringify(result && result.substr(0,50)))
|
|
128
|
-
|
|
129
|
-
if (bus.loading())
|
|
130
|
-
l('Still loading!')
|
|
131
|
-
else {
|
|
132
|
-
if (result === '1' || result === 'foo' || result === '2') {
|
|
133
|
-
l('done. forgetting')
|
|
134
|
-
bus.forget()
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
})
|
|
138
|
-
|
|
139
|
-
delay(() => {l('* MODIFY 1'); fs.writeFileSync('/tmp/blah', '1')}, 300)
|
|
140
|
-
delay(() => {l('* MODIFY 2'); fs.writeFileSync('/tmp/blah', '2')}, 300)
|
|
141
|
-
delay(() => {l('* MODIFY 3'); fs.writeFileSync('/tmp/blah', '3')}, 300)
|
|
142
|
-
}
|
package/extras/clientless.js
DELETED
package/extras/css.html
DELETED
package/extras/ct.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
c = require('chromate')
|
|
2
|
-
|
|
3
|
-
c.Chrome.start({
|
|
4
|
-
debug: true,
|
|
5
|
-
verbose: true,
|
|
6
|
-
execPath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
|
|
7
|
-
}).then((chrome) => {
|
|
8
|
-
console.log('hello')
|
|
9
|
-
c.Tab.open('https://stateb.us/', {verbose: true})
|
|
10
|
-
.then(tab => {
|
|
11
|
-
console.log('closing tab! ok?. ok!')
|
|
12
|
-
tab.close()
|
|
13
|
-
}).then(t => {
|
|
14
|
-
console.log('closing chrome! ok?. ok!')
|
|
15
|
-
Chrome.kill(chrome)
|
|
16
|
-
process.exit(0)
|
|
17
|
-
}).catch(() => {
|
|
18
|
-
console.log('well we got an errorrororor', arguments)
|
|
19
|
-
c.Chrome.kill(chrome)
|
|
20
|
-
})
|
|
21
|
-
}).catch(()=> {
|
|
22
|
-
console.log('hewhjlj')
|
|
23
|
-
c.Chrome.kill(chrome)
|
|
24
|
-
})
|
package/extras/ctests.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
chrome = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome'
|
|
2
|
-
function run_in_chrome(url, callback) {
|
|
3
|
-
require('child_process').exec(`${CHROME} --headless --disable-gpu --remote-debugging-port=9222 ${url}`, callback)
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
run_in_chrome('https://www.chromestatus.com', (err, stdout, stderr) => {
|
|
7
|
-
console.log(std
|
|
8
|
-
})
|
package/extras/db
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"connections": {
|
|
3
|
-
"key": "connections"
|
|
4
|
-
},
|
|
5
|
-
"foo": {
|
|
6
|
-
"key": "foo"
|
|
7
|
-
},
|
|
8
|
-
"users/passwords": {
|
|
9
|
-
"key": "users/passwords"
|
|
10
|
-
},
|
|
11
|
-
"some_text": {
|
|
12
|
-
"key": "some_text",
|
|
13
|
-
"val": "Hello! This is the text."
|
|
14
|
-
},
|
|
15
|
-
"stuff": {
|
|
16
|
-
"key": "stuff",
|
|
17
|
-
"val": {
|
|
18
|
-
"stuff": {
|
|
19
|
-
"Yeah": "man",
|
|
20
|
-
"this_is": {
|
|
21
|
-
"the": "stuff!"
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
"fluff": true
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"bar": {
|
|
28
|
-
"key": "bar",
|
|
29
|
-
"val": [
|
|
30
|
-
"ok",
|
|
31
|
-
{
|
|
32
|
-
"a": "yay"
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
},
|
|
36
|
-
"link": {
|
|
37
|
-
"key": "link",
|
|
38
|
-
"val": {
|
|
39
|
-
"key": "bar",
|
|
40
|
-
"val": [
|
|
41
|
-
"ok",
|
|
42
|
-
{
|
|
43
|
-
"a": "yay"
|
|
44
|
-
}
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
package/extras/ds.html
DELETED
package/extras/ds.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
bus = require('../statebus').serve({
|
|
2
|
-
file_store: false,
|
|
3
|
-
client: (client) => {
|
|
4
|
-
client.honk = bus.honk = true
|
|
5
|
-
client('*').to_save = (o, t) => {
|
|
6
|
-
console.log('Saving a', o, t)
|
|
7
|
-
t.done()
|
|
8
|
-
setTimeout(() => {
|
|
9
|
-
console.log('Mutating!')
|
|
10
|
-
client.save.fire({key: o.key,
|
|
11
|
-
r: Math.random()},
|
|
12
|
-
{version: 'vVvVv', patch: '***#&&$%*@#$*@#'})
|
|
13
|
-
}, 200)
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
})
|
|
17
|
-
|
package/extras/email.html
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<script type="statebus">
|
|
2
|
-
dom.BODY = ->
|
|
3
|
-
DIV {},
|
|
4
|
-
HEADER()
|
|
5
|
-
H2 'Send an email'
|
|
6
|
-
SEND(domain: 'invisible.college')
|
|
7
|
-
H2 'Your emails:'
|
|
8
|
-
FORUM(about: "user/mike")
|
|
9
|
-
|
|
10
|
-
#</script><script src="../client.js" server="statei://localhost:3006"></script>
|
|
11
|
-
<script src='https://invisible.college/client/common.coffee'></script>
|
|
12
|
-
<script src="http://localhost:3006/client/posts.coffee"></script>
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
var express = require ('express')
|
|
2
|
-
var app = express()
|
|
3
|
-
var router = express.Router()
|
|
4
|
-
|
|
5
|
-
router.get('/foo', (req, res, next) => {
|
|
6
|
-
res.send('hello')
|
|
7
|
-
//next()
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
app.use('/', router)
|
|
11
|
-
app.get('/fooo', (req, res) => {
|
|
12
|
-
res.send(' ...there')
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
app.listen(4000)
|
package/extras/f.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// Include the test functions
|
|
2
|
-
var {test, run_tests, log, assert, delay} = require('../statebus').testing
|
|
3
|
-
|
|
4
|
-
// Setup the tests
|
|
5
|
-
bus = require('../statebus')()
|
|
6
|
-
state = bus.state
|
|
7
|
-
state.foo = 0
|
|
8
|
-
bus(_=> { state.foo = state.bar + 1 })
|
|
9
|
-
|
|
10
|
-
// Define a test
|
|
11
|
-
test(function foo_reacts_to_bar (done) {
|
|
12
|
-
log('Setting bar to 3!')
|
|
13
|
-
state.bar = 3
|
|
14
|
-
delay(10, _=> assert(state.foo == 4))
|
|
15
|
-
log('Setting bar to 4!')
|
|
16
|
-
delay(10, _=> state.bar = 4)
|
|
17
|
-
delay(10, _=> { assert(state.foo == 5); done() })
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
// Run tests
|
|
21
|
-
run_tests()
|
package/extras/file-test.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
var fs = require('fs')
|
|
2
|
-
util = require('util')
|
|
3
|
-
if (fs.existsSync('db'))
|
|
4
|
-
fs.unlinkSync('db')
|
|
5
|
-
|
|
6
|
-
bus = require('../server.js')()
|
|
7
|
-
bus.setup()
|
|
8
|
-
bus.save({key: 'hello', foo: 3})
|
|
9
|
-
|
|
10
|
-
setTimeout(function () {
|
|
11
|
-
console.assert(fs.existsSync('db'))
|
|
12
|
-
}, 500)
|
package/extras/flash.html
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<script type="statebus">
|
|
2
|
-
ui.BODY = ->
|
|
3
|
-
TEXTAREA
|
|
4
|
-
value: sb['/foo'].text
|
|
5
|
-
onChange: (e) -> sb['/foo'].text = e.target.value
|
|
6
|
-
|
|
7
|
-
bus.honk = /drool.*/
|
|
8
|
-
#</script><script srcs="https://stateb.us/client6.js" src="../client.js" server="statei://localhost:3006"></script>
|
package/extras/flash.js
DELETED
package/extras/fullnode-test.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
bus = require('../statebus').serve({
|
|
2
|
-
client: (c) => {
|
|
3
|
-
c.serve_wiki()
|
|
4
|
-
c('fun').to_fetch = (k) => ({_: new Date() + ''})
|
|
5
|
-
c('code/fun').to_fetch = (k) => ({_: new Date() + ''})
|
|
6
|
-
c('protected').to_fetch = (k) => {
|
|
7
|
-
var cu = c.fetch('current_user')
|
|
8
|
-
return {_: cu.logged_in ? 'Logged in!' : 'Logged out'}
|
|
9
|
-
}
|
|
10
|
-
c.shadows(bus)
|
|
11
|
-
c('abort').to_save = (o) => {c.honk = true; c.save.abort(o)}
|
|
12
|
-
}
|
|
13
|
-
})
|
|
14
|
-
|
|
15
|
-
bus.http.get('/t', (req, res) => {
|
|
16
|
-
res.sendFile(__dirname+'/fullnode-test.html')
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
bus.http.get(['/client.js', '/statebus.js', '/extras/*'], (req, res) => {
|
|
20
|
-
var p = req.path.substr(1)
|
|
21
|
-
console.log(p)
|
|
22
|
-
var p = require('path').resolve(req.path.substr(1))
|
|
23
|
-
console.log('getting', req.path, p)
|
|
24
|
-
res.sendFile(p)
|
|
25
|
-
})
|
|
26
|
-
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<html>
|
|
2
|
-
<body>
|
|
3
|
-
<stuff></stuff>
|
|
4
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.5.4/react.js"></script>
|
|
5
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.5.4/react-dom.js"></script>
|
|
6
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.0-alpha1/JSXTransformer.js"></script>
|
|
7
|
-
<script src="https://stateb.us/client6.js"></script>
|
|
8
|
-
|
|
9
|
-
<script type="text/jsx">
|
|
10
|
-
//statebus.widget(
|
|
11
|
-
class HelloMessage extends React.Component {
|
|
12
|
-
render() {
|
|
13
|
-
return <div>Hello {this.props.name}</div>;
|
|
14
|
-
}
|
|
15
|
-
}//)
|
|
16
|
-
</script>
|
|
17
|
-
|
|
18
|
-
<script type="text/jsx">
|
|
19
|
-
ReactDOM.render(
|
|
20
|
-
<h1>blarg!!!</h1>,
|
|
21
|
-
document.getElementsByTagName('stuff')[0])
|
|
22
|
-
</script>
|
|
23
|
-
</body>
|
|
24
|
-
</html>
|
package/extras/hello-react.html
DELETED
package/extras/hello.html
DELETED
package/extras/k.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
var express = require('express')
|
|
2
|
-
var bus = require('../statebus').serve({
|
|
3
|
-
file_store: false,
|
|
4
|
-
});
|
|
5
|
-
|
|
6
|
-
//console.log(require('statebus/server'))
|
|
7
|
-
bus.http.use(express.static(__dirname + '/'))
|
|
8
|
-
bus.http.use(express.static(__dirname + '/../janus-gateway/html/'))
|
|
9
|
-
|
|
10
|
-
bus.http.get('/:id', function(req, res) {
|
|
11
|
-
res.sendFile('index.html', {root: __dirname});
|
|
12
|
-
});
|
package/extras/multi-chat/1.html
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script type="statebus">
|
|
2
|
-
|
|
3
|
-
dom.BODY = ->
|
|
4
|
-
messages = fetch('/chat').messages or []
|
|
5
|
-
DIV {},
|
|
6
|
-
for message in messages
|
|
7
|
-
DIV(message.content)
|
|
8
|
-
NEW_MESSAGE()
|
|
9
|
-
|
|
10
|
-
dom.NEW_MESSAGE = ->
|
|
11
|
-
new_message = fetch('new_message')
|
|
12
|
-
|
|
13
|
-
DIV {},
|
|
14
|
-
INPUT
|
|
15
|
-
type: 'text'
|
|
16
|
-
value: new_message.text
|
|
17
|
-
onChange: (e) =>
|
|
18
|
-
new_message.text = e.target.value
|
|
19
|
-
save(new_message)
|
|
20
|
-
|
|
21
|
-
BUTTON
|
|
22
|
-
onClick: (e) =>
|
|
23
|
-
chat = fetch('/chat')
|
|
24
|
-
chat.messages or= []
|
|
25
|
-
|
|
26
|
-
chat.messages.push({
|
|
27
|
-
key: "/message/#{random_string()}"
|
|
28
|
-
content: new_message.text
|
|
29
|
-
})
|
|
30
|
-
save(chat)
|
|
31
|
-
|
|
32
|
-
new_message.text = ''
|
|
33
|
-
save(new_message)
|
|
34
|
-
'Send'
|
|
35
|
-
|
|
36
|
-
random_string = -> Math.random().toString(36).substring(3)
|
|
37
|
-
|
|
38
|
-
#</script><script src="https://stateb.us/client6.js"></script>
|
|
39
|
-
|