{"version":3,"file":"tempus.modern.mjs","sources":["../src/index.js"],"sourcesContent":["class Tempus {\n  constructor() {\n    this.callbacks = []\n    this.now = performance.now()\n    requestAnimationFrame(this.raf)\n  }\n\n  add(callback, priority = 0) {\n    this.callbacks.push({ callback, priority })\n    this.callbacks.sort((a, b) => a.priority - b.priority)\n\n    return () => this.remove(callback)\n  }\n\n  remove(callback) {\n    this.callbacks = this.callbacks.filter(({ callback: cb }) => callback !== cb)\n  }\n\n  raf = (now) => {\n    requestAnimationFrame(this.raf)\n\n    const deltaTime = now - this.now\n    this.now = now\n\n    for (let i = 0; i < this.callbacks.length; i++) {\n      this.callbacks[i].callback(now, deltaTime)\n    }\n  }\n}\n\nconst isClient = typeof window !== 'undefined'\n\nexport default isClient && new Tempus()\n"],"names":["window","constructor","raf","now","requestAnimationFrame","this","deltaTime","i","callbacks","length","callback","performance","add","priority","push","sort","a","b","remove","filter","cb"],"mappings":"AAgCA,MAFmC,oBAAXA,QAEG,IAhC3B,MACEC,mBAiBAC,IAAOC,IACLC,sBAAsBC,KAAKH,KAE3B,MAAMI,EAAYH,EAAME,KAAKF,IAC7BE,KAAKF,IAAMA,EAEX,IAAK,IAAII,EAAI,EAAGA,EAAIF,KAAKG,UAAUC,OAAQF,IACzCF,KAAKG,UAAUD,GAAGG,SAASP,EAAKG,EAClC,EAxBAD,KAAKG,UAAY,GACjBH,KAAKF,IAAMQ,YAAYR,MACvBC,sBAAsBC,KAAKH,IAC7B,CAEAU,IAAIF,EAAUG,EAAW,GAIvB,OAHAR,KAAKG,UAAUM,KAAK,CAAEJ,WAAUG,aAChCR,KAAKG,UAAUO,KAAK,CAACC,EAAGC,IAAMD,EAAEH,SAAWI,EAAEJ,UAEtC,IAAMR,KAAKa,OAAOR,EAC3B,CAEAQ,OAAOR,GACLL,KAAKG,UAAYH,KAAKG,UAAUW,OAAO,EAAGT,SAAUU,KAASV,IAAaU,EAC5E"}