cereb 0.1.0 → 0.2.0

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.
Files changed (138) hide show
  1. package/README.md +13 -13
  2. package/dist/browser/dom-event/dom-event-signal.d.ts +6 -0
  3. package/dist/browser/dom-event/dom-event-signal.d.ts.map +1 -0
  4. package/dist/browser/dom-event/dom-event.d.ts +3 -2
  5. package/dist/browser/dom-event/dom-event.d.ts.map +1 -1
  6. package/dist/browser/dom-event/mouse-events.d.ts +3 -2
  7. package/dist/browser/dom-event/mouse-events.d.ts.map +1 -1
  8. package/dist/browser/dom-event/pointer-events.d.ts +3 -2
  9. package/dist/browser/dom-event/pointer-events.d.ts.map +1 -1
  10. package/dist/browser/dom-event/touch-events.d.ts +3 -2
  11. package/dist/browser/dom-event/touch-events.d.ts.map +1 -1
  12. package/dist/browser/single-pointer/emitter.d.ts +13 -0
  13. package/dist/browser/single-pointer/emitter.d.ts.map +1 -0
  14. package/dist/browser/single-pointer/index.d.ts +2 -3
  15. package/dist/browser/single-pointer/index.d.ts.map +1 -1
  16. package/dist/browser/single-pointer/mouse-emitter.d.ts +6 -14
  17. package/dist/browser/single-pointer/mouse-emitter.d.ts.map +1 -1
  18. package/dist/browser/single-pointer/mouse.d.ts +2 -3
  19. package/dist/browser/single-pointer/mouse.d.ts.map +1 -1
  20. package/dist/browser/single-pointer/pointer-emitter.d.ts +7 -18
  21. package/dist/browser/single-pointer/pointer-emitter.d.ts.map +1 -1
  22. package/dist/browser/single-pointer/pointer.d.ts +2 -3
  23. package/dist/browser/single-pointer/pointer.d.ts.map +1 -1
  24. package/dist/browser/single-pointer/pool.d.ts +3 -3
  25. package/dist/browser/single-pointer/pool.d.ts.map +1 -1
  26. package/dist/browser/single-pointer/single-pointer-signal.d.ts +25 -0
  27. package/dist/browser/single-pointer/single-pointer-signal.d.ts.map +1 -0
  28. package/dist/browser/single-pointer/touch-emitter.d.ts +6 -14
  29. package/dist/browser/single-pointer/touch-emitter.d.ts.map +1 -1
  30. package/dist/browser/single-pointer/touch.d.ts +2 -3
  31. package/dist/browser/single-pointer/touch.d.ts.map +1 -1
  32. package/dist/browser/single-pointer/types.d.ts +4 -4
  33. package/dist/browser/single-pointer/types.d.ts.map +1 -1
  34. package/dist/core/index.d.ts +4 -0
  35. package/dist/core/index.d.ts.map +1 -0
  36. package/dist/core/meta.d.ts +3 -0
  37. package/dist/core/meta.d.ts.map +1 -0
  38. package/dist/core/signal.d.ts +9 -0
  39. package/dist/core/signal.d.ts.map +1 -0
  40. package/dist/{stream → core}/stream.d.ts +6 -5
  41. package/dist/core/stream.d.ts.map +1 -0
  42. package/dist/emitter-CyT5OiQO.cjs +2 -0
  43. package/dist/emitter-CyT5OiQO.cjs.map +1 -0
  44. package/dist/emitter-FFAuyJ19.js +101 -0
  45. package/dist/emitter-FFAuyJ19.js.map +1 -0
  46. package/dist/index.cjs +1 -1
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.d.ts +1 -2
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +129 -39
  51. package/dist/index.js.map +1 -1
  52. package/dist/internal/subject.d.ts +6 -5
  53. package/dist/internal/subject.d.ts.map +1 -1
  54. package/dist/internal/test-utils.d.ts +10 -0
  55. package/dist/internal/test-utils.d.ts.map +1 -0
  56. package/dist/ochestrations/compose.d.ts +8 -7
  57. package/dist/ochestrations/compose.d.ts.map +1 -1
  58. package/dist/ochestrations/pipe.d.ts +12 -11
  59. package/dist/ochestrations/pipe.d.ts.map +1 -1
  60. package/dist/operators/buffer.d.ts +5 -4
  61. package/dist/operators/buffer.d.ts.map +1 -1
  62. package/dist/operators/debounce.d.ts +3 -2
  63. package/dist/operators/debounce.d.ts.map +1 -1
  64. package/dist/operators/distinct.d.ts +8 -7
  65. package/dist/operators/distinct.d.ts.map +1 -1
  66. package/dist/operators/filter.d.ts +3 -2
  67. package/dist/operators/filter.d.ts.map +1 -1
  68. package/dist/operators/index.d.ts +0 -1
  69. package/dist/operators/index.d.ts.map +1 -1
  70. package/dist/operators/map.d.ts +3 -2
  71. package/dist/operators/map.d.ts.map +1 -1
  72. package/dist/operators/merge.d.ts +4 -3
  73. package/dist/operators/merge.d.ts.map +1 -1
  74. package/dist/operators/share.d.ts +4 -3
  75. package/dist/operators/share.d.ts.map +1 -1
  76. package/dist/operators/skip.d.ts +5 -4
  77. package/dist/operators/skip.d.ts.map +1 -1
  78. package/dist/operators/spy.d.ts +3 -2
  79. package/dist/operators/spy.d.ts.map +1 -1
  80. package/dist/operators/take.d.ts +5 -4
  81. package/dist/operators/take.d.ts.map +1 -1
  82. package/dist/operators/throttle.d.ts +4 -3
  83. package/dist/operators/throttle.d.ts.map +1 -1
  84. package/dist/operators.cjs +1 -1
  85. package/dist/operators.cjs.map +1 -1
  86. package/dist/operators.js +178 -192
  87. package/dist/operators.js.map +1 -1
  88. package/dist/single-pointer/mouse.cjs +1 -1
  89. package/dist/single-pointer/mouse.cjs.map +1 -1
  90. package/dist/single-pointer/mouse.js +31 -60
  91. package/dist/single-pointer/mouse.js.map +1 -1
  92. package/dist/single-pointer/pointer.cjs +1 -1
  93. package/dist/single-pointer/pointer.js +1 -6
  94. package/dist/single-pointer/pointer.js.map +1 -1
  95. package/dist/single-pointer/touch.cjs +1 -1
  96. package/dist/single-pointer/touch.cjs.map +1 -1
  97. package/dist/single-pointer/touch.js +34 -64
  98. package/dist/single-pointer/touch.js.map +1 -1
  99. package/dist/stream-CDK0RZPi.js.map +1 -1
  100. package/dist/stream-Cp6eCZs2.cjs.map +1 -1
  101. package/dist/{types-DkXpfiI3.cjs → types-BGR5Mhw9.cjs} +2 -2
  102. package/dist/types-BGR5Mhw9.cjs.map +1 -0
  103. package/dist/types-Ccnqx90M.js.map +1 -1
  104. package/package.json +1 -1
  105. package/dist/browser/single-pointer/single-pointer.d.ts +0 -22
  106. package/dist/browser/single-pointer/single-pointer.d.ts.map +0 -1
  107. package/dist/factory/defer.d.ts +0 -3
  108. package/dist/factory/defer.d.ts.map +0 -1
  109. package/dist/factory/empty.d.ts +0 -3
  110. package/dist/factory/empty.d.ts.map +0 -1
  111. package/dist/factory/from-promise.d.ts +0 -3
  112. package/dist/factory/from-promise.d.ts.map +0 -1
  113. package/dist/factory/from.d.ts +0 -3
  114. package/dist/factory/from.d.ts.map +0 -1
  115. package/dist/factory/index.d.ts +0 -10
  116. package/dist/factory/index.d.ts.map +0 -1
  117. package/dist/factory/interval.d.ts +0 -3
  118. package/dist/factory/interval.d.ts.map +0 -1
  119. package/dist/factory/never.d.ts +0 -3
  120. package/dist/factory/never.d.ts.map +0 -1
  121. package/dist/factory/of.d.ts +0 -3
  122. package/dist/factory/of.d.ts.map +0 -1
  123. package/dist/factory/throw-error.d.ts +0 -3
  124. package/dist/factory/throw-error.d.ts.map +0 -1
  125. package/dist/factory/timer.d.ts +0 -3
  126. package/dist/factory/timer.d.ts.map +0 -1
  127. package/dist/operators/combine.d.ts +0 -8
  128. package/dist/operators/combine.d.ts.map +0 -1
  129. package/dist/pointer-CX9qwBVm.cjs +0 -2
  130. package/dist/pointer-CX9qwBVm.cjs.map +0 -1
  131. package/dist/pointer-Cq2B2vwv.js +0 -111
  132. package/dist/pointer-Cq2B2vwv.js.map +0 -1
  133. package/dist/pool-CM9teIjt.js +0 -42
  134. package/dist/pool-CM9teIjt.js.map +0 -1
  135. package/dist/pool-Dr67Mz_1.cjs +0 -2
  136. package/dist/pool-Dr67Mz_1.cjs.map +0 -1
  137. package/dist/stream/stream.d.ts.map +0 -1
  138. package/dist/types-DkXpfiI3.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"stream-Cp6eCZs2.cjs","sources":["../src/stream/stream.ts"],"sourcesContent":["export type Unsubscribe = () => void;\n\nexport interface Observer<T> {\n next(value: T): void;\n error?(err: unknown): void;\n complete?(): void;\n}\n\n/**\n * Stream is the core reactive abstraction in Cereb.\n * All streams are blockable - when blocked, events are silently dropped.\n * By default, streams support a single observer. Use share() for multicast.\n */\nexport interface Stream<T> {\n subscribe(observer: Observer<T> | ((value: T) => void)): Unsubscribe;\n\n /** Block event propagation. Events are dropped, not queued. */\n block(): void;\n\n /** Unblock event propagation, resuming normal flow. */\n unblock(): void;\n\n /** Returns true if the stream is currently blocked. */\n readonly isBlocked: boolean;\n}\n\nexport type Operator<T, R> = (source: Stream<T>) => Stream<R>;\n\nexport function toObserver<T>(observerOrNext: Observer<T> | ((value: T) => void)): Observer<T> {\n if (typeof observerOrNext === \"function\") {\n return { next: observerOrNext };\n }\n return observerOrNext;\n}\n\n/**\n * Creates a Stream from a subscribe function.\n * The stream can be blocked/unblocked to control event flow.\n */\nexport function createStream<T>(\n subscribeFn: (observer: Observer<T>) => Unsubscribe | void,\n): Stream<T> {\n let blocked = false;\n\n return {\n get isBlocked() {\n return blocked;\n },\n\n block() {\n blocked = true;\n },\n\n unblock() {\n blocked = false;\n },\n\n subscribe(observerOrNext) {\n const observer = toObserver(observerOrNext);\n\n const wrappedObserver: Observer<T> = {\n next(value) {\n if (!blocked) {\n observer.next(value);\n }\n },\n error: observer.error?.bind(observer),\n complete: observer.complete?.bind(observer),\n };\n\n const cleanup = subscribeFn(wrappedObserver);\n return cleanup ?? (() => {});\n },\n };\n}\n"],"names":["toObserver","observerOrNext","createStream","subscribeFn","blocked","observer","wrappedObserver","value"],"mappings":"aA4BO,SAASA,EAAcC,EAAiE,CAC7F,OAAI,OAAOA,GAAmB,WACrB,CAAE,KAAMA,CAAA,EAEVA,CACT,CAMO,SAASC,EACdC,EACW,CACX,IAAIC,EAAU,GAEd,MAAO,CACL,IAAI,WAAY,CACd,OAAOA,CACT,EAEA,OAAQ,CACNA,EAAU,EACZ,EAEA,SAAU,CACRA,EAAU,EACZ,EAEA,UAAUH,EAAgB,CACxB,MAAMI,EAAWL,EAAWC,CAAc,EAEpCK,EAA+B,CACnC,KAAKC,EAAO,CACLH,GACHC,EAAS,KAAKE,CAAK,CAEvB,EACA,MAAOF,EAAS,OAAO,KAAKA,CAAQ,EACpC,SAAUA,EAAS,UAAU,KAAKA,CAAQ,CAAA,EAI5C,OADgBF,EAAYG,CAAe,IACxB,IAAM,CAAC,EAC5B,CAAA,CAEJ"}
1
+ {"version":3,"file":"stream-Cp6eCZs2.cjs","sources":["../src/core/stream.ts"],"sourcesContent":["import type { Signal } from \"./signal.js\";\n\nexport type Unsubscribe = () => void;\n\nexport interface Observer<T extends Signal> {\n next(value: T): void;\n error?(err: unknown): void;\n complete?(): void;\n}\n\n/**\n * Stream is the core reactive abstraction in Cereb.\n * All streams are blockable - when blocked, events are silently dropped.\n * By default, streams support a single observer. Use share() for multicast.\n */\nexport interface Stream<T extends Signal> {\n subscribe(observer: Observer<T> | ((value: T) => void)): Unsubscribe;\n\n /** Block event propagation. Events are dropped, not queued. */\n block(): void;\n\n /** Unblock event propagation, resuming normal flow. */\n unblock(): void;\n\n /** Returns true if the stream is currently blocked. */\n readonly isBlocked: boolean;\n}\n\nexport type Operator<T extends Signal, R extends Signal> = (source: Stream<T>) => Stream<R>;\n\nexport function toObserver<T extends Signal>(\n observerOrNext: Observer<T> | ((value: T) => void),\n): Observer<T> {\n if (typeof observerOrNext === \"function\") {\n return { next: observerOrNext };\n }\n return observerOrNext;\n}\n\n/**\n * Creates a Stream from a subscribe function.\n * The stream can be blocked/unblocked to control event flow.\n */\nexport function createStream<T extends Signal>(\n subscribeFn: (observer: Observer<T>) => Unsubscribe | void,\n): Stream<T> {\n let blocked = false;\n\n return {\n get isBlocked() {\n return blocked;\n },\n\n block() {\n blocked = true;\n },\n\n unblock() {\n blocked = false;\n },\n\n subscribe(observerOrNext) {\n const observer = toObserver(observerOrNext);\n\n const wrappedObserver: Observer<T> = {\n next(value) {\n if (!blocked) {\n observer.next(value);\n }\n },\n error: observer.error?.bind(observer),\n complete: observer.complete?.bind(observer),\n };\n\n const cleanup = subscribeFn(wrappedObserver);\n return cleanup ?? (() => {});\n },\n };\n}\n"],"names":["toObserver","observerOrNext","createStream","subscribeFn","blocked","observer","wrappedObserver","value"],"mappings":"aA8BO,SAASA,EACdC,EACa,CACb,OAAI,OAAOA,GAAmB,WACrB,CAAE,KAAMA,CAAA,EAEVA,CACT,CAMO,SAASC,EACdC,EACW,CACX,IAAIC,EAAU,GAEd,MAAO,CACL,IAAI,WAAY,CACd,OAAOA,CACT,EAEA,OAAQ,CACNA,EAAU,EACZ,EAEA,SAAU,CACRA,EAAU,EACZ,EAEA,UAAUH,EAAgB,CACxB,MAAMI,EAAWL,EAAWC,CAAc,EAEpCK,EAA+B,CACnC,KAAKC,EAAO,CACLH,GACHC,EAAS,KAAKE,CAAK,CAEvB,EACA,MAAOF,EAAS,OAAO,KAAKA,CAAQ,EACpC,SAAUA,EAAS,UAAU,KAAKA,CAAQ,CAAA,EAI5C,OADgBF,EAAYG,CAAe,IACxB,IAAM,CAAC,EAC5B,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(r){switch(r){case-1:return"none";case 0:return"primary";case 1:return"auxiliary";case 2:return"secondary";case 3:return"back";case 4:return"forward";default:return"none"}}exports.toPointerButton=e;
2
- //# sourceMappingURL=types-DkXpfiI3.cjs.map
1
+ "use strict";function e(r){switch(r){case-1:return"none";case 0:return"primary";case 1:return"auxiliary";case 2:return"secondary";case 3:return"back";case 4:return"forward";default:return"none"}}exports.toSinglePointerButton=e;
2
+ //# sourceMappingURL=types-BGR5Mhw9.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types-BGR5Mhw9.cjs","sources":["../src/browser/single-pointer/types.ts"],"sourcesContent":["export type SinglePointerType = \"touch\" | \"mouse\" | \"pen\" | \"unknown\";\n\nexport type SinglePointerPhase = \"unknown\" | \"start\" | \"move\" | \"end\" | \"cancel\";\n\nexport type SinglePointerButton =\n | \"none\"\n | \"primary\"\n | \"secondary\"\n | \"auxiliary\"\n | \"back\"\n | \"forward\";\n\nexport function toSinglePointerButton(button: number): SinglePointerButton {\n switch (button) {\n case -1:\n return \"none\";\n case 0:\n return \"primary\";\n case 1:\n return \"auxiliary\";\n case 2:\n return \"secondary\";\n case 3:\n return \"back\";\n case 4:\n return \"forward\";\n default:\n return \"none\";\n }\n}\n"],"names":["toSinglePointerButton","button"],"mappings":"aAYO,SAASA,EAAsBC,EAAqC,CACzE,OAAQA,EAAA,CACN,IAAK,GACH,MAAO,OACT,IAAK,GACH,MAAO,UACT,IAAK,GACH,MAAO,YACT,IAAK,GACH,MAAO,YACT,IAAK,GACH,MAAO,OACT,IAAK,GACH,MAAO,UACT,QACE,MAAO,MAAA,CAEb"}
@@ -1 +1 @@
1
- {"version":3,"file":"types-Ccnqx90M.js","sources":["../src/browser/single-pointer/types.ts"],"sourcesContent":["export type PointerType = \"touch\" | \"mouse\" | \"pen\" | \"unknown\";\n\nexport type PointerPhase = \"start\" | \"move\" | \"end\" | \"cancel\";\n\nexport type PointerButton = \"none\" | \"primary\" | \"secondary\" | \"auxiliary\" | \"back\" | \"forward\";\n\nexport function toPointerButton(button: number): PointerButton {\n switch (button) {\n case -1:\n return \"none\";\n case 0:\n return \"primary\";\n case 1:\n return \"auxiliary\";\n case 2:\n return \"secondary\";\n case 3:\n return \"back\";\n case 4:\n return \"forward\";\n default:\n return \"none\";\n }\n}\n"],"names":["toPointerButton","button"],"mappings":"AAMO,SAASA,EAAgBC,GAA+B;AAC7D,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;"}
1
+ {"version":3,"file":"types-Ccnqx90M.js","sources":["../src/browser/single-pointer/types.ts"],"sourcesContent":["export type SinglePointerType = \"touch\" | \"mouse\" | \"pen\" | \"unknown\";\n\nexport type SinglePointerPhase = \"unknown\" | \"start\" | \"move\" | \"end\" | \"cancel\";\n\nexport type SinglePointerButton =\n | \"none\"\n | \"primary\"\n | \"secondary\"\n | \"auxiliary\"\n | \"back\"\n | \"forward\";\n\nexport function toSinglePointerButton(button: number): SinglePointerButton {\n switch (button) {\n case -1:\n return \"none\";\n case 0:\n return \"primary\";\n case 1:\n return \"auxiliary\";\n case 2:\n return \"secondary\";\n case 3:\n return \"back\";\n case 4:\n return \"forward\";\n default:\n return \"none\";\n }\n}\n"],"names":["toSinglePointerButton","button"],"mappings":"AAYO,SAASA,EAAsBC,GAAqC;AACzE,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cereb",
3
3
  "description": "User input modeling and orchestration with a lightweight reactive stream library.",
4
- "version": "0.1.0",
4
+ "version": "0.2.0",
5
5
  "license": "MIT",
6
6
  "author": "devphilip21 <philip21.dev@gmail.com>",
7
7
  "repository": {
@@ -1,22 +0,0 @@
1
- import { PointerButton, PointerPhase, PointerType } from './types.js';
2
- /**
3
- * Normalized pointer data representing a single point of contact.
4
- * Abstracts away differences between mouse, touch, and pointer events.
5
- */
6
- export interface SinglePointer {
7
- phase: PointerPhase;
8
- x: number;
9
- y: number;
10
- pageX: number;
11
- pageY: number;
12
- pointerType: PointerType;
13
- button: PointerButton;
14
- /** 0.0 ~ 1.0, default 0.5 if unsupported */
15
- pressure: number;
16
- timestamp: number;
17
- deviceId: string;
18
- }
19
- export declare function createDefaultSinglePointer(): SinglePointer;
20
- export declare function resetSinglePointer(p: SinglePointer): void;
21
- export declare function isSinglePointer(value: unknown): value is SinglePointer;
22
- //# sourceMappingURL=single-pointer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"single-pointer.d.ts","sourceRoot":"","sources":["../../../src/browser/single-pointer/single-pointer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,aAAa,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,0BAA0B,IAAI,aAAa,CAa1D;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,aAAa,GAAG,IAAI,CAWzD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAStE"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function defer<T>(factory: () => Stream<T>): Stream<T>;
3
- //# sourceMappingURL=defer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defer.d.ts","sourceRoot":"","sources":["../../src/factory/defer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAI5D"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function empty<T = never>(): Stream<T>;
3
- //# sourceMappingURL=empty.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../src/factory/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,KAAK,CAAC,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAK5C"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function fromPromise<T>(promise: Promise<T>): Stream<T>;
3
- //# sourceMappingURL=from-promise.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"from-promise.d.ts","sourceRoot":"","sources":["../../src/factory/from-promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAqB7D"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function from<T>(values: Iterable<T>): Stream<T>;
3
- //# sourceMappingURL=from.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"from.d.ts","sourceRoot":"","sources":["../../src/factory/from.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAQtD"}
@@ -1,10 +0,0 @@
1
- export * from './defer.js';
2
- export * from './empty.js';
3
- export * from './from.js';
4
- export * from './from-promise.js';
5
- export * from './interval.js';
6
- export * from './never.js';
7
- export * from './of.js';
8
- export * from './throw-error.js';
9
- export * from './timer.js';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function interval(ms: number): Stream<number>;
3
- //# sourceMappingURL=interval.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../src/factory/interval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAWnD"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function never<T = never>(): Stream<T>;
3
- //# sourceMappingURL=never.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"never.d.ts","sourceRoot":"","sources":["../../src/factory/never.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,KAAK,CAAC,CAAC,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAI5C"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function of<T>(value: T): Stream<T>;
3
- //# sourceMappingURL=of.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"of.d.ts","sourceRoot":"","sources":["../../src/factory/of.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAMzC"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function throwError(error: unknown): Stream<never>;
3
- //# sourceMappingURL=throw-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"throw-error.d.ts","sourceRoot":"","sources":["../../src/factory/throw-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAKxD"}
@@ -1,3 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function timer(delay: number, period?: number): Stream<number>;
3
- //# sourceMappingURL=timer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/factory/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEhE,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAwBpE"}
@@ -1,8 +0,0 @@
1
- import { Stream } from '../stream/stream.js';
2
- export declare function combineLatest<T extends unknown[]>(...sources: {
3
- [K in keyof T]: Stream<T[K]>;
4
- }): Stream<T>;
5
- export declare function forkJoin<T extends unknown[]>(...sources: {
6
- [K in keyof T]: Stream<T[K]>;
7
- }): Stream<T>;
8
- //# sourceMappingURL=combine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"combine.d.ts","sourceRoot":"","sources":["../../src/operators/combine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,EAC/C,GAAG,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3C,MAAM,CAAC,CAAC,CAAC,CAgCX;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAC1C,GAAG,OAAO,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC3C,MAAM,CAAC,CAAC,CAAC,CA+BX"}
@@ -1,2 +0,0 @@
1
- "use strict";const f=require("./stream-Cp6eCZs2.cjs"),l=require("./pool-Dr67Mz_1.cjs"),m=require("./types-DkXpfiI3.cjs"),d=["pointerdown","pointermove","pointerup","pointercancel"];function P(o,s){return f.createStream(i=>{const e=t=>{i.next(t)};for(const t of d)o.addEventListener(t,e,s);return()=>{for(const t of d)o.removeEventListener(t,e,s)}})}function g(o={}){const{deviceId:s,pooling:i=!1}=o;let e=null,t=s??"";function c(){return i?l.singlePointerPool.acquire():{phase:"move",x:0,y:0,pageX:0,pageY:0,pointerType:"unknown",button:"none",pressure:.5,timestamp:0,deviceId:""}}function u(){e&&i&&l.singlePointerPool.release(e),e=null}return{process(n){if(!n.isPrimary)return e;let p,a;switch(n.type){case"pointerdown":p="start",a=m.toPointerButton(n.button);break;case"pointerup":p="end",a=m.toPointerButton(n.button);break;case"pointercancel":p="cancel",a="none";break;default:p="move",a="none"}const r=c();return r.timestamp=performance.now(),r.deviceId=t||(t=`${n.pointerType}-${n.pointerId}`),r.phase=p,r.x=n.clientX,r.y=n.clientY,r.pageX=n.pageX,r.pageY=n.pageY,r.pointerType=h(n.pointerType),r.button=a,r.pressure=n.pressure,u(),e=r,r},get isActive(){return e!==null},reset(){u(),t=s??""},dispose(){this.reset()}}}function y(o={}){return s=>f.createStream(i=>{const e=g(o),t=s.subscribe({next(c){const u=e.process(c);u&&i.next(u)},error(c){i.error?.(c)},complete(){i.complete?.()}});return()=>{t(),e.dispose()}})}function b(o,s={}){const{listenerOptions:i,...e}=s,t=P(o,i);return y(e)(t)}function h(o){switch(o){case"mouse":return"mouse";case"touch":return"touch";case"pen":return"pen";default:return"unknown"}}exports.createPointerEmitter=g;exports.pointerEvents=P;exports.singlePointer=b;exports.toSinglePointer=y;
2
- //# sourceMappingURL=pointer-CX9qwBVm.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pointer-CX9qwBVm.cjs","sources":["../src/browser/dom-event/pointer-events.ts","../src/browser/single-pointer/pointer-emitter.ts"],"sourcesContent":["import { createStream, type Stream } from \"../../stream/stream.js\";\n\nconst POINTER_EVENTS = [\"pointerdown\", \"pointermove\", \"pointerup\", \"pointercancel\"] as const;\n\nexport function pointerEvents(\n target: EventTarget,\n options?: AddEventListenerOptions,\n): Stream<PointerEvent> {\n return createStream((observer) => {\n const handler = (event: Event) => {\n observer.next(event as PointerEvent);\n };\n\n for (const eventName of POINTER_EVENTS) {\n target.addEventListener(eventName, handler, options);\n }\n\n return () => {\n for (const eventName of POINTER_EVENTS) {\n target.removeEventListener(eventName, handler, options);\n }\n };\n });\n}\n","import type { Operator, Stream } from \"../../stream/stream.js\";\nimport { createStream } from \"../../stream/stream.js\";\nimport { pointerEvents } from \"../dom-event/pointer-events.js\";\nimport { singlePointerPool } from \"./pool.js\";\nimport type { SinglePointer } from \"./single-pointer.js\";\nimport type { PointerButton, PointerPhase, PointerType } from \"./types.js\";\nimport { toPointerButton } from \"./types.js\";\n\nexport interface PointerEmitterOptions {\n deviceId?: string;\n pooling?: boolean;\n}\n\nexport interface PointerEmitter {\n process(event: PointerEvent): SinglePointer | null;\n readonly isActive: boolean;\n reset(): void;\n dispose(): void;\n}\n\nexport function createPointerEmitter(options: PointerEmitterOptions = {}): PointerEmitter {\n const { deviceId: customDeviceId, pooling = false } = options;\n let current: SinglePointer | null = null;\n let resolvedDeviceId = customDeviceId ?? \"\";\n\n function acquirePointer(): SinglePointer {\n if (pooling) {\n return singlePointerPool.acquire();\n }\n return {\n phase: \"move\",\n x: 0,\n y: 0,\n pageX: 0,\n pageY: 0,\n pointerType: \"unknown\",\n button: \"none\",\n pressure: 0.5,\n timestamp: 0,\n deviceId: \"\",\n };\n }\n\n function releaseCurrentPointer(): void {\n if (current && pooling) {\n singlePointerPool.release(current);\n }\n current = null;\n }\n\n return {\n process(event: PointerEvent): SinglePointer | null {\n if (!event.isPrimary) {\n return current;\n }\n\n let phase: PointerPhase;\n let button: PointerButton;\n switch (event.type) {\n case \"pointerdown\":\n phase = \"start\";\n button = toPointerButton(event.button);\n break;\n case \"pointerup\":\n phase = \"end\";\n button = toPointerButton(event.button);\n break;\n case \"pointercancel\":\n phase = \"cancel\";\n button = \"none\";\n break;\n default:\n phase = \"move\";\n button = \"none\";\n }\n\n const pointer = acquirePointer();\n\n pointer.timestamp = performance.now();\n pointer.deviceId =\n resolvedDeviceId || (resolvedDeviceId = `${event.pointerType}-${event.pointerId}`);\n pointer.phase = phase;\n pointer.x = event.clientX;\n pointer.y = event.clientY;\n pointer.pageX = event.pageX;\n pointer.pageY = event.pageY;\n pointer.pointerType = normalizePointerType(event.pointerType);\n pointer.button = button;\n pointer.pressure = event.pressure;\n\n releaseCurrentPointer();\n current = pointer;\n return pointer;\n },\n\n get isActive(): boolean {\n return current !== null;\n },\n\n reset(): void {\n releaseCurrentPointer();\n resolvedDeviceId = customDeviceId ?? \"\";\n },\n\n dispose(): void {\n this.reset();\n },\n };\n}\n\nexport function toSinglePointer(\n options: PointerEmitterOptions = {},\n): Operator<PointerEvent, SinglePointer> {\n return (source) =>\n createStream((observer) => {\n const emitter = createPointerEmitter(options);\n\n const unsub = source.subscribe({\n next(event) {\n const pointer = emitter.process(event);\n if (pointer) {\n observer.next(pointer);\n }\n },\n error(err) {\n observer.error?.(err);\n },\n complete() {\n observer.complete?.();\n },\n });\n\n return () => {\n unsub();\n emitter.dispose();\n };\n });\n}\n\nexport interface SinglePointerOptions extends PointerEmitterOptions {\n listenerOptions?: AddEventListenerOptions;\n}\n\nexport function singlePointer(\n target: EventTarget,\n options: SinglePointerOptions = {},\n): Stream<SinglePointer> {\n const { listenerOptions, ...emitterOptions } = options;\n const source = pointerEvents(target, listenerOptions);\n return toSinglePointer(emitterOptions)(source);\n}\n\nfunction normalizePointerType(type: string): PointerType {\n switch (type) {\n case \"mouse\":\n return \"mouse\";\n case \"touch\":\n return \"touch\";\n case \"pen\":\n return \"pen\";\n default:\n return \"unknown\";\n }\n}\n"],"names":["POINTER_EVENTS","pointerEvents","target","options","createStream","observer","handler","event","eventName","createPointerEmitter","customDeviceId","pooling","current","resolvedDeviceId","acquirePointer","singlePointerPool","releaseCurrentPointer","phase","button","toPointerButton","pointer","normalizePointerType","toSinglePointer","source","emitter","unsub","err","singlePointer","listenerOptions","emitterOptions","type"],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- import { c as d } from "./stream-CDK0RZPi.js";
2
- import { s as l } from "./pool-CM9teIjt.js";
3
- import { t as m } from "./types-Ccnqx90M.js";
4
- const f = ["pointerdown", "pointermove", "pointerup", "pointercancel"];
5
- function P(o, s) {
6
- return d((i) => {
7
- const e = (t) => {
8
- i.next(t);
9
- };
10
- for (const t of f)
11
- o.addEventListener(t, e, s);
12
- return () => {
13
- for (const t of f)
14
- o.removeEventListener(t, e, s);
15
- };
16
- });
17
- }
18
- function g(o = {}) {
19
- const { deviceId: s, pooling: i = !1 } = o;
20
- let e = null, t = s ?? "";
21
- function c() {
22
- return i ? l.acquire() : {
23
- phase: "move",
24
- x: 0,
25
- y: 0,
26
- pageX: 0,
27
- pageY: 0,
28
- pointerType: "unknown",
29
- button: "none",
30
- pressure: 0.5,
31
- timestamp: 0,
32
- deviceId: ""
33
- };
34
- }
35
- function p() {
36
- e && i && l.release(e), e = null;
37
- }
38
- return {
39
- process(n) {
40
- if (!n.isPrimary)
41
- return e;
42
- let u, a;
43
- switch (n.type) {
44
- case "pointerdown":
45
- u = "start", a = m(n.button);
46
- break;
47
- case "pointerup":
48
- u = "end", a = m(n.button);
49
- break;
50
- case "pointercancel":
51
- u = "cancel", a = "none";
52
- break;
53
- default:
54
- u = "move", a = "none";
55
- }
56
- const r = c();
57
- return r.timestamp = performance.now(), r.deviceId = t || (t = `${n.pointerType}-${n.pointerId}`), r.phase = u, r.x = n.clientX, r.y = n.clientY, r.pageX = n.pageX, r.pageY = n.pageY, r.pointerType = h(n.pointerType), r.button = a, r.pressure = n.pressure, p(), e = r, r;
58
- },
59
- get isActive() {
60
- return e !== null;
61
- },
62
- reset() {
63
- p(), t = s ?? "";
64
- },
65
- dispose() {
66
- this.reset();
67
- }
68
- };
69
- }
70
- function b(o = {}) {
71
- return (s) => d((i) => {
72
- const e = g(o), t = s.subscribe({
73
- next(c) {
74
- const p = e.process(c);
75
- p && i.next(p);
76
- },
77
- error(c) {
78
- i.error?.(c);
79
- },
80
- complete() {
81
- i.complete?.();
82
- }
83
- });
84
- return () => {
85
- t(), e.dispose();
86
- };
87
- });
88
- }
89
- function I(o, s = {}) {
90
- const { listenerOptions: i, ...e } = s, t = P(o, i);
91
- return b(e)(t);
92
- }
93
- function h(o) {
94
- switch (o) {
95
- case "mouse":
96
- return "mouse";
97
- case "touch":
98
- return "touch";
99
- case "pen":
100
- return "pen";
101
- default:
102
- return "unknown";
103
- }
104
- }
105
- export {
106
- g as c,
107
- P as p,
108
- I as s,
109
- b as t
110
- };
111
- //# sourceMappingURL=pointer-Cq2B2vwv.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pointer-Cq2B2vwv.js","sources":["../src/browser/dom-event/pointer-events.ts","../src/browser/single-pointer/pointer-emitter.ts"],"sourcesContent":["import { createStream, type Stream } from \"../../stream/stream.js\";\n\nconst POINTER_EVENTS = [\"pointerdown\", \"pointermove\", \"pointerup\", \"pointercancel\"] as const;\n\nexport function pointerEvents(\n target: EventTarget,\n options?: AddEventListenerOptions,\n): Stream<PointerEvent> {\n return createStream((observer) => {\n const handler = (event: Event) => {\n observer.next(event as PointerEvent);\n };\n\n for (const eventName of POINTER_EVENTS) {\n target.addEventListener(eventName, handler, options);\n }\n\n return () => {\n for (const eventName of POINTER_EVENTS) {\n target.removeEventListener(eventName, handler, options);\n }\n };\n });\n}\n","import type { Operator, Stream } from \"../../stream/stream.js\";\nimport { createStream } from \"../../stream/stream.js\";\nimport { pointerEvents } from \"../dom-event/pointer-events.js\";\nimport { singlePointerPool } from \"./pool.js\";\nimport type { SinglePointer } from \"./single-pointer.js\";\nimport type { PointerButton, PointerPhase, PointerType } from \"./types.js\";\nimport { toPointerButton } from \"./types.js\";\n\nexport interface PointerEmitterOptions {\n deviceId?: string;\n pooling?: boolean;\n}\n\nexport interface PointerEmitter {\n process(event: PointerEvent): SinglePointer | null;\n readonly isActive: boolean;\n reset(): void;\n dispose(): void;\n}\n\nexport function createPointerEmitter(options: PointerEmitterOptions = {}): PointerEmitter {\n const { deviceId: customDeviceId, pooling = false } = options;\n let current: SinglePointer | null = null;\n let resolvedDeviceId = customDeviceId ?? \"\";\n\n function acquirePointer(): SinglePointer {\n if (pooling) {\n return singlePointerPool.acquire();\n }\n return {\n phase: \"move\",\n x: 0,\n y: 0,\n pageX: 0,\n pageY: 0,\n pointerType: \"unknown\",\n button: \"none\",\n pressure: 0.5,\n timestamp: 0,\n deviceId: \"\",\n };\n }\n\n function releaseCurrentPointer(): void {\n if (current && pooling) {\n singlePointerPool.release(current);\n }\n current = null;\n }\n\n return {\n process(event: PointerEvent): SinglePointer | null {\n if (!event.isPrimary) {\n return current;\n }\n\n let phase: PointerPhase;\n let button: PointerButton;\n switch (event.type) {\n case \"pointerdown\":\n phase = \"start\";\n button = toPointerButton(event.button);\n break;\n case \"pointerup\":\n phase = \"end\";\n button = toPointerButton(event.button);\n break;\n case \"pointercancel\":\n phase = \"cancel\";\n button = \"none\";\n break;\n default:\n phase = \"move\";\n button = \"none\";\n }\n\n const pointer = acquirePointer();\n\n pointer.timestamp = performance.now();\n pointer.deviceId =\n resolvedDeviceId || (resolvedDeviceId = `${event.pointerType}-${event.pointerId}`);\n pointer.phase = phase;\n pointer.x = event.clientX;\n pointer.y = event.clientY;\n pointer.pageX = event.pageX;\n pointer.pageY = event.pageY;\n pointer.pointerType = normalizePointerType(event.pointerType);\n pointer.button = button;\n pointer.pressure = event.pressure;\n\n releaseCurrentPointer();\n current = pointer;\n return pointer;\n },\n\n get isActive(): boolean {\n return current !== null;\n },\n\n reset(): void {\n releaseCurrentPointer();\n resolvedDeviceId = customDeviceId ?? \"\";\n },\n\n dispose(): void {\n this.reset();\n },\n };\n}\n\nexport function toSinglePointer(\n options: PointerEmitterOptions = {},\n): Operator<PointerEvent, SinglePointer> {\n return (source) =>\n createStream((observer) => {\n const emitter = createPointerEmitter(options);\n\n const unsub = source.subscribe({\n next(event) {\n const pointer = emitter.process(event);\n if (pointer) {\n observer.next(pointer);\n }\n },\n error(err) {\n observer.error?.(err);\n },\n complete() {\n observer.complete?.();\n },\n });\n\n return () => {\n unsub();\n emitter.dispose();\n };\n });\n}\n\nexport interface SinglePointerOptions extends PointerEmitterOptions {\n listenerOptions?: AddEventListenerOptions;\n}\n\nexport function singlePointer(\n target: EventTarget,\n options: SinglePointerOptions = {},\n): Stream<SinglePointer> {\n const { listenerOptions, ...emitterOptions } = options;\n const source = pointerEvents(target, listenerOptions);\n return toSinglePointer(emitterOptions)(source);\n}\n\nfunction normalizePointerType(type: string): PointerType {\n switch (type) {\n case \"mouse\":\n return \"mouse\";\n case \"touch\":\n return \"touch\";\n case \"pen\":\n return \"pen\";\n default:\n return \"unknown\";\n }\n}\n"],"names":["POINTER_EVENTS","pointerEvents","target","options","createStream","observer","handler","event","eventName","createPointerEmitter","customDeviceId","pooling","current","resolvedDeviceId","acquirePointer","singlePointerPool","releaseCurrentPointer","phase","button","toPointerButton","pointer","normalizePointerType","toSinglePointer","source","emitter","unsub","err","singlePointer","listenerOptions","emitterOptions","type"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- function a(e, i, o = {}) {
2
- const { initialSize: r = 0, maxSize: s = 100 } = o, n = [];
3
- for (let t = 0; t < r; t++)
4
- n.push(e());
5
- return {
6
- get size() {
7
- return n.length;
8
- },
9
- acquire() {
10
- return n.length > 0 ? n.pop() : e();
11
- },
12
- release(t) {
13
- n.length < s && (i(t), n.push(t));
14
- }
15
- };
16
- }
17
- function u() {
18
- return {
19
- phase: "move",
20
- x: 0,
21
- y: 0,
22
- pageX: 0,
23
- pageY: 0,
24
- pointerType: "unknown",
25
- button: "none",
26
- pressure: 0.5,
27
- timestamp: 0,
28
- deviceId: ""
29
- };
30
- }
31
- function l(e) {
32
- e.phase = "move", e.x = 0, e.y = 0, e.pageX = 0, e.pageY = 0, e.pointerType = "unknown", e.button = "none", e.pressure = 0.5, e.timestamp = 0, e.deviceId = "";
33
- }
34
- const c = a(u, l, {
35
- initialSize: 20,
36
- maxSize: 100
37
- });
38
- export {
39
- a as c,
40
- c as s
41
- };
42
- //# sourceMappingURL=pool-CM9teIjt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pool-CM9teIjt.js","sources":["../src/internal/object-pool.ts","../src/browser/single-pointer/single-pointer.ts","../src/browser/single-pointer/pool.ts"],"sourcesContent":["export interface ObjectPool<T> {\n acquire(): T;\n release(item: T): void;\n readonly size: number;\n}\n\nexport interface ObjectPoolOptions {\n initialSize?: number;\n maxSize?: number;\n}\n\n/**\n * Generic object pool for reusing objects and reducing GC pressure.\n * Useful for high-frequency scenarios like pointer/touch events.\n */\nexport function createObjectPool<T>(\n create: () => T,\n reset: (item: T) => void,\n options: ObjectPoolOptions = {},\n): ObjectPool<T> {\n const { initialSize = 0, maxSize = 100 } = options;\n const pool: T[] = [];\n\n for (let i = 0; i < initialSize; i++) {\n pool.push(create());\n }\n\n return {\n get size() {\n return pool.length;\n },\n\n acquire(): T {\n if (pool.length > 0) {\n return pool.pop()!;\n }\n return create();\n },\n\n release(item: T): void {\n if (pool.length < maxSize) {\n reset(item);\n pool.push(item);\n }\n },\n };\n}\n","import type { PointerButton, PointerPhase, PointerType } from \"./types.js\";\n\n/**\n * Normalized pointer data representing a single point of contact.\n * Abstracts away differences between mouse, touch, and pointer events.\n */\nexport interface SinglePointer {\n phase: PointerPhase;\n x: number;\n y: number;\n pageX: number;\n pageY: number;\n pointerType: PointerType;\n button: PointerButton;\n /** 0.0 ~ 1.0, default 0.5 if unsupported */\n pressure: number;\n timestamp: number;\n deviceId: string;\n}\n\nexport function createDefaultSinglePointer(): SinglePointer {\n return {\n phase: \"move\",\n x: 0,\n y: 0,\n pageX: 0,\n pageY: 0,\n pointerType: \"unknown\",\n button: \"none\",\n pressure: 0.5,\n timestamp: 0,\n deviceId: \"\",\n };\n}\n\nexport function resetSinglePointer(p: SinglePointer): void {\n p.phase = \"move\";\n p.x = 0;\n p.y = 0;\n p.pageX = 0;\n p.pageY = 0;\n p.pointerType = \"unknown\";\n p.button = \"none\";\n p.pressure = 0.5;\n p.timestamp = 0;\n p.deviceId = \"\";\n}\n\nexport function isSinglePointer(value: unknown): value is SinglePointer {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"phase\" in value &&\n \"x\" in value &&\n \"y\" in value &&\n \"pointerType\" in value\n );\n}\n","import { createObjectPool } from \"../../internal/object-pool.js\";\nimport {\n createDefaultSinglePointer,\n resetSinglePointer,\n type SinglePointer,\n} from \"./single-pointer.js\";\n\nexport const singlePointerPool = createObjectPool(createDefaultSinglePointer, resetSinglePointer, {\n initialSize: 20,\n maxSize: 100,\n});\n\nexport function releaseSinglePointer(pointer: SinglePointer): void {\n singlePointerPool.release(pointer);\n}\n"],"names":["createObjectPool","create","reset","options","initialSize","maxSize","pool","i","item","createDefaultSinglePointer","resetSinglePointer","p","singlePointerPool"],"mappings":"AAeO,SAASA,EACdC,GACAC,GACAC,IAA6B,CAAA,GACd;AACf,QAAM,EAAE,aAAAC,IAAc,GAAG,SAAAC,IAAU,QAAQF,GACrCG,IAAY,CAAA;AAElB,WAASC,IAAI,GAAGA,IAAIH,GAAaG;AAC/B,IAAAD,EAAK,KAAKL,GAAQ;AAGpB,SAAO;AAAA,IACL,IAAI,OAAO;AACT,aAAOK,EAAK;AAAA,IACd;AAAA,IAEA,UAAa;AACX,aAAIA,EAAK,SAAS,IACTA,EAAK,IAAA,IAEPL,EAAA;AAAA,IACT;AAAA,IAEA,QAAQO,GAAe;AACrB,MAAIF,EAAK,SAASD,MAChBH,EAAMM,CAAI,GACVF,EAAK,KAAKE,CAAI;AAAA,IAElB;AAAA,EAAA;AAEJ;AC1BO,SAASC,IAA4C;AAC1D,SAAO;AAAA,IACL,OAAO;AAAA,IACP,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAW;AAAA,IACX,UAAU;AAAA,EAAA;AAEd;AAEO,SAASC,EAAmBC,GAAwB;AACzD,EAAAA,EAAE,QAAQ,QACVA,EAAE,IAAI,GACNA,EAAE,IAAI,GACNA,EAAE,QAAQ,GACVA,EAAE,QAAQ,GACVA,EAAE,cAAc,WAChBA,EAAE,SAAS,QACXA,EAAE,WAAW,KACbA,EAAE,YAAY,GACdA,EAAE,WAAW;AACf;ACvCO,MAAMC,IAAoBZ,EAAiBS,GAA4BC,GAAoB;AAAA,EAChG,aAAa;AAAA,EACb,SAAS;AACX,CAAC;"}
@@ -1,2 +0,0 @@
1
- "use strict";function i(e,o,r={}){const{initialSize:s=0,maxSize:u=100}=r,n=[];for(let t=0;t<s;t++)n.push(e());return{get size(){return n.length},acquire(){return n.length>0?n.pop():e()},release(t){n.length<u&&(o(t),n.push(t))}}}function a(){return{phase:"move",x:0,y:0,pageX:0,pageY:0,pointerType:"unknown",button:"none",pressure:.5,timestamp:0,deviceId:""}}function l(e){e.phase="move",e.x=0,e.y=0,e.pageX=0,e.pageY=0,e.pointerType="unknown",e.button="none",e.pressure=.5,e.timestamp=0,e.deviceId=""}const c=i(a,l,{initialSize:20,maxSize:100});exports.createObjectPool=i;exports.singlePointerPool=c;
2
- //# sourceMappingURL=pool-Dr67Mz_1.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pool-Dr67Mz_1.cjs","sources":["../src/internal/object-pool.ts","../src/browser/single-pointer/single-pointer.ts","../src/browser/single-pointer/pool.ts"],"sourcesContent":["export interface ObjectPool<T> {\n acquire(): T;\n release(item: T): void;\n readonly size: number;\n}\n\nexport interface ObjectPoolOptions {\n initialSize?: number;\n maxSize?: number;\n}\n\n/**\n * Generic object pool for reusing objects and reducing GC pressure.\n * Useful for high-frequency scenarios like pointer/touch events.\n */\nexport function createObjectPool<T>(\n create: () => T,\n reset: (item: T) => void,\n options: ObjectPoolOptions = {},\n): ObjectPool<T> {\n const { initialSize = 0, maxSize = 100 } = options;\n const pool: T[] = [];\n\n for (let i = 0; i < initialSize; i++) {\n pool.push(create());\n }\n\n return {\n get size() {\n return pool.length;\n },\n\n acquire(): T {\n if (pool.length > 0) {\n return pool.pop()!;\n }\n return create();\n },\n\n release(item: T): void {\n if (pool.length < maxSize) {\n reset(item);\n pool.push(item);\n }\n },\n };\n}\n","import type { PointerButton, PointerPhase, PointerType } from \"./types.js\";\n\n/**\n * Normalized pointer data representing a single point of contact.\n * Abstracts away differences between mouse, touch, and pointer events.\n */\nexport interface SinglePointer {\n phase: PointerPhase;\n x: number;\n y: number;\n pageX: number;\n pageY: number;\n pointerType: PointerType;\n button: PointerButton;\n /** 0.0 ~ 1.0, default 0.5 if unsupported */\n pressure: number;\n timestamp: number;\n deviceId: string;\n}\n\nexport function createDefaultSinglePointer(): SinglePointer {\n return {\n phase: \"move\",\n x: 0,\n y: 0,\n pageX: 0,\n pageY: 0,\n pointerType: \"unknown\",\n button: \"none\",\n pressure: 0.5,\n timestamp: 0,\n deviceId: \"\",\n };\n}\n\nexport function resetSinglePointer(p: SinglePointer): void {\n p.phase = \"move\";\n p.x = 0;\n p.y = 0;\n p.pageX = 0;\n p.pageY = 0;\n p.pointerType = \"unknown\";\n p.button = \"none\";\n p.pressure = 0.5;\n p.timestamp = 0;\n p.deviceId = \"\";\n}\n\nexport function isSinglePointer(value: unknown): value is SinglePointer {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"phase\" in value &&\n \"x\" in value &&\n \"y\" in value &&\n \"pointerType\" in value\n );\n}\n","import { createObjectPool } from \"../../internal/object-pool.js\";\nimport {\n createDefaultSinglePointer,\n resetSinglePointer,\n type SinglePointer,\n} from \"./single-pointer.js\";\n\nexport const singlePointerPool = createObjectPool(createDefaultSinglePointer, resetSinglePointer, {\n initialSize: 20,\n maxSize: 100,\n});\n\nexport function releaseSinglePointer(pointer: SinglePointer): void {\n singlePointerPool.release(pointer);\n}\n"],"names":["createObjectPool","create","reset","options","initialSize","maxSize","pool","i","item","createDefaultSinglePointer","resetSinglePointer","p","singlePointerPool"],"mappings":"aAeO,SAASA,EACdC,EACAC,EACAC,EAA6B,CAAA,EACd,CACf,KAAM,CAAE,YAAAC,EAAc,EAAG,QAAAC,EAAU,KAAQF,EACrCG,EAAY,CAAA,EAElB,QAASC,EAAI,EAAGA,EAAIH,EAAaG,IAC/BD,EAAK,KAAKL,GAAQ,EAGpB,MAAO,CACL,IAAI,MAAO,CACT,OAAOK,EAAK,MACd,EAEA,SAAa,CACX,OAAIA,EAAK,OAAS,EACTA,EAAK,IAAA,EAEPL,EAAA,CACT,EAEA,QAAQO,EAAe,CACjBF,EAAK,OAASD,IAChBH,EAAMM,CAAI,EACVF,EAAK,KAAKE,CAAI,EAElB,CAAA,CAEJ,CC1BO,SAASC,GAA4C,CAC1D,MAAO,CACL,MAAO,OACP,EAAG,EACH,EAAG,EACH,MAAO,EACP,MAAO,EACP,YAAa,UACb,OAAQ,OACR,SAAU,GACV,UAAW,EACX,SAAU,EAAA,CAEd,CAEO,SAASC,EAAmBC,EAAwB,CACzDA,EAAE,MAAQ,OACVA,EAAE,EAAI,EACNA,EAAE,EAAI,EACNA,EAAE,MAAQ,EACVA,EAAE,MAAQ,EACVA,EAAE,YAAc,UAChBA,EAAE,OAAS,OACXA,EAAE,SAAW,GACbA,EAAE,UAAY,EACdA,EAAE,SAAW,EACf,CCvCO,MAAMC,EAAoBZ,EAAiBS,EAA4BC,EAAoB,CAChG,YAAa,GACb,QAAS,GACX,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream/stream.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,IAAI,IAAI,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC;IAErE,+DAA+D;IAC/D,KAAK,IAAI,IAAI,CAAC;IAEd,uDAAuD;IACvD,OAAO,IAAI,IAAI,CAAC;IAEhB,uDAAuD;IACvD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AAE9D,wBAAgB,UAAU,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAK7F;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,GAAG,IAAI,GACzD,MAAM,CAAC,CAAC,CAAC,CAiCX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types-DkXpfiI3.cjs","sources":["../src/browser/single-pointer/types.ts"],"sourcesContent":["export type PointerType = \"touch\" | \"mouse\" | \"pen\" | \"unknown\";\n\nexport type PointerPhase = \"start\" | \"move\" | \"end\" | \"cancel\";\n\nexport type PointerButton = \"none\" | \"primary\" | \"secondary\" | \"auxiliary\" | \"back\" | \"forward\";\n\nexport function toPointerButton(button: number): PointerButton {\n switch (button) {\n case -1:\n return \"none\";\n case 0:\n return \"primary\";\n case 1:\n return \"auxiliary\";\n case 2:\n return \"secondary\";\n case 3:\n return \"back\";\n case 4:\n return \"forward\";\n default:\n return \"none\";\n }\n}\n"],"names":["toPointerButton","button"],"mappings":"aAMO,SAASA,EAAgBC,EAA+B,CAC7D,OAAQA,EAAA,CACN,IAAK,GACH,MAAO,OACT,IAAK,GACH,MAAO,UACT,IAAK,GACH,MAAO,YACT,IAAK,GACH,MAAO,YACT,IAAK,GACH,MAAO,OACT,IAAK,GACH,MAAO,UACT,QACE,MAAO,MAAA,CAEb"}