-
Notifications
You must be signed in to change notification settings - Fork 0
/
write-code.js
124 lines (107 loc) · 3.18 KB
/
write-code.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
var library = require("module-library")(require)
library.using([
library.ref(),
"./render-code",
"web-site",
"browser-bridge",
"web-element",
"bridge-module",
"./edit-loop",
"a-wild-universe-appeared",
"an-expression",
"./editor"],
function(lib, renderCode, WebSite, BrowserBridge, element, bridgeModule, xxx, aWildUniverseAppeared, anExpression, Editor) {
var stylesheet = [
"dogs.do(",
" \"laugh\",[",
" \"one\",",
" \"two. two Two they function they drop a line or two\"],",
" // wasn't that a long string?",
" function*(this, that, theOther) {",
" var bone = new Treat(",
" *)",
" dogs.start(",
" 3433,{",
" \"go\":\"go go\"},",
" browserBridge(",
" ).forResponse(",
" response))})",
" // ezjs",
]
// var basicSite = [
// "library.define(",
// " \"hello world\",[",
// " \"web-site\",",
// " \"web-element\",",
// " \"browser-bridge\"],",
// " function*(WebSite, element, BrowserBridge) {",
// " var site =newWebSite(",
// " *)",
// " site.start(",
// " 3444)",
// " var page = element(",
// " \"hello world\")",
// " site.addRoute(",
// " \"get\",",
// " \"/\",",
// " function*(_, response) {",
// " var bridge =newBrowserBridge(",
// " ).forResponse(",
// " response)",
// " bridge.send(",
// " page)})})",
// " ezjs",
// ]
var empty = ["hello world"]
var baseBridge = new BrowserBridge()
var universe = aWildUniverseAppeared(
"just-this-one",{
anExpression: anExpression})
var tree = anExpression.tree()
tree.logTo(universe, true)
var editor = new Editor(tree)
editor.importLines(empty)
var editorBinding = baseBridge.defineSingleton(
"editor",[
bridgeModule(lib, "./editor", baseBridge),
bridgeModule(lib, "./boot-tree", baseBridge),
universe.builder(),
tree.id,
"whatever"],
function(Editor, bootTree, baseLog, treeId, moduleName) {
var tree = bootTree(treeId, moduleName, baseLog)
return new Editor(tree)
}
)
var editLoop = bridgeModule(lib, "edit-loop", baseBridge).withArgs(editorBinding, baseBridge.event)
var site = new WebSite()
site.start(1110)
site.addRoute(
"get",
"/",
function(request, response) {
var bridge = baseBridge.forResponse(response)
bridge.domReady(
function() {
document.querySelector(".editable").focus()
console.log("ya!")
})
var left = bridge.partial()
// renderCode(left, empty, editLoop)
renderCode(left, stylesheet, editLoop)
// renderCode(right, basicSite, editLoop)
left = element(element.style({
"margin-right": "100px",
}), left)
var page = element(
element.style({
"display": "flex",
}),[
left,
// right,
])
bridge.send(page)
}
)
}
)