UNPKG

stateman

Version:

A tiny foundation that providing nested state-based routing for complex web application.

40 lines (30 loc) 850 B
var _ = require("../util.js"); var Base = require('./base.js'); function ServerManager( options ){ if(this instanceof ServerManager === false){ return new ServerManager(options); } Base.apply( this, arguments ); } var o =_.inherit( ServerManager, Base.prototype ); _.extend(o , { exec: function ( path ){ var found = this.decode(path); if( !found ) return; var param = found.param; //@FIXIT: We NEED decodeURIComponent in server side!! for(var i in param){ if(typeof param[i] === 'string') param[i] = decodeURIComponent(param[i]); } var states = []; var state = found.state; this.current = state; while(state && !state.root){ states.unshift( state ); state = state.parent; } return { states: states, param: param } } }) module.exports = ServerManager