fragmented 3.0.1 → 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 CHANGED
@@ -74,7 +74,7 @@
74
74
  var fragmentChangeHandlers = [];
75
75
  window.addEventListener(eventType, hashChangeListener);
76
76
  function getFragment() {
77
- var hash = window.location.hash.substr(1), fragment2 = new String(hash);
77
+ var hash = getHash(), fragment2 = new String(hash);
78
78
  Object.assign(fragment2, {
79
79
  getFragment,
80
80
  setFragment,
@@ -107,11 +107,18 @@
107
107
  }
108
108
  }
109
109
  function hashChangeListener(event) {
110
- var hash = window.location.hash.substr(1), fragment2 = hash;
110
+ var hash = getHash(), fragment2 = hash;
111
111
  fragmentChangeHandlers.forEach(function(fragmentChangeHandler) {
112
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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2NvbnN0YW50cy5qcyIsICJzcmMvZXZlbnRUeXBlcy5qcyIsICJzcmMvZnJhZ21lbnRlZC5qcyIsICJzcmMvaW5kZXguanMiLCAic3JjL2V4YW1wbGUuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRlJBR01FTlQgPSBcImZyYWdtZW50XCI7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUgPSBcImhhc2hjaGFuZ2VcIjtcbiIsICJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRlJBR01FTlQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEhBU0hDSEFOR0VfRVZFTlRfVFlQRSB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgRlJBR01FTlQsIHtcbiAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IGdldEZyYWdtZW50KCk7XG5cbiAgICByZXR1cm4gZnJhZ21lbnQ7XG4gIH0sXG5cbiAgc2V0OiBmdW5jdGlvbihmcmFnbWVudCkge1xuICAgIGNvbnN0IHNpbGVudGx5ID0gZmFsc2U7XG5cbiAgICBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkpO1xuICB9XG59KTtcblxuY29uc3QgZXZlbnRUeXBlID0gSEFTSENIQU5HRV9FVkVOVF9UWVBFLFxuICAgICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycyA9IFtdO1xuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG5cbmZ1bmN0aW9uIGdldEZyYWdtZW50KCkge1xuICBjb25zdCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyKDEpLCAgLy8vXG4gICAgICAgIGZyYWdtZW50ID0gbmV3IFN0cmluZyhoYXNoKTsgIC8vL1xuXG4gIE9iamVjdC5hc3NpZ24oZnJhZ21lbnQsIHtcbiAgICBnZXRGcmFnbWVudCxcbiAgICBzZXRGcmFnbWVudCxcbiAgICBvbkZyYWdtZW50Q2hhbmdlLFxuICAgIG9mZkZyYWdtZW50Q2hhbmdlXG4gIH0pO1xuXG4gIHJldHVybiBmcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gc2V0RnJhZ21lbnQoZnJhZ21lbnQsIHNpbGVudGx5ID0gdHJ1ZSkge1xuICBjb25zdCBoYXNoID0gZnJhZ21lbnQ7ICAvLy9cblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gIH1cblxuICB3aW5kb3cubG9jYXRpb24uaGFzaCA9IGhhc2g7XG5cbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gICAgfSwgMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMucHVzaChmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGNvbnN0IGluZGV4ID0gZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5pbmRleE9mKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNoQ2hhbmdlTGlzdGVuZXIoZXZlbnQpIHtcbiAgY29uc3QgaGFzaCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNoLnN1YnN0cigxKSwgIC8vL1xuICAgICAgICBmcmFnbWVudCA9IGhhc2g7ICAvLy9cblxuICBmcmFnbWVudENoYW5nZUhhbmRsZXJzLmZvckVhY2goKGZyYWdtZW50Q2hhbmdlSGFuZGxlcikgPT4ge1xuICAgIGZyYWdtZW50Q2hhbmdlSGFuZGxlcihldmVudCwgZnJhZ21lbnQpO1xuICB9KTtcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiLi9mcmFnbWVudGVkXCI7XG5cbmV4cG9ydCB7IG9uRnJhZ21lbnRDaGFuZ2UsIG9mZkZyYWdtZW50Q2hhbmdlIH0gZnJvbSBcIi4vZnJhZ21lbnRlZFwiO1xuXG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBcIi4vaW5kZXhcIjsgLy8vXG5cbmNvbnN0IHsgb25GcmFnbWVudENoYW5nZSwgb2ZmRnJhZ21lbnRDaGFuZ2UgfSA9IGZyYWdtZW50O1xuXG5vbkZyYWdtZW50Q2hhbmdlKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbmNvbnNvbGUubG9nKGZyYWdtZW50KVxuXG5mcmFnbWVudCA9IFwidGVzdFwiO1xuXG4vLyBvZmZGcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xuXG5mdW5jdGlvbiBmcmFnbWVudENoYW5nZUhhbmRsZXIoKSB7XG4gIGNvbnNvbGUubG9nKGZyYWdtZW50KVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7OztBQUFBOzs7OzttQ0FFYSxZQUFBOzs7ZUFBQTs7O0FBQU4sUUFBTSxXQUFXOzs7O0FDRnhCOzs7OzttQ0FFYSx5QkFBQTs7O2VBQUE7OztBQUFOLFFBQU0sd0JBQXdCOzs7O0FDRnJDOzs7Ozs7Ozs7Ozs7O01BMERnQixtQkFBaUIsV0FBQTtlQUFqQjs7TUFKQSxrQkFBZ0IsV0FBQTtlQUFoQjs7Ozs7QUFqRGhCLFdBQU8sZUFBZSxRQUFRLFdBQUEsVUFBVTtNQUN0QyxLQUFLLGVBQUw7QUFDRSxZQUFNLFlBQVc7QUFFakIsZUFBTzs7TUFHVCxLQUFLLGFBQVMsV0FBUTtBQUNwQixZQUFNLFdBQVc7QUFFakIsb0JBQVksV0FBVTs7O0FBSTFCLFFBQU0sWUFBWSxZQUFBO0FBQWxCLFFBQ00seUJBQXlCO0FBRS9CLFdBQU8saUJBQWlCLFdBQVc7QUFFbkMsMkJBQVM7QUFDUCxVQUFNLE9BQU8sT0FBTyxTQUFTLEtBQUssT0FBTyxJQUNuQyxZQUFXLElBQUksT0FBTztBQUU1QixhQUFPLE9BQU8sV0FBVTtRQUN0QjtRQUNBO1FBQ0E7UUFDQTs7QUFHRixhQUFPOztBQUdULHlCQUFxQixXQUFRO1VBQUUsV0FBQSxVQUFBLFNBQUEsS0FBQSxVQUFBLE9BQUEsU0FBQSxVQUFBLEtBQVc7QUFDeEMsVUFBTSxPQUFPO0FBRWIsVUFBSSxVQUFVO0FBQ1osZUFBTyxvQkFBb0IsV0FBVzs7QUFHeEMsYUFBTyxTQUFTLE9BQU87QUFFdkIsVUFBSSxVQUFVO0FBQ1osbUJBQVcsV0FBQTtBQUNULGlCQUFPLGlCQUFpQixXQUFXO1dBQ2xDOzs7QUFJQSw4QkFBMEIsdUJBQXFCO0FBQ3BELDZCQUF1QixLQUFLOztBQUd2QiwrQkFBMkIsdUJBQXFCO0FBQ3JELFVBQU0sUUFBUSx1QkFBdUIsUUFBUTtBQUU3QyxVQUFJLFFBQVEsSUFBSTtBQUNkLFlBQU0sUUFBUSxPQUNSLGNBQWM7QUFFcEIsK0JBQXVCLE9BQU8sT0FBTzs7O0FBSXpDLGdDQUE0QixPQUFLO0FBQy9CLFVBQU0sT0FBTyxPQUFPLFNBQVMsS0FBSyxPQUFPLElBQ25DLFlBQVc7QUFFakIsNkJBQXVCLFFBQVEsU0FBQyx1QkFBQTtBQUM5Qiw4QkFBc0IsT0FBTzs7Ozs7O0FDMUVqQzs7Ozs7Ozs7Ozs7OztNQUkyQixtQkFBaUIsV0FBQTtlQUFqQixZQUFBOztNQUFsQixrQkFBZ0IsV0FBQTtlQUFoQixZQUFBOzs7Ozs7O0FDSlQ7Ozs7OztBQUlBLFFBQVEsbUJBQXdDLFNBQXhDO0FBQVIsUUFBMEIsb0JBQXNCLFNBQXRCO0FBRTFCLHFCQUFpQjtBQUVqQixZQUFRLElBQUk7QUFFWixlQUFXO0FBSVgscUNBQVM7QUFDUCxjQUFRLElBQUk7OzsiLAogICJuYW1lcyI6IFtdCn0K
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 = window.location.hash.substr(1), fragment = new String(hash); ///
34
+ var hash = getHash(), fragment = new String(hash); ///
35
35
  Object.assign(fragment, {
36
36
  getFragment: getFragment,
37
37
  setFragment: setFragment,
@@ -64,10 +64,17 @@ function offFragmentChange(fragmentChangeHandler) {
64
64
  }
65
65
  }
66
66
  function hashChangeListener(event) {
67
- var hash = window.location.hash.substr(1), fragment = hash; ///
67
+ var hash = getHash(), fragment = hash; ///
68
68
  fragmentChangeHandlers.forEach(function(fragmentChangeHandler) {
69
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFnbWVudGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGUkFHTUVOVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgSEFTSENIQU5HRV9FVkVOVF9UWVBFIH0gZnJvbSBcIi4vZXZlbnRUeXBlc1wiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCBGUkFHTUVOVCwge1xuICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gZ2V0RnJhZ21lbnQoKTtcblxuICAgIHJldHVybiBmcmFnbWVudDtcbiAgfSxcblxuICBzZXQ6IGZ1bmN0aW9uKGZyYWdtZW50KSB7XG4gICAgY29uc3Qgc2lsZW50bHkgPSBmYWxzZTtcblxuICAgIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSk7XG4gIH1cbn0pO1xuXG5jb25zdCBldmVudFR5cGUgPSBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUsXG4gICAgICBmcmFnbWVudENoYW5nZUhhbmRsZXJzID0gW107XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcblxuZnVuY3Rpb24gZ2V0RnJhZ21lbnQoKSB7XG4gIGNvbnN0IGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHIoMSksICAvLy9cbiAgICAgICAgZnJhZ21lbnQgPSBuZXcgU3RyaW5nKGhhc2gpOyAgLy8vXG5cbiAgT2JqZWN0LmFzc2lnbihmcmFnbWVudCwge1xuICAgIGdldEZyYWdtZW50LFxuICAgIHNldEZyYWdtZW50LFxuICAgIG9uRnJhZ21lbnRDaGFuZ2UsXG4gICAgb2ZmRnJhZ21lbnRDaGFuZ2VcbiAgfSk7XG5cbiAgcmV0dXJuIGZyYWdtZW50O1xufVxuXG5mdW5jdGlvbiBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkgPSB0cnVlKSB7XG4gIGNvbnN0IGhhc2ggPSBmcmFnbWVudDsgIC8vL1xuXG4gIGlmIChzaWxlbnRseSkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgfVxuXG4gIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gaGFzaDtcblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25GcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpIHtcbiAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5wdXNoKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmZGcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpIHtcbiAgY29uc3QgaW5kZXggPSBmcmFnbWVudENoYW5nZUhhbmRsZXJzLmluZGV4T2YoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKTtcblxuICBpZiAoaW5kZXggPiAtMSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgICBmcmFnbWVudENoYW5nZUhhbmRsZXJzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc2hDaGFuZ2VMaXN0ZW5lcihldmVudCkge1xuICBjb25zdCBoYXNoID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyKDEpLCAgLy8vXG4gICAgICAgIGZyYWdtZW50ID0gaGFzaDsgIC8vL1xuXG4gIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMuZm9yRWFjaCgoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSA9PiB7XG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKGV2ZW50LCBmcmFnbWVudCk7XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbIm9mZkZyYWdtZW50Q2hhbmdlIiwib25GcmFnbWVudENoYW5nZSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5Iiwid2luZG93IiwiRlJBR01FTlQiLCJnZXQiLCJmcmFnbWVudCIsImdldEZyYWdtZW50Iiwic2V0Iiwic2lsZW50bHkiLCJzZXRGcmFnbWVudCIsImV2ZW50VHlwZSIsIkhBU0hDSEFOR0VfRVZFTlRfVFlQRSIsImZyYWdtZW50Q2hhbmdlSGFuZGxlcnMiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFzaENoYW5nZUxpc3RlbmVyIiwiaGFzaCIsImxvY2F0aW9uIiwic3Vic3RyIiwiU3RyaW5nIiwiYXNzaWduIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInNldFRpbWVvdXQiLCJmcmFnbWVudENoYW5nZUhhbmRsZXIiLCJwdXNoIiwiaW5kZXgiLCJpbmRleE9mIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSIsImV2ZW50IiwiZm9yRWFjaCJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUEwRGdCQSxpQkFBaUI7ZUFBakJBOztJQUpBQyxnQkFBZ0I7ZUFBaEJBOzs7eUJBcERTOzBCQUNhO0FBRXRDQyxPQUFPQyxjQUFjLENBQUNDLFFBQVFDLG1CQUFRLEVBQUU7SUFDdENDLEtBQUssU0FBTEE7UUFDRSxJQUFNQyxXQUFXQztRQUVqQixPQUFPRDtJQUNUO0lBRUFFLEtBQUssU0FBTEEsSUFBY0YsUUFBUTtRQUNwQixJQUFNRyxXQUFXO1FBRWpCQyxZQUFZSixVQUFVRztJQUN4QjtBQUNGO0FBRUEsSUFBTUUsWUFBWUMsaUNBQXFCLEVBQ2pDQyx5QkFBeUIsRUFBRTtBQUVqQ1YsT0FBT1csZ0JBQWdCLENBQUNILFdBQVdJO0FBRW5DLFNBQVNSO0lBQ1AsSUFBTVMsT0FBT2IsT0FBT2MsUUFBUSxDQUFDRCxJQUFJLENBQUNFLE1BQU0sQ0FBQyxJQUNuQ1osV0FBVyxJQUFJYSxPQUFPSCxPQUFRLEdBQUc7SUFFdkNmLE9BQU9tQixNQUFNLENBQUNkLFVBQVU7UUFDdEJDLGFBQUFBO1FBQ0FHLGFBQUFBO1FBQ0FWLGtCQUFBQTtRQUNBRCxtQkFBQUE7SUFDRjtJQUVBLE9BQU9PO0FBQ1Q7QUFFQSxTQUFTSSxZQUFZSixRQUFRO1FBQUVHLFdBQUFBLGlFQUFXO0lBQ3hDLElBQU1PLE9BQU9WLFVBQVcsR0FBRztJQUUzQixJQUFJRyxVQUFVO1FBQ1pOLE9BQU9rQixtQkFBbUIsQ0FBQ1YsV0FBV0k7SUFDeEM7SUFFQVosT0FBT2MsUUFBUSxDQUFDRCxJQUFJLEdBQUdBO0lBRXZCLElBQUlQLFVBQVU7UUFDWmEsV0FBVztZQUNUbkIsT0FBT1csZ0JBQWdCLENBQUNILFdBQVdJO1FBQ3JDLEdBQUc7SUFDTDtBQUNGO0FBRU8sU0FBU2YsaUJBQWlCdUIscUJBQXFCO0lBQ3BEVix1QkFBdUJXLElBQUksQ0FBQ0Q7QUFDOUI7QUFFTyxTQUFTeEIsa0JBQWtCd0IscUJBQXFCO0lBQ3JELElBQU1FLFFBQVFaLHVCQUF1QmEsT0FBTyxDQUFDSDtJQUU3QyxJQUFJRSxRQUFRLENBQUMsR0FBRztRQUNkLElBQU1FLFFBQVFGLE9BQ1JHLGNBQWM7UUFFcEJmLHVCQUF1QmdCLE1BQU0sQ0FBQ0YsT0FBT0M7SUFDdkM7QUFDRjtBQUVBLFNBQVNiLG1CQUFtQmUsS0FBSztJQUMvQixJQUFNZCxPQUFPYixPQUFPYyxRQUFRLENBQUNELElBQUksQ0FBQ0UsTUFBTSxDQUFDLElBQ25DWixXQUFXVSxNQUFPLEdBQUc7SUFFM0JILHVCQUF1QmtCLE9BQU8sQ0FBQyxTQUFDUjtRQUM5QkEsc0JBQXNCTyxPQUFPeEI7SUFDL0I7QUFDRiJ9
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFnbWVudGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBGUkFHTUVOVCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgSEFTSENIQU5HRV9FVkVOVF9UWVBFIH0gZnJvbSBcIi4vZXZlbnRUeXBlc1wiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCBGUkFHTUVOVCwge1xuICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gZ2V0RnJhZ21lbnQoKTtcblxuICAgIHJldHVybiBmcmFnbWVudDtcbiAgfSxcblxuICBzZXQ6IGZ1bmN0aW9uKGZyYWdtZW50KSB7XG4gICAgY29uc3Qgc2lsZW50bHkgPSBmYWxzZTtcblxuICAgIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSk7XG4gIH1cbn0pO1xuXG5jb25zdCBldmVudFR5cGUgPSBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUsXG4gICAgICBmcmFnbWVudENoYW5nZUhhbmRsZXJzID0gW107XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcblxuZnVuY3Rpb24gZ2V0RnJhZ21lbnQoKSB7XG4gIGNvbnN0IGhhc2ggPSBnZXRIYXNoKCksXG4gICAgICAgIGZyYWdtZW50ID0gbmV3IFN0cmluZyhoYXNoKTsgIC8vL1xuXG4gIE9iamVjdC5hc3NpZ24oZnJhZ21lbnQsIHtcbiAgICBnZXRGcmFnbWVudCxcbiAgICBzZXRGcmFnbWVudCxcbiAgICBvbkZyYWdtZW50Q2hhbmdlLFxuICAgIG9mZkZyYWdtZW50Q2hhbmdlXG4gIH0pO1xuXG4gIHJldHVybiBmcmFnbWVudDtcbn1cblxuZnVuY3Rpb24gc2V0RnJhZ21lbnQoZnJhZ21lbnQsIHNpbGVudGx5ID0gdHJ1ZSkge1xuICBjb25zdCBoYXNoID0gZnJhZ21lbnQ7ICAvLy9cblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gIH1cblxuICB3aW5kb3cubG9jYXRpb24uaGFzaCA9IGhhc2g7XG5cbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gICAgfSwgMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMucHVzaChmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGNvbnN0IGluZGV4ID0gZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5pbmRleE9mKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNoQ2hhbmdlTGlzdGVuZXIoZXZlbnQpIHtcbiAgY29uc3QgaGFzaCA9IGdldEhhc2goKSxcbiAgICAgICAgZnJhZ21lbnQgPSBoYXNoOyAgLy8vXG5cbiAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChmcmFnbWVudENoYW5nZUhhbmRsZXIpID0+IHtcbiAgICBmcmFnbWVudENoYW5nZUhhbmRsZXIoZXZlbnQsIGZyYWdtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldEhhc2goKSB7XG4gIGNvbnN0IHsgbG9jYXRpb24gfSA9IHdpbmRvdztcblxuICBsZXQgeyBoYXNoIH0gPSBsb2NhdGlvbjtcblxuICBjb25zdCBzdGFydCA9IDE7XG5cbiAgaGFzaCA9IGhhc2guc3Vic3RyaW5nKHN0YXJ0KTtcblxuICByZXR1cm4gaGFzaDtcbn0iXSwibmFtZXMiOlsib2ZmRnJhZ21lbnRDaGFuZ2UiLCJvbkZyYWdtZW50Q2hhbmdlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3aW5kb3ciLCJGUkFHTUVOVCIsImdldCIsImZyYWdtZW50IiwiZ2V0RnJhZ21lbnQiLCJzZXQiLCJzaWxlbnRseSIsInNldEZyYWdtZW50IiwiZXZlbnRUeXBlIiwiSEFTSENIQU5HRV9FVkVOVF9UWVBFIiwiZnJhZ21lbnRDaGFuZ2VIYW5kbGVycyIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYXNoQ2hhbmdlTGlzdGVuZXIiLCJoYXNoIiwiZ2V0SGFzaCIsIlN0cmluZyIsImFzc2lnbiIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhdGlvbiIsInNldFRpbWVvdXQiLCJmcmFnbWVudENoYW5nZUhhbmRsZXIiLCJwdXNoIiwiaW5kZXgiLCJpbmRleE9mIiwic3RhcnQiLCJkZWxldGVDb3VudCIsInNwbGljZSIsImV2ZW50IiwiZm9yRWFjaCIsInN1YnN0cmluZyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBMERnQkEsaUJBQWlCO2VBQWpCQTs7SUFKQUMsZ0JBQWdCO2VBQWhCQTs7O3lCQXBEUzswQkFDYTtBQUV0Q0MsT0FBT0MsY0FBYyxDQUFDQyxRQUFRQyxtQkFBUSxFQUFFO0lBQ3RDQyxLQUFLLFNBQUxBO1FBQ0UsSUFBTUMsV0FBV0M7UUFFakIsT0FBT0Q7SUFDVDtJQUVBRSxLQUFLLFNBQUxBLElBQWNGLFFBQVE7UUFDcEIsSUFBTUcsV0FBVztRQUVqQkMsWUFBWUosVUFBVUc7SUFDeEI7QUFDRjtBQUVBLElBQU1FLFlBQVlDLGlDQUFxQixFQUNqQ0MseUJBQXlCLEVBQUU7QUFFakNWLE9BQU9XLGdCQUFnQixDQUFDSCxXQUFXSTtBQUVuQyxTQUFTUjtJQUNQLElBQU1TLE9BQU9DLFdBQ1BYLFdBQVcsSUFBSVksT0FBT0YsT0FBUSxHQUFHO0lBRXZDZixPQUFPa0IsTUFBTSxDQUFDYixVQUFVO1FBQ3RCQyxhQUFBQTtRQUNBRyxhQUFBQTtRQUNBVixrQkFBQUE7UUFDQUQsbUJBQUFBO0lBQ0Y7SUFFQSxPQUFPTztBQUNUO0FBRUEsU0FBU0ksWUFBWUosUUFBUTtRQUFFRyxXQUFBQSxpRUFBVztJQUN4QyxJQUFNTyxPQUFPVixVQUFXLEdBQUc7SUFFM0IsSUFBSUcsVUFBVTtRQUNaTixPQUFPaUIsbUJBQW1CLENBQUNULFdBQVdJO0lBQ3hDO0lBRUFaLE9BQU9rQixRQUFRLENBQUNMLElBQUksR0FBR0E7SUFFdkIsSUFBSVAsVUFBVTtRQUNaYSxXQUFXO1lBQ1RuQixPQUFPVyxnQkFBZ0IsQ0FBQ0gsV0FBV0k7UUFDckMsR0FBRztJQUNMO0FBQ0Y7QUFFTyxTQUFTZixpQkFBaUJ1QixxQkFBcUI7SUFDcERWLHVCQUF1QlcsSUFBSSxDQUFDRDtBQUM5QjtBQUVPLFNBQVN4QixrQkFBa0J3QixxQkFBcUI7SUFDckQsSUFBTUUsUUFBUVosdUJBQXVCYSxPQUFPLENBQUNIO0lBRTdDLElBQUlFLFFBQVEsQ0FBQyxHQUFHO1FBQ2QsSUFBTUUsUUFBUUYsT0FDUkcsY0FBYztRQUVwQmYsdUJBQXVCZ0IsTUFBTSxDQUFDRixPQUFPQztJQUN2QztBQUNGO0FBRUEsU0FBU2IsbUJBQW1CZSxLQUFLO0lBQy9CLElBQU1kLE9BQU9DLFdBQ1BYLFdBQVdVLE1BQU8sR0FBRztJQUUzQkgsdUJBQXVCa0IsT0FBTyxDQUFDLFNBQUNSO1FBQzlCQSxzQkFBc0JPLE9BQU94QjtJQUMvQjtBQUNGO0FBRUEsU0FBU1c7SUFDUCxJQUFNLEFBQUVJLFdBQWFsQixPQUFia0I7SUFFUixJQUFJLEFBQUVMLE9BQVNLLFNBQVRMO0lBRU4sSUFBTVcsUUFBUTtJQUVkWCxPQUFPQSxLQUFLZ0IsU0FBUyxDQUFDTDtJQUV0QixPQUFPWDtBQUNUIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fragmented",
3
3
  "author": "James Smith",
4
- "version": "3.0.1",
4
+ "version": "3.0.2",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/fragmented",
7
7
  "description": "Relates to URL hash fragments.",
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 = window.location.hash.substr(1), ///
26
+ const hash = getHash(),
27
27
  fragment = new String(hash); ///
28
28
 
29
29
  Object.assign(fragment, {
@@ -68,10 +68,22 @@ export function offFragmentChange(fragmentChangeHandler) {
68
68
  }
69
69
 
70
70
  function hashChangeListener(event) {
71
- const hash = window.location.hash.substr(1), ///
71
+ const hash = getHash(),
72
72
  fragment = hash; ///
73
73
 
74
74
  fragmentChangeHandlers.forEach((fragmentChangeHandler) => {
75
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
+ }