UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 1.94 kB
{"version":3,"file":"events.js","names":[],"sources":["esm/platform/audio/events.js"],"sourcesContent":["function createPlayerEvents(read, updateIntervalMs) {\n const listeners = /* @__PURE__ */ new Set();\n let timer = null;\n function emit() {\n const status = read();\n listeners.forEach((listener) => listener(status));\n }\n function stop() {\n if (timer !== null) {\n clearInterval(timer);\n timer = null;\n }\n }\n return {\n add(event, listener) {\n if (event !== \"playbackStatusUpdate\") {\n throw new Error(\"AudioPlayer.addListener: expected 'playbackStatusUpdate'\");\n }\n if (typeof listener !== \"function\") {\n throw new Error(\"AudioPlayer.addListener: expected a listener function\");\n }\n listeners.add(listener);\n if (timer === null) timer = setInterval(emit, updateIntervalMs);\n queueMicrotask(() => {\n if (listeners.has(listener)) listener(read());\n });\n return {\n remove: () => {\n listeners.delete(listener);\n if (listeners.size === 0) stop();\n }\n };\n },\n removeAll() {\n listeners.clear();\n stop();\n }\n };\n}\nexport {\n createPlayerEvents\n};\n//# sourceMappingURL=events.js.map\n"],"mappings":";AAAA,SAAS,mBAAmB,MAAM,kBAAkB;CAClD,MAAM,4BAA4B,IAAI,IAAI;CAC1C,IAAI,QAAQ;CACZ,SAAS,OAAO;EACd,MAAM,SAAS,KAAK;EACpB,UAAU,SAAS,aAAa,SAAS,MAAM,CAAC;CAClD;CACA,SAAS,OAAO;EACd,IAAI,UAAU,MAAM;GAClB,cAAc,KAAK;GACnB,QAAQ;EACV;CACF;CACA,OAAO;EACL,IAAI,OAAO,UAAU;GACnB,IAAI,UAAU,wBAAwB;IACpC,MAAM,IAAI,MAAM,0DAA0D;GAC5E;GACA,IAAI,OAAO,aAAa,YAAY;IAClC,MAAM,IAAI,MAAM,uDAAuD;GACzE;GACA,UAAU,IAAI,QAAQ;GACtB,IAAI,UAAU,MAAM,QAAQ,YAAY,MAAM,gBAAgB;GAC9D,qBAAqB;IACnB,IAAI,UAAU,IAAI,QAAQ,GAAG,SAAS,KAAK,CAAC;GAC9C,CAAC;GACD,OAAO,EACL,cAAc;IACZ,UAAU,OAAO,QAAQ;IACzB,IAAI,UAAU,SAAS,GAAG,KAAK;GACjC,EACF;EACF;EACA,YAAY;GACV,UAAU,MAAM;GAChB,KAAK;EACP;CACF;AACF"}