Simplify resolution identifier logic (just a bit)

This commit is contained in:
Pierre-Yves Gerardy 2016-09-08 20:00:45 +02:00
parent 2c93e4995e
commit a689bf4ccc

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