Merge pull request #1303 from pygy/simplify-resolution-identifiers

Simplify resolution identifier logic (just a bit)
This commit is contained in:
Leo Horie 2016-09-09 10:38:31 -04:00 committed by GitHub
commit af586f5a20

View file

@ -5,7 +5,7 @@ var coreRouter = require("../router/router")
module.exports = function($window, mount) { module.exports = function($window, mount) {
var router = coreRouter($window) var router = coreRouter($window)
var globalId, currentComponent, currentRender, currentArgs, currentPath var currentResolve, currentComponent, currentRender, currentArgs, currentPath
var RouteComponent = {view: function() { var RouteComponent = {view: function() {
return currentRender(Vnode(currentComponent, null, currentArgs, undefined, undefined, undefined)) return currentRender(Vnode(currentComponent, null, currentArgs, undefined, undefined, undefined))
@ -21,13 +21,12 @@ module.exports = function($window, mount) {
mount(root, RouteComponent) mount(root, RouteComponent)
router.defineRoutes(routes, function(payload, args, path) { router.defineRoutes(routes, function(payload, args, path) {
var resolutionIdentifier = globalId = {}
var isResolver = typeof payload.view !== "function" var isResolver = typeof payload.view !== "function"
var render = defaultRender var render = defaultRender
function resolve (component) { var resolve = currentResolve = function (component) {
if (resolutionIdentifier !== globalId) return if (resolve !== currentResolve) return
globalId = null currentResolve = null
currentComponent = component != null ? component : isResolver ? "div" : payload currentComponent = component != null ? component : isResolver ? "div" : payload
currentRender = render currentRender = render