This commit is contained in:
dmitry-vsl
2025-05-30 19:59:02 +00:00
parent 1a30311de4
commit 75b1c5e942
30 changed files with 959 additions and 832 deletions

View File

@@ -1,38 +1,44 @@
const fib = n => {
if(n == 0) {
if (n == 0) {
return 0
}
if(n == 1) {
if (n == 1) {
return 1
}
return fib(n - 1) + fib(n - 2)
}
/* external */
import {h, render} from 'https://unpkg.com/preact?module';
/* external */
import {Stateful} from './stateful.js'
import { h, render } from "preact"
/* external */
import { Stateful } from "./stateful.js"
const Fibonacci = Stateful({
getInitialState: () => ({index: 0}),
getInitialState: () => ({ index: 0 }),
handlers: {
prev: ({index}, event) => ({index: index - 1}),
next: ({index}, event) => ({index: index + 1}),
prev: ({ index }, event) => ({ index: index - 1 }),
next: ({ index }, event) => ({ index: index + 1 }),
},
render: (props, state, handlers) =>
h('div', null,
h('h1', null,
'nth Fibonacci number is ',
render: (props, state, handlers) =>
h(
"div",
null,
h(
"h1",
null,
"nth Fibonacci number is ",
fib(state.index),
' for n = ',
state.index
" for n = ",
state.index,
),
h('button', {onClick: handlers.prev}, 'Previous'), ' ',
h('button', {onClick: handlers.next}, 'Next'), ' ',
)
h("button", { onClick: handlers.prev }, "Previous"),
" ",
h("button", { onClick: handlers.next }, "Next"),
" ",
),
})
render(h(Fibonacci), globalThis.document.body)