Socket
Socket
Sign inDemoInstall

history

Package Overview
Dependencies
Maintainers
1
Versions
101
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

history - npm Package Compare versions

Comparing version 4.7.1 to 4.7.2

es/createBrowserHistory.js

73

createBrowserHistory.js

@@ -0,1 +1,5 @@

'use strict';
exports.__esModule = true;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

@@ -5,9 +9,22 @@

import warning from 'warning';
import invariant from 'invariant';
import { createLocation } from './LocationUtils';
import { addLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';
import createTransitionManager from './createTransitionManager';
import { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsHistory, supportsPopStateOnHashChange, isExtraneousPopstateEvent } from './DOMUtils';
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _invariant = require('invariant');
var _invariant2 = _interopRequireDefault(_invariant);
var _LocationUtils = require('./LocationUtils');
var _PathUtils = require('./PathUtils');
var _createTransitionManager = require('./createTransitionManager');
var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
var _DOMUtils = require('./DOMUtils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PopStateEvent = 'popstate';

@@ -33,7 +50,7 @@ var HashChangeEvent = 'hashchange';

invariant(canUseDOM, 'Browser history needs a DOM');
(0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');
var globalHistory = window.history;
var canUseHistory = supportsHistory();
var needsHashChangeListener = !supportsPopStateOnHashChange();
var canUseHistory = (0, _DOMUtils.supportsHistory)();
var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();

@@ -43,7 +60,7 @@ var _props$forceRefresh = props.forceRefresh,

_props$getUserConfirm = props.getUserConfirmation,
getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,
getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,
_props$keyLength = props.keyLength,
keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;
var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';

@@ -63,7 +80,7 @@ var getDOMLocation = function getDOMLocation(historyState) {

warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".');
(0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".');
if (basename) path = stripBasename(path, basename);
if (basename) path = (0, _PathUtils.stripBasename)(path, basename);
return createLocation(path, state, key);
return (0, _LocationUtils.createLocation)(path, state, key);
};

@@ -75,3 +92,3 @@

var transitionManager = createTransitionManager();
var transitionManager = (0, _createTransitionManager2.default)();

@@ -88,3 +105,3 @@ var setState = function setState(nextState) {

// Ignore extraneous popstate events in WebKit.
if (isExtraneousPopstateEvent(event)) return;
if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;

@@ -146,10 +163,10 @@ handlePop(getDOMLocation(event.state));

var createHref = function createHref(location) {
return basename + createPath(location);
return basename + (0, _PathUtils.createPath)(location);
};
var push = function push(path, state) {
warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
(0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
var action = 'PUSH';
var location = createLocation(path, state, createKey(), history.location);
var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);

@@ -179,3 +196,3 @@ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {

} else {
warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');
(0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');

@@ -188,6 +205,6 @@ window.location.href = href;

var replace = function replace(path, state) {
warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
(0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
var action = 'REPLACE';
var location = createLocation(path, state, createKey(), history.location);
var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);

@@ -215,3 +232,3 @@ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {

} else {
warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');
(0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');

@@ -241,9 +258,9 @@ window.location.replace(href);

if (listenerCount === 1) {
addEventListener(window, PopStateEvent, handlePopState);
(0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);
if (needsHashChangeListener) addEventListener(window, HashChangeEvent, handleHashChange);
if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);
} else if (listenerCount === 0) {
removeEventListener(window, PopStateEvent, handlePopState);
(0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);
if (needsHashChangeListener) removeEventListener(window, HashChangeEvent, handleHashChange);
if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);
}

@@ -301,2 +318,2 @@ };

export default createBrowserHistory;
exports.default = createBrowserHistory;

@@ -0,10 +1,27 @@

'use strict';
exports.__esModule = true;
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 warning from 'warning';
import invariant from 'invariant';
import { createLocation, locationsAreEqual } from './LocationUtils';
import { addLeadingSlash, stripLeadingSlash, stripTrailingSlash, hasBasename, stripBasename, createPath } from './PathUtils';
import createTransitionManager from './createTransitionManager';
import { canUseDOM, addEventListener, removeEventListener, getConfirmation, supportsGoWithoutReloadUsingHash } from './DOMUtils';
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _invariant = require('invariant');
var _invariant2 = _interopRequireDefault(_invariant);
var _LocationUtils = require('./LocationUtils');
var _PathUtils = require('./PathUtils');
var _createTransitionManager = require('./createTransitionManager');
var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
var _DOMUtils = require('./DOMUtils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var HashChangeEvent = 'hashchange';

@@ -15,3 +32,3 @@

encodePath: function encodePath(path) {
return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);
return path.charAt(0) === '!' ? path : '!/' + (0, _PathUtils.stripLeadingSlash)(path);
},

@@ -23,8 +40,8 @@ decodePath: function decodePath(path) {

noslash: {
encodePath: stripLeadingSlash,
decodePath: addLeadingSlash
encodePath: _PathUtils.stripLeadingSlash,
decodePath: _PathUtils.addLeadingSlash
},
slash: {
encodePath: addLeadingSlash,
decodePath: addLeadingSlash
encodePath: _PathUtils.addLeadingSlash,
decodePath: _PathUtils.addLeadingSlash
}

@@ -54,13 +71,13 @@ };

invariant(canUseDOM, 'Hash history needs a DOM');
(0, _invariant2.default)(_DOMUtils.canUseDOM, 'Hash history needs a DOM');
var globalHistory = window.history;
var canGoWithoutReload = supportsGoWithoutReloadUsingHash();
var canGoWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();
var _props$getUserConfirm = props.getUserConfirmation,
getUserConfirmation = _props$getUserConfirm === undefined ? getConfirmation : _props$getUserConfirm,
getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,
_props$hashType = props.hashType,
hashType = _props$hashType === undefined ? 'slash' : _props$hashType;
var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';
var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';

@@ -75,10 +92,10 @@ var _HashPathCoders$hashT = HashPathCoders[hashType],

warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".');
(0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".');
if (basename) path = stripBasename(path, basename);
if (basename) path = (0, _PathUtils.stripBasename)(path, basename);
return createLocation(path);
return (0, _LocationUtils.createLocation)(path);
};
var transitionManager = createTransitionManager();
var transitionManager = (0, _createTransitionManager2.default)();

@@ -107,5 +124,5 @@ var setState = function setState(nextState) {

if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.
if (!forceNextPop && (0, _LocationUtils.locationsAreEqual)(prevLocation, location)) return; // A hashchange doesn't always == location change.
if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.
if (ignorePath === (0, _PathUtils.createPath)(location)) return; // Ignore this change; we already setState in push/replace.

@@ -142,7 +159,7 @@ ignorePath = null;

var toIndex = allPaths.lastIndexOf(createPath(toLocation));
var toIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(toLocation));
if (toIndex === -1) toIndex = 0;
var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));
var fromIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(fromLocation));

@@ -166,3 +183,3 @@ if (fromIndex === -1) fromIndex = 0;

var initialLocation = getDOMLocation();
var allPaths = [createPath(initialLocation)];
var allPaths = [(0, _PathUtils.createPath)(initialLocation)];

@@ -172,10 +189,10 @@ // Public interface

var createHref = function createHref(location) {
return '#' + encodePath(basename + createPath(location));
return '#' + encodePath(basename + (0, _PathUtils.createPath)(location));
};
var push = function push(path, state) {
warning(state === undefined, 'Hash history cannot push state; it is ignored');
(0, _warning2.default)(state === undefined, 'Hash history cannot push state; it is ignored');
var action = 'PUSH';
var location = createLocation(path, undefined, undefined, history.location);
var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);

@@ -185,3 +202,3 @@ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {

var path = createPath(location);
var path = (0, _PathUtils.createPath)(location);
var encodedPath = encodePath(basename + path);

@@ -197,3 +214,3 @@ var hashChanged = getHashPath() !== encodedPath;

var prevIndex = allPaths.lastIndexOf(createPath(history.location));
var prevIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(history.location));
var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);

@@ -206,3 +223,3 @@

} else {
warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');
(0, _warning2.default)(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');

@@ -215,6 +232,6 @@ setState();

var replace = function replace(path, state) {
warning(state === undefined, 'Hash history cannot replace state; it is ignored');
(0, _warning2.default)(state === undefined, 'Hash history cannot replace state; it is ignored');
var action = 'REPLACE';
var location = createLocation(path, undefined, undefined, history.location);
var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);

@@ -224,3 +241,3 @@ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {

var path = createPath(location);
var path = (0, _PathUtils.createPath)(location);
var encodedPath = encodePath(basename + path);

@@ -237,3 +254,3 @@ var hashChanged = getHashPath() !== encodedPath;

var prevIndex = allPaths.indexOf(createPath(history.location));
var prevIndex = allPaths.indexOf((0, _PathUtils.createPath)(history.location));

@@ -247,3 +264,3 @@ if (prevIndex !== -1) allPaths[prevIndex] = path;

var go = function go(n) {
warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');
(0, _warning2.default)(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');

@@ -267,5 +284,5 @@ globalHistory.go(n);

if (listenerCount === 1) {
addEventListener(window, HashChangeEvent, handleHashChange);
(0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);
} else if (listenerCount === 0) {
removeEventListener(window, HashChangeEvent, handleHashChange);
(0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);
}

@@ -323,2 +340,2 @@ };

export default createHashHistory;
exports.default = createHashHistory;

@@ -0,1 +1,5 @@

'use strict';
exports.__esModule = true;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };

@@ -5,7 +9,16 @@

import warning from 'warning';
import { createPath } from './PathUtils';
import { createLocation } from './LocationUtils';
import createTransitionManager from './createTransitionManager';
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
var _PathUtils = require('./PathUtils');
var _LocationUtils = require('./LocationUtils');
var _createTransitionManager = require('./createTransitionManager');
var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var clamp = function clamp(n, lowerBound, upperBound) {

@@ -29,3 +42,3 @@ return Math.min(Math.max(n, lowerBound), upperBound);

var transitionManager = createTransitionManager();
var transitionManager = (0, _createTransitionManager2.default)();

@@ -46,3 +59,3 @@ var setState = function setState(nextState) {

var entries = initialEntries.map(function (entry) {
return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());
return typeof entry === 'string' ? (0, _LocationUtils.createLocation)(entry, undefined, createKey()) : (0, _LocationUtils.createLocation)(entry, undefined, entry.key || createKey());
});

@@ -52,9 +65,9 @@

var createHref = createPath;
var createHref = _PathUtils.createPath;
var push = function push(path, state) {
warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
(0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
var action = 'PUSH';
var location = createLocation(path, state, createKey(), history.location);
var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);

@@ -84,6 +97,6 @@ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {

var replace = function replace(path, state) {
warning(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
(0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
var action = 'REPLACE';
var location = createLocation(path, state, createKey(), history.location);
var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);

@@ -162,2 +175,2 @@ transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {

export default createMemoryHistory;
exports.default = createMemoryHistory;

@@ -1,3 +0,11 @@

import warning from 'warning';
'use strict';
exports.__esModule = true;
var _warning = require('warning');
var _warning2 = _interopRequireDefault(_warning);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var createTransitionManager = function createTransitionManager() {

@@ -7,3 +15,3 @@ var prompt = null;

var setPrompt = function setPrompt(nextPrompt) {
warning(prompt == null, 'A history supports only one prompt at a time');
(0, _warning2.default)(prompt == null, 'A history supports only one prompt at a time');

@@ -28,3 +36,3 @@ prompt = nextPrompt;

} else {
warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message');
(0, _warning2.default)(false, 'A history needs a getUserConfirmation function in order to use a prompt message');

@@ -79,2 +87,2 @@ callback(true);

export default createTransitionManager;
exports.default = createTransitionManager;

@@ -1,12 +0,15 @@

export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
'use strict';
export var addEventListener = function addEventListener(node, event, listener) {
exports.__esModule = true;
var canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
var addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {
return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);
};
export var removeEventListener = function removeEventListener(node, event, listener) {
var removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {
return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);
};
export var getConfirmation = function getConfirmation(message, callback) {
var getConfirmation = exports.getConfirmation = function getConfirmation(message, callback) {
return callback(window.confirm(message));

@@ -22,3 +25,3 @@ }; // eslint-disable-line no-alert

*/
export var supportsHistory = function supportsHistory() {
var supportsHistory = exports.supportsHistory = function supportsHistory() {
var ua = window.navigator.userAgent;

@@ -35,3 +38,3 @@

*/
export var supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {
var supportsPopStateOnHashChange = exports.supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {
return window.navigator.userAgent.indexOf('Trident') === -1;

@@ -43,3 +46,3 @@ };

*/
export var supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {
var supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {
return window.navigator.userAgent.indexOf('Firefox') === -1;

@@ -53,4 +56,4 @@ };

*/
export var isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {
var isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {
return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
};

@@ -1,9 +0,52 @@

import _createBrowserHistory from './createBrowserHistory';
export { _createBrowserHistory as createBrowserHistory };
import _createHashHistory from './createHashHistory';
export { _createHashHistory as createHashHistory };
import _createMemoryHistory from './createMemoryHistory';
export { _createMemoryHistory as createMemoryHistory };
'use strict';
export { createLocation, locationsAreEqual } from './LocationUtils';
export { parsePath, createPath } from './PathUtils';
exports.__esModule = true;
exports.createPath = exports.parsePath = exports.locationsAreEqual = exports.createLocation = exports.createMemoryHistory = exports.createHashHistory = exports.createBrowserHistory = undefined;
var _LocationUtils = require('./LocationUtils');
Object.defineProperty(exports, 'createLocation', {
enumerable: true,
get: function get() {
return _LocationUtils.createLocation;
}
});
Object.defineProperty(exports, 'locationsAreEqual', {
enumerable: true,
get: function get() {
return _LocationUtils.locationsAreEqual;
}
});
var _PathUtils = require('./PathUtils');
Object.defineProperty(exports, 'parsePath', {
enumerable: true,
get: function get() {
return _PathUtils.parsePath;
}
});
Object.defineProperty(exports, 'createPath', {
enumerable: true,
get: function get() {
return _PathUtils.createPath;
}
});
var _createBrowserHistory2 = require('./createBrowserHistory');
var _createBrowserHistory3 = _interopRequireDefault(_createBrowserHistory2);
var _createHashHistory2 = require('./createHashHistory');
var _createHashHistory3 = _interopRequireDefault(_createHashHistory2);
var _createMemoryHistory2 = require('./createMemoryHistory');
var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.createBrowserHistory = _createBrowserHistory3.default;
exports.createHashHistory = _createHashHistory3.default;
exports.createMemoryHistory = _createMemoryHistory3.default;

@@ -0,12 +1,25 @@

'use strict';
exports.__esModule = true;
exports.locationsAreEqual = exports.createLocation = undefined;
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 resolvePathname from 'resolve-pathname';
import valueEqual from 'value-equal';
import { parsePath } from './PathUtils';
var _resolvePathname = require('resolve-pathname');
export var createLocation = function createLocation(path, state, key, currentLocation) {
var _resolvePathname2 = _interopRequireDefault(_resolvePathname);
var _valueEqual = require('value-equal');
var _valueEqual2 = _interopRequireDefault(_valueEqual);
var _PathUtils = require('./PathUtils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var createLocation = exports.createLocation = function createLocation(path, state, key, currentLocation) {
var location = void 0;
if (typeof path === 'string') {
// Two-arg form: push(path, state)
location = parsePath(path);
location = (0, _PathUtils.parsePath)(path);
location.state = state;

@@ -51,3 +64,3 @@ } else {

} else if (location.pathname.charAt(0) !== '/') {
location.pathname = resolvePathname(location.pathname, currentLocation.pathname);
location.pathname = (0, _resolvePathname2.default)(location.pathname, currentLocation.pathname);
}

@@ -64,4 +77,4 @@ } else {

export var locationsAreEqual = function locationsAreEqual(a, b) {
return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);
var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) {
return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && (0, _valueEqual2.default)(a.state, b.state);
};
{
"name": "history",
"version": "4.7.1",
"version": "4.7.2",
"description": "Manage session history with JavaScript",

@@ -17,8 +17,8 @@ "repository": "ReactTraining/history",

"createTransitionManager.js",
"cjs",
"es",
"index.js",
"umd"
],
"main": "cjs/index.js",
"module": "index.js",
"main": "index.js",
"module": "es/index.js",
"scripts": {

@@ -25,0 +25,0 @@ "start": "webpack-dev-server -d --content-base ./ --history-api-fallback --inline modules/index.js",

@@ -1,22 +0,25 @@

export var addLeadingSlash = function addLeadingSlash(path) {
'use strict';
exports.__esModule = true;
var addLeadingSlash = exports.addLeadingSlash = function addLeadingSlash(path) {
return path.charAt(0) === '/' ? path : '/' + path;
};
export var stripLeadingSlash = function stripLeadingSlash(path) {
var stripLeadingSlash = exports.stripLeadingSlash = function stripLeadingSlash(path) {
return path.charAt(0) === '/' ? path.substr(1) : path;
};
export var hasBasename = function hasBasename(path, prefix) {
var hasBasename = exports.hasBasename = function hasBasename(path, prefix) {
return new RegExp('^' + prefix + '(\\/|\\?|#|$)', 'i').test(path);
};
export var stripBasename = function stripBasename(path, prefix) {
var stripBasename = exports.stripBasename = function stripBasename(path, prefix) {
return hasBasename(path, prefix) ? path.substr(prefix.length) : path;
};
export var stripTrailingSlash = function stripTrailingSlash(path) {
var stripTrailingSlash = exports.stripTrailingSlash = function stripTrailingSlash(path) {
return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;
};
export var parsePath = function parsePath(path) {
var parsePath = exports.parsePath = function parsePath(path) {
var pathname = path || '/';

@@ -45,3 +48,3 @@ var search = '';

export var createPath = function createPath(location) {
var createPath = exports.createPath = function createPath(location) {
var pathname = location.pathname,

@@ -48,0 +51,0 @@ search = location.search,

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc