UNPKG

detect-url-change

Version:

Easily detect changes in the browser URL. Works with any method that changes the URL without reloading the page, such as `history.pushState()`, `history.replaceState()`, `history.back()`, etc.

1 lines 1.36 kB
{"mappings":";AAEA;IACE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC9D,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5E,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IAC/D,mBAAmB,CACjB,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GACjC,IAAI,CAAC;CACT;AAED,4BAAqB,SAAQ,YAAY;CAAG;AAG5C,QAAA,MAAM,OAAO,gBAAuB,CAAC;AAWrC,eAAe,OAAO,CAAC","sources":["src/src/index.ts","src/index.ts"],"sourcesContent":[null,"import EventEmitter from 'events';\r\n\r\ndeclare interface UrlChangeEvent {\r\n on(event: 'change', listener: (newUrl: string) => void): this;\r\n addEventListener(event: 'change', listener: (newUrl: string) => void): this;\r\n off(event: 'change', listener: (newUrl: string) => void): this;\r\n removeEventListener(\r\n event: 'change',\r\n listener: (newUrl: string) => void\r\n ): this;\r\n}\r\n\r\nclass UrlChangeEvent extends EventEmitter {}\r\n\r\nconst interval = 60;\r\nconst emitter = new UrlChangeEvent();\r\n\r\nlet lastUrl;\r\nsetInterval(() => {\r\n let currUrl = window.location.href;\r\n if (currUrl != lastUrl) {\r\n emitter.emit('change', currUrl);\r\n lastUrl = currUrl;\r\n }\r\n}, interval);\r\n\r\nexport default emitter;\r\n"],"names":[],"version":3,"file":"types.d.ts.map"}