@studiometa/js-toolkit 2.6.4 → 2.7.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 (315) hide show
  1. package/Base/features.cjs +29 -0
  2. package/Base/features.cjs.map +7 -0
  3. package/Base/features.d.ts +2 -0
  4. package/Base/features.js +7 -0
  5. package/Base/features.js.map +7 -0
  6. package/Base/index.cjs +12 -15
  7. package/Base/index.cjs.map +2 -2
  8. package/Base/index.d.ts +1 -5
  9. package/Base/index.js +10 -6
  10. package/Base/index.js.map +2 -2
  11. package/Base/managers/AsyncChildrenManager.cjs +61 -0
  12. package/Base/managers/AsyncChildrenManager.cjs.map +7 -0
  13. package/Base/managers/AsyncChildrenManager.d.ts +18 -0
  14. package/Base/managers/AsyncChildrenManager.js +39 -0
  15. package/Base/managers/AsyncChildrenManager.js.map +7 -0
  16. package/Base/managers/ChildrenManager.cjs +32 -29
  17. package/Base/managers/ChildrenManager.cjs.map +2 -2
  18. package/Base/managers/ChildrenManager.d.ts +21 -1
  19. package/Base/managers/ChildrenManager.js +32 -29
  20. package/Base/managers/ChildrenManager.js.map +2 -2
  21. package/Base/managers/EventsManager.cjs.map +2 -2
  22. package/Base/managers/EventsManager.js.map +2 -2
  23. package/Base/managers/RefsManager.cjs.map +2 -2
  24. package/Base/managers/RefsManager.js.map +2 -2
  25. package/Base/managers/index.cjs +41 -0
  26. package/Base/managers/index.cjs.map +7 -0
  27. package/Base/managers/index.d.ts +8 -0
  28. package/Base/managers/index.js +19 -0
  29. package/Base/managers/index.js.map +7 -0
  30. package/Base/types.cjs.map +1 -1
  31. package/Base/utils.cjs.map +2 -2
  32. package/Base/utils.d.ts +1 -0
  33. package/Base/utils.js.map +2 -2
  34. package/decorators/withBreakpointManager.cjs.map +2 -2
  35. package/decorators/withBreakpointManager.js.map +2 -2
  36. package/decorators/withBreakpointObserver.cjs.map +2 -2
  37. package/decorators/withBreakpointObserver.js.map +2 -2
  38. package/decorators/withDrag.cjs.map +2 -2
  39. package/decorators/withDrag.js.map +2 -2
  40. package/decorators/withMountWhenInView.cjs.map +2 -2
  41. package/decorators/withMountWhenInView.js.map +2 -2
  42. package/decorators/withResponsiveOptions.cjs.map +2 -2
  43. package/decorators/withResponsiveOptions.js.map +2 -2
  44. package/decorators/withScrolledInView.cjs +4 -1
  45. package/decorators/withScrolledInView.cjs.map +2 -2
  46. package/decorators/withScrolledInView.js +4 -1
  47. package/decorators/withScrolledInView.js.map +2 -2
  48. package/decorators/withVue2.cjs.map +2 -2
  49. package/decorators/withVue2.js.map +2 -2
  50. package/helpers/createApp.cjs +23 -19
  51. package/helpers/createApp.cjs.map +2 -2
  52. package/helpers/createApp.d.ts +6 -1
  53. package/helpers/createApp.js +23 -19
  54. package/helpers/createApp.js.map +2 -2
  55. package/helpers/getClosestParent.cjs.map +2 -2
  56. package/helpers/getClosestParent.js.map +2 -2
  57. package/helpers/getInstanceFromElement.cjs.map +2 -2
  58. package/helpers/getInstanceFromElement.js.map +2 -2
  59. package/helpers/importOnInteraction.cjs.map +2 -2
  60. package/helpers/importOnInteraction.js.map +2 -2
  61. package/helpers/importWhenIdle.cjs.map +2 -2
  62. package/helpers/importWhenIdle.js.map +2 -2
  63. package/index.cjs.map +1 -1
  64. package/index.d.ts +1 -1
  65. package/index.js.map +1 -1
  66. package/package.json +1 -1
  67. package/services/drag.cjs +1 -1
  68. package/services/drag.cjs.map +3 -3
  69. package/services/drag.d.ts +21 -24
  70. package/services/drag.js.map +3 -3
  71. package/services/key.cjs +1 -1
  72. package/services/key.cjs.map +3 -3
  73. package/services/key.d.ts +8 -9
  74. package/services/key.js.map +3 -3
  75. package/services/load.cjs +1 -1
  76. package/services/load.cjs.map +3 -3
  77. package/services/load.d.ts +6 -5
  78. package/services/load.js.map +3 -3
  79. package/services/pointer.cjs +1 -1
  80. package/services/pointer.cjs.map +3 -3
  81. package/services/pointer.d.ts +10 -10
  82. package/services/pointer.js.map +3 -3
  83. package/services/raf.cjs +4 -4
  84. package/services/raf.cjs.map +3 -3
  85. package/services/raf.d.ts +6 -7
  86. package/services/raf.js +3 -3
  87. package/services/raf.js.map +3 -3
  88. package/services/resize.cjs +1 -1
  89. package/services/resize.cjs.map +3 -3
  90. package/services/resize.d.ts +8 -9
  91. package/services/resize.js.map +3 -3
  92. package/services/scroll.cjs +1 -1
  93. package/services/scroll.cjs.map +3 -3
  94. package/services/scroll.d.ts +16 -17
  95. package/services/scroll.js.map +3 -3
  96. package/services/service.cjs +2 -2
  97. package/services/service.cjs.map +3 -3
  98. package/services/service.d.ts +12 -14
  99. package/services/service.js +1 -1
  100. package/services/service.js.map +3 -3
  101. package/utils/Queue.cjs +60 -0
  102. package/utils/Queue.cjs.map +7 -0
  103. package/utils/Queue.d.ts +44 -0
  104. package/utils/Queue.js +38 -0
  105. package/utils/Queue.js.map +7 -0
  106. package/utils/collide/boundingRectToCircle.cjs +3 -2
  107. package/utils/collide/boundingRectToCircle.cjs.map +3 -3
  108. package/utils/collide/boundingRectToCircle.d.ts +8 -13
  109. package/utils/collide/boundingRectToCircle.js +2 -1
  110. package/utils/collide/boundingRectToCircle.js.map +3 -3
  111. package/utils/collide/collideCircleCircle.cjs +1 -1
  112. package/utils/collide/collideCircleCircle.cjs.map +1 -1
  113. package/utils/collide/collideCircleCircle.d.ts +1 -15
  114. package/utils/collide/collideCircleCircle.js.map +1 -1
  115. package/utils/collide/collideCircleRect.cjs +1 -1
  116. package/utils/collide/collideCircleRect.cjs.map +1 -1
  117. package/utils/collide/collideCircleRect.d.ts +1 -33
  118. package/utils/collide/collideCircleRect.js.map +1 -1
  119. package/utils/collide/collidePointCircle.cjs +1 -1
  120. package/utils/collide/collidePointCircle.cjs.map +1 -1
  121. package/utils/collide/collidePointCircle.d.ts +1 -25
  122. package/utils/collide/collidePointCircle.js.map +1 -1
  123. package/utils/collide/collidePointRect.cjs +1 -1
  124. package/utils/collide/collidePointRect.cjs.map +1 -1
  125. package/utils/collide/collidePointRect.d.ts +1 -29
  126. package/utils/collide/collidePointRect.js.map +1 -1
  127. package/utils/collide/collideRectRect.cjs +1 -1
  128. package/utils/collide/collideRectRect.cjs.map +1 -1
  129. package/utils/collide/collideRectRect.d.ts +1 -19
  130. package/utils/collide/collideRectRect.js.map +1 -1
  131. package/utils/collide/index.cjs +1 -1
  132. package/utils/collide/index.cjs.map +1 -1
  133. package/utils/collide/index.d.ts +9 -6
  134. package/utils/collide/index.js.map +1 -1
  135. package/utils/css/animate.cjs +14 -15
  136. package/utils/css/animate.cjs.map +3 -3
  137. package/utils/css/animate.d.ts +12 -14
  138. package/utils/css/animate.js +13 -14
  139. package/utils/css/animate.js.map +3 -3
  140. package/utils/css/classes.cjs +1 -1
  141. package/utils/css/classes.cjs.map +3 -3
  142. package/utils/css/classes.d.ts +3 -16
  143. package/utils/css/classes.js.map +3 -3
  144. package/utils/css/getOffsetSizes.cjs +1 -1
  145. package/utils/css/getOffsetSizes.cjs.map +3 -3
  146. package/utils/css/getOffsetSizes.d.ts +0 -2
  147. package/utils/css/getOffsetSizes.js.map +3 -3
  148. package/utils/css/matrix.cjs +1 -1
  149. package/utils/css/matrix.cjs.map +3 -3
  150. package/utils/css/matrix.d.ts +10 -8
  151. package/utils/css/matrix.js.map +3 -3
  152. package/utils/css/styles.cjs +1 -1
  153. package/utils/css/styles.cjs.map +3 -3
  154. package/utils/css/styles.d.ts +2 -10
  155. package/utils/css/styles.js.map +3 -3
  156. package/utils/css/transform.cjs +1 -1
  157. package/utils/css/transform.cjs.map +3 -3
  158. package/utils/css/transform.d.ts +6 -28
  159. package/utils/css/transform.js.map +3 -3
  160. package/utils/css/transition.cjs +2 -2
  161. package/utils/css/transition.cjs.map +3 -3
  162. package/utils/css/transition.d.ts +11 -15
  163. package/utils/css/transition.js +1 -1
  164. package/utils/css/transition.js.map +3 -3
  165. package/utils/debounce.cjs +1 -1
  166. package/utils/debounce.cjs.map +3 -3
  167. package/utils/debounce.d.ts +3 -3
  168. package/utils/debounce.js.map +3 -3
  169. package/utils/focusTrap.cjs +4 -2
  170. package/utils/focusTrap.cjs.map +3 -3
  171. package/utils/focusTrap.d.ts +3 -4
  172. package/utils/focusTrap.js +3 -1
  173. package/utils/focusTrap.js.map +3 -3
  174. package/utils/has.cjs +1 -1
  175. package/utils/has.cjs.map +3 -3
  176. package/utils/has.d.ts +1 -3
  177. package/utils/has.js.map +3 -3
  178. package/utils/history.cjs +1 -1
  179. package/utils/history.cjs.map +3 -3
  180. package/utils/history.d.ts +10 -10
  181. package/utils/history.js.map +3 -3
  182. package/utils/index.cjs +2 -0
  183. package/utils/index.cjs.map +2 -2
  184. package/utils/index.d.ts +1 -0
  185. package/utils/index.js +2 -0
  186. package/utils/index.js.map +2 -2
  187. package/utils/is.cjs +1 -1
  188. package/utils/is.cjs.map +3 -3
  189. package/utils/is.d.ts +26 -8
  190. package/utils/is.js.map +3 -3
  191. package/utils/keyCodes.cjs +1 -1
  192. package/utils/keyCodes.cjs.map +2 -2
  193. package/utils/keyCodes.d.ts +10 -10
  194. package/utils/keyCodes.js.map +2 -2
  195. package/utils/math/clamp.cjs +1 -1
  196. package/utils/math/clamp.cjs.map +3 -3
  197. package/utils/math/clamp.js.map +3 -3
  198. package/utils/math/clamp01.cjs +1 -1
  199. package/utils/math/clamp01.cjs.map +3 -3
  200. package/utils/math/clamp01.js.map +3 -3
  201. package/utils/math/createEases.cjs +1 -1
  202. package/utils/math/createEases.cjs.map +3 -3
  203. package/utils/math/createEases.d.ts +3 -6
  204. package/utils/math/createEases.js.map +3 -3
  205. package/utils/math/damp.cjs +1 -1
  206. package/utils/math/damp.cjs.map +3 -3
  207. package/utils/math/damp.js.map +3 -3
  208. package/utils/math/ease.cjs +1 -1
  209. package/utils/math/ease.cjs.map +3 -3
  210. package/utils/math/ease.d.ts +21 -21
  211. package/utils/math/ease.js.map +3 -3
  212. package/utils/math/index.cjs +1 -1
  213. package/utils/math/index.cjs.map +1 -1
  214. package/utils/math/index.d.ts +10 -10
  215. package/utils/math/index.js.map +1 -1
  216. package/utils/math/inertiaFinalValue.cjs +1 -1
  217. package/utils/math/inertiaFinalValue.cjs.map +3 -3
  218. package/utils/math/inertiaFinalValue.js.map +3 -3
  219. package/utils/math/lerp.cjs +1 -1
  220. package/utils/math/lerp.cjs.map +3 -3
  221. package/utils/math/lerp.js.map +3 -3
  222. package/utils/math/map.cjs +1 -1
  223. package/utils/math/map.cjs.map +3 -3
  224. package/utils/math/map.js.map +3 -3
  225. package/utils/math/round.cjs +1 -1
  226. package/utils/math/round.cjs.map +3 -3
  227. package/utils/math/round.js.map +3 -3
  228. package/utils/memoize.cjs +6 -2
  229. package/utils/memoize.cjs.map +3 -3
  230. package/utils/memoize.d.ts +18 -28
  231. package/utils/memoize.js +5 -1
  232. package/utils/memoize.js.map +3 -3
  233. package/utils/nextFrame.cjs +1 -1
  234. package/utils/nextFrame.cjs.map +3 -3
  235. package/utils/nextFrame.d.ts +3 -6
  236. package/utils/nextFrame.js.map +3 -3
  237. package/utils/nextMicrotask.cjs +1 -1
  238. package/utils/nextMicrotask.cjs.map +3 -3
  239. package/utils/nextMicrotask.d.ts +1 -5
  240. package/utils/nextMicrotask.js.map +3 -3
  241. package/utils/nextTick.cjs +5 -5
  242. package/utils/nextTick.cjs.map +3 -3
  243. package/utils/nextTick.d.ts +1 -5
  244. package/utils/nextTick.js +4 -4
  245. package/utils/nextTick.js.map +3 -3
  246. package/utils/noop.cjs +1 -1
  247. package/utils/noop.cjs.map +3 -3
  248. package/utils/noop.d.ts +2 -5
  249. package/utils/noop.js.map +3 -3
  250. package/utils/object/autoBind.cjs +1 -1
  251. package/utils/object/autoBind.cjs.map +3 -3
  252. package/utils/object/autoBind.d.ts +5 -4
  253. package/utils/object/autoBind.js.map +3 -3
  254. package/utils/object/getAllProperties.cjs +3 -3
  255. package/utils/object/getAllProperties.cjs.map +3 -3
  256. package/utils/object/getAllProperties.d.ts +1 -1
  257. package/utils/object/getAllProperties.js +2 -2
  258. package/utils/object/getAllProperties.js.map +3 -3
  259. package/utils/object/index.cjs +1 -1
  260. package/utils/object/index.cjs.map +1 -1
  261. package/utils/object/index.d.ts +2 -2
  262. package/utils/object/index.js.map +1 -1
  263. package/utils/scheduler.cjs +2 -2
  264. package/utils/scheduler.cjs.map +3 -3
  265. package/utils/scheduler.d.ts +4 -13
  266. package/utils/scheduler.js +1 -1
  267. package/utils/scheduler.js.map +3 -3
  268. package/utils/scrollTo.cjs +1 -1
  269. package/utils/scrollTo.cjs.map +3 -3
  270. package/utils/scrollTo.d.ts +0 -3
  271. package/utils/scrollTo.js.map +3 -3
  272. package/utils/string/index.cjs +1 -1
  273. package/utils/string/index.cjs.map +1 -1
  274. package/utils/string/index.d.ts +10 -10
  275. package/utils/string/index.js.map +1 -1
  276. package/utils/string/withLeadingCharacters.cjs +1 -1
  277. package/utils/string/withLeadingCharacters.cjs.map +3 -3
  278. package/utils/string/withLeadingCharacters.js.map +3 -3
  279. package/utils/string/withLeadingSlash.cjs +1 -1
  280. package/utils/string/withLeadingSlash.cjs.map +3 -3
  281. package/utils/string/withLeadingSlash.js.map +3 -3
  282. package/utils/string/withTrailingCharacters.cjs +1 -1
  283. package/utils/string/withTrailingCharacters.cjs.map +3 -3
  284. package/utils/string/withTrailingCharacters.js.map +3 -3
  285. package/utils/string/withTrailingSlash.cjs +1 -1
  286. package/utils/string/withTrailingSlash.cjs.map +3 -3
  287. package/utils/string/withTrailingSlash.js.map +3 -3
  288. package/utils/string/withoutLeadingCharacters.cjs +1 -1
  289. package/utils/string/withoutLeadingCharacters.cjs.map +3 -3
  290. package/utils/string/withoutLeadingCharacters.js.map +3 -3
  291. package/utils/string/withoutLeadingCharactersRecursive.cjs +1 -1
  292. package/utils/string/withoutLeadingCharactersRecursive.cjs.map +3 -3
  293. package/utils/string/withoutLeadingCharactersRecursive.js.map +3 -3
  294. package/utils/string/withoutLeadingSlash.cjs +1 -1
  295. package/utils/string/withoutLeadingSlash.cjs.map +3 -3
  296. package/utils/string/withoutLeadingSlash.js.map +3 -3
  297. package/utils/string/withoutTrailingCharacters.cjs +1 -1
  298. package/utils/string/withoutTrailingCharacters.cjs.map +3 -3
  299. package/utils/string/withoutTrailingCharacters.js.map +3 -3
  300. package/utils/string/withoutTrailingCharactersRecursive.cjs +1 -1
  301. package/utils/string/withoutTrailingCharactersRecursive.cjs.map +3 -3
  302. package/utils/string/withoutTrailingCharactersRecursive.js.map +3 -3
  303. package/utils/string/withoutTrailingSlash.cjs +1 -1
  304. package/utils/string/withoutTrailingSlash.cjs.map +3 -3
  305. package/utils/string/withoutTrailingSlash.js.map +3 -3
  306. package/utils/throttle.cjs +2 -2
  307. package/utils/throttle.cjs.map +3 -3
  308. package/utils/throttle.d.ts +1 -1
  309. package/utils/throttle.js +1 -1
  310. package/utils/throttle.js.map +3 -3
  311. package/utils/tween.cjs +2 -2
  312. package/utils/tween.cjs.map +3 -3
  313. package/utils/tween.d.ts +16 -24
  314. package/utils/tween.js +1 -1
  315. package/utils/tween.js.map +3 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../packages/js-toolkit/services/service.js"],
4
- "sourcesContent": ["// eslint-disable-next-line jsdoc/require-returns\n/**\n * Use a service.\n * @template {Record<string, any>} T\n * @param {{ init: () => void, kill: () => void, props: T }} options\n */\nexport function useService(options) {\n /**\n * @type {Map<string, (props:T) => any>}\n */\n const callbacks = new Map();\n let isInit = false;\n\n const { init, kill, props } = options;\n\n /**\n * Does the service has the given key?\n * @param {string} key\n * @returns {boolean}\n */\n function has(key) {\n return callbacks.has(key);\n }\n\n /**\n * Get a service callback by its key.\n * @param {string} key\n * @returns {(props:T) => any}\n */\n function get(key) {\n return callbacks.get(key);\n }\n\n /**\n * Add a callback to the service.\n * @param {string} key\n * @param {(props:T) => any} callback\n */\n function add(key, callback) {\n if (has(key)) {\n console.warn(`The key \\`${key}\\` has already been added.`);\n return;\n }\n\n // Initialize the service when we add the first callback\n if (callbacks.size === 0 && !isInit) {\n init();\n isInit = true;\n }\n\n callbacks.set(key, callback);\n }\n\n /**\n * Remove a callback from the service by its key.\n * @param {string} key\n * @returns {void}\n */\n function remove(key) {\n callbacks.delete(key);\n\n // Kill the service when we remove the last callback\n if (callbacks.size === 0 && isInit) {\n kill();\n isInit = false;\n }\n }\n\n /**\n * Trigger all service callbacks with service props.\n * @param {T} p\n * @returns {void}\n */\n function trigger(p) {\n callbacks.forEach(function forEachCallback(callback) {\n callback(p);\n });\n }\n\n return {\n callbacks,\n props,\n add,\n remove,\n has,\n get,\n trigger,\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,SAAS,WAAW,SAAS;AAIlC,QAAM,YAAY,oBAAI,IAAI;AAC1B,MAAI,SAAS;AAEb,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAO9B,WAAS,IAAI,KAAK;AAChB,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAOA,WAAS,IAAI,KAAK;AAChB,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAOA,WAAS,IAAI,KAAK,UAAU;AAC1B,QAAI,IAAI,GAAG,GAAG;AACZ,cAAQ,KAAK,aAAa,+BAA+B;AACzD;AAAA,IACF;AAGA,QAAI,UAAU,SAAS,KAAK,CAAC,QAAQ;AACnC,WAAK;AACL,eAAS;AAAA,IACX;AAEA,cAAU,IAAI,KAAK,QAAQ;AAAA,EAC7B;AAOA,WAAS,OAAO,KAAK;AACnB,cAAU,OAAO,GAAG;AAGpB,QAAI,UAAU,SAAS,KAAK,QAAQ;AAClC,WAAK;AACL,eAAS;AAAA,IACX;AAAA,EACF;AAOA,WAAS,QAAQ,GAAG;AAClB,cAAU,QAAQ,SAAS,gBAAgB,UAAU;AACnD,eAAS,CAAC;AAAA,IACZ,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
3
+ "sources": ["../../packages/js-toolkit/services/service.ts"],
4
+ "sourcesContent": ["// eslint-disable-next-line jsdoc/require-returns\nimport type { ServiceInterface } from './index.js';\n\nexport interface ServiceOptions<T> {\n init: () => void;\n kill: () => void;\n props: T;\n}\n\nexport interface UseServiceInterface<T> extends Omit<ServiceInterface<T>, 'props'> {\n callbacks: Map<string, (props: T) => unknown>;\n props: T;\n get: (key: string) => (props: T) => unknown;\n trigger: (props: T) => unknown;\n}\n\n/**\n * Use a service.\n */\nexport function useService<T>(options: ServiceOptions<T>): UseServiceInterface<T> {\n const callbacks: Map<string, (props: T) => unknown> = new Map();\n let isInit = false;\n\n const { init, kill, props } = options;\n\n /**\n * Does the service has the given key?\n */\n function has(key: string): boolean {\n return callbacks.has(key);\n }\n\n /**\n * Get a service callback by its key.\n */\n function get(key: string): (props: T) => unknown {\n return callbacks.get(key);\n }\n\n /**\n * Add a callback to the service.\n */\n function add(key: string, callback: (props: T) => unknown) {\n if (has(key)) {\n console.warn(`The key \\`${key}\\` has already been added.`);\n return;\n }\n\n // Initialize the service when we add the first callback\n if (callbacks.size === 0 && !isInit) {\n init();\n isInit = true;\n }\n\n callbacks.set(key, callback);\n }\n\n /**\n * Remove a callback from the service by its key.\n */\n function remove(key: string) {\n callbacks.delete(key);\n\n // Kill the service when we remove the last callback\n if (callbacks.size === 0 && isInit) {\n kill();\n isInit = false;\n }\n }\n\n /**\n * Trigger all service callbacks with service props.\n */\n function trigger(p: T) {\n callbacks.forEach((callback) => {\n callback(p);\n });\n }\n\n return {\n callbacks,\n props,\n add,\n remove,\n has,\n get,\n trigger,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmBO,SAAS,WAAc,SAAoD;AAChF,QAAM,YAAgD,oBAAI,IAAI;AAC9D,MAAI,SAAS;AAEb,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAK9B,WAAS,IAAI,KAAsB;AACjC,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAKA,WAAS,IAAI,KAAoC;AAC/C,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAKA,WAAS,IAAI,KAAa,UAAiC;AACzD,QAAI,IAAI,GAAG,GAAG;AACZ,cAAQ,KAAK,aAAa,+BAA+B;AACzD;AAAA,IACF;AAGA,QAAI,UAAU,SAAS,KAAK,CAAC,QAAQ;AACnC,WAAK;AACL,eAAS;AAAA,IACX;AAEA,cAAU,IAAI,KAAK,QAAQ;AAAA,EAC7B;AAKA,WAAS,OAAO,KAAa;AAC3B,cAAU,OAAO,GAAG;AAGpB,QAAI,UAAU,SAAS,KAAK,QAAQ;AAClC,WAAK;AACL,eAAS;AAAA,IACX;AAAA,EACF;AAKA,WAAS,QAAQ,GAAM;AACrB,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,CAAC;AAAA,IACZ,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,18 +1,16 @@
1
- /**
2
- * Use a service.
3
- * @template {Record<string, any>} T
4
- * @param {{ init: () => void, kill: () => void, props: T }} options
5
- */
6
- export function useService<T extends Record<string, any>>(options: {
1
+ import type { ServiceInterface } from './index.js';
2
+ export interface ServiceOptions<T> {
7
3
  init: () => void;
8
4
  kill: () => void;
9
5
  props: T;
10
- }): {
11
- callbacks: Map<string, (props: T) => any>;
6
+ }
7
+ export interface UseServiceInterface<T> extends Omit<ServiceInterface<T>, 'props'> {
8
+ callbacks: Map<string, (props: T) => unknown>;
12
9
  props: T;
13
- add: (key: string, callback: (props: T) => any) => void;
14
- remove: (key: string) => void;
15
- has: (key: string) => boolean;
16
- get: (key: string) => (props: T) => any;
17
- trigger: (p: T) => void;
18
- };
10
+ get: (key: string) => (props: T) => unknown;
11
+ trigger: (props: T) => unknown;
12
+ }
13
+ /**
14
+ * Use a service.
15
+ */
16
+ export declare function useService<T>(options: ServiceOptions<T>): UseServiceInterface<T>;
@@ -27,7 +27,7 @@ function useService(options) {
27
27
  }
28
28
  }
29
29
  function trigger(p) {
30
- callbacks.forEach(function forEachCallback(callback) {
30
+ callbacks.forEach((callback) => {
31
31
  callback(p);
32
32
  });
33
33
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../packages/js-toolkit/services/service.js"],
4
- "sourcesContent": ["// eslint-disable-next-line jsdoc/require-returns\n/**\n * Use a service.\n * @template {Record<string, any>} T\n * @param {{ init: () => void, kill: () => void, props: T }} options\n */\nexport function useService(options) {\n /**\n * @type {Map<string, (props:T) => any>}\n */\n const callbacks = new Map();\n let isInit = false;\n\n const { init, kill, props } = options;\n\n /**\n * Does the service has the given key?\n * @param {string} key\n * @returns {boolean}\n */\n function has(key) {\n return callbacks.has(key);\n }\n\n /**\n * Get a service callback by its key.\n * @param {string} key\n * @returns {(props:T) => any}\n */\n function get(key) {\n return callbacks.get(key);\n }\n\n /**\n * Add a callback to the service.\n * @param {string} key\n * @param {(props:T) => any} callback\n */\n function add(key, callback) {\n if (has(key)) {\n console.warn(`The key \\`${key}\\` has already been added.`);\n return;\n }\n\n // Initialize the service when we add the first callback\n if (callbacks.size === 0 && !isInit) {\n init();\n isInit = true;\n }\n\n callbacks.set(key, callback);\n }\n\n /**\n * Remove a callback from the service by its key.\n * @param {string} key\n * @returns {void}\n */\n function remove(key) {\n callbacks.delete(key);\n\n // Kill the service when we remove the last callback\n if (callbacks.size === 0 && isInit) {\n kill();\n isInit = false;\n }\n }\n\n /**\n * Trigger all service callbacks with service props.\n * @param {T} p\n * @returns {void}\n */\n function trigger(p) {\n callbacks.forEach(function forEachCallback(callback) {\n callback(p);\n });\n }\n\n return {\n callbacks,\n props,\n add,\n remove,\n has,\n get,\n trigger,\n };\n}\n"],
5
- "mappings": "AAMO,SAAS,WAAW,SAAS;AAIlC,QAAM,YAAY,oBAAI,IAAI;AAC1B,MAAI,SAAS;AAEb,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAO9B,WAAS,IAAI,KAAK;AAChB,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAOA,WAAS,IAAI,KAAK;AAChB,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAOA,WAAS,IAAI,KAAK,UAAU;AAC1B,QAAI,IAAI,GAAG,GAAG;AACZ,cAAQ,KAAK,aAAa,+BAA+B;AACzD;AAAA,IACF;AAGA,QAAI,UAAU,SAAS,KAAK,CAAC,QAAQ;AACnC,WAAK;AACL,eAAS;AAAA,IACX;AAEA,cAAU,IAAI,KAAK,QAAQ;AAAA,EAC7B;AAOA,WAAS,OAAO,KAAK;AACnB,cAAU,OAAO,GAAG;AAGpB,QAAI,UAAU,SAAS,KAAK,QAAQ;AAClC,WAAK;AACL,eAAS;AAAA,IACX;AAAA,EACF;AAOA,WAAS,QAAQ,GAAG;AAClB,cAAU,QAAQ,SAAS,gBAAgB,UAAU;AACnD,eAAS,CAAC;AAAA,IACZ,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
3
+ "sources": ["../../packages/js-toolkit/services/service.ts"],
4
+ "sourcesContent": ["// eslint-disable-next-line jsdoc/require-returns\nimport type { ServiceInterface } from './index.js';\n\nexport interface ServiceOptions<T> {\n init: () => void;\n kill: () => void;\n props: T;\n}\n\nexport interface UseServiceInterface<T> extends Omit<ServiceInterface<T>, 'props'> {\n callbacks: Map<string, (props: T) => unknown>;\n props: T;\n get: (key: string) => (props: T) => unknown;\n trigger: (props: T) => unknown;\n}\n\n/**\n * Use a service.\n */\nexport function useService<T>(options: ServiceOptions<T>): UseServiceInterface<T> {\n const callbacks: Map<string, (props: T) => unknown> = new Map();\n let isInit = false;\n\n const { init, kill, props } = options;\n\n /**\n * Does the service has the given key?\n */\n function has(key: string): boolean {\n return callbacks.has(key);\n }\n\n /**\n * Get a service callback by its key.\n */\n function get(key: string): (props: T) => unknown {\n return callbacks.get(key);\n }\n\n /**\n * Add a callback to the service.\n */\n function add(key: string, callback: (props: T) => unknown) {\n if (has(key)) {\n console.warn(`The key \\`${key}\\` has already been added.`);\n return;\n }\n\n // Initialize the service when we add the first callback\n if (callbacks.size === 0 && !isInit) {\n init();\n isInit = true;\n }\n\n callbacks.set(key, callback);\n }\n\n /**\n * Remove a callback from the service by its key.\n */\n function remove(key: string) {\n callbacks.delete(key);\n\n // Kill the service when we remove the last callback\n if (callbacks.size === 0 && isInit) {\n kill();\n isInit = false;\n }\n }\n\n /**\n * Trigger all service callbacks with service props.\n */\n function trigger(p: T) {\n callbacks.forEach((callback) => {\n callback(p);\n });\n }\n\n return {\n callbacks,\n props,\n add,\n remove,\n has,\n get,\n trigger,\n };\n}\n"],
5
+ "mappings": "AAmBO,SAAS,WAAc,SAAoD;AAChF,QAAM,YAAgD,oBAAI,IAAI;AAC9D,MAAI,SAAS;AAEb,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAK9B,WAAS,IAAI,KAAsB;AACjC,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAKA,WAAS,IAAI,KAAoC;AAC/C,WAAO,UAAU,IAAI,GAAG;AAAA,EAC1B;AAKA,WAAS,IAAI,KAAa,UAAiC;AACzD,QAAI,IAAI,GAAG,GAAG;AACZ,cAAQ,KAAK,aAAa,+BAA+B;AACzD;AAAA,IACF;AAGA,QAAI,UAAU,SAAS,KAAK,CAAC,QAAQ;AACnC,WAAK;AACL,eAAS;AAAA,IACX;AAEA,cAAU,IAAI,KAAK,QAAQ;AAAA,EAC7B;AAKA,WAAS,OAAO,KAAa;AAC3B,cAAU,OAAO,GAAG;AAGpB,QAAI,UAAU,SAAS,KAAK,QAAQ;AAClC,WAAK;AACL,eAAS;AAAA,IACX;AAAA,EACF;AAKA,WAAS,QAAQ,GAAM;AACrB,cAAU,QAAQ,CAAC,aAAa;AAC9B,eAAS,CAAC;AAAA,IACZ,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,60 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/js-toolkit/utils/Queue.ts
20
+ var Queue_exports = {};
21
+ __export(Queue_exports, {
22
+ Queue: () => Queue
23
+ });
24
+ module.exports = __toCommonJS(Queue_exports);
25
+ var Queue = class {
26
+ tasks = [];
27
+ concurrency = 10;
28
+ waiter;
29
+ isScheduled = false;
30
+ constructor(concurrency, waiter = (cb) => cb()) {
31
+ this.concurrency = concurrency;
32
+ this.waiter = waiter;
33
+ }
34
+ add(task) {
35
+ this.tasks.push(task);
36
+ this.scheduleFlush();
37
+ }
38
+ scheduleFlush() {
39
+ if (this.isScheduled) {
40
+ return;
41
+ }
42
+ this.isScheduled = true;
43
+ this.waiter(() => this.flush());
44
+ }
45
+ flush() {
46
+ this.run(this.tasks.splice(0, this.concurrency));
47
+ this.isScheduled = false;
48
+ if (this.tasks.length > 0) {
49
+ this.scheduleFlush();
50
+ }
51
+ }
52
+ run(tasks) {
53
+ let task;
54
+ while (task = tasks.shift()) {
55
+ task();
56
+ }
57
+ }
58
+ };
59
+ if (module.exports.default) module.exports = module.exports.default;
60
+ //# sourceMappingURL=Queue.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/utils/Queue.ts"],
4
+ "sourcesContent": ["/**\n * Manage tasks in a queue.\n */\nexport class Queue {\n /**\n * List of tasks.\n */\n tasks: Array<(...args: unknown[]) => unknown> = [];\n\n /**\n * Number of tasks running in a single batch.\n */\n concurrency = 10;\n\n /**\n * A function to schedule the next batch.\n */\n waiter: (cb: (...args: unknown[]) => unknown) => unknown;\n\n /**\n * Is schedule running?\n */\n isScheduled = false;\n\n /**\n * Constructor.\n *\n * @param {number} concurrency Number of tasks running in a single batch.\n * @param {(cb: (...args:unknown[]) => unknown) => unknown} waiter Scheduler for the next batch execution.\n */\n constructor(\n concurrency: number,\n waiter: (cb: (...args: unknown[]) => unknown) => unknown = (cb) => cb(),\n ) {\n this.concurrency = concurrency;\n this.waiter = waiter;\n }\n\n /**\n * Add a task to the queue.\n */\n add(task: (...args: unknown[]) => unknown) {\n this.tasks.push(task);\n this.scheduleFlush();\n }\n\n /**\n * Schedule next flush.\n */\n scheduleFlush() {\n if (this.isScheduled) {\n return;\n }\n\n this.isScheduled = true;\n this.waiter(() => this.flush());\n }\n\n /**\n * Flush current batch.\n */\n flush() {\n this.run(this.tasks.splice(0, this.concurrency));\n this.isScheduled = false;\n\n if (this.tasks.length > 0) {\n this.scheduleFlush();\n }\n }\n\n /**\n * Run the queue.\n */\n run(tasks: Array<(...args: unknown[]) => unknown>) {\n let task;\n // eslint-disable-next-line no-cond-assign\n while ((task = tasks.shift())) {\n task();\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,QAAN,MAAY;AAAA,EAIjB,QAAgD,CAAC;AAAA,EAKjD,cAAc;AAAA,EAKd;AAAA,EAKA,cAAc;AAAA,EAQd,YACE,aACA,SAA2D,CAAC,OAAO,GAAG,GACtE;AACA,SAAK,cAAc;AACnB,SAAK,SAAS;AAAA,EAChB;AAAA,EAKA,IAAI,MAAuC;AACzC,SAAK,MAAM,KAAK,IAAI;AACpB,SAAK,cAAc;AAAA,EACrB;AAAA,EAKA,gBAAgB;AACd,QAAI,KAAK,aAAa;AACpB;AAAA,IACF;AAEA,SAAK,cAAc;AACnB,SAAK,OAAO,MAAM,KAAK,MAAM,CAAC;AAAA,EAChC;AAAA,EAKA,QAAQ;AACN,SAAK,IAAI,KAAK,MAAM,OAAO,GAAG,KAAK,WAAW,CAAC;AAC/C,SAAK,cAAc;AAEnB,QAAI,KAAK,MAAM,SAAS,GAAG;AACzB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAKA,IAAI,OAA+C;AACjD,QAAI;AAEJ,WAAQ,OAAO,MAAM,MAAM,GAAI;AAC7B,WAAK;AAAA,IACP;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Manage tasks in a queue.
3
+ */
4
+ export declare class Queue {
5
+ /**
6
+ * List of tasks.
7
+ */
8
+ tasks: Array<(...args: unknown[]) => unknown>;
9
+ /**
10
+ * Number of tasks running in a single batch.
11
+ */
12
+ concurrency: number;
13
+ /**
14
+ * A function to schedule the next batch.
15
+ */
16
+ waiter: (cb: (...args: unknown[]) => unknown) => unknown;
17
+ /**
18
+ * Is schedule running?
19
+ */
20
+ isScheduled: boolean;
21
+ /**
22
+ * Constructor.
23
+ *
24
+ * @param {number} concurrency Number of tasks running in a single batch.
25
+ * @param {(cb: (...args:unknown[]) => unknown) => unknown} waiter Scheduler for the next batch execution.
26
+ */
27
+ constructor(concurrency: number, waiter?: (cb: (...args: unknown[]) => unknown) => unknown);
28
+ /**
29
+ * Add a task to the queue.
30
+ */
31
+ add(task: (...args: unknown[]) => unknown): void;
32
+ /**
33
+ * Schedule next flush.
34
+ */
35
+ scheduleFlush(): void;
36
+ /**
37
+ * Flush current batch.
38
+ */
39
+ flush(): void;
40
+ /**
41
+ * Run the queue.
42
+ */
43
+ run(tasks: Array<(...args: unknown[]) => unknown>): void;
44
+ }
package/utils/Queue.js ADDED
@@ -0,0 +1,38 @@
1
+ class Queue {
2
+ tasks = [];
3
+ concurrency = 10;
4
+ waiter;
5
+ isScheduled = false;
6
+ constructor(concurrency, waiter = (cb) => cb()) {
7
+ this.concurrency = concurrency;
8
+ this.waiter = waiter;
9
+ }
10
+ add(task) {
11
+ this.tasks.push(task);
12
+ this.scheduleFlush();
13
+ }
14
+ scheduleFlush() {
15
+ if (this.isScheduled) {
16
+ return;
17
+ }
18
+ this.isScheduled = true;
19
+ this.waiter(() => this.flush());
20
+ }
21
+ flush() {
22
+ this.run(this.tasks.splice(0, this.concurrency));
23
+ this.isScheduled = false;
24
+ if (this.tasks.length > 0) {
25
+ this.scheduleFlush();
26
+ }
27
+ }
28
+ run(tasks) {
29
+ let task;
30
+ while (task = tasks.shift()) {
31
+ task();
32
+ }
33
+ }
34
+ }
35
+ export {
36
+ Queue
37
+ };
38
+ //# sourceMappingURL=Queue.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../packages/js-toolkit/utils/Queue.ts"],
4
+ "sourcesContent": ["/**\n * Manage tasks in a queue.\n */\nexport class Queue {\n /**\n * List of tasks.\n */\n tasks: Array<(...args: unknown[]) => unknown> = [];\n\n /**\n * Number of tasks running in a single batch.\n */\n concurrency = 10;\n\n /**\n * A function to schedule the next batch.\n */\n waiter: (cb: (...args: unknown[]) => unknown) => unknown;\n\n /**\n * Is schedule running?\n */\n isScheduled = false;\n\n /**\n * Constructor.\n *\n * @param {number} concurrency Number of tasks running in a single batch.\n * @param {(cb: (...args:unknown[]) => unknown) => unknown} waiter Scheduler for the next batch execution.\n */\n constructor(\n concurrency: number,\n waiter: (cb: (...args: unknown[]) => unknown) => unknown = (cb) => cb(),\n ) {\n this.concurrency = concurrency;\n this.waiter = waiter;\n }\n\n /**\n * Add a task to the queue.\n */\n add(task: (...args: unknown[]) => unknown) {\n this.tasks.push(task);\n this.scheduleFlush();\n }\n\n /**\n * Schedule next flush.\n */\n scheduleFlush() {\n if (this.isScheduled) {\n return;\n }\n\n this.isScheduled = true;\n this.waiter(() => this.flush());\n }\n\n /**\n * Flush current batch.\n */\n flush() {\n this.run(this.tasks.splice(0, this.concurrency));\n this.isScheduled = false;\n\n if (this.tasks.length > 0) {\n this.scheduleFlush();\n }\n }\n\n /**\n * Run the queue.\n */\n run(tasks: Array<(...args: unknown[]) => unknown>) {\n let task;\n // eslint-disable-next-line no-cond-assign\n while ((task = tasks.shift())) {\n task();\n }\n }\n}\n"],
5
+ "mappings": "AAGO,MAAM,MAAM;AAAA,EAIjB,QAAgD,CAAC;AAAA,EAKjD,cAAc;AAAA,EAKd;AAAA,EAKA,cAAc;AAAA,EAQd,YACE,aACA,SAA2D,CAAC,OAAO,GAAG,GACtE;AACA,SAAK,cAAc;AACnB,SAAK,SAAS;AAAA,EAChB;AAAA,EAKA,IAAI,MAAuC;AACzC,SAAK,MAAM,KAAK,IAAI;AACpB,SAAK,cAAc;AAAA,EACrB;AAAA,EAKA,gBAAgB;AACd,QAAI,KAAK,aAAa;AACpB;AAAA,IACF;AAEA,SAAK,cAAc;AACnB,SAAK,OAAO,MAAM,KAAK,MAAM,CAAC;AAAA,EAChC;AAAA,EAKA,QAAQ;AACN,SAAK,IAAI,KAAK,MAAM,OAAO,GAAG,KAAK,WAAW,CAAC;AAC/C,SAAK,cAAc;AAEnB,QAAI,KAAK,MAAM,SAAS,GAAG;AACzB,WAAK,cAAc;AAAA,IACrB;AAAA,EACF;AAAA,EAKA,IAAI,OAA+C;AACjD,QAAI;AAEJ,WAAQ,OAAO,MAAM,MAAM,GAAI;AAC7B,WAAK;AAAA,IACP;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -16,15 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // packages/js-toolkit/utils/collide/boundingRectToCircle.js
19
+ // packages/js-toolkit/utils/collide/boundingRectToCircle.ts
20
20
  var boundingRectToCircle_exports = {};
21
21
  __export(boundingRectToCircle_exports, {
22
22
  default: () => boundingRectToCircle
23
23
  });
24
24
  module.exports = __toCommonJS(boundingRectToCircle_exports);
25
25
  function boundingRectToCircle({ x, y, width, height }, force = false) {
26
- if (width !== height && !force)
26
+ if (width !== height && !force) {
27
27
  throw new Error("Initial DOMElement is not a square. Please use the force mode.");
28
+ }
28
29
  return {
29
30
  x: x + width / 2,
30
31
  y: y + height / 2,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/boundingRectToCircle.js"],
4
- "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Convert clientRect to a formatted circle object\n *\n * @param {Partial<DOMRect>} domRect DOMRect of a square DOMElement\n * @param {boolean} force Force usage of non-square DOMElements\n * @returns {Circle} Circle object that can be used in collides functions\n */\nexport default function boundingRectToCircle({ x, y, width, height }, force = false) {\n if (width !== height && !force)\n throw new Error('Initial DOMElement is not a square. Please use the force mode.');\n return {\n x: x + width / 2,\n y: y + height / 2,\n radius: (width + height) / 4,\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAce,SAAR,qBAAsC,EAAE,GAAG,GAAG,OAAO,OAAO,GAAG,QAAQ,OAAO;AACnF,MAAI,UAAU,UAAU,CAAC;AACvB,UAAM,IAAI,MAAM,gEAAgE;AAClF,SAAO;AAAA,IACL,GAAG,IAAI,QAAQ;AAAA,IACf,GAAG,IAAI,SAAS;AAAA,IAChB,SAAS,QAAQ,UAAU;AAAA,EAC7B;AACF;",
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/boundingRectToCircle.ts"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Convert clientRect to a formatted circle object\n *\n * @param {Partial<DOMRect>} domRect DOMRect of a square DOMElement\n * @param {boolean} force Force usage of non-square DOMElements\n * @returns {Circle} Circle object that can be used in collides functions\n */\nexport default function boundingRectToCircle({ x, y, width, height }, force = false) {\n if (width !== height && !force) {\n throw new Error('Initial DOMElement is not a square. Please use the force mode.');\n }\n return {\n x: x + width / 2,\n y: y + height / 2,\n radius: (width + height) / 4,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAce,SAAR,qBAAsC,EAAE,GAAG,GAAG,OAAO,OAAO,GAAG,QAAQ,OAAO;AACnF,MAAI,UAAU,UAAU,CAAC,OAAO;AAC9B,UAAM,IAAI,MAAM,gEAAgE;AAAA,EAClF;AACA,SAAO;AAAA,IACL,GAAG,IAAI,QAAQ;AAAA,IACf,GAAG,IAAI,SAAS;AAAA,IAChB,SAAS,QAAQ,UAAU;AAAA,EAC7B;AACF;",
6
6
  "names": []
7
7
  }
@@ -11,18 +11,13 @@
11
11
  * @param {boolean} force Force usage of non-square DOMElements
12
12
  * @returns {Circle} Circle object that can be used in collides functions
13
13
  */
14
- export default function boundingRectToCircle({ x, y, width, height }: Partial<DOMRect>, force?: boolean): Circle;
15
- export type Circle = {
16
- /**
17
- * Circle's x position
18
- */
19
- x: number;
20
- /**
21
- * Circle's y position
22
- */
23
- y: number;
24
- /**
25
- * Circle's radius
26
- */
14
+ export default function boundingRectToCircle({ x, y, width, height }: {
15
+ x: any;
16
+ y: any;
17
+ width: any;
18
+ height: any;
19
+ }, force?: boolean): {
20
+ x: any;
21
+ y: any;
27
22
  radius: number;
28
23
  };
@@ -1,6 +1,7 @@
1
1
  function boundingRectToCircle({ x, y, width, height }, force = false) {
2
- if (width !== height && !force)
2
+ if (width !== height && !force) {
3
3
  throw new Error("Initial DOMElement is not a square. Please use the force mode.");
4
+ }
4
5
  return {
5
6
  x: x + width / 2,
6
7
  y: y + height / 2,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/boundingRectToCircle.js"],
4
- "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Convert clientRect to a formatted circle object\n *\n * @param {Partial<DOMRect>} domRect DOMRect of a square DOMElement\n * @param {boolean} force Force usage of non-square DOMElements\n * @returns {Circle} Circle object that can be used in collides functions\n */\nexport default function boundingRectToCircle({ x, y, width, height }, force = false) {\n if (width !== height && !force)\n throw new Error('Initial DOMElement is not a square. Please use the force mode.');\n return {\n x: x + width / 2,\n y: y + height / 2,\n radius: (width + height) / 4,\n };\n}\n"],
5
- "mappings": "AAce,SAAR,qBAAsC,EAAE,GAAG,GAAG,OAAO,OAAO,GAAG,QAAQ,OAAO;AACnF,MAAI,UAAU,UAAU,CAAC;AACvB,UAAM,IAAI,MAAM,gEAAgE;AAClF,SAAO;AAAA,IACL,GAAG,IAAI,QAAQ;AAAA,IACf,GAAG,IAAI,SAAS;AAAA,IAChB,SAAS,QAAQ,UAAU;AAAA,EAC7B;AACF;",
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/boundingRectToCircle.ts"],
4
+ "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Convert clientRect to a formatted circle object\n *\n * @param {Partial<DOMRect>} domRect DOMRect of a square DOMElement\n * @param {boolean} force Force usage of non-square DOMElements\n * @returns {Circle} Circle object that can be used in collides functions\n */\nexport default function boundingRectToCircle({ x, y, width, height }, force = false) {\n if (width !== height && !force) {\n throw new Error('Initial DOMElement is not a square. Please use the force mode.');\n }\n return {\n x: x + width / 2,\n y: y + height / 2,\n radius: (width + height) / 4,\n };\n}\n"],
5
+ "mappings": "AAce,SAAR,qBAAsC,EAAE,GAAG,GAAG,OAAO,OAAO,GAAG,QAAQ,OAAO;AACnF,MAAI,UAAU,UAAU,CAAC,OAAO;AAC9B,UAAM,IAAI,MAAM,gEAAgE;AAAA,EAClF;AACA,SAAO;AAAA,IACL,GAAG,IAAI,QAAQ;AAAA,IACf,GAAG,IAAI,SAAS;AAAA,IAChB,SAAS,QAAQ,UAAU;AAAA,EAC7B;AACF;",
6
6
  "names": []
7
7
  }
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // packages/js-toolkit/utils/collide/collideCircleCircle.js
19
+ // packages/js-toolkit/utils/collide/collideCircleCircle.ts
20
20
  var collideCircleCircle_exports = {};
21
21
  __export(collideCircleCircle_exports, {
22
22
  default: () => collideCircleCircle
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleCircle.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleCircle.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with another.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-circle.php\n *\n * @param {Circle} circle1 Circle 1\n * @param {Circle} circle2 Circle 2\n * @returns {boolean} Are the sides of one circle touching the other ?\n */\nexport default function collideCircleCircle(circle1, circle2) {\n // get distance between the circle's centers\n // use the Pythagorean Theorem to compute the distance\n const distX = circle1.x - circle2.x;\n const distY = circle1.y - circle2.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the sum of the circle's\n // radii, the circles are touching!\n if (distance <= circle1.radius + circle2.radius) {\n return true;\n }\n return false;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAee,SAAR,oBAAqC,SAAS,SAAS;AAG5D,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,MAAI,YAAY,QAAQ,SAAS,QAAQ,QAAQ;AAC/C,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
6
  "names": []
@@ -12,18 +12,4 @@
12
12
  * @param {Circle} circle2 Circle 2
13
13
  * @returns {boolean} Are the sides of one circle touching the other ?
14
14
  */
15
- export default function collideCircleCircle(circle1: Circle, circle2: Circle): boolean;
16
- export type Circle = {
17
- /**
18
- * Circle's x position
19
- */
20
- x: number;
21
- /**
22
- * Circle's y position
23
- */
24
- y: number;
25
- /**
26
- * Circle's radius
27
- */
28
- radius: number;
29
- };
15
+ export default function collideCircleCircle(circle1: any, circle2: any): boolean;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleCircle.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleCircle.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with another.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-circle.php\n *\n * @param {Circle} circle1 Circle 1\n * @param {Circle} circle2 Circle 2\n * @returns {boolean} Are the sides of one circle touching the other ?\n */\nexport default function collideCircleCircle(circle1, circle2) {\n // get distance between the circle's centers\n // use the Pythagorean Theorem to compute the distance\n const distX = circle1.x - circle2.x;\n const distY = circle1.y - circle2.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the sum of the circle's\n // radii, the circles are touching!\n if (distance <= circle1.radius + circle2.radius) {\n return true;\n }\n return false;\n}\n"],
5
5
  "mappings": "AAee,SAAR,oBAAqC,SAAS,SAAS;AAG5D,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,QAAQ,QAAQ,IAAI,QAAQ;AAClC,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,MAAI,YAAY,QAAQ,SAAS,QAAQ,QAAQ;AAC/C,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
6
  "names": []
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // packages/js-toolkit/utils/collide/collideCircleRect.js
19
+ // packages/js-toolkit/utils/collide/collideCircleRect.ts
20
20
  var collideCircleRect_exports = {};
21
21
  __export(collideCircleRect_exports, {
22
22
  default: () => collideCircleRect
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleRect.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleRect.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-rect.php\n *\n * @param {Circle} circle Circle\n * @param {Rect} rect Rectangle\n * @returns {boolean} Are the sides of the circle touching the rectangle ?\n */\nexport default function collideCircleRect(circle, rect) {\n // temporary variables to set edges for testing\n let testX = circle.x;\n let testY = circle.y;\n\n // which edge is closest?\n if (circle.x < rect.x) {\n testX = rect.x; // test left edge\n } else if (circle.x > rect.x + rect.width) {\n testX = rect.x + rect.width; // right edge\n }\n\n if (circle.y < rect.y) {\n testY = rect.y; // top edge\n } else if (circle.y > rect.y + rect.height) {\n testY = rect.y + rect.height; // bottom edge\n }\n\n // get distance from closest edges\n const distX = circle.x - testX;\n const distY = circle.y - testY;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the radius, collision!\n if (distance <= circle.radius) {\n return true;\n }\n return false;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBe,SAAR,kBAAmC,QAAQ,MAAM;AAEtD,MAAI,QAAQ,OAAO;AACnB,MAAI,QAAQ,OAAO;AAGnB,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,OAAO;AACzC,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAEA,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,QAAQ;AAC1C,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAGA,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAGxD,MAAI,YAAY,OAAO,QAAQ;AAC7B,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
6
  "names": []
@@ -19,36 +19,4 @@
19
19
  * @param {Rect} rect Rectangle
20
20
  * @returns {boolean} Are the sides of the circle touching the rectangle ?
21
21
  */
22
- export default function collideCircleRect(circle: Circle, rect: Rect): boolean;
23
- export type Rect = {
24
- /**
25
- * Rectangle's x position
26
- */
27
- x: number;
28
- /**
29
- * Rectangle's y position
30
- */
31
- y: number;
32
- /**
33
- * Rectangle's width
34
- */
35
- width: number;
36
- /**
37
- * Rectangle's height
38
- */
39
- height: number;
40
- };
41
- export type Circle = {
42
- /**
43
- * Circle's x position
44
- */
45
- x: number;
46
- /**
47
- * Circle's y position
48
- */
49
- y: number;
50
- /**
51
- * Circle's radius
52
- */
53
- radius: number;
54
- };
22
+ export default function collideCircleRect(circle: any, rect: any): boolean;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleRect.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collideCircleRect.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a circle collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/circle-rect.php\n *\n * @param {Circle} circle Circle\n * @param {Rect} rect Rectangle\n * @returns {boolean} Are the sides of the circle touching the rectangle ?\n */\nexport default function collideCircleRect(circle, rect) {\n // temporary variables to set edges for testing\n let testX = circle.x;\n let testY = circle.y;\n\n // which edge is closest?\n if (circle.x < rect.x) {\n testX = rect.x; // test left edge\n } else if (circle.x > rect.x + rect.width) {\n testX = rect.x + rect.width; // right edge\n }\n\n if (circle.y < rect.y) {\n testY = rect.y; // top edge\n } else if (circle.y > rect.y + rect.height) {\n testY = rect.y + rect.height; // bottom edge\n }\n\n // get distance from closest edges\n const distX = circle.x - testX;\n const distY = circle.y - testY;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the radius, collision!\n if (distance <= circle.radius) {\n return true;\n }\n return false;\n}\n"],
5
5
  "mappings": "AAuBe,SAAR,kBAAmC,QAAQ,MAAM;AAEtD,MAAI,QAAQ,OAAO;AACnB,MAAI,QAAQ,OAAO;AAGnB,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,OAAO;AACzC,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAEA,MAAI,OAAO,IAAI,KAAK,GAAG;AACrB,YAAQ,KAAK;AAAA,EACf,WAAW,OAAO,IAAI,KAAK,IAAI,KAAK,QAAQ;AAC1C,YAAQ,KAAK,IAAI,KAAK;AAAA,EACxB;AAGA,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,QAAQ,OAAO,IAAI;AACzB,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAGxD,MAAI,YAAY,OAAO,QAAQ;AAC7B,WAAO;AAAA,EACT;AACA,SAAO;AACT;",
6
6
  "names": []
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // packages/js-toolkit/utils/collide/collidePointCircle.js
19
+ // packages/js-toolkit/utils/collide/collidePointCircle.ts
20
20
  var collidePointCircle_exports = {};
21
21
  __export(collidePointCircle_exports, {
22
22
  default: () => collidePointCircle
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collidePointCircle.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointCircle.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a point is inside a circle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-circle.php\n *\n * @param {Point} point Point\n * @param {Circle} circle Circle\n * @returns {boolean} Is the point inside the circle's bounds ?\n */\nexport default function collidePointCircle(point, circle) {\n // get distance between the point and circle's center\n // using the Pythagorean Theorem\n const distX = point.x - circle.x;\n const distY = point.y - circle.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the circle's\n // radius the point is inside!\n return distance <= circle.radius;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBe,SAAR,mBAAoC,OAAO,QAAQ;AAGxD,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,SAAO,YAAY,OAAO;AAC5B;",
6
6
  "names": []
@@ -17,28 +17,4 @@
17
17
  * @param {Circle} circle Circle
18
18
  * @returns {boolean} Is the point inside the circle's bounds ?
19
19
  */
20
- export default function collidePointCircle(point: Point, circle: Circle): boolean;
21
- export type Point = {
22
- /**
23
- * Point's x position
24
- */
25
- x: number;
26
- /**
27
- * Point's y position
28
- */
29
- y: number;
30
- };
31
- export type Circle = {
32
- /**
33
- * Circle's x position
34
- */
35
- x: number;
36
- /**
37
- * Circle's y position
38
- */
39
- y: number;
40
- /**
41
- * Circle's radius
42
- */
43
- radius: number;
44
- };
20
+ export default function collidePointCircle(point: any, circle: any): boolean;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collidePointCircle.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointCircle.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Circle\n * @property {number} x Circle's x position\n * @property {number} y Circle's y position\n * @property {number} radius Circle's radius\n */\n\n/**\n * Test if a point is inside a circle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-circle.php\n *\n * @param {Point} point Point\n * @param {Circle} circle Circle\n * @returns {boolean} Is the point inside the circle's bounds ?\n */\nexport default function collidePointCircle(point, circle) {\n // get distance between the point and circle's center\n // using the Pythagorean Theorem\n const distX = point.x - circle.x;\n const distY = point.y - circle.y;\n const distance = Math.sqrt(distX * distX + distY * distY);\n\n // if the distance is less than the circle's\n // radius the point is inside!\n return distance <= circle.radius;\n}\n"],
5
5
  "mappings": "AAqBe,SAAR,mBAAoC,OAAO,QAAQ;AAGxD,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,QAAQ,MAAM,IAAI,OAAO;AAC/B,QAAM,WAAW,KAAK,KAAK,QAAQ,QAAQ,QAAQ,KAAK;AAIxD,SAAO,YAAY,OAAO;AAC5B;",
6
6
  "names": []
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // packages/js-toolkit/utils/collide/collidePointRect.js
19
+ // packages/js-toolkit/utils/collide/collidePointRect.ts
20
20
  var collidePointRect_exports = {};
21
21
  __export(collidePointRect_exports, {
22
22
  default: () => collidePointRect
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collidePointRect.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointRect.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * Test if a point collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-rect.php\n *\n * @param {Point} point Point\n * @param {Rect} rect Rectangle\n * @returns {boolean} Is the point inside the rectangle's bounds ?\n */\nexport default function collidePointRect(point, rect) {\n return (\n point.x >= rect.x && // right of the left edge AND\n point.x <= rect.x + rect.width && // left of the right edge AND\n point.y >= rect.y && // below the top AND\n point.y <= rect.y + rect.height // above the bottom\n );\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBe,SAAR,iBAAkC,OAAO,MAAM;AACpD,SACE,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK,SACzB,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK;AAE7B;",
6
6
  "names": []
@@ -18,32 +18,4 @@
18
18
  * @param {Rect} rect Rectangle
19
19
  * @returns {boolean} Is the point inside the rectangle's bounds ?
20
20
  */
21
- export default function collidePointRect(point: Point, rect: Rect): boolean;
22
- export type Point = {
23
- /**
24
- * Point's x position
25
- */
26
- x: number;
27
- /**
28
- * Point's y position
29
- */
30
- y: number;
31
- };
32
- export type Rect = {
33
- /**
34
- * Rectangle's x position
35
- */
36
- x: number;
37
- /**
38
- * Rectangle's y position
39
- */
40
- y: number;
41
- /**
42
- * Rectangle's width
43
- */
44
- width: number;
45
- /**
46
- * Rectangle's height
47
- */
48
- height: number;
49
- };
21
+ export default function collidePointRect(point: any, rect: any): boolean;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../packages/js-toolkit/utils/collide/collidePointRect.js"],
3
+ "sources": ["../../../packages/js-toolkit/utils/collide/collidePointRect.ts"],
4
4
  "sourcesContent": ["/**\n * @typedef {Object} Point\n * @property {number} x Point's x position\n * @property {number} y Point's y position\n */\n\n/**\n * @typedef {Object} Rect\n * @property {number} x Rectangle's x position\n * @property {number} y Rectangle's y position\n * @property {number} width Rectangle's width\n * @property {number} height Rectangle's height\n */\n\n/**\n * Test if a point collides with a rectangle.\n * Inspired by http://www.jeffreythompson.org/collision-detection/point-rect.php\n *\n * @param {Point} point Point\n * @param {Rect} rect Rectangle\n * @returns {boolean} Is the point inside the rectangle's bounds ?\n */\nexport default function collidePointRect(point, rect) {\n return (\n point.x >= rect.x && // right of the left edge AND\n point.x <= rect.x + rect.width && // left of the right edge AND\n point.y >= rect.y && // below the top AND\n point.y <= rect.y + rect.height // above the bottom\n );\n}\n"],
5
5
  "mappings": "AAsBe,SAAR,iBAAkC,OAAO,MAAM;AACpD,SACE,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK,SACzB,MAAM,KAAK,KAAK,KAChB,MAAM,KAAK,KAAK,IAAI,KAAK;AAE7B;",
6
6
  "names": []
@@ -16,7 +16,7 @@ var __copyProps = (to, from, except, desc) => {
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
18
 
19
- // packages/js-toolkit/utils/collide/collideRectRect.js
19
+ // packages/js-toolkit/utils/collide/collideRectRect.ts
20
20
  var collideRectRect_exports = {};
21
21
  __export(collideRectRect_exports, {
22
22
  default: () => collideRectRect