Numerous Pulls Merged

    @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>
    }

    Install

    npm i @motorcycle/mostly-html

    DownloadsWeekly Downloads

    3

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • tylors
    • motorcyclets
    • frikki