Skip to content

Commit c246d77

Browse files
committed
Merge branch 'Th3Whit3Wolf-master'
2 parents 5d756ad + 6fae74e commit c246d77

File tree

13 files changed

+2111
-0
lines changed

13 files changed

+2111
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[package]
2+
name = "kobold_benchmark"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
[lib]
7+
crate-type = ["cdylib"]
8+
9+
[dependencies]
10+
kobold = "0.7.1"
11+
wasm-bindgen = "0.2.84"
12+
js-sys = "0.3.61"
13+
14+
[profile.release]
15+
opt-level = 3
16+
lto = true
17+
codegen-units = 1
18+
panic = "abort"
19+
20+
[package.metadata.wasm-pack.profile.release]
21+
wasm-opt = ['-O4']

frameworks/non-keyed/kobold/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Because of the heavy amount of Rust dependencies, this example is pre-compiled, so you don't need to compile anything.
2+
3+
However, if you do want to compile it, you will need the following:
4+
5+
* [Rust](https://www.rust-lang.org/tools/install)
6+
7+
After installing that, run these commands:
8+
9+
```
10+
npm install
11+
npm run build-prod-force
12+
```
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Kobold</title>
6+
<base href="bundled-dist/"></base>
7+
<link href="/css/currentStyle.css" rel="stylesheet"/>
8+
<link rel="modulepreload" href="./js-framework-benchmark-kobold.js" />
9+
<link rel="preload" href="./js-framework-benchmark-kobold_bg.wasm" as="fetch" type="application/wasm" crossorigin />
10+
</head>
11+
<body>
12+
<span class="preloadicon glyphicon glyphicon-remove" aria-hidden="true"></span>
13+
<div id='main'></div>
14+
<script type="module">
15+
import init from './js-framework-benchmark-kobold.js';
16+
init('./js-framework-benchmark-kobold_bg.wasm');
17+
</script>
18+
</body>
19+
</html>

frameworks/non-keyed/kobold/bundled-dist/js-framework-benchmark-kobold.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Binary file not shown.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
const fragmentDecorators = new WeakMap();
2+
3+
export function __kobold_append(n,c) { n.appendChild(c); }
4+
export function __kobold_before(n,i) { n.before(i); }
5+
export function __kobold_unmount(n) { n.remove(); }
6+
export function __kobold_replace(o,n) { o.replaceWith(n); }
7+
export function __kobold_empty_node() { return document.createTextNode(""); }
8+
export function __kobold_fragment()
9+
{
10+
let f = document.createDocumentFragment();
11+
f.append("", "");
12+
return f;
13+
};
14+
export function __kobold_fragment_decorate(f) {
15+
fragmentDecorators.set(f, [f.firstChild, f.lastChild]);
16+
return f.lastChild;
17+
}
18+
export function __kobold_fragment_append(f,c) { fragmentDecorators.get(f)[1].before(c); }
19+
export function __kobold_fragment_unmount(f)
20+
{
21+
let [b, e] = fragmentDecorators.get(f);
22+
while (b.nextSibling !== e) f.appendChild(b.nextSibling);
23+
f.appendChild(e);
24+
f.insertBefore(b, f.firstChild);
25+
}
26+
export function __kobold_fragment_replace(f,n)
27+
{
28+
let [b, e] = fragmentDecorators.get(f);
29+
while (b.nextSibling !== e) f.appendChild(b.nextSibling);
30+
b.replaceWith(n);
31+
f.appendChild(e);
32+
f.insertBefore(b, f.firstChild);
33+
}
34+
export function __kobold_set_text(n,t) { n.textContent = t; }
35+
export function __kobold_set_attr(n,a,v) { n.setAttribute(a, v); }
36+
37+
export function __kobold_checked(n,v) { if (n.checked !== v) n.checked = v; }
38+
export function __kobold_class_name(n,v) { n.className = v; }
39+
export function __kobold_href(n,v) { n.href = v; }
40+
export function __kobold_style(n,v) { n.style = v; }
41+
export function __kobold_value(n,v) { n.value = v; }
42+
43+
export function __kobold_add_class(n,v) { n.classList.add(v); }
44+
export function __kobold_remove_class(n,v) { n.classList.remove(v); }
45+
export function __kobold_replace_class(n,o,v) { n.classList.replace(o,v); }
46+
export function __kobold_toggle_class(n,c,v) { n.classList.toggle(c,v); }
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
export function __e0_f543312a9dbfd6ab(a,b,c,d,e,f,g) {
2+
let e0=document.createElement("div");
3+
e0.className="container";
4+
let e1=document.createElement("div");
5+
e1.className="jumbotron";
6+
let e2=document.createElement("div");
7+
e2.className="row";
8+
let e3=document.createElement("div");
9+
e3.className="col-md-6";
10+
let e4=document.createElement("h1");
11+
e4.append("Kobold");
12+
e3.append(e4);
13+
let e5=document.createElement("div");
14+
e5.className="col-md-6";
15+
let e6=document.createElement("div");
16+
e6.className="row";
17+
e6.append(a,b,c,d,e,f);
18+
e5.append(e6);
19+
e2.append(e3,e5);
20+
e1.append(e2);
21+
let e7=document.createElement("table");
22+
e7.className="table table-hover table-striped test-data";
23+
let e8=document.createElement("tbody");
24+
e8.append(g);
25+
e7.append(e8);
26+
let e9=document.createElement("span");
27+
e9.className="preloadicon glyphicon glyphicon-remove";
28+
e9.setAttribute("aria-hidden","true");
29+
e0.append(e1,e7,e9);
30+
return e0;
31+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
export function __e1_5b9b3dfbcd197f75(b,c) {
2+
let e1=document.createElement("button");
3+
e1.className="btn btn-primary btn-block";
4+
e1.setAttribute("type","button");
5+
e1.addEventListener("click",b);
6+
e1.append(c);
7+
return e1;
8+
}
9+
export function __e0_d71cee6b942846f2(e1) {
10+
let e0=document.createElement("div");
11+
e0.className="col-sm-6 smallpad";
12+
e0.append(e1);
13+
return e0;
14+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
export function __e0_7e970beef19ed0b9(a,b,c,d,e) {
2+
let e0=document.createElement("tr");
3+
e0.className=a;
4+
let e1=document.createElement("td");
5+
e1.className="col-md-1";
6+
e1.append(b);
7+
let e2=document.createElement("td");
8+
e2.className="col-md-4";
9+
let e3=document.createElement("a");
10+
e3.addEventListener("click",c);
11+
e3.append(d);
12+
e2.append(e3);
13+
let e4=document.createElement("td");
14+
e4.className="col-md-1";
15+
let e5=document.createElement("a");
16+
e5.addEventListener("click",e);
17+
let e6=document.createElement("span");
18+
e6.className="glyphicon glyphicon-remove";
19+
e6.setAttribute("aria-hidden","true");
20+
e5.append(e6);
21+
e4.append(e5);
22+
let e7=document.createElement("td");
23+
e7.className="col-md-6";
24+
e0.append(e1,e2,e4,e7);
25+
return e0;
26+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Kobold</title>
6+
<base href="bundled-dist/"></base>
7+
<link href="/css/currentStyle.css" rel="stylesheet"/>
8+
<link rel="modulepreload" href="./js-framework-benchmark-kobold.js" />
9+
<link rel="preload" href="./js-framework-benchmark-kobold_bg.wasm" as="fetch" type="application/wasm" crossorigin />
10+
</head>
11+
<body>
12+
<span class="preloadicon glyphicon glyphicon-remove" aria-hidden="true"></span>
13+
<div id='main'></div>
14+
<script type="module">
15+
import init from './js-framework-benchmark-kobold.js';
16+
init('./js-framework-benchmark-kobold_bg.wasm');
17+
</script>
18+
</body>
19+
</html>

0 commit comments

Comments
 (0)