Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including hypernova-client with all npm packages installed. Try it out:

var hypernovaClient = require("hypernova-client")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

hypernova-client v1.1.1

A node client for Hypernova

hypernova-client

A node client for sending requests to Hypernova.

class Renderer

Renderer.prototype.addPlugin

(plugin: HypernovaPlugin)

Adds a plugin to the renderer.

Renderer.prototype.render

(data: Jobs): Promise

Sends a request to Hypernova for the provided payload and returns a promise which will fulfill with the HTML string you can pass down to the client.

Example usage

const express = require('express');
const Renderer = require('hypernova-client');
const devModePlugin = require('../plugins/devModePlugin');

const app = express();

const renderer = new Renderer({
  url: 'http://localhost:3030/batch',
  plugins: [
    devModePlugin,
  ],
});

app.get('/', (req, res) => {
  const jobs = {
    MyComponent: { name: req.query.name || 'Stranger' },
    Component2: { text: 'Hello World' },
  };

  renderer.render(jobs).then(html => res.send(html));
});

app.listen(8080, () => console.log('Now listening'));

Plugin Lifecycle API

function getViewData(viewName: string, data: any): any {}

Allows you to alter the data that a "view" will receive.

type Job = { name: string, data: any };
type Jobs = { [string]: Job };
function prepareRequest(currentJobs: Jobs, originalJobs: Jobs): Jobs {}

A reducer type function that is called when preparing the request that will be sent to Hypernova. This function receives the current running jobs Object and the original jobs Object.

function shouldSendRequest(jobs: Jobs): boolean {}

An every type function. If one returns false then the request is canceled.

function willSendRequest(jobs: Jobs): void {}

An event type function that is called prior to a request being sent.

type Job = { name: string, data: any };
type Response = {
  [string]: {
    error: ?Error,
    html: string,
    job: Job,
  },
};
function afterResponse(currentResponse: any, originalResponse: Response): any {}

A reducer type function which receives the current response and the original response from the Hypernova service.

type Job = { name: string, data: any };
type Jobs = { [string]: Job };
function onSuccess(jobs: Jobs): void {}

An event type function that is called whenever a request was successful.

type Job = { name: string, data: any };
type Jobs = { [string]: Job };
function onError(err: Error, jobs: Jobs): void {}

An event type function that is called whenever any error is encountered.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free