antd
Version:
一个 UI 设计语言
46 lines (35 loc) • 1.45 kB
JavaScript
//import warning from 'warning'
;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
import { POP } from './Actions';
import parsePath from './parsePath';
function createLocation() {
var location = arguments.length <= 0 || arguments[0] === undefined ? '/' : arguments[0];
var action = arguments.length <= 1 || arguments[1] === undefined ? POP : arguments[1];
var key = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2];
var _fourthArg = arguments.length <= 3 || arguments[3] === undefined ? null : arguments[3];
if (typeof location === 'string') location = parsePath(location);
if (typeof action === 'object') {
//warning(
// false,
// 'The state (2nd) argument to createLocation is deprecated; use a ' +
// 'location descriptor instead'
//)
location = _extends({}, location, { state: action });
action = key || POP;
key = _fourthArg;
}
var pathname = location.pathname || '/';
var search = location.search || '';
var hash = location.hash || '';
var state = location.state || null;
return {
pathname: pathname,
search: search,
hash: hash,
state: state,
action: action,
key: key
};
}
export default createLocation;