sham-ui-ssr
v2.1.2
Published
Server side rendering for sham-ui
Readme
sham-ui-ssr
Server side rendering for sham-ui
Install
# npm
npm install --save-dev sham-ui-ssr# yarn
yarn add -D sham-ui-ssrAPI
Table of Contents
- setup
- setup
- hydrate
- hydrate
- makeRestore
- makeRestore
- Component
- SSRRenderResult
- SSRToJSON
- SSRRenderResultSnapshot
- ssr
- RenderResultSnapshot
- RenderResult
- ToJSON
- ssrAndRehydrate
setup
Main function for setup hydrating components
Parameters
DIObject App DI container
setup
Main function for rehydrating
Parameters
Examples
import { createDI, start } from 'sham-ui';
import setupUnsafe from 'sham-ui-unsafe';
import { setupRehydrator } from 'sham-ui-ssr/rehydrator';
const DI = createDI();
const data = JSON.parse( document.getElementById( 'data' ).innerText );
const disableRehydrating = setupRehydrator( DI, data );
mainInitializer( DI, root );
start( DI );
disableRehydrating();
setupUnsafe( DI );Returns Function Restore function for disable rehydrating and switch to default behavior
hydrate
Hydrate all components
Parameters
DIObject App DI container
Examples
import { createDI, start } from 'sham-ui';
import { setupHydrator, hydrate } from 'sham-ui-ssr/hydrator';
const DI = createDI();
const root = setupHydrator( DI );
mainInitializer( DI, root );
start( DI );
hydrate( DI ).then( storage => {
const { html, data } = storage.hydrate();
} )Returns Promise
hydrate
Hydrate node
Parameters
Returns string
makeRestore
Save hooks & dom services for restore after rehydrating
Parameters
DIObject App DI container
Returns Function
makeRestore
Make restore function for hooks & dom
Parameters
DIObject App DI container
Returns Function
Component
sham-ui component
SSRRenderResult
Result of server side renderer
Type: Object
Properties
componentComponent Rendered component instancehtmlstring Rendered htmldatastring Data for component rehydratingtoJSONSSRToJSON Dump to JSON for jest's snapshot testing
SSRToJSON
Function for dump server side render result (using for jest-snapshots)
Type: Function
Returns SSRRenderResultSnapshot
SSRRenderResultSnapshot
Type: Object
Properties
ssr
Server side render for component
Parameters
componentClassClass<Component> Component class for renderingcomponentOptionsObject Options (optional, default{})
Examples
import Label from './Label.sht';
import { ssr } from 'sham-ui-ssr/testing';
it( 'renders correctly', () => {
const meta = ssr( Label );
expect( meta.component.ID ).toEqual( 'component' );
expect( meta.toJSON() ).toMatchSnapshot();
} );Returns SSRRenderResult
RenderResultSnapshot
Type: Object
Properties
RenderResult
Result of renderer
Type: Object
Properties
DIObject App DI containercomponentComponent Rendered component instancehtmlstring SSR html stringdatastring Data for rehydratingtoJSONToJSON Dump to JSON for jest's snapshot testing
ToJSON
Function for dump render result (using for jest-snapshots)
Type: Function
Returns RenderResultSnapshot
ssrAndRehydrate
Render component with SSR & rehydrating
Parameters
componentClassClass<Component> Component class for renderingcomponentOptionsObject Options (optional, default{})
Examples
import Label from './Label.sht';
import { ssrAndRehydrate } from 'sham-ui-ssr/testing';
it( 'renders correctly', () => {
const meta = ssrAndRehydrate( Label );
expect( meta.component.ID ).toEqual( 'component' );
expect( meta.toJSON() ).toMatchSnapshot();
} );Returns RenderResult
