try-defer
Composes a function that will try logic and accumulate failures to be retried at a deferred time.
npm i -S try-defer
Why?
I built this library to solve the many issues surrounding server-side rendering of css (specifically within library projects for my use case). With this project, I can attempt to run a bunch of unknown code, and if it fails, serialize the failures to a string to be executed on the browser.
Usage
const inBrowser defer = const alert = const setBG = /** This may or may not work. If it is bypassed or causes an error, it will be accumulated in the replay event to be executed at a deferred time.alert(1, 2, 3)setBG('yellow')alert('deffferrrrr')alert('this is in browser')setBG('blue') // ... /** * replay * reruns all of the failed calls in order. * any failures will be repeated again on future replays. */defer
OR - if you want to have the replay embedded into the server rendered page and run on the client:
/** * serialize * serializes the replay event into a script tag that will be run when the client loads. */const html = `<!doctype html><html> <head> </head> <body> </body></html>
OR - if you are in a React project attempting server rendering:
import React from 'react'import renderToString from 'react-dom/server'import createMemoryHistory match RouterContext from 'react-router'import Provider from 'react-redux'import syncHistoryWithStore from 'react-router-redux' //.... router