Class: mw

kawapp. mw

new mw()

This provides following functions which return middlewares. No constructor.
Source:

Methods

<static> location(defaults) → {function}

This returns a middleware to set `location` object. This would be great when running kawapp not on a browser environment.
Parameters:
Name Type Argument Description
defaults Object <optional>
default location object
Source:
Returns:
middleware
Type
function
Example
var app = kawapp();

var loc = {
  href: "http://www.example.com/about"
};
app.use(kawapp.location(loc));     // store default location

app.use(function(context, canvas, next) {
  console.log(context.location.href);  // fetch location in a middleware
  next();
});

<static> merge(mw) → {function}

This returns a single middleware combined with multiple middlewares (or kawapp applications).
Parameters:
Name Type Argument Description
mw function <repeatable>
middlewars or applications
Source:
Returns:
middleware merged
Type
function
Example
var app = kawapp();

app.use(kawapp.mw.merge(mw1, mw2, mw3));

<static> parseHash(root, defaults) → {function}

This returns a middleware to parse parameters at `location.hash`.
Parameters:
Name Type Argument Description
root String <optional>
root key to set parsed queries such as `"param"`
defaults String <optional>
default location.hash string such as `"#!?key=value"`
Source:
Returns:
middleware
Type
function
Example
var app = kawapp();

app.use(kawapp.parseHash("param", "#!?key=value"));

app.use(function(context, canvas, next) {
  console.log(context.param.key); // => "value"
  next();
});

<static> parseQuery(root, defaults) → {function}

This returns a middleware to parse parameters at `location.search`.
Parameters:
Name Type Argument Description
root String <optional>
root key to set parsed queries such as `"param"`
defaults String <optional>
default location.search string such as `"?key=value"`
Source:
Returns:
middleware
Type
function
Example
var app = kawapp();

app.use(kawapp.mw.parseQuery("param", "?key=value"));

app.use(function(context, canvas, next) {
  console.log(context.param.key); // => "value"
  next();
});