@motorcycle/mostly-html
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

@motorcycle/mostly-html -- 0.0.0

Server-side rendering for Motorcycle.ts

Get it

yarn add @motorcycle/mostly-html
# or
npm install --save @motorcycle/mostly-html

API Documentation

All functions are curried!

export type HtmlSources<A = Element, B = Event> = {
  readonly html$: Stream<HtmlString>
  readonly dom: DomSource<A, B>
}

Html<A = Element, B = Event>(sinks: HtmlSinks): HtmlSources<A, B>

Renders mostly-dom VNodes into HTML for server-side rendering.

See an example
import { run } from '@motorcycle/run'
import { Html, HtmlSources, HtmlSinks } from '@motorcycle/mostly-html'
import { UI } from './UI'
import { observe } from '@motorcycle/stream'

const { sources: { html$ } } = run<HtmlSources, HtmlSinks>(UI, Html)

observe((html: string) => { /* Do something with html *\/ }, html$)
See the code
export function Html<A = Element, B = Event>(sinks: HtmlSinks): HtmlSources<A, B> {
  const { view$ } = sinks

  const html$ = hold(map(toHtml, view$))
  const dom = new HtmlDomSource<A, B>([])

  return { dom, html$ }
}

HtmlSinks

export type HtmlSinks = {
  readonly view$: Stream<VNode>
}

Dependents (0)

Package Sidebar

Install

npm i @motorcycle/mostly-html

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • tylors
  • motorcyclets
  • frikki