Skip to content

Commit 9578420

Browse files
committed
use a react file as an example
1 parent 5875b13 commit 9578420

File tree

1 file changed

+47
-64
lines changed

1 file changed

+47
-64
lines changed

code.js

Lines changed: 47 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,73 +1622,56 @@
16221622
addEventListener('popstate', () => loadFromHash());
16231623
})();
16241624

1625-
const exampleJS = `// Generated by CoffeeScript 2.5.1
1626-
(function() {
1627-
// Assignment:
1628-
var cubes, list, math, num, number, opposite, race, square;
1629-
1630-
number = 42;
1631-
1632-
opposite = true;
1633-
1634-
if (opposite) {
1635-
// Conditions:
1636-
number = -42;
1625+
const exampleJS = `// index.tsx
1626+
import { h as r, Fragment as s, render as c } from "preact";
1627+
1628+
// counter.tsx
1629+
import { h as t, Component as a } from "preact";
1630+
import { useState as l } from "preact/hooks";
1631+
var o = class extends a {
1632+
constructor(e) {
1633+
super(e);
1634+
this.state = { value: 0 };
1635+
this.increment = () => this.setState({ value: this.state.value + 1 });
1636+
this.decrement = () => this.setState({ value: this.state.value - 1 });
1637+
this.state.value = e.initialValue;
16371638
}
1638-
1639-
// Functions:
1640-
square = function(x) {
1641-
return x * x;
1642-
};
1643-
1644-
// Arrays:
1645-
list = [1, 2, 3, 4, 5];
1646-
1647-
// Objects:
1648-
math = {
1649-
root: Math.sqrt,
1650-
square: square,
1651-
cube: function(x) {
1652-
return x * square(x);
1653-
}
1654-
};
1655-
1656-
// Splats:
1657-
race = function(winner, ...runners) {
1658-
return print(winner, runners);
1659-
};
1660-
1661-
if (typeof elvis !== \"undefined\" && elvis !== null) {
1662-
// Existence:
1663-
alert(\"I knew it!\");
1639+
render() {
1640+
return t("div", {
1641+
class: "counter"
1642+
}, t("h1", null, this.props.label), t("p", null, t("button", {
1643+
onClick: this.decrement
1644+
}, "-"), " ", this.state.value, " ", t("button", {
1645+
onClick: this.increment
1646+
}, "+")));
16641647
}
1665-
1666-
// Array comprehensions:
1667-
cubes = (function() {
1668-
var i, len, results;
1669-
results = [];
1670-
for (i = 0, len = list.length; i < len; i++) {
1671-
num = list[i];
1672-
results.push(math.cube(num));
1673-
}
1674-
return results;
1675-
})();
1676-
1677-
}).call(this);
1678-
1679-
//# sourceMappingURL=original.js.map
1648+
}, i = (n) => {
1649+
let [e, u] = l(n.initialValue);
1650+
return t("div", {
1651+
class: "counter"
1652+
}, t("h1", null, n.label), t("p", null, t("button", {
1653+
onClick: () => u(e - 1)
1654+
}, "-"), " ", e, " ", t("button", {
1655+
onClick: () => u(e + 1)
1656+
}, "+")));
1657+
};
1658+
1659+
// index.tsx
1660+
c(r(s, null, r(o, {
1661+
label: "Counter 1",
1662+
initialValue: 100
1663+
}), r(i, {
1664+
label: "Counter 2",
1665+
initialValue: 200
1666+
})), document.getElementById("root"));
1667+
//# sourceMappingURL=example.js.map
16801668
`;
16811669

16821670
const exampleMap = `{
16831671
"version": 3,
1684-
"file": "original.js",
1685-
"sourceRoot": "",
1686-
"sources": [
1687-
"original.coffee"
1688-
],
1689-
"names": [],
1690-
"mappings": ";AAAa;EAAA;AAAA,MAAA,KAAA,EAAA,IAAA,EAAA,IAAA,EAAA,GAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA;;EACb,MAAA,GAAW;;EACX,QAAA,GAAW;;EAGX,IAAgB,QAAhB;;IAAA,MAAA,GAAS,CAAC,GAAV;GALa;;;EAQb,MAAA,GAAS,QAAA,CAAC,CAAD,CAAA;WAAO,CAAA,GAAI;EAAX,EARI;;;EAWb,IAAA,GAAO,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,EAAa,CAAb,EAXM;;;EAcb,IAAA,GACE;IAAA,IAAA,EAAQ,IAAI,CAAC,IAAb;IACA,MAAA,EAAQ,MADR;IAEA,IAAA,EAAQ,QAAA,CAAC,CAAD,CAAA;aAAO,CAAA,GAAI,MAAA,CAAO,CAAP;IAAX;EAFR,EAfW;;;EAoBb,IAAA,GAAO,QAAA,CAAC,MAAD,EAAA,GAAS,OAAT,CAAA;WACL,KAAA,CAAM,MAAN,EAAc,OAAd;EADK;;EAIP,IAAsB,8CAAtB;;IAAA,KAAA,CAAM,YAAN,EAAA;GAxBa;;;EA2Bb,KAAA;;AAAS;IAAA,KAAA,sCAAA;;mBAAA,IAAI,CAAC,IAAL,CAAU,GAAV;IAAA,CAAA;;;AA3BI",
1691-
"sourcesContent": [
1692-
"# Assignment:\\nnumber = 42\\nopposite = true\\n\\n# Conditions:\\nnumber = -42 if opposite\\n\\n# Functions:\\nsquare = (x) -> x * x\\n\\n# Arrays:\\nlist = [1, 2, 3, 4, 5]\\n\\n# Objects:\\nmath =\\n root: Math.sqrt\\n square: square\\n cube: (x) -> x * square x\\n\\n# Splats:\\nrace = (winner, runners...) ->\\n print winner, runners\\n\\n# Existence:\\nalert \\"I knew it!\\" if elvis?\\n\\n# Array comprehensions:\\ncubes = (math.cube num for num in list)\\n"
1693-
]
1694-
}`;
1672+
"sources": ["index.tsx", "counter.tsx"],
1673+
"sourcesContent": ["import { h, Fragment, render } from 'preact'\\nimport { CounterClass, CounterFunction } from './counter'\\n\\nrender(\\n <>\\n <CounterClass label=\\"Counter 1\\" initialValue={100} />\\n <CounterFunction label=\\"Counter 2\\" initialValue={200} />\\n </>,\\n document.getElementById('root')!,\\n)\\n", "import { h, Component } from 'preact'\\nimport { useState } from 'preact/hooks'\\n\\ninterface CounterProps {\\n label: string\\n initialValue: number\\n}\\n\\ninterface CounterState {\\n value: number\\n}\\n\\nexport class CounterClass extends Component<CounterProps, CounterState> {\\n state: CounterState = { value: 0 }\\n\\n constructor(props: CounterProps) {\\n super(props)\\n this.state.value = props.initialValue\\n }\\n\\n increment = () => this.setState({ value: this.state.value + 1 })\\n decrement = () => this.setState({ value: this.state.value - 1 })\\n\\n render() {\\n return <div class=\\"counter\\">\\n <h1>{this.props.label}</h1>\\n <p>\\n <button onClick={this.decrement}>-</button>\\n {' '}\\n {this.state.value}\\n {' '}\\n <button onClick={this.increment}>+</button>\\n </p>\\n </div>\\n }\\n}\\n\\nexport let CounterFunction = (props: CounterProps) => {\\n let [value, setValue] = useState(props.initialValue)\\n return <div class=\\"counter\\">\\n <h1>{props.label}</h1>\\n <p>\\n <button onClick={() => setValue(value - 1)}>-</button>\\n {' '}\\n {value}\\n {' '}\\n <button onClick={() => setValue(value + 1)}>+</button>\\n </p>\\n </div>\\n}\\n"],
1674+
"mappings": ";AAAA;;;ACAA;AACA;AAWO,sBAA2B,EAAsC;AAAA,EAGtE,YAAY,GAAqB;AAC/B,UAAM;AAHR,iBAAsB,EAAE,OAAO;AAO/B,qBAAY,MAAM,KAAK,SAAS,EAAE,OAAO,KAAK,MAAM,QAAQ;AAC5D,qBAAY,MAAM,KAAK,SAAS,EAAE,OAAO,KAAK,MAAM,QAAQ;AAJ1D,SAAK,MAAM,QAAQ,EAAM;AAAA;AAAA,EAM3B,SAAS;AACP,WAAO,EAAC,OAAD;AAAA,MAAK,OAAM;AAAA,OAChB,EAAC,MAAD,MAAK,KAAK,MAAM,QAChB,EAAC,KAAD,MACE,EAAC,UAAD;AAAA,MAAQ,SAAS,KAAK;AAAA,OAAW,MAChC,KACA,KAAK,MAAM,OACX,KACD,EAAC,UAAD;AAAA,MAAQ,SAAS,KAAK;AAAA,OAAW;AAAA;AAAA,GAM9B,IAAkB,CAAC,MAAwB;AACpD,MAAI,CAAC,GAAO,KAAY,EAAS,EAAM;AACvC,SAAO,EAAC,OAAD;AAAA,IAAK,OAAM;AAAA,KAChB,EAAC,MAAD,MAAK,EAAM,QACX,EAAC,KAAD,MACE,EAAC,UAAD;AAAA,IAAQ,SAAS,MAAM,EAAS,IAAQ;AAAA,KAAI,MAC3C,KACA,GACA,KACD,EAAC,UAAD;AAAA,IAAQ,SAAS,MAAM,EAAS,IAAQ;AAAA,KAAI;AAAA;;;AD3ClD,EACE,WACE,EAAC,GAAD;AAAA,EAAc,OAAM;AAAA,EAAY,cAAc;AAAA,IAC9C,EAAC,GAAD;AAAA,EAAiB,OAAM;AAAA,EAAY,cAAc;AAAA,KAEnD,SAAS,eAAe;",
1675+
"names": []
1676+
}
1677+
`;

0 commit comments

Comments
 (0)