s object/pojo observables for surplus
npm install sobxs object/pojo observables for surplus
App.tsx
``tsx
import * as Surplus from 'surplus'; Surplus;
import { $$, observable } from 'sobx'
export interface Greeting {
msg: string
}
export const GreetingV = ({pojo}: {pojo: Greeting}) =>
export class App {
p = {
disabled: false,
msg: 'hey',
msgs: ['hi'],
greeting: {
msg: 'hello'
} as Greeting,
greetings: [
observable({ msg: 'ciao' })
] as Greeting[]
}
constructor() {
observable(this.p, {})
}
append(suffix: string) {
let p = this.p
p.msg += suffix
p.greeting.msg += suffix
p.msgs.push(suffix)
p.greetings.push(observable({ msg: suffix }))
p.disabled = !p.disabled
}
}
export const AppV = (self: App) => {
let p = self.p; p = p['$'];
return (
main.ts
`ts
import S from 's-js'
import { App, AppV } from './App'const view = S.root(() => AppV(new App()))
document.body.appendChild(view)
``