fragmented 2.1.3 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +12 -5
- package/lib/fragmented.js +12 -5
- package/package.json +1 -1
- package/src/fragmented.js +16 -4
package/example.js
CHANGED
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
var fragmentChangeHandlers = [];
|
|
75
75
|
window.addEventListener(eventType, hashChangeListener);
|
|
76
76
|
function getFragment() {
|
|
77
|
-
var hash =
|
|
77
|
+
var hash = getHash(), fragment2 = new String(hash);
|
|
78
78
|
Object.assign(fragment2, {
|
|
79
79
|
getFragment,
|
|
80
80
|
setFragment,
|
|
@@ -106,12 +106,19 @@
|
|
|
106
106
|
fragmentChangeHandlers.splice(start, deleteCount);
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
function hashChangeListener() {
|
|
110
|
-
var hash =
|
|
109
|
+
function hashChangeListener(event) {
|
|
110
|
+
var hash = getHash(), fragment2 = hash;
|
|
111
111
|
fragmentChangeHandlers.forEach(function(fragmentChangeHandler) {
|
|
112
|
-
fragmentChangeHandler(fragment2);
|
|
112
|
+
fragmentChangeHandler(event, fragment2);
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
|
+
function getHash() {
|
|
116
|
+
var location = window.location;
|
|
117
|
+
var hash = location.hash;
|
|
118
|
+
var start = 1;
|
|
119
|
+
hash = hash.substring(start);
|
|
120
|
+
return hash;
|
|
121
|
+
}
|
|
115
122
|
});
|
|
116
123
|
|
|
117
124
|
// lib/index.js
|
|
@@ -156,4 +163,4 @@
|
|
|
156
163
|
});
|
|
157
164
|
require_example();
|
|
158
165
|
})();
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2NvbnN0YW50cy5qcyIsICJzcmMvZXZlbnRUeXBlcy5qcyIsICJzcmMvZnJhZ21lbnRlZC5qcyIsICJzcmMvaW5kZXguanMiLCAic3JjL2V4YW1wbGUuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRlJBR01FTlQgPSBcImZyYWdtZW50XCI7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUgPSBcImhhc2hjaGFuZ2VcIjtcbiIsICJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRlJBR01FTlQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEhBU0hDSEFOR0VfRVZFTlRfVFlQRSB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgRlJBR01FTlQsIHtcbiAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IGdldEZyYWdtZW50KCk7XG5cbiAgICByZXR1cm4gZnJhZ21lbnQ7XG4gIH0sXG5cbiAgc2V0OiBmdW5jdGlvbihmcmFnbWVudCkge1xuICAgIGNvbnN0IHNpbGVudGx5ID0gZmFsc2U7XG5cbiAgICBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkpO1xuICB9XG59KTtcblxuY29uc3QgZXZlbnRUeXBlID0gSEFTSENIQU5HRV9FVkVOVF9UWVBFLFxuICAgICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycyA9IFtdO1xuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG5cbmZ1bmN0aW9uIGdldEZyYWdtZW50KCkge1xuICBjb25zdCBoYXNoID0gZ2V0SGFzaCgpLFxuICAgICAgICBmcmFnbWVudCA9IG5ldyBTdHJpbmcoaGFzaCk7ICAvLy9cblxuICBPYmplY3QuYXNzaWduKGZyYWdtZW50LCB7XG4gICAgZ2V0RnJhZ21lbnQsXG4gICAgc2V0RnJhZ21lbnQsXG4gICAgb25GcmFnbWVudENoYW5nZSxcbiAgICBvZmZGcmFnbWVudENoYW5nZVxuICB9KTtcblxuICByZXR1cm4gZnJhZ21lbnQ7XG59XG5cbmZ1bmN0aW9uIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSA9IHRydWUpIHtcbiAgY29uc3QgaGFzaCA9IGZyYWdtZW50OyAgLy8vXG5cbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICB9XG5cbiAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoO1xuXG4gIGlmIChzaWxlbnRseSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICAgIH0sIDApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkZyYWdtZW50Q2hhbmdlKGZyYWdtZW50Q2hhbmdlSGFuZGxlcikge1xuICBmcmFnbWVudENoYW5nZUhhbmRsZXJzLnB1c2goZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9mZkZyYWdtZW50Q2hhbmdlKGZyYWdtZW50Q2hhbmdlSGFuZGxlcikge1xuICBjb25zdCBpbmRleCA9IGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMuaW5kZXhPZihmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xuXG4gIGlmIChpbmRleCA+IC0xKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgIGRlbGV0ZUNvdW50ID0gMTtcblxuICAgIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzaENoYW5nZUxpc3RlbmVyKGV2ZW50KSB7XG4gIGNvbnN0IGhhc2ggPSBnZXRIYXNoKCksXG4gICAgICAgIGZyYWdtZW50ID0gaGFzaDsgIC8vL1xuXG4gIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMuZm9yRWFjaCgoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSA9PiB7XG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKGV2ZW50LCBmcmFnbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRIYXNoKCkge1xuICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG5cbiAgbGV0IHsgaGFzaCB9ID0gbG9jYXRpb247XG5cbiAgY29uc3Qgc3RhcnQgPSAxO1xuXG4gIGhhc2ggPSBoYXNoLnN1YnN0cmluZyhzdGFydCk7XG5cbiAgcmV0dXJuIGhhc2g7XG59IiwgIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2ZyYWdtZW50ZWRcIjtcblxuZXhwb3J0IHsgb25GcmFnbWVudENoYW5nZSwgb2ZmRnJhZ21lbnRDaGFuZ2UgfSBmcm9tIFwiLi9mcmFnbWVudGVkXCI7XG5cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiLi9pbmRleFwiOyAvLy9cblxuY29uc3QgeyBvbkZyYWdtZW50Q2hhbmdlLCBvZmZGcmFnbWVudENoYW5nZSB9ID0gZnJhZ21lbnQ7XG5cbm9uRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKTtcblxuY29uc29sZS5sb2coZnJhZ21lbnQpXG5cbmZyYWdtZW50ID0gXCJ0ZXN0XCI7XG5cbi8vIG9mZkZyYWdtZW50Q2hhbmdlKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbmZ1bmN0aW9uIGZyYWdtZW50Q2hhbmdlSGFuZGxlcigpIHtcbiAgY29uc29sZS5sb2coZnJhZ21lbnQpXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7O0FBQUE7Ozs7O21DQUVhLFlBQUE7OztlQUFBOzs7QUFBTixRQUFNLFdBQVc7Ozs7QUNGeEI7Ozs7O21DQUVhLHlCQUFBOzs7ZUFBQTs7O0FBQU4sUUFBTSx3QkFBd0I7Ozs7QUNGckM7Ozs7Ozs7Ozs7Ozs7TUEwRGdCLG1CQUFpQixXQUFBO2VBQWpCOztNQUpBLGtCQUFnQixXQUFBO2VBQWhCOzs7OztBQWpEaEIsV0FBTyxlQUFlLFFBQVEsV0FBQSxVQUFVO01BQ3RDLEtBQUssZUFBTDtBQUNFLFlBQU0sWUFBVztBQUVqQixlQUFPOztNQUdULEtBQUssYUFBUyxXQUFRO0FBQ3BCLFlBQU0sV0FBVztBQUVqQixvQkFBWSxXQUFVOzs7QUFJMUIsUUFBTSxZQUFZLFlBQUE7QUFBbEIsUUFDTSx5QkFBeUI7QUFFL0IsV0FBTyxpQkFBaUIsV0FBVztBQUVuQywyQkFBUztBQUNQLFVBQU0sT0FBTyxXQUNQLFlBQVcsSUFBSSxPQUFPO0FBRTVCLGFBQU8sT0FBTyxXQUFVO1FBQ3RCO1FBQ0E7UUFDQTtRQUNBOztBQUdGLGFBQU87O0FBR1QseUJBQXFCLFdBQVE7VUFBRSxXQUFBLFVBQUEsU0FBQSxLQUFBLFVBQUEsT0FBQSxTQUFBLFVBQUEsS0FBVztBQUN4QyxVQUFNLE9BQU87QUFFYixVQUFJLFVBQVU7QUFDWixlQUFPLG9CQUFvQixXQUFXOztBQUd4QyxhQUFPLFNBQVMsT0FBTztBQUV2QixVQUFJLFVBQVU7QUFDWixtQkFBVyxXQUFBO0FBQ1QsaUJBQU8saUJBQWlCLFdBQVc7V0FDbEM7OztBQUlBLDhCQUEwQix1QkFBcUI7QUFDcEQsNkJBQXVCLEtBQUs7O0FBR3ZCLCtCQUEyQix1QkFBcUI7QUFDckQsVUFBTSxRQUFRLHVCQUF1QixRQUFRO0FBRTdDLFVBQUksUUFBUSxJQUFJO0FBQ2QsWUFBTSxRQUFRLE9BQ1IsY0FBYztBQUVwQiwrQkFBdUIsT0FBTyxPQUFPOzs7QUFJekMsZ0NBQTRCLE9BQUs7QUFDL0IsVUFBTSxPQUFPLFdBQ1AsWUFBVztBQUVqQiw2QkFBdUIsUUFBUSxTQUFDLHVCQUFBO0FBQzlCLDhCQUFzQixPQUFPOzs7QUFJakMsdUJBQVM7QUFDUCxVQUFRLFdBQWEsT0FBYjtBQUVSLFVBQU0sT0FBUyxTQUFUO0FBRU4sVUFBTSxRQUFRO0FBRWQsYUFBTyxLQUFLLFVBQVU7QUFFdEIsYUFBTzs7Ozs7QUN2RlQ7Ozs7Ozs7Ozs7Ozs7TUFJMkIsbUJBQWlCLFdBQUE7ZUFBakIsWUFBQTs7TUFBbEIsa0JBQWdCLFdBQUE7ZUFBaEIsWUFBQTs7Ozs7OztBQ0pUOzs7Ozs7QUFJQSxRQUFRLG1CQUF3QyxTQUF4QztBQUFSLFFBQTBCLG9CQUFzQixTQUF0QjtBQUUxQixxQkFBaUI7QUFFakIsWUFBUSxJQUFJO0FBRVosZUFBVztBQUlYLHFDQUFTO0FBQ1AsY0FBUSxJQUFJOzs7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
package/lib/fragmented.js
CHANGED
|
@@ -31,7 +31,7 @@ Object.defineProperty(window, _constants.FRAGMENT, {
|
|
|
31
31
|
var eventType = _eventTypes.HASHCHANGE_EVENT_TYPE, fragmentChangeHandlers = [];
|
|
32
32
|
window.addEventListener(eventType, hashChangeListener);
|
|
33
33
|
function getFragment() {
|
|
34
|
-
var hash =
|
|
34
|
+
var hash = getHash(), fragment = new String(hash); ///
|
|
35
35
|
Object.assign(fragment, {
|
|
36
36
|
getFragment: getFragment,
|
|
37
37
|
setFragment: setFragment,
|
|
@@ -63,11 +63,18 @@ function offFragmentChange(fragmentChangeHandler) {
|
|
|
63
63
|
fragmentChangeHandlers.splice(start, deleteCount);
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
function hashChangeListener() {
|
|
67
|
-
var hash =
|
|
66
|
+
function hashChangeListener(event) {
|
|
67
|
+
var hash = getHash(), fragment = hash; ///
|
|
68
68
|
fragmentChangeHandlers.forEach(function(fragmentChangeHandler) {
|
|
69
|
-
fragmentChangeHandler(fragment);
|
|
69
|
+
fragmentChangeHandler(event, fragment);
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
function getHash() {
|
|
73
|
+
var location = window.location;
|
|
74
|
+
var hash = location.hash;
|
|
75
|
+
var start = 1;
|
|
76
|
+
hash = hash.substring(start);
|
|
77
|
+
return hash;
|
|
78
|
+
}
|
|
72
79
|
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFnbWVudGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGUkFHTUVOVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgSEFTSENIQU5HRV9FVkVOVF9UWVBFIH0gZnJvbSBcIi4vZXZlbnRUeXBlc1wiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCBGUkFHTUVOVCwge1xuICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gZ2V0RnJhZ21lbnQoKTtcblxuICAgIHJldHVybiBmcmFnbWVudDtcbiAgfSxcblxuICBzZXQ6IGZ1bmN0aW9uKGZyYWdtZW50KSB7XG4gICAgY29uc3Qgc2lsZW50bHkgPSBmYWxzZTtcblxuICAgIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSk7XG4gIH1cbn0pO1xuXG5jb25zdCBldmVudFR5cGUgPSBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUsXG4gICAgICBmcmFnbWVudENoYW5nZUhhbmRsZXJzID0gW107XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcblxuZnVuY3Rpb24gZ2V0RnJhZ21lbnQoKSB7XG4gIGNvbnN0IGhhc2ggPSBnZXRIYXNoKCksXG4gICAgICAgIGZyYWdtZW50ID0gbmV3IFN0cmluZyhoYXNoKTsgIC8vL1xuXG4gIE9iamVjdC5hc3NpZ24oZnJhZ21lbnQsIHtcbiAgICBnZXRGcmFnbWVudCxcbiAgICBzZXRGcmFnbWVudCxcbiAgICBvbkZyYWdtZW50Q2hhbmdlLFxuICAgIG9mZkZyYWdtZW50Q2hhbmdlXG4gIH0pO1xuXG4gIHJldHVybiBmcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gc2V0RnJhZ21lbnQoZnJhZ21lbnQsIHNpbGVudGx5ID0gdHJ1ZSkge1xuICBjb25zdCBoYXNoID0gZnJhZ21lbnQ7ICAvLy9cblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gIH1cblxuICB3aW5kb3cubG9jYXRpb24uaGFzaCA9IGhhc2g7XG5cbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gICAgfSwgMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMucHVzaChmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGNvbnN0IGluZGV4ID0gZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5pbmRleE9mKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNoQ2hhbmdlTGlzdGVuZXIoZXZlbnQpIHtcbiAgY29uc3QgaGFzaCA9IGdldEhhc2goKSxcbiAgICAgICAgZnJhZ21lbnQgPSBoYXNoOyAgLy8vXG5cbiAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChmcmFnbWVudENoYW5nZUhhbmRsZXIpID0+IHtcbiAgICBmcmFnbWVudENoYW5nZUhhbmRsZXIoZXZlbnQsIGZyYWdtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldEhhc2goKSB7XG4gIGNvbnN0IHsgbG9jYXRpb24gfSA9IHdpbmRvdztcblxuICBsZXQgeyBoYXNoIH0gPSBsb2NhdGlvbjtcblxuICBjb25zdCBzdGFydCA9IDE7XG5cbiAgaGFzaCA9IGhhc2guc3Vic3RyaW5nKHN0YXJ0KTtcblxuICByZXR1cm4gaGFzaDtcbn0iXSwibmFtZXMiOlsib2ZmRnJhZ21lbnRDaGFuZ2UiLCJvbkZyYWdtZW50Q2hhbmdlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3aW5kb3ciLCJGUkFHTUVOVCIsImdldCIsImZyYWdtZW50IiwiZ2V0RnJhZ21lbnQiLCJzZXQiLCJzaWxlbnRseSIsInNldEZyYWdtZW50IiwiZXZlbnRUeXBlIiwiSEFTSENIQU5HRV9FVkVOVF9UWVBFIiwiZnJhZ21lbnRDaGFuZ2VIYW5kbGVycyIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYXNoQ2hhbmdlTGlzdGVuZXIiLCJoYXNoIiwiZ2V0SGFzaCIsIlN0cmluZyIsImFzc2lnbiIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhdGlvbiIsInNldFRpbWVvdXQiLCJmcmFnbWVudENoYW5nZUhhbmRsZXIiLCJwdXNoIiwiaW5kZXgiLCJpbmRleE9mIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSIsImV2ZW50IiwiZm9yRWFjaCIsInN1YnN0cmluZyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMERnQkEsaUJBQWlCO2VBQWpCQTs7SUFKQUMsZ0JBQWdCO2VBQWhCQTs7O3lCQXBEUzswQkFDYTtBQUV0Q0MsT0FBT0MsY0FBYyxDQUFDQyxRQUFRQyxtQkFBUSxFQUFFO0lBQ3RDQyxLQUFLLFNBQUxBO1FBQ0UsSUFBTUMsV0FBV0M7UUFFakIsT0FBT0Q7SUFDVDtJQUVBRSxLQUFLLFNBQUxBLElBQWNGLFFBQVE7UUFDcEIsSUFBTUcsV0FBVztRQUVqQkMsWUFBWUosVUFBVUc7SUFDeEI7QUFDRjtBQUVBLElBQU1FLFlBQVlDLGlDQUFxQixFQUNqQ0MseUJBQXlCLEVBQUU7QUFFakNWLE9BQU9XLGdCQUFnQixDQUFDSCxXQUFXSTtBQUVuQyxTQUFTUjtJQUNQLElBQU1TLE9BQU9DLFdBQ1BYLFdBQVcsSUFBSVksT0FBT0YsT0FBUSxHQUFHO0lBRXZDZixPQUFPa0IsTUFBTSxDQUFDYixVQUFVO1FBQ3RCQyxhQUFBQTtRQUNBRyxhQUFBQTtRQUNBVixrQkFBQUE7UUFDQUQsbUJBQUFBO0lBQ0Y7SUFFQSxPQUFPTztBQUNUO0FBRUEsU0FBU0ksWUFBWUosUUFBUTtRQUFFRyxXQUFBQSxpRUFBVztJQUN4QyxJQUFNTyxPQUFPVixVQUFXLEdBQUc7SUFFM0IsSUFBSUcsVUFBVTtRQUNaTixPQUFPaUIsbUJBQW1CLENBQUNULFdBQVdJO0lBQ3hDO0lBRUFaLE9BQU9rQixRQUFRLENBQUNMLElBQUksR0FBR0E7SUFFdkIsSUFBSVAsVUFBVTtRQUNaYSxXQUFXO1lBQ1RuQixPQUFPVyxnQkFBZ0IsQ0FBQ0gsV0FBV0k7UUFDckMsR0FBRztJQUNMO0FBQ0Y7QUFFTyxTQUFTZixpQkFBaUJ1QixxQkFBcUI7SUFDcERWLHVCQUF1QlcsSUFBSSxDQUFDRDtBQUM5QjtBQUVPLFNBQVN4QixrQkFBa0J3QixxQkFBcUI7SUFDckQsSUFBTUUsUUFBUVosdUJBQXVCYSxPQUFPLENBQUNIO0lBRTdDLElBQUlFLFFBQVEsQ0FBQyxHQUFHO1FBQ2QsSUFBTUUsUUFBUUYsT0FDUkcsY0FBYztRQUVwQmYsdUJBQXVCZ0IsTUFBTSxDQUFDRixPQUFPQztJQUN2QztBQUNGO0FBRUEsU0FBU2IsbUJBQW1CZSxLQUFLO0lBQy9CLElBQU1kLE9BQU9DLFdBQ1BYLFdBQVdVLE1BQU8sR0FBRztJQUUzQkgsdUJBQXVCa0IsT0FBTyxDQUFDLFNBQUNSO1FBQzlCQSxzQkFBc0JPLE9BQU94QjtJQUMvQjtBQUNGO0FBRUEsU0FBU1c7SUFDUCxJQUFNLEFBQUVJLFdBQWFsQixPQUFia0I7SUFFUixJQUFJLEFBQUVMLE9BQVNLLFNBQVRMO0lBRU4sSUFBTVcsUUFBUTtJQUVkWCxPQUFPQSxLQUFLZ0IsU0FBUyxDQUFDTDtJQUV0QixPQUFPWDtBQUNUIn0=
|
package/package.json
CHANGED
package/src/fragmented.js
CHANGED
|
@@ -23,7 +23,7 @@ const eventType = HASHCHANGE_EVENT_TYPE,
|
|
|
23
23
|
window.addEventListener(eventType, hashChangeListener);
|
|
24
24
|
|
|
25
25
|
function getFragment() {
|
|
26
|
-
const hash =
|
|
26
|
+
const hash = getHash(),
|
|
27
27
|
fragment = new String(hash); ///
|
|
28
28
|
|
|
29
29
|
Object.assign(fragment, {
|
|
@@ -67,11 +67,23 @@ export function offFragmentChange(fragmentChangeHandler) {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
function hashChangeListener() {
|
|
71
|
-
const hash =
|
|
70
|
+
function hashChangeListener(event) {
|
|
71
|
+
const hash = getHash(),
|
|
72
72
|
fragment = hash; ///
|
|
73
73
|
|
|
74
74
|
fragmentChangeHandlers.forEach((fragmentChangeHandler) => {
|
|
75
|
-
fragmentChangeHandler(fragment);
|
|
75
|
+
fragmentChangeHandler(event, fragment);
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
+
|
|
79
|
+
function getHash() {
|
|
80
|
+
const { location } = window;
|
|
81
|
+
|
|
82
|
+
let { hash } = location;
|
|
83
|
+
|
|
84
|
+
const start = 1;
|
|
85
|
+
|
|
86
|
+
hash = hash.substring(start);
|
|
87
|
+
|
|
88
|
+
return hash;
|
|
89
|
+
}
|