router5.transition-path
Advanced tools
Comparing version 2.0.2 to 2.0.3
@@ -0,1 +1,9 @@ | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function _typeof(obj) { return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj; } | ||
function nameToIDs(name) { | ||
@@ -10,3 +18,3 @@ return name.split('.').reduce(function (ids, name) { | ||
return Object.keys(state._meta[name]).reduce((params, p) => { | ||
return Object.keys(state._meta[name]).reduce(function (params, p) { | ||
params[p] = state.params[p]; | ||
@@ -18,24 +26,45 @@ return params; | ||
function transitionPath(toState, fromState) { | ||
const fromStateIds = fromState ? nameToIDs(fromState.name) : []; | ||
const toStateIds = nameToIDs(toState.name); | ||
const maxI = Math.min(fromStateIds.length, toStateIds.length); | ||
var fromStateIds = fromState ? nameToIDs(fromState.name) : []; | ||
var toStateIds = nameToIDs(toState.name); | ||
var maxI = Math.min(fromStateIds.length, toStateIds.length); | ||
function pointOfDifference() { | ||
let i; | ||
for (i = 0; i < maxI; i += 1) { | ||
const left = fromStateIds[i]; | ||
const right = toStateIds[i]; | ||
var i = undefined; | ||
if (left !== right) return i; | ||
var _loop = function _loop() { | ||
var left = fromStateIds[i]; | ||
var right = toStateIds[i]; | ||
const leftParams = extractSegmentParams(left, toState); | ||
const rightParams = extractSegmentParams(right, fromState); | ||
if (left !== right) return { | ||
v: i | ||
}; | ||
if (leftParams.length !== rightParams.length) return i; | ||
if (leftParams.length === 0) continue; | ||
var leftParams = extractSegmentParams(left, toState); | ||
var rightParams = extractSegmentParams(right, fromState); | ||
const different = Object.keys(leftParams).some(p => rightParams[p] !== leftParams[p]); | ||
if (leftParams.length !== rightParams.length) return { | ||
v: i | ||
}; | ||
if (leftParams.length === 0) return 'continue'; | ||
var different = Object.keys(leftParams).some(function (p) { | ||
return rightParams[p] !== leftParams[p]; | ||
}); | ||
if (different) { | ||
return i; | ||
return { | ||
v: i | ||
}; | ||
} | ||
}; | ||
for (i = 0; i < maxI; i += 1) { | ||
var _ret = _loop(); | ||
switch (_ret) { | ||
case 'continue': | ||
continue; | ||
default: | ||
if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; | ||
} | ||
} | ||
@@ -46,3 +75,3 @@ | ||
let i; | ||
var i = undefined; | ||
if (!fromState) { | ||
@@ -57,14 +86,15 @@ i = 0; | ||
const toDeactivate = fromStateIds.slice(i).reverse(); | ||
const toActivate = toStateIds.slice(i); | ||
var toDeactivate = fromStateIds.slice(i).reverse(); | ||
var toActivate = toStateIds.slice(i); | ||
const intersection = fromState && i > 0 ? fromStateIds[i - 1] : ''; | ||
var intersection = fromState && i > 0 ? fromStateIds[i - 1] : ''; | ||
return { | ||
intersection, | ||
toDeactivate, | ||
toActivate | ||
intersection: intersection, | ||
toDeactivate: toDeactivate, | ||
toActivate: toActivate | ||
}; | ||
} | ||
export default transitionPath; | ||
exports.default = transitionPath; | ||
module.exports = exports['default']; |
{ | ||
"name": "router5.transition-path", | ||
"version": "2.0.2", | ||
"version": "2.0.3", | ||
"description": "Router5 transition path helper function", | ||
@@ -28,2 +28,7 @@ "main": "dist/commonjs/index.js", | ||
"babel-core": "^6.3.26", | ||
"babel-plugin-add-module-exports": "^0.1.2", | ||
"babel-plugin-transform-class-properties": "^6.3.13", | ||
"babel-plugin-transform-export-extensions": "^6.3.13", | ||
"babel-plugin-transform-object-rest-spread": "^6.3.13", | ||
"babel-preset-es2015": "^6.3.13", | ||
"mocha": "^2.3.3", | ||
@@ -30,0 +35,0 @@ "rimraf": "^2.5.0", |
9686
8
174
9