UNPKG

@ekwoka/alpine-history

Version:
28 lines (26 loc) 889 B
const stateUpdateHandlers = []; const onURLChange = (callback) => stateUpdateHandlers.push(callback); let skip = false; const untrack = (cb) => { skip = true; cb(); skip = false; }; const observeHistory = (injectHistory = history) => { ["replaceState" /* replace */, "pushState" /* push */].forEach((method) => { const original = injectHistory[method]; injectHistory[method] = (data, title, url) => { original.call(injectHistory, data, title, url); if (skip) return; stateUpdateHandlers.forEach((handler) => handler(new URL(location.href))); }; }); }; var UpdateMethod = /* @__PURE__ */ ((UpdateMethod2) => { UpdateMethod2["replace"] = "replaceState"; UpdateMethod2["push"] = "pushState"; return UpdateMethod2; })(UpdateMethod || {}); export { UpdateMethod, observeHistory, onURLChange, untrack }; //# sourceMappingURL=history.js.map