new mw()
This provides following functions which return middlewares.
No constructor.
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 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 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"` 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"` 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(); });