fragmented 3.1.5 → 3.1.7

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/README.md CHANGED
@@ -73,7 +73,9 @@ const fragmentChangeHandler = () {
73
73
 
74
74
  onFragmentChange(fragmentChangeHandler);
75
75
 
76
- // offFragmentChange(fragmentChangeHandler);
76
+ ...
77
+
78
+ offFragmentChange(fragmentChangeHandler);
77
79
  ```
78
80
 
79
81
  Note that handlers are invoked whenever the `fragment` variable is set. If you do not want this behaviour, in other words you want to be able to change the fragment in the address bar without your handlers being invoked, you can to this with an additional `setFragment()` function as follows:
package/bin/main.js CHANGED
@@ -6,7 +6,7 @@ const { createLiveReloadHandler } = require("lively-cli");
6
6
 
7
7
  const server = express(), ///
8
8
  staticRouter = express.static("."),
9
- liveReloadHandler = createLiveReloadHandler("./examples.js");
9
+ liveReloadHandler = createLiveReloadHandler("./example.js");
10
10
 
11
11
  server.use(staticRouter);
12
12
 
package/example.js CHANGED
@@ -109,29 +109,21 @@
109
109
  }
110
110
  function resetFragment() {
111
111
  var silently = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
112
- if (silently) {
113
- window.removeEventListener(eventType, hashChangeListener);
114
- }
112
+ var fragment2 = _constants.EMPTY_STRING;
113
+ setFragment(fragment2, silently);
115
114
  var href = location.href;
116
115
  var index = href.indexOf(_constants.HASH);
117
116
  if (index !== -1) {
118
117
  var start = 0, end = index;
119
118
  href = href.substring(start, end);
120
- history.pushState({}, _constants.EMPTY_STRING, href);
121
- }
122
- if (silently) {
123
- setTimeout(function() {
124
- window.addEventListener(eventType, hashChangeListener);
125
- }, 0);
119
+ history.replaceState({}, _constants.EMPTY_STRING, href);
126
120
  }
127
121
  }
128
122
  function onFragmentChange(fragmentChangeHandler) {
129
- var element = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this;
130
- addFragmentChangeEventListener(fragmentChangeHandler, element);
123
+ addFragmentChangeEventListener(fragmentChangeHandler);
131
124
  }
132
125
  function offFragmentChange(fragmentChangeHandler) {
133
- var element = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this;
134
- removeFragmentChangeEventListener(fragmentChangeHandler, element);
126
+ removeFragmentChangeEventListener(fragmentChangeHandler);
135
127
  }
136
128
  Object.defineProperty(globalThis, _constants.FRAGMENT, {
137
129
  get: function get() {
@@ -144,7 +136,7 @@
144
136
  }
145
137
  });
146
138
  var eventType = _eventTypes.HASHCHANGE_EVENT_TYPE;
147
- var fragmentChangeEventListeners = [];
139
+ var fragmentChangeHandlers = [];
148
140
  window.addEventListener(eventType, hashChangeListener);
149
141
  function getHash() {
150
142
  var location1 = window.location;
@@ -158,38 +150,18 @@
158
150
  callFragmentChangeHandlers(event, element, fragment2);
159
151
  }
160
152
  function callFragmentChangeHandlers(event, element, fragment2) {
161
- fragmentChangeEventListeners.forEach(function(fragmentChangeEventListener) {
162
- var fragmentChangeHandler = fragmentChangeEventListener.fragmentChangeHandler, fragmentChangeHandlerElement = fragmentChangeEventListener.element;
163
- fragmentChangeHandler.call(fragmentChangeHandlerElement, event, element, fragment2);
153
+ fragmentChangeHandlers.forEach(function(fragmentChangeHandler) {
154
+ fragmentChangeHandler(event, element, fragment2);
164
155
  });
165
156
  }
166
- function addFragmentChangeEventListener(fragmentChangeHandler, element) {
167
- var fragmentChangeEventListener = createFragmentChangeEventListener(fragmentChangeHandler, element);
168
- fragmentChangeEventListeners.push(fragmentChangeEventListener);
169
- return fragmentChangeEventListener;
170
- }
171
- function removeFragmentChangeEventListener(fragmentChangeHandler, element) {
172
- var fragmentChangeEventListener = findFragmentChangeEventListener(fragmentChangeHandler, element), index = fragmentChangeEventListeners.indexOf(fragmentChangeEventListener), start = index, deleteCount = 1;
173
- fragmentChangeEventListeners.splice(start, deleteCount);
174
- return fragmentChangeEventListener;
175
- }
176
- function createFragmentChangeEventListener(fragmentChangeHandler, element) {
177
- var fragmentChangeEventListener;
178
- fragmentChangeEventListener = function() {
179
- };
180
- Object.assign(fragmentChangeEventListener, {
181
- element,
182
- fragmentChangeHandler
183
- });
184
- return fragmentChangeEventListener;
157
+ function addFragmentChangeEventListener(fragmentChangeHandler) {
158
+ fragmentChangeHandlers.push(fragmentChangeHandler);
159
+ return fragmentChangeHandler;
185
160
  }
186
- function findFragmentChangeEventListener(fragmentChangeHandler, element) {
187
- var fragmentChangeEventListener = fragmentChangeEventListeners.find(function(fragmentChangeEventListener2) {
188
- if (fragmentChangeEventListener2.element === element && fragmentChangeEventListener2.fragmentChangeHandler === fragmentChangeHandler) {
189
- return true;
190
- }
191
- });
192
- return fragmentChangeEventListener;
161
+ function removeFragmentChangeEventListener(fragmentChangeHandler) {
162
+ var index = fragmentChangeHandlers.indexOf(fragmentChangeHandler), start = index, deleteCount = 1;
163
+ fragmentChangeHandlers.splice(start, deleteCount);
164
+ return fragmentChangeHandler;
193
165
  }
194
166
  });
195
167
 
@@ -233,15 +205,19 @@
233
205
  value: true
234
206
  });
235
207
  require_lib();
208
+ var resetFragment = fragment.resetFragment;
236
209
  var onFragmentChange = fragment.onFragmentChange;
237
- var offFragmentChange = fragment.offFragmentChange;
238
210
  onFragmentChange(fragmentChangeHandler);
239
- console.log(fragment);
211
+ console.log("Initially: '".concat(fragment, "'."));
240
212
  fragment = "test";
241
213
  function fragmentChangeHandler() {
242
- console.log(fragment);
214
+ console.log("Changed to '".concat(fragment, "'."));
243
215
  }
216
+ window.addEventListener("click", function() {
217
+ var silently = false;
218
+ resetFragment(silently);
219
+ });
244
220
  });
245
221
  require_example();
246
222
  })();
247
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2V2ZW50VHlwZXMuanMiLCAic3JjL2NvbnN0YW50cy5qcyIsICJzcmMvZnJhZ21lbnRlZC5qcyIsICJzcmMvaW5kZXguanMiLCAic3JjL2V4YW1wbGUuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgSEFTSENIQU5HRV9FVkVOVF9UWVBFID0gXCJoYXNoY2hhbmdlXCI7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIQVNIID0gXCIjXCI7XG5leHBvcnQgY29uc3QgRlJBR01FTlQgPSBcImZyYWdtZW50XCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjsiLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEhBU0hDSEFOR0VfRVZFTlRfVFlQRSB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcbmltcG9ydCB7IEhBU0gsIEZSQUdNRU5ULCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50KCkge1xuICBjb25zdCBoYXNoID0gZ2V0SGFzaCgpLFxuICAgICAgICBmcmFnbWVudCA9IG5ldyBTdHJpbmcoaGFzaCk7ICAvLy9cblxuICBPYmplY3QuYXNzaWduKGZyYWdtZW50LCB7XG4gICAgZ2V0RnJhZ21lbnQsXG4gICAgc2V0RnJhZ21lbnQsXG4gICAgcmVzZXRGcmFnbWVudCxcbiAgICBvbkZyYWdtZW50Q2hhbmdlLFxuICAgIG9mZkZyYWdtZW50Q2hhbmdlXG4gIH0pO1xuXG4gIHJldHVybiBmcmFnbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSA9IHRydWUpIHtcbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICB9XG5cbiAgY29uc3QgaGFzaCA9IGZyYWdtZW50OyAgLy8vXG5cbiAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoO1xuXG4gIGlmIChzaWxlbnRseSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICAgIH0sIDApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldEZyYWdtZW50KHNpbGVudGx5ID0gdHJ1ZSkge1xuICBpZiAoc2lsZW50bHkpIHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gIH1cblxuICBsZXQgeyBocmVmIH0gPSBsb2NhdGlvbjtcblxuICBjb25zdCBpbmRleCA9IGhyZWYuaW5kZXhPZihIQVNIKTtcblxuICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgY29uc3Qgc3RhcnQgPSAwLFxuICAgICAgICAgIGVuZCA9IGluZGV4OyAgLy8vXG5cbiAgICBocmVmID0gaHJlZi5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7IC8vL1xuXG4gICAgaGlzdG9yeS5wdXNoU3RhdGUoe30sIEVNUFRZX1NUUklORywgaHJlZik7XG4gIH1cblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25GcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIsIGVsZW1lbnQgPSB0aGlzKSB7XG4gIGFkZEZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcihmcmFnbWVudENoYW5nZUhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50ID0gdGhpcykge1xuICByZW1vdmVGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGdsb2JhbFRoaXMsIEZSQUdNRU5ULCB7XG4gIGdldDogZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgZnJhZ21lbnQgPSBnZXRGcmFnbWVudCgpO1xuXG4gICAgcmV0dXJuIGZyYWdtZW50O1xuICB9LFxuXG4gIHNldDogZnVuY3Rpb24oZnJhZ21lbnQpIHtcbiAgICBjb25zdCBzaWxlbnRseSA9IGZhbHNlO1xuXG4gICAgc2V0RnJhZ21lbnQoZnJhZ21lbnQsIHNpbGVudGx5KTtcbiAgfVxufSk7XG5cbmNvbnN0IGV2ZW50VHlwZSA9IEhBU0hDSEFOR0VfRVZFTlRfVFlQRSxcbiAgICAgIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcnMgPSBbXTtcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuXG5mdW5jdGlvbiBnZXRIYXNoKCkge1xuICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG5cbiAgbGV0IHsgaGFzaCB9ID0gbG9jYXRpb247XG5cbiAgY29uc3Qgc3RhcnQgPSAxO1xuXG4gIGhhc2ggPSBoYXNoLnN1YnN0cmluZyhzdGFydCk7XG5cbiAgcmV0dXJuIGhhc2g7XG59XG5cbmZ1bmN0aW9uIGhhc2hDaGFuZ2VMaXN0ZW5lcihldmVudCkge1xuICBjb25zdCBoYXNoID0gZ2V0SGFzaCgpLFxuICAgICAgICBlbGVtZW50ID0gd2luZG93LCAvLy9cbiAgICAgICAgZnJhZ21lbnQgPSBoYXNoOyAgLy8vXG5cbiAgY2FsbEZyYWdtZW50Q2hhbmdlSGFuZGxlcnMoZXZlbnQsIGVsZW1lbnQsIGZyYWdtZW50KTtcbn1cblxuZnVuY3Rpb24gY2FsbEZyYWdtZW50Q2hhbmdlSGFuZGxlcnMoZXZlbnQsIGVsZW1lbnQsIGZyYWdtZW50KSB7XG4gIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKSA9PiB7XG4gICAgY29uc3QgeyBmcmFnbWVudENoYW5nZUhhbmRsZXIsIGVsZW1lbnQ6IGZyYWdtZW50Q2hhbmdlSGFuZGxlckVsZW1lbnQgfSA9IGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcjsgLy8vXG5cbiAgICBmcmFnbWVudENoYW5nZUhhbmRsZXIuY2FsbChmcmFnbWVudENoYW5nZUhhbmRsZXJFbGVtZW50LCBldmVudCwgZWxlbWVudCwgZnJhZ21lbnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIgPSBjcmVhdGVGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KTtcblxuICBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXJzLnB1c2goZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKTtcblxuICByZXR1cm4gZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiByZW1vdmVGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lciA9IGZpbmRGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KSxcbiAgICAgICAgaW5kZXggPSBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXJzLmluZGV4T2YoZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKSxcbiAgICAgICAgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVycy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcblxuICByZXR1cm4gZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGxldCBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXI7XG5cbiAgZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyID0gKCkgPT4ge307IC8vL1xuXG4gIE9iamVjdC5hc3NpZ24oZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyLCB7XG4gICAgZWxlbWVudCxcbiAgICBmcmFnbWVudENoYW5nZUhhbmRsZXJcbiAgfSk7XG5cbiAgcmV0dXJuIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gZmluZEZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcihmcmFnbWVudENoYW5nZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyID0gZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVycy5maW5kKChmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBpZiAoKGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lci5lbGVtZW50ID09PSBlbGVtZW50KSAmJiAoZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyLmZyYWdtZW50Q2hhbmdlSGFuZGxlciA9PT0gZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyO1xufVxuIiwgIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2ZyYWdtZW50ZWRcIjtcblxuZXhwb3J0IHsgZ2V0RnJhZ21lbnQsIHNldEZyYWdtZW50LCByZXNldEZyYWdtZW50LCBvbkZyYWdtZW50Q2hhbmdlLCBvZmZGcmFnbWVudENoYW5nZSB9IGZyb20gXCIuL2ZyYWdtZW50ZWRcIjtcblxuIiwgIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7IC8vL1xuXG5jb25zdCB7IG9uRnJhZ21lbnRDaGFuZ2UsIG9mZkZyYWdtZW50Q2hhbmdlIH0gPSBmcmFnbWVudDtcblxub25GcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xuXG5jb25zb2xlLmxvZyhmcmFnbWVudClcblxuZnJhZ21lbnQgPSBcInRlc3RcIjtcblxuLy8gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKTtcblxuZnVuY3Rpb24gZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKCkge1xuICBjb25zb2xlLmxvZyhmcmFnbWVudClcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTs7Ozs7bUNBRWEseUJBQUE7OztlQUFBOzs7QUFBTixRQUFNLHdCQUF3Qjs7OztBQ0ZyQzs7Ozs7Ozs7Ozs7OztNQUlhLGNBQVksV0FBQTtlQUFaOztNQURBLFVBQVEsV0FBQTtlQUFSOztNQURBLE1BQUksV0FBQTtlQUFKOzs7QUFBTixRQUFNLE9BQU87QUFDYixRQUFNLFdBQVc7QUFDakIsUUFBTSxlQUFlOzs7O0FDSjVCOzs7Ozs7Ozs7Ozs7O01BS2dCLGFBQVcsV0FBQTtlQUFYOztNQTREQSxtQkFBaUIsV0FBQTtlQUFqQjs7TUFKQSxrQkFBZ0IsV0FBQTtlQUFoQjs7TUF6QkEsZUFBYSxXQUFBO2VBQWI7O01BaEJBLGFBQVcsV0FBQTtlQUFYOzs7OztBQWZULDJCQUFTO0FBQ2QsVUFBTSxPQUFPLFdBQ1AsWUFBVyxJQUFJLE9BQU87QUFFNUIsYUFBTyxPQUFPLFdBQVU7UUFDdEI7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7QUFHRixhQUFPOztBQUdGLHlCQUFxQixXQUFRO1VBQUUsV0FBQSxVQUFBLFNBQUEsS0FBQSxVQUFBLE9BQUEsU0FBQSxVQUFBLEtBQVc7QUFDL0MsVUFBSSxVQUFVO0FBQ1osZUFBTyxvQkFBb0IsV0FBVzs7QUFHeEMsVUFBTSxPQUFPO0FBRWIsYUFBTyxTQUFTLE9BQU87QUFFdkIsVUFBSSxVQUFVO0FBQ1osbUJBQVcsV0FBQTtBQUNULGlCQUFPLGlCQUFpQixXQUFXO1dBQ2xDOzs7QUFJQSw2QkFBUztVQUFjLFdBQUEsVUFBQSxTQUFBLEtBQUEsVUFBQSxPQUFBLFNBQUEsVUFBQSxLQUFXO0FBQ3ZDLFVBQUksVUFBVTtBQUNaLGVBQU8sb0JBQW9CLFdBQVc7O0FBR3hDLFVBQU0sT0FBUyxTQUFUO0FBRU4sVUFBTSxRQUFRLEtBQUssUUFBUSxXQUFBO0FBRTNCLFVBQUksVUFBVSxJQUFJO0FBQ2hCLFlBQU0sUUFBUSxHQUNSLE1BQU07QUFFWixlQUFPLEtBQUssVUFBVSxPQUFPO0FBRTdCLGdCQUFRLFVBQVUsSUFBSSxXQUFBLGNBQWM7O0FBR3RDLFVBQUksVUFBVTtBQUNaLG1CQUFXLFdBQUE7QUFDVCxpQkFBTyxpQkFBaUIsV0FBVztXQUNsQzs7O0FBSUEsOEJBQTBCLHVCQUFxQjtVQUFFLFVBQUEsVUFBQSxTQUFBLEtBQUEsVUFBQSxPQUFBLFNBQUEsVUFBQSxLQUFVO0FBQ2hFLHFDQUErQix1QkFBdUI7O0FBR2pELCtCQUEyQix1QkFBcUI7VUFBRSxVQUFBLFVBQUEsU0FBQSxLQUFBLFVBQUEsT0FBQSxTQUFBLFVBQUEsS0FBVTtBQUNqRSx3Q0FBa0MsdUJBQXVCOztBQUczRCxXQUFPLGVBQWUsWUFBWSxXQUFBLFVBQVU7TUFDMUMsS0FBSyxlQUFMO0FBQ0UsWUFBTSxZQUFXO0FBRWpCLGVBQU87O01BR1QsS0FBSyxhQUFTLFdBQVE7QUFDcEIsWUFBTSxXQUFXO0FBRWpCLG9CQUFZLFdBQVU7OztBQUkxQixRQUFNLFlBQVksWUFBQTtBQUFsQixRQUNNLCtCQUErQjtBQUVyQyxXQUFPLGlCQUFpQixXQUFXO0FBRW5DLHVCQUFTO0FBQ1AsVUFBUSxZQUFhLE9BQWI7QUFFUixVQUFNLE9BQVMsVUFBVDtBQUVOLFVBQU0sUUFBUTtBQUVkLGFBQU8sS0FBSyxVQUFVO0FBRXRCLGFBQU87O0FBR1QsZ0NBQTRCLE9BQUs7QUFDL0IsVUFBTSxPQUFPLFdBQ1AsVUFBVSxRQUNWLFlBQVc7QUFFakIsaUNBQTJCLE9BQU8sU0FBUzs7QUFHN0Msd0NBQW9DLE9BQU8sU0FBUyxXQUFRO0FBQzFELG1DQUE2QixRQUFRLFNBQUMsNkJBQUE7QUFDcEMsWUFBUSx3QkFBaUUsNEJBQWpFLHVCQUFnQywrQkFBaUMsNEJBQTFDO0FBRS9CLDhCQUFzQixLQUFLLDhCQUE4QixPQUFPLFNBQVM7OztBQUk3RSw0Q0FBd0MsdUJBQXVCLFNBQU87QUFDcEUsVUFBTSw4QkFBOEIsa0NBQWtDLHVCQUF1QjtBQUU3RixtQ0FBNkIsS0FBSztBQUVsQyxhQUFPOztBQUdULCtDQUEyQyx1QkFBdUIsU0FBTztBQUN2RSxVQUFNLDhCQUE4QixnQ0FBZ0MsdUJBQXVCLFVBQ3JGLFFBQVEsNkJBQTZCLFFBQVEsOEJBQzdDLFFBQVEsT0FDUixjQUFjO0FBRXBCLG1DQUE2QixPQUFPLE9BQU87QUFFM0MsYUFBTzs7QUFHVCwrQ0FBMkMsdUJBQXVCLFNBQU87QUFDdkUsVUFBSTtBQUVKLG9DQUE4QixXQUFBOztBQUU5QixhQUFPLE9BQU8sNkJBQTZCO1FBQ3pDO1FBQ0E7O0FBR0YsYUFBTzs7QUFHVCw2Q0FBeUMsdUJBQXVCLFNBQU87QUFDckUsVUFBTSw4QkFBOEIsNkJBQTZCLEtBQUssU0FBQyw4QkFBQTtBQUNyRSxZQUFLLDZCQUE0QixZQUFZLFdBQWEsNkJBQTRCLDBCQUEwQix1QkFBd0I7QUFDdEksaUJBQU87OztBQUlYLGFBQU87Ozs7O0FDM0pUOzs7Ozs7Ozs7Ozs7O01BSVMsYUFBVyxXQUFBO2VBQVgsWUFBQTs7TUFBMkQsbUJBQWlCLFdBQUE7ZUFBakIsWUFBQTs7TUFBbEIsa0JBQWdCLFdBQUE7ZUFBaEIsWUFBQTs7TUFBZixlQUFhLFdBQUE7ZUFBYixZQUFBOztNQUFiLGFBQVcsV0FBQTtlQUFYLFlBQUE7Ozs7Ozs7QUNKdEI7Ozs7OztBQUlBLFFBQVEsbUJBQXdDLFNBQXhDO0FBQVIsUUFBMEIsb0JBQXNCLFNBQXRCO0FBRTFCLHFCQUFpQjtBQUVqQixZQUFRLElBQUk7QUFFWixlQUFXO0FBSVgscUNBQVM7QUFDUCxjQUFRLElBQUk7OzsiLAogICJuYW1lcyI6IFtdCn0K
223
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2V2ZW50VHlwZXMuanMiLCAic3JjL2NvbnN0YW50cy5qcyIsICJzcmMvZnJhZ21lbnRlZC5qcyIsICJzcmMvaW5kZXguanMiLCAic3JjL2V4YW1wbGUuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgSEFTSENIQU5HRV9FVkVOVF9UWVBFID0gXCJoYXNoY2hhbmdlXCI7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBIQVNIID0gXCIjXCI7XG5leHBvcnQgY29uc3QgRlJBR01FTlQgPSBcImZyYWdtZW50XCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjsiLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEhBU0hDSEFOR0VfRVZFTlRfVFlQRSB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcbmltcG9ydCB7IEhBU0gsIEZSQUdNRU5ULCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZyYWdtZW50KCkge1xuICBjb25zdCBoYXNoID0gZ2V0SGFzaCgpLFxuICAgICAgICBmcmFnbWVudCA9IG5ldyBTdHJpbmcoaGFzaCk7ICAvLy9cblxuICBPYmplY3QuYXNzaWduKGZyYWdtZW50LCB7XG4gICAgZ2V0RnJhZ21lbnQsXG4gICAgc2V0RnJhZ21lbnQsXG4gICAgcmVzZXRGcmFnbWVudCxcbiAgICBvbkZyYWdtZW50Q2hhbmdlLFxuICAgIG9mZkZyYWdtZW50Q2hhbmdlXG4gIH0pO1xuXG4gIHJldHVybiBmcmFnbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSA9IHRydWUpIHtcbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICB9XG5cbiAgY29uc3QgaGFzaCA9IGZyYWdtZW50OyAgLy8vXG5cbiAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoO1xuXG4gIGlmIChzaWxlbnRseSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICAgIH0sIDApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldEZyYWdtZW50KHNpbGVudGx5ID0gdHJ1ZSkge1xuICBjb25zdCBmcmFnbWVudCA9IEVNUFRZX1NUUklORztcblxuICBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkpO1xuXG4gIGxldCB7IGhyZWYgfSA9IGxvY2F0aW9uO1xuXG4gIGNvbnN0IGluZGV4ID0gaHJlZi5pbmRleE9mKEhBU0gpO1xuXG4gIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICBjb25zdCBzdGFydCA9IDAsXG4gICAgICAgICAgZW5kID0gaW5kZXg7ICAvLy9cblxuICAgIGhyZWYgPSBocmVmLnN1YnN0cmluZyhzdGFydCwgZW5kKTsgLy8vXG5cbiAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSwgRU1QVFlfU1RSSU5HLCBocmVmKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25GcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpIHtcbiAgYWRkRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmZGcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpIHtcbiAgcmVtb3ZlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWxUaGlzLCBGUkFHTUVOVCwge1xuICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gZ2V0RnJhZ21lbnQoKTtcblxuICAgIHJldHVybiBmcmFnbWVudDtcbiAgfSxcblxuICBzZXQ6IGZ1bmN0aW9uKGZyYWdtZW50KSB7XG4gICAgY29uc3Qgc2lsZW50bHkgPSBmYWxzZTtcblxuICAgIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSk7XG4gIH1cbn0pO1xuXG5jb25zdCBldmVudFR5cGUgPSBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUsXG4gICAgICBmcmFnbWVudENoYW5nZUhhbmRsZXJzID0gW107XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcblxuZnVuY3Rpb24gZ2V0SGFzaCgpIHtcbiAgY29uc3QgeyBsb2NhdGlvbiB9ID0gd2luZG93O1xuXG4gIGxldCB7IGhhc2ggfSA9IGxvY2F0aW9uO1xuXG4gIGNvbnN0IHN0YXJ0ID0gMTtcblxuICBoYXNoID0gaGFzaC5zdWJzdHJpbmcoc3RhcnQpO1xuXG4gIHJldHVybiBoYXNoO1xufVxuXG5mdW5jdGlvbiBoYXNoQ2hhbmdlTGlzdGVuZXIoZXZlbnQpIHtcbiAgY29uc3QgaGFzaCA9IGdldEhhc2goKSxcbiAgICAgICAgZWxlbWVudCA9IHdpbmRvdywgLy8vXG4gICAgICAgIGZyYWdtZW50ID0gaGFzaDsgIC8vL1xuXG4gIGNhbGxGcmFnbWVudENoYW5nZUhhbmRsZXJzKGV2ZW50LCBlbGVtZW50LCBmcmFnbWVudCk7XG59XG5cbmZ1bmN0aW9uIGNhbGxGcmFnbWVudENoYW5nZUhhbmRsZXJzKGV2ZW50LCBlbGVtZW50LCBmcmFnbWVudCkge1xuICBmcmFnbWVudENoYW5nZUhhbmRsZXJzLmZvckVhY2goKGZyYWdtZW50Q2hhbmdlSGFuZGxlcikgPT4ge1xuICAgIGZyYWdtZW50Q2hhbmdlSGFuZGxlcihldmVudCwgZWxlbWVudCwgZnJhZ21lbnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlcikge1xuICBmcmFnbWVudENoYW5nZUhhbmRsZXJzLnB1c2goZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKTtcblxuICByZXR1cm4gZnJhZ21lbnRDaGFuZ2VIYW5kbGVyO1xufVxuXG5mdW5jdGlvbiByZW1vdmVGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGNvbnN0IGluZGV4ID0gZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5pbmRleE9mKGZyYWdtZW50Q2hhbmdlSGFuZGxlciksXG4gICAgICAgIHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gIGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgcmV0dXJuIGZyYWdtZW50Q2hhbmdlSGFuZGxlcjtcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiLi9mcmFnbWVudGVkXCI7XG5cbmV4cG9ydCB7IGdldEZyYWdtZW50LCBzZXRGcmFnbWVudCwgcmVzZXRGcmFnbWVudCwgb25GcmFnbWVudENoYW5nZSwgb2ZmRnJhZ21lbnRDaGFuZ2UgfSBmcm9tIFwiLi9mcmFnbWVudGVkXCI7XG5cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFwiLi9pbmRleFwiOyAvLy9cblxuY29uc3QgeyByZXNldEZyYWdtZW50LCBvbkZyYWdtZW50Q2hhbmdlIH0gPSBmcmFnbWVudDtcblxub25GcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xuXG5jb25zb2xlLmxvZyhgSW5pdGlhbGx5OiAnJHtmcmFnbWVudH0nLmApXG5cbmZyYWdtZW50ID0gXCJ0ZXN0XCI7XG5cbmZ1bmN0aW9uIGZyYWdtZW50Q2hhbmdlSGFuZGxlcigpIHtcbiAgY29uc29sZS5sb2coYENoYW5nZWQgdG8gJyR7ZnJhZ21lbnR9Jy5gKVxufVxuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsICgpID0+IHtcbiAgY29uc3Qgc2lsZW50bHkgPSBmYWxzZTtcblxuICByZXNldEZyYWdtZW50KHNpbGVudGx5KTtcbn0pOyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7QUFBQTs7Ozs7bUNBRWEseUJBQUE7OztlQUFBOzs7QUFBTixRQUFNLHdCQUF3Qjs7OztBQ0ZyQzs7Ozs7Ozs7Ozs7OztNQUlhLGNBQVksV0FBQTtlQUFaOztNQURBLFVBQVEsV0FBQTtlQUFSOztNQURBLE1BQUksV0FBQTtlQUFKOzs7QUFBTixRQUFNLE9BQU87QUFDYixRQUFNLFdBQVc7QUFDakIsUUFBTSxlQUFlOzs7O0FDSjVCOzs7Ozs7Ozs7Ozs7O01BS2dCLGFBQVcsV0FBQTtlQUFYOztNQXNEQSxtQkFBaUIsV0FBQTtlQUFqQjs7TUFKQSxrQkFBZ0IsV0FBQTtlQUFoQjs7TUFuQkEsZUFBYSxXQUFBO2VBQWI7O01BaEJBLGFBQVcsV0FBQTtlQUFYOzs7OztBQWZULDJCQUFTO0FBQ2QsVUFBTSxPQUFPLFdBQ1AsWUFBVyxJQUFJLE9BQU87QUFFNUIsYUFBTyxPQUFPLFdBQVU7UUFDdEI7UUFDQTtRQUNBO1FBQ0E7UUFDQTs7QUFHRixhQUFPOztBQUdGLHlCQUFxQixXQUFRO1VBQUUsV0FBQSxVQUFBLFNBQUEsS0FBQSxVQUFBLE9BQUEsU0FBQSxVQUFBLEtBQVc7QUFDL0MsVUFBSSxVQUFVO0FBQ1osZUFBTyxvQkFBb0IsV0FBVzs7QUFHeEMsVUFBTSxPQUFPO0FBRWIsYUFBTyxTQUFTLE9BQU87QUFFdkIsVUFBSSxVQUFVO0FBQ1osbUJBQVcsV0FBQTtBQUNULGlCQUFPLGlCQUFpQixXQUFXO1dBQ2xDOzs7QUFJQSw2QkFBUztVQUFjLFdBQUEsVUFBQSxTQUFBLEtBQUEsVUFBQSxPQUFBLFNBQUEsVUFBQSxLQUFXO0FBQ3ZDLFVBQU0sWUFBVyxXQUFBO0FBRWpCLGtCQUFZLFdBQVU7QUFFdEIsVUFBTSxPQUFTLFNBQVQ7QUFFTixVQUFNLFFBQVEsS0FBSyxRQUFRLFdBQUE7QUFFM0IsVUFBSSxVQUFVLElBQUk7QUFDaEIsWUFBTSxRQUFRLEdBQ1IsTUFBTTtBQUVaLGVBQU8sS0FBSyxVQUFVLE9BQU87QUFFN0IsZ0JBQVEsYUFBYSxJQUFJLFdBQUEsY0FBYzs7O0FBSXBDLDhCQUEwQix1QkFBcUI7QUFDcEQscUNBQStCOztBQUcxQiwrQkFBMkIsdUJBQXFCO0FBQ3JELHdDQUFrQzs7QUFHcEMsV0FBTyxlQUFlLFlBQVksV0FBQSxVQUFVO01BQzFDLEtBQUssZUFBTDtBQUNFLFlBQU0sWUFBVztBQUVqQixlQUFPOztNQUdULEtBQUssYUFBUyxXQUFRO0FBQ3BCLFlBQU0sV0FBVztBQUVqQixvQkFBWSxXQUFVOzs7QUFJMUIsUUFBTSxZQUFZLFlBQUE7QUFBbEIsUUFDTSx5QkFBeUI7QUFFL0IsV0FBTyxpQkFBaUIsV0FBVztBQUVuQyx1QkFBUztBQUNQLFVBQVEsWUFBYSxPQUFiO0FBRVIsVUFBTSxPQUFTLFVBQVQ7QUFFTixVQUFNLFFBQVE7QUFFZCxhQUFPLEtBQUssVUFBVTtBQUV0QixhQUFPOztBQUdULGdDQUE0QixPQUFLO0FBQy9CLFVBQU0sT0FBTyxXQUNQLFVBQVUsUUFDVixZQUFXO0FBRWpCLGlDQUEyQixPQUFPLFNBQVM7O0FBRzdDLHdDQUFvQyxPQUFPLFNBQVMsV0FBUTtBQUMxRCw2QkFBdUIsUUFBUSxTQUFDLHVCQUFBO0FBQzlCLDhCQUFzQixPQUFPLFNBQVM7OztBQUkxQyw0Q0FBd0MsdUJBQXFCO0FBQzNELDZCQUF1QixLQUFLO0FBRTVCLGFBQU87O0FBR1QsK0NBQTJDLHVCQUFxQjtBQUM5RCxVQUFNLFFBQVEsdUJBQXVCLFFBQVEsd0JBQ3ZDLFFBQVEsT0FDUixjQUFjO0FBRXBCLDZCQUF1QixPQUFPLE9BQU87QUFFckMsYUFBTzs7Ozs7QUN6SFQ7Ozs7Ozs7Ozs7Ozs7TUFJUyxhQUFXLFdBQUE7ZUFBWCxZQUFBOztNQUEyRCxtQkFBaUIsV0FBQTtlQUFqQixZQUFBOztNQUFsQixrQkFBZ0IsV0FBQTtlQUFoQixZQUFBOztNQUFmLGVBQWEsV0FBQTtlQUFiLFlBQUE7O01BQWIsYUFBVyxXQUFBO2VBQVgsWUFBQTs7Ozs7OztBQ0p0Qjs7Ozs7O0FBSUEsUUFBUSxnQkFBb0MsU0FBcEM7QUFBUixRQUF1QixtQkFBcUIsU0FBckI7QUFFdkIscUJBQWlCO0FBRWpCLFlBQVEsSUFBSyxlQUF1QixPQUFULFVBQVM7QUFFcEMsZUFBVztBQUVYLHFDQUFTO0FBQ1AsY0FBUSxJQUFLLGVBQXVCLE9BQVQsVUFBUzs7QUFHdEMsV0FBTyxpQkFBaUIsU0FBUyxXQUFBO0FBQy9CLFVBQU0sV0FBVztBQUVqQixvQkFBYzs7OyIsCiAgIm5hbWVzIjogW10KfQo=
package/lib/example.js CHANGED
@@ -3,13 +3,16 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  require("./index");
6
- var onFragmentChange = fragment.onFragmentChange, offFragmentChange = fragment.offFragmentChange;
6
+ var resetFragment = fragment.resetFragment, onFragmentChange = fragment.onFragmentChange;
7
7
  onFragmentChange(fragmentChangeHandler);
8
- console.log(fragment);
8
+ console.log("Initially: '".concat(fragment, "'."));
9
9
  fragment = "test";
10
- // offFragmentChange(fragmentChangeHandler);
11
10
  function fragmentChangeHandler() {
12
- console.log(fragment);
11
+ console.log("Changed to '".concat(fragment, "'."));
13
12
  }
13
+ window.addEventListener("click", function() {
14
+ var silently = false;
15
+ resetFragment(silently);
16
+ });
14
17
 
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7IC8vL1xuXG5jb25zdCB7IG9uRnJhZ21lbnRDaGFuZ2UsIG9mZkZyYWdtZW50Q2hhbmdlIH0gPSBmcmFnbWVudDtcblxub25GcmFnbWVudENoYW5nZShmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xuXG5jb25zb2xlLmxvZyhmcmFnbWVudClcblxuZnJhZ21lbnQgPSBcInRlc3RcIjtcblxuLy8gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKTtcblxuZnVuY3Rpb24gZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKCkge1xuICBjb25zb2xlLmxvZyhmcmFnbWVudClcbn1cbiJdLCJuYW1lcyI6WyJvbkZyYWdtZW50Q2hhbmdlIiwiZnJhZ21lbnQiLCJvZmZGcmFnbWVudENoYW5nZSIsImZyYWdtZW50Q2hhbmdlSGFuZGxlciIsImNvbnNvbGUiLCJsb2ciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7OztRQUVPO0FBRVAsSUFBUUEsbUJBQXdDQyxTQUF4Q0Qsa0JBQWtCRSxvQkFBc0JELFNBQXRCQztBQUUxQkYsaUJBQWlCRztBQUVqQkMsUUFBUUMsR0FBRyxDQUFDSjtBQUVaQSxXQUFXO0FBRVgsNENBQTRDO0FBRTVDLFNBQVNFO0lBQ1BDLFFBQVFDLEdBQUcsQ0FBQ0o7QUFDZCJ9
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9leGFtcGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgXCIuL2luZGV4XCI7IC8vL1xuXG5jb25zdCB7IHJlc2V0RnJhZ21lbnQsIG9uRnJhZ21lbnRDaGFuZ2UgfSA9IGZyYWdtZW50O1xuXG5vbkZyYWdtZW50Q2hhbmdlKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbmNvbnNvbGUubG9nKGBJbml0aWFsbHk6ICcke2ZyYWdtZW50fScuYClcblxuZnJhZ21lbnQgPSBcInRlc3RcIjtcblxuZnVuY3Rpb24gZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKCkge1xuICBjb25zb2xlLmxvZyhgQ2hhbmdlZCB0byAnJHtmcmFnbWVudH0nLmApXG59XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgKCkgPT4ge1xuICBjb25zdCBzaWxlbnRseSA9IGZhbHNlO1xuXG4gIHJlc2V0RnJhZ21lbnQoc2lsZW50bHkpO1xufSk7Il0sIm5hbWVzIjpbInJlc2V0RnJhZ21lbnQiLCJmcmFnbWVudCIsIm9uRnJhZ21lbnRDaGFuZ2UiLCJmcmFnbWVudENoYW5nZUhhbmRsZXIiLCJjb25zb2xlIiwibG9nIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsInNpbGVudGx5Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7UUFFTztBQUVQLElBQVFBLGdCQUFvQ0MsU0FBcENELGVBQWVFLG1CQUFxQkQsU0FBckJDO0FBRXZCQSxpQkFBaUJDO0FBRWpCQyxRQUFRQyxHQUFHLENBQUMsQUFBQyxlQUF1QixPQUFUSixVQUFTO0FBRXBDQSxXQUFXO0FBRVgsU0FBU0U7SUFDUEMsUUFBUUMsR0FBRyxDQUFDLEFBQUMsZUFBdUIsT0FBVEosVUFBUztBQUN0QztBQUVBSyxPQUFPQyxnQkFBZ0IsQ0FBQyxTQUFTO0lBQy9CLElBQU1DLFdBQVc7SUFFakJSLGNBQWNRO0FBQ2hCIn0=
package/lib/fragmented.js CHANGED
@@ -53,29 +53,21 @@ function setFragment(fragment) {
53
53
  }
54
54
  function resetFragment() {
55
55
  var silently = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
56
- if (silently) {
57
- window.removeEventListener(eventType, hashChangeListener);
58
- }
56
+ var fragment = _constants.EMPTY_STRING;
57
+ setFragment(fragment, silently);
59
58
  var href = location.href;
60
59
  var index = href.indexOf(_constants.HASH);
61
60
  if (index !== -1) {
62
61
  var start = 0, end = index; ///
63
62
  href = href.substring(start, end); ///
64
- history.pushState({}, _constants.EMPTY_STRING, href);
65
- }
66
- if (silently) {
67
- setTimeout(function() {
68
- window.addEventListener(eventType, hashChangeListener);
69
- }, 0);
63
+ history.replaceState({}, _constants.EMPTY_STRING, href);
70
64
  }
71
65
  }
72
66
  function onFragmentChange(fragmentChangeHandler) {
73
- var element = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this;
74
- addFragmentChangeEventListener(fragmentChangeHandler, element);
67
+ addFragmentChangeEventListener(fragmentChangeHandler);
75
68
  }
76
69
  function offFragmentChange(fragmentChangeHandler) {
77
- var element = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this;
78
- removeFragmentChangeEventListener(fragmentChangeHandler, element);
70
+ removeFragmentChangeEventListener(fragmentChangeHandler);
79
71
  }
80
72
  Object.defineProperty(globalThis, _constants.FRAGMENT, {
81
73
  get: function get() {
@@ -87,7 +79,7 @@ Object.defineProperty(globalThis, _constants.FRAGMENT, {
87
79
  setFragment(fragment, silently);
88
80
  }
89
81
  });
90
- var eventType = _eventTypes.HASHCHANGE_EVENT_TYPE, fragmentChangeEventListeners = [];
82
+ var eventType = _eventTypes.HASHCHANGE_EVENT_TYPE, fragmentChangeHandlers = [];
91
83
  window.addEventListener(eventType, hashChangeListener);
92
84
  function getHash() {
93
85
  var location1 = window.location;
@@ -101,37 +93,18 @@ function hashChangeListener(event) {
101
93
  callFragmentChangeHandlers(event, element, fragment);
102
94
  }
103
95
  function callFragmentChangeHandlers(event, element, fragment) {
104
- fragmentChangeEventListeners.forEach(function(fragmentChangeEventListener) {
105
- var fragmentChangeHandler = fragmentChangeEventListener.fragmentChangeHandler, fragmentChangeHandlerElement = fragmentChangeEventListener.element; ///
106
- fragmentChangeHandler.call(fragmentChangeHandlerElement, event, element, fragment);
96
+ fragmentChangeHandlers.forEach(function(fragmentChangeHandler) {
97
+ fragmentChangeHandler(event, element, fragment);
107
98
  });
108
99
  }
109
- function addFragmentChangeEventListener(fragmentChangeHandler, element) {
110
- var fragmentChangeEventListener = createFragmentChangeEventListener(fragmentChangeHandler, element);
111
- fragmentChangeEventListeners.push(fragmentChangeEventListener);
112
- return fragmentChangeEventListener;
113
- }
114
- function removeFragmentChangeEventListener(fragmentChangeHandler, element) {
115
- var fragmentChangeEventListener = findFragmentChangeEventListener(fragmentChangeHandler, element), index = fragmentChangeEventListeners.indexOf(fragmentChangeEventListener), start = index, deleteCount = 1;
116
- fragmentChangeEventListeners.splice(start, deleteCount);
117
- return fragmentChangeEventListener;
100
+ function addFragmentChangeEventListener(fragmentChangeHandler) {
101
+ fragmentChangeHandlers.push(fragmentChangeHandler);
102
+ return fragmentChangeHandler;
118
103
  }
119
- function createFragmentChangeEventListener(fragmentChangeHandler, element) {
120
- var fragmentChangeEventListener;
121
- fragmentChangeEventListener = function() {}; ///
122
- Object.assign(fragmentChangeEventListener, {
123
- element: element,
124
- fragmentChangeHandler: fragmentChangeHandler
125
- });
126
- return fragmentChangeEventListener;
127
- }
128
- function findFragmentChangeEventListener(fragmentChangeHandler, element) {
129
- var fragmentChangeEventListener = fragmentChangeEventListeners.find(function(fragmentChangeEventListener) {
130
- if (fragmentChangeEventListener.element === element && fragmentChangeEventListener.fragmentChangeHandler === fragmentChangeHandler) {
131
- return true;
132
- }
133
- });
134
- return fragmentChangeEventListener;
104
+ function removeFragmentChangeEventListener(fragmentChangeHandler) {
105
+ var index = fragmentChangeHandlers.indexOf(fragmentChangeHandler), start = index, deleteCount = 1;
106
+ fragmentChangeHandlers.splice(start, deleteCount);
107
+ return fragmentChangeHandler;
135
108
  }
136
109
 
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFnbWVudGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi9ldmVudFR5cGVzXCI7XG5pbXBvcnQgeyBIQVNILCBGUkFHTUVOVCwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGcmFnbWVudCgpIHtcbiAgY29uc3QgaGFzaCA9IGdldEhhc2goKSxcbiAgICAgICAgZnJhZ21lbnQgPSBuZXcgU3RyaW5nKGhhc2gpOyAgLy8vXG5cbiAgT2JqZWN0LmFzc2lnbihmcmFnbWVudCwge1xuICAgIGdldEZyYWdtZW50LFxuICAgIHNldEZyYWdtZW50LFxuICAgIHJlc2V0RnJhZ21lbnQsXG4gICAgb25GcmFnbWVudENoYW5nZSxcbiAgICBvZmZGcmFnbWVudENoYW5nZVxuICB9KTtcblxuICByZXR1cm4gZnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkgPSB0cnVlKSB7XG4gIGlmIChzaWxlbnRseSkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgfVxuXG4gIGNvbnN0IGhhc2ggPSBmcmFnbWVudDsgIC8vL1xuXG4gIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gaGFzaDtcblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRGcmFnbWVudChzaWxlbnRseSA9IHRydWUpIHtcbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYXNoQ2hhbmdlTGlzdGVuZXIpO1xuICB9XG5cbiAgbGV0IHsgaHJlZiB9ID0gbG9jYXRpb247XG5cbiAgY29uc3QgaW5kZXggPSBocmVmLmluZGV4T2YoSEFTSCk7XG5cbiAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgICBlbmQgPSBpbmRleDsgIC8vL1xuXG4gICAgaHJlZiA9IGhyZWYuc3Vic3RyaW5nKHN0YXJ0LCBlbmQpOyAvLy9cblxuICAgIGhpc3RvcnkucHVzaFN0YXRlKHt9LCBFTVBUWV9TVFJJTkcsIGhyZWYpO1xuICB9XG5cbiAgaWYgKHNpbGVudGx5KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG4gICAgfSwgMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50ID0gdGhpcykge1xuICBhZGRGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9mZkZyYWdtZW50Q2hhbmdlKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCA9IHRoaXMpIHtcbiAgcmVtb3ZlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCk7XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShnbG9iYWxUaGlzLCBGUkFHTUVOVCwge1xuICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZyYWdtZW50ID0gZ2V0RnJhZ21lbnQoKTtcblxuICAgIHJldHVybiBmcmFnbWVudDtcbiAgfSxcblxuICBzZXQ6IGZ1bmN0aW9uKGZyYWdtZW50KSB7XG4gICAgY29uc3Qgc2lsZW50bHkgPSBmYWxzZTtcblxuICAgIHNldEZyYWdtZW50KGZyYWdtZW50LCBzaWxlbnRseSk7XG4gIH1cbn0pO1xuXG5jb25zdCBldmVudFR5cGUgPSBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUsXG4gICAgICBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXJzID0gW107XG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcblxuZnVuY3Rpb24gZ2V0SGFzaCgpIHtcbiAgY29uc3QgeyBsb2NhdGlvbiB9ID0gd2luZG93O1xuXG4gIGxldCB7IGhhc2ggfSA9IGxvY2F0aW9uO1xuXG4gIGNvbnN0IHN0YXJ0ID0gMTtcblxuICBoYXNoID0gaGFzaC5zdWJzdHJpbmcoc3RhcnQpO1xuXG4gIHJldHVybiBoYXNoO1xufVxuXG5mdW5jdGlvbiBoYXNoQ2hhbmdlTGlzdGVuZXIoZXZlbnQpIHtcbiAgY29uc3QgaGFzaCA9IGdldEhhc2goKSxcbiAgICAgICAgZWxlbWVudCA9IHdpbmRvdywgLy8vXG4gICAgICAgIGZyYWdtZW50ID0gaGFzaDsgIC8vL1xuXG4gIGNhbGxGcmFnbWVudENoYW5nZUhhbmRsZXJzKGV2ZW50LCBlbGVtZW50LCBmcmFnbWVudCk7XG59XG5cbmZ1bmN0aW9uIGNhbGxGcmFnbWVudENoYW5nZUhhbmRsZXJzKGV2ZW50LCBlbGVtZW50LCBmcmFnbWVudCkge1xuICBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50OiBmcmFnbWVudENoYW5nZUhhbmRsZXJFbGVtZW50IH0gPSBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXI7IC8vL1xuXG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLmNhbGwoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyRWxlbWVudCwgZXZlbnQsIGVsZW1lbnQsIGZyYWdtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZEZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcihmcmFnbWVudENoYW5nZUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyID0gY3JlYXRlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCk7XG5cbiAgZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVycy5wdXNoKGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcik7XG5cbiAgcmV0dXJuIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIgPSBmaW5kRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCksXG4gICAgICAgIGluZGV4ID0gZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVycy5pbmRleE9mKGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lciksXG4gICAgICAgIHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgcmV0dXJuIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlciwgZWxlbWVudCkge1xuICBsZXQgZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyO1xuXG4gIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lciA9ICgpID0+IHt9OyAvLy9cblxuICBPYmplY3QuYXNzaWduKGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lciwge1xuICAgIGVsZW1lbnQsXG4gICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVyXG4gIH0pO1xuXG4gIHJldHVybiBmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXI7XG59XG5cbmZ1bmN0aW9uIGZpbmRGcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lciA9IGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcnMuZmluZCgoZnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKSA9PiB7XG4gICAgaWYgKChmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIuZWxlbWVudCA9PT0gZWxlbWVudCkgJiYgKGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lci5mcmFnbWVudENoYW5nZUhhbmRsZXIgPT09IGZyYWdtZW50Q2hhbmdlSGFuZGxlcikpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcjtcbn1cbiJdLCJuYW1lcyI6WyJnZXRGcmFnbWVudCIsIm9mZkZyYWdtZW50Q2hhbmdlIiwib25GcmFnbWVudENoYW5nZSIsInJlc2V0RnJhZ21lbnQiLCJzZXRGcmFnbWVudCIsImhhc2giLCJnZXRIYXNoIiwiZnJhZ21lbnQiLCJTdHJpbmciLCJPYmplY3QiLCJhc3NpZ24iLCJzaWxlbnRseSIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJldmVudFR5cGUiLCJoYXNoQ2hhbmdlTGlzdGVuZXIiLCJsb2NhdGlvbiIsInNldFRpbWVvdXQiLCJhZGRFdmVudExpc3RlbmVyIiwiaHJlZiIsImluZGV4IiwiaW5kZXhPZiIsIkhBU0giLCJzdGFydCIsImVuZCIsInN1YnN0cmluZyIsImhpc3RvcnkiLCJwdXNoU3RhdGUiLCJFTVBUWV9TVFJJTkciLCJmcmFnbWVudENoYW5nZUhhbmRsZXIiLCJlbGVtZW50IiwiYWRkRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyIiwicmVtb3ZlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyIiwiZGVmaW5lUHJvcGVydHkiLCJnbG9iYWxUaGlzIiwiRlJBR01FTlQiLCJnZXQiLCJzZXQiLCJIQVNIQ0hBTkdFX0VWRU5UX1RZUEUiLCJmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXJzIiwiZXZlbnQiLCJjYWxsRnJhZ21lbnRDaGFuZ2VIYW5kbGVycyIsImZvckVhY2giLCJmcmFnbWVudENoYW5nZUV2ZW50TGlzdGVuZXIiLCJmcmFnbWVudENoYW5nZUhhbmRsZXJFbGVtZW50IiwiY2FsbCIsImNyZWF0ZUZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lciIsInB1c2giLCJmaW5kRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyIiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiLCJmaW5kIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFLZ0JBLFdBQVc7ZUFBWEE7O0lBNERBQyxpQkFBaUI7ZUFBakJBOztJQUpBQyxnQkFBZ0I7ZUFBaEJBOztJQXpCQUMsYUFBYTtlQUFiQTs7SUFoQkFDLFdBQVc7ZUFBWEE7OzswQkFsQnNCO3lCQUNPO0FBRXRDLFNBQVNKO0lBQ2QsSUFBTUssT0FBT0MsV0FDUEMsV0FBVyxJQUFJQyxPQUFPSCxPQUFRLEdBQUc7SUFFdkNJLE9BQU9DLE1BQU0sQ0FBQ0gsVUFBVTtRQUN0QlAsYUFBQUE7UUFDQUksYUFBQUE7UUFDQUQsZUFBQUE7UUFDQUQsa0JBQUFBO1FBQ0FELG1CQUFBQTtJQUNGO0lBRUEsT0FBT007QUFDVDtBQUVPLFNBQVNILFlBQVlHLFFBQVE7UUFBRUksV0FBQUEsaUVBQVc7SUFDL0MsSUFBSUEsVUFBVTtRQUNaQyxPQUFPQyxtQkFBbUIsQ0FBQ0MsV0FBV0M7SUFDeEM7SUFFQSxJQUFNVixPQUFPRSxVQUFXLEdBQUc7SUFFM0JLLE9BQU9JLFFBQVEsQ0FBQ1gsSUFBSSxHQUFHQTtJQUV2QixJQUFJTSxVQUFVO1FBQ1pNLFdBQVc7WUFDVEwsT0FBT00sZ0JBQWdCLENBQUNKLFdBQVdDO1FBQ3JDLEdBQUc7SUFDTDtBQUNGO0FBRU8sU0FBU1o7UUFBY1EsV0FBQUEsaUVBQVc7SUFDdkMsSUFBSUEsVUFBVTtRQUNaQyxPQUFPQyxtQkFBbUIsQ0FBQ0MsV0FBV0M7SUFDeEM7SUFFQSxJQUFJLEFBQUVJLE9BQVNILFNBQVRHO0lBRU4sSUFBTUMsUUFBUUQsS0FBS0UsT0FBTyxDQUFDQyxlQUFJO0lBRS9CLElBQUlGLFVBQVUsQ0FBQyxHQUFHO1FBQ2hCLElBQU1HLFFBQVEsR0FDUkMsTUFBTUosT0FBUSxHQUFHO1FBRXZCRCxPQUFPQSxLQUFLTSxTQUFTLENBQUNGLE9BQU9DLE1BQU0sR0FBRztRQUV0Q0UsUUFBUUMsU0FBUyxDQUFDLENBQUMsR0FBR0MsdUJBQVksRUFBRVQ7SUFDdEM7SUFFQSxJQUFJUixVQUFVO1FBQ1pNLFdBQVc7WUFDVEwsT0FBT00sZ0JBQWdCLENBQUNKLFdBQVdDO1FBQ3JDLEdBQUc7SUFDTDtBQUNGO0FBRU8sU0FBU2IsaUJBQWlCMkIscUJBQXFCO1FBQUVDLFVBQUFBLGlFQUFVLElBQUk7SUFDcEVDLCtCQUErQkYsdUJBQXVCQztBQUN4RDtBQUVPLFNBQVM3QixrQkFBa0I0QixxQkFBcUI7UUFBRUMsVUFBQUEsaUVBQVUsSUFBSTtJQUNyRUUsa0NBQWtDSCx1QkFBdUJDO0FBQzNEO0FBRUFyQixPQUFPd0IsY0FBYyxDQUFDQyxZQUFZQyxtQkFBUSxFQUFFO0lBQzFDQyxLQUFLLFNBQUxBO1FBQ0UsSUFBTTdCLFdBQVdQO1FBRWpCLE9BQU9PO0lBQ1Q7SUFFQThCLEtBQUssU0FBTEEsSUFBYzlCLFFBQVE7UUFDcEIsSUFBTUksV0FBVztRQUVqQlAsWUFBWUcsVUFBVUk7SUFDeEI7QUFDRjtBQUVBLElBQU1HLFlBQVl3QixpQ0FBcUIsRUFDakNDLCtCQUErQixFQUFFO0FBRXZDM0IsT0FBT00sZ0JBQWdCLENBQUNKLFdBQVdDO0FBRW5DLFNBQVNUO0lBQ1AsSUFBTSxBQUFFVSxZQUFhSixPQUFiSTtJQUVSLElBQUksQUFBRVgsT0FBU1csVUFBVFg7SUFFTixJQUFNa0IsUUFBUTtJQUVkbEIsT0FBT0EsS0FBS29CLFNBQVMsQ0FBQ0Y7SUFFdEIsT0FBT2xCO0FBQ1Q7QUFFQSxTQUFTVSxtQkFBbUJ5QixLQUFLO0lBQy9CLElBQU1uQyxPQUFPQyxXQUNQd0IsVUFBVWxCLFFBQ1ZMLFdBQVdGLE1BQU8sR0FBRztJQUUzQm9DLDJCQUEyQkQsT0FBT1YsU0FBU3ZCO0FBQzdDO0FBRUEsU0FBU2tDLDJCQUEyQkQsS0FBSyxFQUFFVixPQUFPLEVBQUV2QixRQUFRO0lBQzFEZ0MsNkJBQTZCRyxPQUFPLENBQUMsU0FBQ0M7UUFDcEMsSUFBUWQsd0JBQWlFYyw0QkFBakVkLHVCQUF1QkMsQUFBU2MsK0JBQWlDRCw0QkFBMUNiLFNBQXVFLEdBQUc7UUFFekdELHNCQUFzQmdCLElBQUksQ0FBQ0QsOEJBQThCSixPQUFPVixTQUFTdkI7SUFDM0U7QUFDRjtBQUVBLFNBQVN3QiwrQkFBK0JGLHFCQUFxQixFQUFFQyxPQUFPO0lBQ3BFLElBQU1hLDhCQUE4Qkcsa0NBQWtDakIsdUJBQXVCQztJQUU3RlMsNkJBQTZCUSxJQUFJLENBQUNKO0lBRWxDLE9BQU9BO0FBQ1Q7QUFFQSxTQUFTWCxrQ0FBa0NILHFCQUFxQixFQUFFQyxPQUFPO0lBQ3ZFLElBQU1hLDhCQUE4QkssZ0NBQWdDbkIsdUJBQXVCQyxVQUNyRlYsUUFBUW1CLDZCQUE2QmxCLE9BQU8sQ0FBQ3NCLDhCQUM3Q3BCLFFBQVFILE9BQ1I2QixjQUFjO0lBRXBCViw2QkFBNkJXLE1BQU0sQ0FBQzNCLE9BQU8wQjtJQUUzQyxPQUFPTjtBQUNUO0FBRUEsU0FBU0csa0NBQWtDakIscUJBQXFCLEVBQUVDLE9BQU87SUFDdkUsSUFBSWE7SUFFSkEsOEJBQThCLFlBQU8sR0FBRyxHQUFHO0lBRTNDbEMsT0FBT0MsTUFBTSxDQUFDaUMsNkJBQTZCO1FBQ3pDYixTQUFBQTtRQUNBRCx1QkFBQUE7SUFDRjtJQUVBLE9BQU9jO0FBQ1Q7QUFFQSxTQUFTSyxnQ0FBZ0NuQixxQkFBcUIsRUFBRUMsT0FBTztJQUNyRSxJQUFNYSw4QkFBOEJKLDZCQUE2QlksSUFBSSxDQUFDLFNBQUNSO1FBQ3JFLElBQUksQUFBQ0EsNEJBQTRCYixPQUFPLEtBQUtBLFdBQWFhLDRCQUE0QmQscUJBQXFCLEtBQUtBLHVCQUF3QjtZQUN0SSxPQUFPO1FBQ1Q7SUFDRjtJQUVBLE9BQU9jO0FBQ1QifQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9mcmFnbWVudGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBIQVNIQ0hBTkdFX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi9ldmVudFR5cGVzXCI7XG5pbXBvcnQgeyBIQVNILCBGUkFHTUVOVCwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGcmFnbWVudCgpIHtcbiAgY29uc3QgaGFzaCA9IGdldEhhc2goKSxcbiAgICAgICAgZnJhZ21lbnQgPSBuZXcgU3RyaW5nKGhhc2gpOyAgLy8vXG5cbiAgT2JqZWN0LmFzc2lnbihmcmFnbWVudCwge1xuICAgIGdldEZyYWdtZW50LFxuICAgIHNldEZyYWdtZW50LFxuICAgIHJlc2V0RnJhZ21lbnQsXG4gICAgb25GcmFnbWVudENoYW5nZSxcbiAgICBvZmZGcmFnbWVudENoYW5nZVxuICB9KTtcblxuICByZXR1cm4gZnJhZ21lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkgPSB0cnVlKSB7XG4gIGlmIChzaWxlbnRseSkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgfVxuXG4gIGNvbnN0IGhhc2ggPSBmcmFnbWVudDsgIC8vL1xuXG4gIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gaGFzaDtcblxuICBpZiAoc2lsZW50bHkpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFzaENoYW5nZUxpc3RlbmVyKTtcbiAgICB9LCAwKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRGcmFnbWVudChzaWxlbnRseSA9IHRydWUpIHtcbiAgY29uc3QgZnJhZ21lbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgc2V0RnJhZ21lbnQoZnJhZ21lbnQsIHNpbGVudGx5KTtcblxuICBsZXQgeyBocmVmIH0gPSBsb2NhdGlvbjtcblxuICBjb25zdCBpbmRleCA9IGhyZWYuaW5kZXhPZihIQVNIKTtcblxuICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgY29uc3Qgc3RhcnQgPSAwLFxuICAgICAgICAgIGVuZCA9IGluZGV4OyAgLy8vXG5cbiAgICBocmVmID0gaHJlZi5zdWJzdHJpbmcoc3RhcnQsIGVuZCk7IC8vL1xuXG4gICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIEVNUFRZX1NUUklORywgaHJlZik7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIGFkZEZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcihmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZmRnJhZ21lbnRDaGFuZ2UoZnJhZ21lbnRDaGFuZ2VIYW5kbGVyKSB7XG4gIHJlbW92ZUZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcihmcmFnbWVudENoYW5nZUhhbmRsZXIpO1xufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZ2xvYmFsVGhpcywgRlJBR01FTlQsIHtcbiAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IGdldEZyYWdtZW50KCk7XG5cbiAgICByZXR1cm4gZnJhZ21lbnQ7XG4gIH0sXG5cbiAgc2V0OiBmdW5jdGlvbihmcmFnbWVudCkge1xuICAgIGNvbnN0IHNpbGVudGx5ID0gZmFsc2U7XG5cbiAgICBzZXRGcmFnbWVudChmcmFnbWVudCwgc2lsZW50bHkpO1xuICB9XG59KTtcblxuY29uc3QgZXZlbnRUeXBlID0gSEFTSENIQU5HRV9FVkVOVF9UWVBFLFxuICAgICAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycyA9IFtdO1xuXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhc2hDaGFuZ2VMaXN0ZW5lcik7XG5cbmZ1bmN0aW9uIGdldEhhc2goKSB7XG4gIGNvbnN0IHsgbG9jYXRpb24gfSA9IHdpbmRvdztcblxuICBsZXQgeyBoYXNoIH0gPSBsb2NhdGlvbjtcblxuICBjb25zdCBzdGFydCA9IDE7XG5cbiAgaGFzaCA9IGhhc2guc3Vic3RyaW5nKHN0YXJ0KTtcblxuICByZXR1cm4gaGFzaDtcbn1cblxuZnVuY3Rpb24gaGFzaENoYW5nZUxpc3RlbmVyKGV2ZW50KSB7XG4gIGNvbnN0IGhhc2ggPSBnZXRIYXNoKCksXG4gICAgICAgIGVsZW1lbnQgPSB3aW5kb3csIC8vL1xuICAgICAgICBmcmFnbWVudCA9IGhhc2g7ICAvLy9cblxuICBjYWxsRnJhZ21lbnRDaGFuZ2VIYW5kbGVycyhldmVudCwgZWxlbWVudCwgZnJhZ21lbnQpO1xufVxuXG5mdW5jdGlvbiBjYWxsRnJhZ21lbnRDaGFuZ2VIYW5kbGVycyhldmVudCwgZWxlbWVudCwgZnJhZ21lbnQpIHtcbiAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5mb3JFYWNoKChmcmFnbWVudENoYW5nZUhhbmRsZXIpID0+IHtcbiAgICBmcmFnbWVudENoYW5nZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQsIGZyYWdtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZEZyYWdtZW50Q2hhbmdlRXZlbnRMaXN0ZW5lcihmcmFnbWVudENoYW5nZUhhbmRsZXIpIHtcbiAgZnJhZ21lbnRDaGFuZ2VIYW5kbGVycy5wdXNoKGZyYWdtZW50Q2hhbmdlSGFuZGxlcik7XG5cbiAgcmV0dXJuIGZyYWdtZW50Q2hhbmdlSGFuZGxlcjtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyKGZyYWdtZW50Q2hhbmdlSGFuZGxlcikge1xuICBjb25zdCBpbmRleCA9IGZyYWdtZW50Q2hhbmdlSGFuZGxlcnMuaW5kZXhPZihmcmFnbWVudENoYW5nZUhhbmRsZXIpLFxuICAgICAgICBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgIGRlbGV0ZUNvdW50ID0gMTtcblxuICBmcmFnbWVudENoYW5nZUhhbmRsZXJzLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xuXG4gIHJldHVybiBmcmFnbWVudENoYW5nZUhhbmRsZXI7XG59XG4iXSwibmFtZXMiOlsiZ2V0RnJhZ21lbnQiLCJvZmZGcmFnbWVudENoYW5nZSIsIm9uRnJhZ21lbnRDaGFuZ2UiLCJyZXNldEZyYWdtZW50Iiwic2V0RnJhZ21lbnQiLCJoYXNoIiwiZ2V0SGFzaCIsImZyYWdtZW50IiwiU3RyaW5nIiwiT2JqZWN0IiwiYXNzaWduIiwic2lsZW50bHkiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZXZlbnRUeXBlIiwiaGFzaENoYW5nZUxpc3RlbmVyIiwibG9jYXRpb24iLCJzZXRUaW1lb3V0IiwiYWRkRXZlbnRMaXN0ZW5lciIsIkVNUFRZX1NUUklORyIsImhyZWYiLCJpbmRleCIsImluZGV4T2YiLCJIQVNIIiwic3RhcnQiLCJlbmQiLCJzdWJzdHJpbmciLCJoaXN0b3J5IiwicmVwbGFjZVN0YXRlIiwiZnJhZ21lbnRDaGFuZ2VIYW5kbGVyIiwiYWRkRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyIiwicmVtb3ZlRnJhZ21lbnRDaGFuZ2VFdmVudExpc3RlbmVyIiwiZGVmaW5lUHJvcGVydHkiLCJnbG9iYWxUaGlzIiwiRlJBR01FTlQiLCJnZXQiLCJzZXQiLCJIQVNIQ0hBTkdFX0VWRU5UX1RZUEUiLCJmcmFnbWVudENoYW5nZUhhbmRsZXJzIiwiZXZlbnQiLCJlbGVtZW50IiwiY2FsbEZyYWdtZW50Q2hhbmdlSGFuZGxlcnMiLCJmb3JFYWNoIiwicHVzaCIsImRlbGV0ZUNvdW50Iiwic3BsaWNlIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fragmented",
3
3
  "author": "James Smith",
4
- "version": "3.1.5",
4
+ "version": "3.1.7",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/fragmented",
7
7
  "description": "Relates to URL hash fragments.",
package/src/example.js CHANGED
@@ -2,16 +2,20 @@
2
2
 
3
3
  import "./index"; ///
4
4
 
5
- const { onFragmentChange, offFragmentChange } = fragment;
5
+ const { resetFragment, onFragmentChange } = fragment;
6
6
 
7
7
  onFragmentChange(fragmentChangeHandler);
8
8
 
9
- console.log(fragment)
9
+ console.log(`Initially: '${fragment}'.`)
10
10
 
11
11
  fragment = "test";
12
12
 
13
- // offFragmentChange(fragmentChangeHandler);
14
-
15
13
  function fragmentChangeHandler() {
16
- console.log(fragment)
14
+ console.log(`Changed to '${fragment}'.`)
17
15
  }
16
+
17
+ window.addEventListener("click", () => {
18
+ const silently = false;
19
+
20
+ resetFragment(silently);
21
+ });
package/src/fragmented.js CHANGED
@@ -35,9 +35,9 @@ export function setFragment(fragment, silently = true) {
35
35
  }
36
36
 
37
37
  export function resetFragment(silently = true) {
38
- if (silently) {
39
- window.removeEventListener(eventType, hashChangeListener);
40
- }
38
+ const fragment = EMPTY_STRING;
39
+
40
+ setFragment(fragment, silently);
41
41
 
42
42
  let { href } = location;
43
43
 
@@ -49,22 +49,16 @@ export function resetFragment(silently = true) {
49
49
 
50
50
  href = href.substring(start, end); ///
51
51
 
52
- history.pushState({}, EMPTY_STRING, href);
53
- }
54
-
55
- if (silently) {
56
- setTimeout(() => {
57
- window.addEventListener(eventType, hashChangeListener);
58
- }, 0);
52
+ history.replaceState({}, EMPTY_STRING, href);
59
53
  }
60
54
  }
61
55
 
62
- export function onFragmentChange(fragmentChangeHandler, element = this) {
63
- addFragmentChangeEventListener(fragmentChangeHandler, element);
56
+ export function onFragmentChange(fragmentChangeHandler) {
57
+ addFragmentChangeEventListener(fragmentChangeHandler);
64
58
  }
65
59
 
66
- export function offFragmentChange(fragmentChangeHandler, element = this) {
67
- removeFragmentChangeEventListener(fragmentChangeHandler, element);
60
+ export function offFragmentChange(fragmentChangeHandler) {
61
+ removeFragmentChangeEventListener(fragmentChangeHandler);
68
62
  }
69
63
 
70
64
  Object.defineProperty(globalThis, FRAGMENT, {
@@ -82,7 +76,7 @@ Object.defineProperty(globalThis, FRAGMENT, {
82
76
  });
83
77
 
84
78
  const eventType = HASHCHANGE_EVENT_TYPE,
85
- fragmentChangeEventListeners = [];
79
+ fragmentChangeHandlers = [];
86
80
 
87
81
  window.addEventListener(eventType, hashChangeListener);
88
82
 
@@ -107,51 +101,23 @@ function hashChangeListener(event) {
107
101
  }
108
102
 
109
103
  function callFragmentChangeHandlers(event, element, fragment) {
110
- fragmentChangeEventListeners.forEach((fragmentChangeEventListener) => {
111
- const { fragmentChangeHandler, element: fragmentChangeHandlerElement } = fragmentChangeEventListener; ///
112
-
113
- fragmentChangeHandler.call(fragmentChangeHandlerElement, event, element, fragment);
104
+ fragmentChangeHandlers.forEach((fragmentChangeHandler) => {
105
+ fragmentChangeHandler(event, element, fragment);
114
106
  });
115
107
  }
116
108
 
117
- function addFragmentChangeEventListener(fragmentChangeHandler, element) {
118
- const fragmentChangeEventListener = createFragmentChangeEventListener(fragmentChangeHandler, element);
109
+ function addFragmentChangeEventListener(fragmentChangeHandler) {
110
+ fragmentChangeHandlers.push(fragmentChangeHandler);
119
111
 
120
- fragmentChangeEventListeners.push(fragmentChangeEventListener);
121
-
122
- return fragmentChangeEventListener;
112
+ return fragmentChangeHandler;
123
113
  }
124
114
 
125
- function removeFragmentChangeEventListener(fragmentChangeHandler, element) {
126
- const fragmentChangeEventListener = findFragmentChangeEventListener(fragmentChangeHandler, element),
127
- index = fragmentChangeEventListeners.indexOf(fragmentChangeEventListener),
115
+ function removeFragmentChangeEventListener(fragmentChangeHandler) {
116
+ const index = fragmentChangeHandlers.indexOf(fragmentChangeHandler),
128
117
  start = index, ///
129
118
  deleteCount = 1;
130
119
 
131
- fragmentChangeEventListeners.splice(start, deleteCount);
132
-
133
- return fragmentChangeEventListener;
134
- }
135
-
136
- function createFragmentChangeEventListener(fragmentChangeHandler, element) {
137
- let fragmentChangeEventListener;
138
-
139
- fragmentChangeEventListener = () => {}; ///
140
-
141
- Object.assign(fragmentChangeEventListener, {
142
- element,
143
- fragmentChangeHandler
144
- });
145
-
146
- return fragmentChangeEventListener;
147
- }
148
-
149
- function findFragmentChangeEventListener(fragmentChangeHandler, element) {
150
- const fragmentChangeEventListener = fragmentChangeEventListeners.find((fragmentChangeEventListener) => {
151
- if ((fragmentChangeEventListener.element === element) && (fragmentChangeEventListener.fragmentChangeHandler === fragmentChangeHandler)) {
152
- return true;
153
- }
154
- });
120
+ fragmentChangeHandlers.splice(start, deleteCount);
155
121
 
156
- return fragmentChangeEventListener;
122
+ return fragmentChangeHandler;
157
123
  }