effect-web-midi 0.2.3

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 (232) hide show
  1. package/README.md +276 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/src/EMIDIAccess.js +129 -0
  5. package/dist/src/EMIDIAccess.js.map +1 -0
  6. package/dist/src/EMIDIInput.js +226 -0
  7. package/dist/src/EMIDIInput.js.map +1 -0
  8. package/dist/src/EMIDIOutput.js +227 -0
  9. package/dist/src/EMIDIOutput.js.map +1 -0
  10. package/dist/src/EMIDIPort.js +218 -0
  11. package/dist/src/EMIDIPort.js.map +1 -0
  12. package/dist/src/MIDIErrors.js +4 -0
  13. package/dist/src/MIDIErrors.js.map +1 -0
  14. package/dist/src/MIDIEventStreams.js +2 -0
  15. package/dist/src/MIDIEventStreams.js.map +1 -0
  16. package/dist/src/Parsing.js +2 -0
  17. package/dist/src/Parsing.js.map +1 -0
  18. package/dist/src/StreamMaker.js +1 -0
  19. package/dist/src/StreamMaker.js.map +1 -0
  20. package/dist/src/Util.js +2 -0
  21. package/dist/src/Util.js.map +1 -0
  22. package/dist/src/index.js +10 -0
  23. package/dist/src/index.js.map +1 -0
  24. package/dist/src/internal/EMIDIAccess.js +634 -0
  25. package/dist/src/internal/EMIDIAccess.js.map +1 -0
  26. package/dist/src/internal/EMIDIInput.js +66 -0
  27. package/dist/src/internal/EMIDIInput.js.map +1 -0
  28. package/dist/src/internal/EMIDIOutput.js +120 -0
  29. package/dist/src/internal/EMIDIOutput.js.map +1 -0
  30. package/dist/src/internal/EMIDIPort.js +125 -0
  31. package/dist/src/internal/EMIDIPort.js.map +1 -0
  32. package/dist/src/internal/MIDIErrors.js +190 -0
  33. package/dist/src/internal/MIDIErrors.js.map +1 -0
  34. package/dist/src/internal/MIDIEventStreams.js +41 -0
  35. package/dist/src/internal/MIDIEventStreams.js.map +1 -0
  36. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js +27 -0
  37. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js.map +1 -0
  38. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js +19 -0
  39. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js.map +1 -0
  40. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js +16 -0
  41. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js.map +1 -0
  42. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js +17 -0
  43. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js.map +1 -0
  44. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js +27 -0
  45. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js.map +1 -0
  46. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js +18 -0
  47. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js.map +1 -0
  48. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js +16 -0
  49. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js.map +1 -0
  50. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js +21 -0
  51. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js.map +1 -0
  52. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js +34 -0
  53. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js.map +1 -0
  54. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js +18 -0
  55. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js.map +1 -0
  56. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js +16 -0
  57. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js.map +1 -0
  58. package/dist/src/internal/Parsing.js +119 -0
  59. package/dist/src/internal/Parsing.js.map +1 -0
  60. package/dist/src/internal/StreamMaker.js +105 -0
  61. package/dist/src/internal/StreamMaker.js.map +1 -0
  62. package/dist/src/internal/Util.js +59 -0
  63. package/dist/src/internal/Util.js.map +1 -0
  64. package/dist/src/internal/getPortByPortId/getPortByPortIdAndAccess.js +53 -0
  65. package/dist/src/internal/getPortByPortId/getPortByPortIdAndAccess.js.map +1 -0
  66. package/dist/src/internal/getPortByPortId/getPortByPortIdInContext.js +18 -0
  67. package/dist/src/internal/getPortByPortId/getPortByPortIdInContext.js.map +1 -0
  68. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js +52 -0
  69. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js.map +1 -0
  70. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js +21 -0
  71. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js.map +1 -0
  72. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js +21 -0
  73. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js.map +1 -0
  74. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js +66 -0
  75. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js.map +1 -0
  76. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js +61 -0
  77. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js.map +1 -0
  78. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js +68 -0
  79. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js.map +1 -0
  80. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js +42 -0
  81. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js.map +1 -0
  82. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js +43 -0
  83. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js.map +1 -0
  84. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js +33 -0
  85. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js.map +1 -0
  86. package/dist/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.js +6 -0
  87. package/dist/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.js.map +1 -0
  88. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js +46 -0
  89. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js.map +1 -0
  90. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js +25 -0
  91. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js.map +1 -0
  92. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js +31 -0
  93. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js.map +1 -0
  94. package/dist-types/index.d.ts +2 -0
  95. package/dist-types/index.d.ts.map +1 -0
  96. package/dist-types/src/EMIDIAccess.d.ts +18 -0
  97. package/dist-types/src/EMIDIAccess.d.ts.map +1 -0
  98. package/dist-types/src/EMIDIInput.d.ts +26 -0
  99. package/dist-types/src/EMIDIInput.d.ts.map +1 -0
  100. package/dist-types/src/EMIDIOutput.d.ts +26 -0
  101. package/dist-types/src/EMIDIOutput.d.ts.map +1 -0
  102. package/dist-types/src/EMIDIPort.d.ts +26 -0
  103. package/dist-types/src/EMIDIPort.d.ts.map +1 -0
  104. package/dist-types/src/MIDIErrors.d.ts +2 -0
  105. package/dist-types/src/MIDIErrors.d.ts.map +1 -0
  106. package/dist-types/src/MIDIEventStreams.d.ts +2 -0
  107. package/dist-types/src/MIDIEventStreams.d.ts.map +1 -0
  108. package/dist-types/src/Parsing.d.ts +2 -0
  109. package/dist-types/src/Parsing.d.ts.map +1 -0
  110. package/dist-types/src/StreamMaker.d.ts +2 -0
  111. package/dist-types/src/StreamMaker.d.ts.map +1 -0
  112. package/dist-types/src/Util.d.ts +2 -0
  113. package/dist-types/src/Util.d.ts.map +1 -0
  114. package/dist-types/src/index.d.ts +10 -0
  115. package/dist-types/src/index.d.ts.map +1 -0
  116. package/dist-types/src/internal/EMIDIAccess.d.ts +551 -0
  117. package/dist-types/src/internal/EMIDIAccess.d.ts.map +1 -0
  118. package/dist-types/src/internal/EMIDIInput.d.ts +50 -0
  119. package/dist-types/src/internal/EMIDIInput.d.ts.map +1 -0
  120. package/dist-types/src/internal/EMIDIOutput.d.ts +95 -0
  121. package/dist-types/src/internal/EMIDIOutput.d.ts.map +1 -0
  122. package/dist-types/src/internal/EMIDIPort.d.ts +90 -0
  123. package/dist-types/src/internal/EMIDIPort.d.ts.map +1 -0
  124. package/dist-types/src/internal/MIDIErrors.d.ts +270 -0
  125. package/dist-types/src/internal/MIDIErrors.d.ts.map +1 -0
  126. package/dist-types/src/internal/MIDIEventStreams.d.ts +74 -0
  127. package/dist-types/src/internal/MIDIEventStreams.d.ts.map +1 -0
  128. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.d.ts +16 -0
  129. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.d.ts.map +1 -0
  130. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts +15 -0
  131. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts.map +1 -0
  132. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.d.ts +13 -0
  133. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.d.ts.map +1 -0
  134. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts +11 -0
  135. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts.map +1 -0
  136. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.d.ts +23 -0
  137. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.d.ts.map +1 -0
  138. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.d.ts +15 -0
  139. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.d.ts.map +1 -0
  140. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.d.ts +13 -0
  141. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.d.ts.map +1 -0
  142. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts +15 -0
  143. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts.map +1 -0
  144. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.d.ts +21 -0
  145. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.d.ts.map +1 -0
  146. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.d.ts +15 -0
  147. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.d.ts.map +1 -0
  148. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.d.ts +13 -0
  149. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.d.ts.map +1 -0
  150. package/dist-types/src/internal/Parsing.d.ts +110 -0
  151. package/dist-types/src/internal/Parsing.d.ts.map +1 -0
  152. package/dist-types/src/internal/StreamMaker.d.ts +204 -0
  153. package/dist-types/src/internal/StreamMaker.d.ts.map +1 -0
  154. package/dist-types/src/internal/Util.d.ts +33 -0
  155. package/dist-types/src/internal/Util.d.ts.map +1 -0
  156. package/dist-types/src/internal/getPortByPortId/getPortByPortIdAndAccess.d.ts +27 -0
  157. package/dist-types/src/internal/getPortByPortId/getPortByPortIdAndAccess.d.ts.map +1 -0
  158. package/dist-types/src/internal/getPortByPortId/getPortByPortIdInContext.d.ts +20 -0
  159. package/dist-types/src/internal/getPortByPortId/getPortByPortIdInContext.d.ts.map +1 -0
  160. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts +76 -0
  161. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts.map +1 -0
  162. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts +39 -0
  163. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts.map +1 -0
  164. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts +29 -0
  165. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts.map +1 -0
  166. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.d.ts +62 -0
  167. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.d.ts.map +1 -0
  168. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.d.ts +16 -0
  169. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.d.ts.map +1 -0
  170. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.d.ts +65 -0
  171. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.d.ts.map +1 -0
  172. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.d.ts +36 -0
  173. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.d.ts.map +1 -0
  174. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.d.ts +23 -0
  175. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.d.ts.map +1 -0
  176. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.d.ts +35 -0
  177. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.d.ts.map +1 -0
  178. package/dist-types/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.d.ts +7 -0
  179. package/dist-types/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.d.ts.map +1 -0
  180. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.d.ts +71 -0
  181. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.d.ts.map +1 -0
  182. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.d.ts +7 -0
  183. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.d.ts.map +1 -0
  184. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.d.ts +28 -0
  185. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.d.ts.map +1 -0
  186. package/index.ts +1 -0
  187. package/package.json +87 -0
  188. package/src/EMIDIAccess.ts +285 -0
  189. package/src/EMIDIInput.ts +273 -0
  190. package/src/EMIDIOutput.ts +272 -0
  191. package/src/EMIDIPort.ts +270 -0
  192. package/src/MIDIErrors.ts +13 -0
  193. package/src/MIDIEventStreams.ts +36 -0
  194. package/src/Parsing.ts +32 -0
  195. package/src/StreamMaker.ts +12 -0
  196. package/src/Util.ts +19 -0
  197. package/src/index.ts +9 -0
  198. package/src/internal/EMIDIAccess.ts +1280 -0
  199. package/src/internal/EMIDIInput.ts +114 -0
  200. package/src/internal/EMIDIOutput.ts +231 -0
  201. package/src/internal/EMIDIPort.ts +239 -0
  202. package/src/internal/MIDIErrors.ts +260 -0
  203. package/src/internal/MIDIEventStreams.ts +255 -0
  204. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.ts +48 -0
  205. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts +31 -0
  206. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.ts +28 -0
  207. package/src/internal/MIDIPortMethodCalls/actOnPort.ts +66 -0
  208. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.ts +38 -0
  209. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.ts +38 -0
  210. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.ts +28 -0
  211. package/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts +68 -0
  212. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.ts +48 -0
  213. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.ts +38 -0
  214. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.ts +28 -0
  215. package/src/internal/Parsing.ts +304 -0
  216. package/src/internal/StreamMaker.ts +416 -0
  217. package/src/internal/Util.ts +152 -0
  218. package/src/internal/getPortByPortId/getPortByPortIdAndAccess.ts +117 -0
  219. package/src/internal/getPortByPortId/getPortByPortIdInContext.ts +26 -0
  220. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts +148 -0
  221. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts +135 -0
  222. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts +70 -0
  223. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.ts +128 -0
  224. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.ts +74 -0
  225. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.ts +132 -0
  226. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.ts +64 -0
  227. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.ts +114 -0
  228. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.ts +47 -0
  229. package/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.ts +12 -0
  230. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts +182 -0
  231. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.ts +29 -0
  232. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.ts +87 -0
@@ -0,0 +1,52 @@
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
+ import * as EMIDIInput from '../EMIDIInput.js';
4
+ import * as EMIDIOutput from '../EMIDIOutput.js';
5
+ import * as EMIDIPort from '../EMIDIPort.js';
6
+ import * as StreamMaker from '../StreamMaker.js';
7
+ import * as Util from '../Util.js';
8
+ /**
9
+ *
10
+ * @internal
11
+ */
12
+ export const makePortStateChangesStreamFactory = (is) => StreamMaker.createStreamMakerFrom()(is, port => ({
13
+ tag: 'MIDIPortStateChange',
14
+ eventListener: {
15
+ target: EMIDIPort.assumeImpl(port)._port,
16
+ type: 'statechange',
17
+ },
18
+ spanAttributes: {
19
+ spanTargetName: 'MIDI port',
20
+ port: Util.getStaticMIDIPortInfo(port),
21
+ },
22
+ nullableFieldName: 'port',
23
+ }), rawPort => ({
24
+ newState: rawPort
25
+ ? {
26
+ ofDevice: rawPort.state,
27
+ ofConnection: rawPort.connection,
28
+ }
29
+ : null,
30
+ }));
31
+ /**
32
+ * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
33
+ *
34
+ * [MDN
35
+ * Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)
36
+ */
37
+ export const makePortStateChangesStreamByPort = makePortStateChangesStreamFactory(EMIDIPort.is);
38
+ /**
39
+ * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
40
+ *
41
+ * [MDN
42
+ * Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)
43
+ */
44
+ export const makeInputStateChangesStreamByPort = makePortStateChangesStreamFactory(EMIDIInput.is);
45
+ /**
46
+ * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
47
+ *
48
+ * [MDN
49
+ * Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)
50
+ */
51
+ export const makeOutputStateChangesStreamByPort = makePortStateChangesStreamFactory(EMIDIOutput.is);
52
+ //# sourceMappingURL=makePortStateChangesStreamByPort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makePortStateChangesStreamByPort.js","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAG/C,EAAsE,EACtE,EAAE,CACF,WAAW,CAAC,qBAAqB,EAAoB,CACnD,EAAE,EACF,IAAI,CAAC,EAAE,CAAC,CAAC;IACP,GAAG,EAAE,qBAAqB;IAC1B,aAAa,EAAE;QACb,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK;QACxC,IAAI,EAAE,aAAa;KACpB;IACD,cAAc,EAAE;QACd,cAAc,EAAE,WAAW;QAC3B,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;KACvC;IACD,iBAAiB,EAAE,MAAM;CAC1B,CAAC,EACF,OAAO,CAAC,EAAE,CACR,CAAC;IACC,QAAQ,EAAE,OAAO;QACf,CAAC,CAAE;YACC,QAAQ,EAAE,OAAO,CAAC,KAAK;YACvB,YAAY,EAAE,OAAO,CAAC,UAAU;SACvB;QACb,CAAC,CAAC,IAAI;CACT,CAAU,CAE0C,CAAA;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,iCAAiC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAC5C,iCAAiC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,iCAAiC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA"}
@@ -0,0 +1,21 @@
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
+ import * as EFunction from 'effect/Function';
4
+ import * as EMIDIAccess from '../EMIDIAccess.js';
5
+ import * as Get from '../getPortByPortId/getPortByPortIdAndAccess.js';
6
+ import * as Util from '../Util.js';
7
+ import * as Make from './makePortStateChangesStreamByPort.js';
8
+ const wrap = (makePortStateChangesStream, getPortFromAccessAndPortId) => EFunction.dual(Util.polymorphicCheckInDual(EMIDIAccess.is), (polymorphicAccess, id, options) => makePortStateChangesStream(getPortFromAccessAndPortId(polymorphicAccess, id), options));
9
+ /**
10
+ *
11
+ */
12
+ export const makePortStateChangesStreamByPortIdAndAccess = wrap(Make.makePortStateChangesStreamByPort, Get.getPortByPortIdAndAccess);
13
+ /**
14
+ *
15
+ */
16
+ export const makeInputStateChangesStreamByPortIdAndAccess = wrap(Make.makeInputStateChangesStreamByPort, Get.getInputByPortIdAndAccess);
17
+ /**
18
+ *
19
+ */
20
+ export const makeOutputStateChangesStreamByPortIdAndAccess = wrap(Make.makeOutputStateChangesStreamByPort, Get.getOutputByPortIdAndAccess);
21
+ //# sourceMappingURL=makePortStateChangesStreamByPortIdAndAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makePortStateChangesStreamByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,GAAG,MAAM,gDAAgD,CAAA;AAGrE,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,IAAI,MAAM,uCAAuC,CAAA;AAE7D,MAAM,IAAI,GAAG,CAKX,0BAAgF,EAChF,0BAOC,EAKD,EAAE,CACF,SAAS,CAAC,IAAI,CACZ,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC,EAC3C,CAAC,iBAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CACjC,0BAA0B,CACxB,0BAA0B,CAAC,iBAAiB,EAAE,EAAE,CAAC,EACjD,OAAO,CACR,CACJ,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,IAAI,CAC7D,IAAI,CAAC,gCAAgC,EACrC,GAAG,CAAC,wBAAwB,CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAG,IAAI,CAC9D,IAAI,CAAC,iCAAiC,EACtC,GAAG,CAAC,yBAAyB,CAC9B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAG,IAAI,CAC/D,IAAI,CAAC,kCAAkC,EACvC,GAAG,CAAC,0BAA0B,CAC/B,CAAA"}
@@ -0,0 +1,21 @@
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
+ import * as EMIDIAccess from '../EMIDIAccess.js';
4
+ import * as Make from './makePortStateChangesStreamByPortIdAndAccess.js';
5
+ const wrap = (makeStream) => (id, options) => makeStream(EMIDIAccess.EMIDIAccess, id, options);
6
+ /**
7
+ * @param options Passing a value of a `boolean` type is equivalent to setting
8
+ * `options.capture` property
9
+ */
10
+ export const makePortStateChangesStreamByPortIdInContext = wrap(Make.makePortStateChangesStreamByPortIdAndAccess);
11
+ /**
12
+ * @param options Passing a value of a `boolean` type is equivalent to setting
13
+ * `options.capture` property
14
+ */
15
+ export const makeInputStateChangesStreamByPortIdInContext = wrap(Make.makeInputStateChangesStreamByPortIdAndAccess);
16
+ /**
17
+ * @param options Passing a value of a `boolean` type is equivalent to setting
18
+ * `options.capture` property
19
+ */
20
+ export const makeOutputStateChangesStreamByPortIdInContext = wrap(Make.makeOutputStateChangesStreamByPortIdAndAccess);
21
+ //# sourceMappingURL=makePortStateChangesStreamByPortIdInContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makePortStateChangesStreamByPortIdInContext.js","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts"],"names":[],"mappings":"AAAA;gEACgE;AAGhE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,IAAI,MAAM,kDAAkD,CAAA;AAExE,MAAM,IAAI,GACR,CAKE,UAIC,EAKD,EAAE,CACJ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CACd,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,IAAI,CAC7D,IAAI,CAAC,2CAA2C,CACjD,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAG,IAAI,CAC9D,IAAI,CAAC,4CAA4C,CAClD,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAG,IAAI,CAC/D,IAAI,CAAC,6CAA6C,CACnD,CAAA"}
@@ -0,0 +1,66 @@
1
+ import * as EFunction from 'effect/Function';
2
+ import * as Util from '../../Util.js';
3
+ import * as Get from '../getMutablePortProperty/getMutablePortPropertyByPort.js';
4
+ /**
5
+ *
6
+ */
7
+ export const isPortDeviceConnectedByPort = EFunction.flow(Get.getPortDeviceStateByPort, Util.isDeviceConnected);
8
+ /**
9
+ *
10
+ */
11
+ export const isPortDeviceDisconnectedByPort = EFunction.flow(Get.getPortDeviceStateByPort, Util.isDeviceDisconnected);
12
+ /**
13
+ *
14
+ */
15
+ export const isPortConnectionOpenByPort = EFunction.flow(Get.getPortConnectionStateByPort, Util.isConnectionOpen);
16
+ /**
17
+ *
18
+ */
19
+ export const isPortConnectionPendingByPort = EFunction.flow(Get.getPortConnectionStateByPort, Util.isConnectionPending);
20
+ /**
21
+ *
22
+ */
23
+ export const isPortConnectionClosedByPort = EFunction.flow(Get.getPortConnectionStateByPort, Util.isConnectionClosed);
24
+ //////////////////////////////
25
+ /**
26
+ *
27
+ */
28
+ export const isInputDeviceConnectedByPort = EFunction.flow(Get.getInputDeviceStateByPort, Util.isDeviceConnected);
29
+ /**
30
+ *
31
+ */
32
+ export const isInputDeviceDisconnectedByPort = EFunction.flow(Get.getInputDeviceStateByPort, Util.isDeviceDisconnected);
33
+ /**
34
+ *
35
+ */
36
+ export const isInputConnectionOpenByPort = EFunction.flow(Get.getInputConnectionStateByPort, Util.isConnectionOpen);
37
+ /**
38
+ *
39
+ */
40
+ export const isInputConnectionPendingByPort = EFunction.flow(Get.getInputConnectionStateByPort, Util.isConnectionPending);
41
+ /**
42
+ *
43
+ */
44
+ export const isInputConnectionClosedByPort = EFunction.flow(Get.getInputConnectionStateByPort, Util.isConnectionClosed);
45
+ //////////////////////////////
46
+ /**
47
+ *
48
+ */
49
+ export const isOutputDeviceConnectedByPort = EFunction.flow(Get.getOutputDeviceStateByPort, Util.isDeviceConnected);
50
+ /**
51
+ *
52
+ */
53
+ export const isOutputDeviceDisconnectedByPort = EFunction.flow(Get.getOutputDeviceStateByPort, Util.isDeviceDisconnected);
54
+ /**
55
+ *
56
+ */
57
+ export const isOutputConnectionOpenByPort = EFunction.flow(Get.getOutputConnectionStateByPort, Util.isConnectionOpen);
58
+ /**
59
+ *
60
+ */
61
+ export const isOutputConnectionPendingByPort = EFunction.flow(Get.getOutputConnectionStateByPort, Util.isConnectionPending);
62
+ /**
63
+ *
64
+ */
65
+ export const isOutputConnectionClosedByPort = EFunction.flow(Get.getOutputConnectionStateByPort, Util.isConnectionClosed);
66
+ //# sourceMappingURL=doesMutablePortPropertyHaveSpecificValueByPort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doesMutablePortPropertyHaveSpecificValueByPort.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,2DAA2D,CAAA;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,IAAI,CACvD,GAAG,CAAC,wBAAwB,EAC5B,IAAI,CAAC,iBAAiB,CACvB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAS,CAAC,IAAI,CAC1D,GAAG,CAAC,wBAAwB,EAC5B,IAAI,CAAC,oBAAoB,CAC1B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC,IAAI,CACtD,GAAG,CAAC,4BAA4B,EAChC,IAAI,CAAC,gBAAgB,CACtB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC,IAAI,CACzD,GAAG,CAAC,4BAA4B,EAChC,IAAI,CAAC,mBAAmB,CACzB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC,IAAI,CACxD,GAAG,CAAC,4BAA4B,EAChC,IAAI,CAAC,kBAAkB,CACxB,CAAA;AAED,8BAA8B;AAE9B;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC,IAAI,CACxD,GAAG,CAAC,yBAAyB,EAC7B,IAAI,CAAC,iBAAiB,CACvB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC,IAAI,CAC3D,GAAG,CAAC,yBAAyB,EAC7B,IAAI,CAAC,oBAAoB,CAC1B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC,IAAI,CACvD,GAAG,CAAC,6BAA6B,EACjC,IAAI,CAAC,gBAAgB,CACtB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAS,CAAC,IAAI,CAC1D,GAAG,CAAC,6BAA6B,EACjC,IAAI,CAAC,mBAAmB,CACzB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC,IAAI,CACzD,GAAG,CAAC,6BAA6B,EACjC,IAAI,CAAC,kBAAkB,CACxB,CAAA;AAED,8BAA8B;AAE9B;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC,IAAI,CACzD,GAAG,CAAC,0BAA0B,EAC9B,IAAI,CAAC,iBAAiB,CACvB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,SAAS,CAAC,IAAI,CAC5D,GAAG,CAAC,0BAA0B,EAC9B,IAAI,CAAC,oBAAoB,CAC1B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC,IAAI,CACxD,GAAG,CAAC,8BAA8B,EAClC,IAAI,CAAC,gBAAgB,CACtB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,SAAS,CAAC,IAAI,CAC3D,GAAG,CAAC,8BAA8B,EAClC,IAAI,CAAC,mBAAmB,CACzB,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,SAAS,CAAC,IAAI,CAC1D,GAAG,CAAC,8BAA8B,EAClC,IAAI,CAAC,kBAAkB,CACxB,CAAA"}
@@ -0,0 +1,61 @@
1
+ // TODO: isInputConnectionClosedByPortIdAndAccess
2
+ export const isInputConnectionClosedByPortIdAndAccess = () => {
3
+ throw new Error('Not implemented 😿 YET!! 🤩');
4
+ };
5
+ // TODO: isInputConnectionOpenByPortIdAndAccess
6
+ export const isInputConnectionOpenByPortIdAndAccess = () => {
7
+ throw new Error('Not implemented 😿 YET!! 🤩');
8
+ };
9
+ // TODO: isInputConnectionPendingByPortIdAndAccess
10
+ export const isInputConnectionPendingByPortIdAndAccess = () => {
11
+ throw new Error('Not implemented 😿 YET!! 🤩');
12
+ };
13
+ // TODO: isInputDeviceConnectedByPortIdAndAccess
14
+ export const isInputDeviceConnectedByPortIdAndAccess = () => {
15
+ throw new Error('Not implemented 😿 YET!! 🤩');
16
+ };
17
+ // TODO: isInputDeviceDisconnectedByPortIdAndAccess
18
+ export const isInputDeviceDisconnectedByPortIdAndAccess = () => {
19
+ throw new Error('Not implemented 😿 YET!! 🤩');
20
+ };
21
+ // TODO: isOutputConnectionClosedByPortIdAndAccess
22
+ export const isOutputConnectionClosedByPortIdAndAccess = () => {
23
+ throw new Error('Not implemented 😿 YET!! 🤩');
24
+ };
25
+ // TODO: isOutputConnectionOpenByPortIdAndAccess
26
+ export const isOutputConnectionOpenByPortIdAndAccess = () => {
27
+ throw new Error('Not implemented 😿 YET!! 🤩');
28
+ };
29
+ // TODO: isOutputConnectionPendingByPortIdAndAccess
30
+ export const isOutputConnectionPendingByPortIdAndAccess = () => {
31
+ throw new Error('Not implemented 😿 YET!! 🤩');
32
+ };
33
+ // TODO: isOutputDeviceConnectedByPortIdAndAccess
34
+ export const isOutputDeviceConnectedByPortIdAndAccess = () => {
35
+ throw new Error('Not implemented 😿 YET!! 🤩');
36
+ };
37
+ // TODO: isOutputDeviceDisconnectedByPortIdAndAccess
38
+ export const isOutputDeviceDisconnectedByPortIdAndAccess = () => {
39
+ throw new Error('Not implemented 😿 YET!! 🤩');
40
+ };
41
+ // TODO: isPortConnectionClosedByPortIdAndAccess
42
+ export const isPortConnectionClosedByPortIdAndAccess = () => {
43
+ throw new Error('Not implemented 😿 YET!! 🤩');
44
+ };
45
+ // TODO: isPortConnectionOpenByPortIdAndAccess
46
+ export const isPortConnectionOpenByPortIdAndAccess = () => {
47
+ throw new Error('Not implemented 😿 YET!! 🤩');
48
+ };
49
+ // TODO: isPortConnectionPendingByPortIdAndAccess
50
+ export const isPortConnectionPendingByPortIdAndAccess = () => {
51
+ throw new Error('Not implemented 😿 YET!! 🤩');
52
+ };
53
+ // TODO: isPortDeviceConnectedByPortIdAndAccess
54
+ export const isPortDeviceConnectedByPortIdAndAccess = () => {
55
+ throw new Error('Not implemented 😿 YET!! 🤩');
56
+ };
57
+ // TODO: isPortDeviceDisconnectedByPortIdAndAccess
58
+ export const isPortDeviceDisconnectedByPortIdAndAccess = () => {
59
+ throw new Error('Not implemented 😿 YET!! 🤩');
60
+ };
61
+ //# sourceMappingURL=doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,CAAC,MAAM,wCAAwC,GAAG,GAAG,EAAE;IAC3D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,yCAAyC,GAAG,GAAG,EAAE;IAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAAG,EAAE;IAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,yCAAyC,GAAG,GAAG,EAAE;IAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAAG,EAAE;IAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,wCAAwC,GAAG,GAAG,EAAE;IAC3D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,2CAA2C,GAAG,GAAG,EAAE;IAC9D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAAG,EAAE;IAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,EAAE;IACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,iDAAiD;AACjD,MAAM,CAAC,MAAM,wCAAwC,GAAG,GAAG,EAAE;IAC3D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,yCAAyC,GAAG,GAAG,EAAE;IAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,68 @@
1
+ import * as EFunction from 'effect/Function';
2
+ import * as Get from '../../getPortByPortId/getPortByPortIdInContext.js';
3
+ import * as Check from './doesMutablePortPropertyHaveSpecificValueByPort.js';
4
+ /**
5
+ *
6
+ */
7
+ export const closePortConnectionByPortIdInContext = EFunction.flow(Get.getInputByPortIdInContext, Check.isInputConnectionClosedByPort);
8
+ /**
9
+ *
10
+ */
11
+ export const isInputConnectionClosedByPortIdInContext = EFunction.flow(Get.getInputByPortIdInContext, Check.isInputConnectionClosedByPort);
12
+ /**
13
+ *
14
+ */
15
+ export const isInputConnectionOpenByPortIdInContext = EFunction.flow(Get.getInputByPortIdInContext, Check.isInputConnectionClosedByPort);
16
+ /**
17
+ *
18
+ */
19
+ export const isInputConnectionPendingByPortIdInContext = EFunction.flow(Get.getInputByPortIdInContext, Check.isInputConnectionClosedByPort);
20
+ /**
21
+ *
22
+ */
23
+ export const isInputDeviceConnectedByPortIdInContext = EFunction.flow(Get.getInputByPortIdInContext, Check.isInputConnectionClosedByPort);
24
+ /**
25
+ *
26
+ */
27
+ export const isInputDeviceDisconnectedByPortIdInContext = EFunction.flow(Get.getInputByPortIdInContext, Check.isInputConnectionClosedByPort);
28
+ /**
29
+ *
30
+ */
31
+ export const isOutputConnectionClosedByPortIdInContext = EFunction.flow(Get.getOutputByPortIdInContext, Check.isOutputConnectionClosedByPort);
32
+ /**
33
+ *
34
+ */
35
+ export const isOutputConnectionOpenByPortIdInContext = EFunction.flow(Get.getOutputByPortIdInContext, Check.isOutputConnectionClosedByPort);
36
+ /**
37
+ *
38
+ */
39
+ export const isOutputConnectionPendingByPortIdInContext = EFunction.flow(Get.getOutputByPortIdInContext, Check.isOutputConnectionClosedByPort);
40
+ /**
41
+ *
42
+ */
43
+ export const isOutputDeviceConnectedByPortIdInContext = EFunction.flow(Get.getOutputByPortIdInContext, Check.isOutputConnectionClosedByPort);
44
+ /**
45
+ *
46
+ */
47
+ export const isOutputDeviceDisconnectedByPortIdInContext = EFunction.flow(Get.getOutputByPortIdInContext, Check.isOutputConnectionClosedByPort);
48
+ /**
49
+ *
50
+ */
51
+ export const isPortConnectionClosedByPortIdInContext = EFunction.flow(Get.getPortByPortIdInContext, Check.isPortConnectionClosedByPort);
52
+ /**
53
+ *
54
+ */
55
+ export const isPortConnectionOpenByPortIdInContext = EFunction.flow(Get.getPortByPortIdInContext, Check.isPortConnectionClosedByPort);
56
+ /**
57
+ *
58
+ */
59
+ export const isPortConnectionPendingByPortIdInContext = EFunction.flow(Get.getPortByPortIdInContext, Check.isPortConnectionClosedByPort);
60
+ /**
61
+ *
62
+ */
63
+ export const isPortDeviceConnectedByPortIdInContext = EFunction.flow(Get.getPortByPortIdInContext, Check.isPortConnectionClosedByPort);
64
+ /**
65
+ *
66
+ */
67
+ export const isPortDeviceDisconnectedByPortIdInContext = EFunction.flow(Get.getPortByPortIdInContext, Check.isPortConnectionClosedByPort);
68
+ //# sourceMappingURL=doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C,OAAO,KAAK,GAAG,MAAM,mDAAmD,CAAA;AACxE,OAAO,KAAK,KAAK,MAAM,qDAAqD,CAAA;AAE5E;;GAEG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,SAAS,CAAC,IAAI,CAChE,GAAG,CAAC,yBAAyB,EAC7B,KAAK,CAAC,6BAA6B,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,SAAS,CAAC,IAAI,CACpE,GAAG,CAAC,yBAAyB,EAC7B,KAAK,CAAC,6BAA6B,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,SAAS,CAAC,IAAI,CAClE,GAAG,CAAC,yBAAyB,EAC7B,KAAK,CAAC,6BAA6B,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,SAAS,CAAC,IAAI,CACrE,GAAG,CAAC,yBAAyB,EAC7B,KAAK,CAAC,6BAA6B,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,SAAS,CAAC,IAAI,CACnE,GAAG,CAAC,yBAAyB,EAC7B,KAAK,CAAC,6BAA6B,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,SAAS,CAAC,IAAI,CACtE,GAAG,CAAC,yBAAyB,EAC7B,KAAK,CAAC,6BAA6B,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,SAAS,CAAC,IAAI,CACrE,GAAG,CAAC,0BAA0B,EAC9B,KAAK,CAAC,8BAA8B,CACrC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,SAAS,CAAC,IAAI,CACnE,GAAG,CAAC,0BAA0B,EAC9B,KAAK,CAAC,8BAA8B,CACrC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,SAAS,CAAC,IAAI,CACtE,GAAG,CAAC,0BAA0B,EAC9B,KAAK,CAAC,8BAA8B,CACrC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,SAAS,CAAC,IAAI,CACpE,GAAG,CAAC,0BAA0B,EAC9B,KAAK,CAAC,8BAA8B,CACrC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,SAAS,CAAC,IAAI,CACvE,GAAG,CAAC,0BAA0B,EAC9B,KAAK,CAAC,8BAA8B,CACrC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,SAAS,CAAC,IAAI,CACnE,GAAG,CAAC,wBAAwB,EAC5B,KAAK,CAAC,4BAA4B,CACnC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,SAAS,CAAC,IAAI,CACjE,GAAG,CAAC,wBAAwB,EAC5B,KAAK,CAAC,4BAA4B,CACnC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,SAAS,CAAC,IAAI,CACpE,GAAG,CAAC,wBAAwB,EAC5B,KAAK,CAAC,4BAA4B,CACnC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,SAAS,CAAC,IAAI,CAClE,GAAG,CAAC,wBAAwB,EAC5B,KAAK,CAAC,4BAA4B,CACnC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,SAAS,CAAC,IAAI,CACrE,GAAG,CAAC,wBAAwB,EAC5B,KAAK,CAAC,4BAA4B,CACnC,CAAA"}
@@ -0,0 +1,42 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { getValueInRawPortFieldUnsafe } from '../getValueInRawPortFieldUnsafe.js';
3
+ /**
4
+ * @internal
5
+ */
6
+ const getMutableProperty = () => (property) => (polymorphicPort) => Effect.isEffect(polymorphicPort)
7
+ ? Effect.map(polymorphicPort, getValueInRawPortFieldUnsafe(property))
8
+ : Effect.sync(() => getValueInRawPortFieldUnsafe(property)(polymorphicPort));
9
+ /**
10
+ * @returns A state of the hardware connection between the OS and the device
11
+ * ({@linkcode MIDIPortDeviceState}). Because it can change over time, it's
12
+ * wrapped in effect. It's taken from the {@linkcode MIDIPort.state|state}
13
+ * read-only property of the {@linkcode MIDIPort} interface ([MDN
14
+ * Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/state)).
15
+ */
16
+ export const getPortDeviceStateByPort = getMutableProperty()('state');
17
+ /**
18
+ * @returns A state of the connection between the browser's tab and OS
19
+ * abstraction of the device ({@linkcode MIDIPortConnectionState}). Because it
20
+ * can change over time, it's wrapped in effect. It's taken from the
21
+ * {@linkcode MIDIPort.connection|connection} read-only property of the
22
+ * {@linkcode MIDIPort} interface ([MDN
23
+ * Reference](https://developer.mozilla.org/docs/Web/API/MIDIPort/connection)).
24
+ */
25
+ export const getPortConnectionStateByPort = getMutableProperty()('connection');
26
+ /**
27
+ *
28
+ */
29
+ export const getInputDeviceStateByPort = getMutableProperty()('state');
30
+ /**
31
+ *
32
+ */
33
+ export const getInputConnectionStateByPort = getMutableProperty()('connection');
34
+ /**
35
+ *
36
+ */
37
+ export const getOutputDeviceStateByPort = getMutableProperty()('state');
38
+ /**
39
+ *
40
+ */
41
+ export const getOutputConnectionStateByPort = getMutableProperty()('connection');
42
+ //# sourceMappingURL=getMutablePortPropertyByPort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMutablePortPropertyByPort.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AAGjF;;GAEG;AACH,MAAM,kBAAkB,GACtB,GAAuC,EAAE,CACzC,CACE,QAAkC,EAClC,EAAE,CACJ,CACE,eAA+D,EAC/D,EAAE,CACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC9B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACf,4BAA4B,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CACxD,CAAA;AAET;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAA;AAErE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,kBAAkB,EAAE,CAAC,YAAY,CAAC,CAAA;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,EAAW,CAAC,OAAO,CAAC,CAAA;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,kBAAkB,EAAW,CAAC,YAAY,CAAC,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACrC,kBAAkB,EAAY,CAAC,OAAO,CAAC,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GACzC,kBAAkB,EAAY,CAAC,YAAY,CAAC,CAAA"}
@@ -0,0 +1,43 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import * as EFunction from 'effect/Function';
3
+ import * as Option from 'effect/Option';
4
+ import * as Record from 'effect/Record';
5
+ import * as EMIDIAccess from '../../EMIDIAccess.js';
6
+ import * as MIDIErrors from '../../MIDIErrors.js';
7
+ import * as Get from './getMutablePortPropertyByPort.js';
8
+ /**
9
+ * @internal
10
+ */
11
+ const getPortByIdGeneric2 = (getPortMap) => (polymorphicAccess, transformPortEffect, portId) => EFunction.pipe(getPortMap(polymorphicAccess), Effect.flatMap(EFunction.flow(Record.get(portId), Option.match({
12
+ onNone: () => new MIDIErrors.PortNotFoundError({ portId }),
13
+ onSome: e => Effect.succeed(e),
14
+ }))), transformPortEffect);
15
+ // TODO: Check if software synth devices access is present. Having desired
16
+ // port absent in the record doesn't guarantee it's disconnected
17
+ /**
18
+ *
19
+ *
20
+ */
21
+ export const getPortDeviceStateByPortIdAndAccess = (polymorphicAccess, id) => getPortByIdGeneric2(EMIDIAccess.getAllPortsRecord)(polymorphicAccess, EFunction.flow(Get.getPortDeviceStateByPort, Effect.catchTag('PortNotFound', () => Effect.succeed('disconnected'))), id);
22
+ /**
23
+ *
24
+ *
25
+ */
26
+ export const getPortConnectionStateByPortIdAndAccess = (polymorphicAccess, id) => getPortByIdGeneric2(EMIDIAccess.getAllPortsRecord)(polymorphicAccess, Get.getPortConnectionStateByPort, id);
27
+ // TODO: getInputConnectionStateByPortIdAndAccess
28
+ export const getInputConnectionStateByPortIdAndAccess = (_polymorphicAccess, _id) => {
29
+ throw new Error('Not implemented 😿 YET!! 🤩');
30
+ };
31
+ // TODO: getInputDeviceStateByPortIdAndAccess
32
+ export const getInputDeviceStateByPortIdAndAccess = (_polymorphicAccess, _id) => {
33
+ throw new Error('Not implemented 😿 YET!! 🤩');
34
+ };
35
+ // TODO: getOutputConnectionStateByPortIdAndAccess
36
+ export const getOutputConnectionStateByPortIdAndAccess = (_polymorphicAccess, _id) => {
37
+ throw new Error('Not implemented 😿 YET!! 🤩');
38
+ };
39
+ // TODO: getOutputDeviceStateByPortIdAndAccess
40
+ export const getOutputDeviceStateByPortIdAndAccess = (_polymorphicAccess, _id) => {
41
+ throw new Error('Not implemented 😿 YET!! 🤩');
42
+ };
43
+ //# sourceMappingURL=getMutablePortPropertyByPortIdAndAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMutablePortPropertyByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AAInD,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAA;AAExD;;GAEG;AACH,MAAM,mBAAmB,GACvB,CACE,UAE2B,EAC3B,EAAE,CACJ,CACE,iBAA8D,EAC9D,mBAM6B,EAC7B,MAA0C,EAC1C,EAAE,CACF,SAAS,CAAC,IAAI,CACZ,UAAU,CAAC,iBAAiB,CAAC,EAC7B,MAAM,CAAC,OAAO,CACZ,SAAS,CAAC,IAAI,CACZ,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,KAAK,CAAC;IACX,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1D,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/B,CAAC,CACH,CACF,EACD,mBAAmB,CACpB,CAAA;AAEL,0EAA0E;AAC1E,gEAAgE;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,iBAA8D,EAC9D,EAAoB,EACpB,EAAE,CACF,mBAAmB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAChD,iBAAiB,EACjB,SAAS,CAAC,IAAI,CACZ,GAAG,CAAC,wBAAwB,EAC5B,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CACnC,MAAM,CAAC,OAAO,CAAC,cAAuB,CAAC,CACxC,CACF,EACD,EAAE,CACH,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CACrD,iBAA8D,EAC9D,EAAoB,EACpB,EAAE,CACF,mBAAmB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAChD,iBAAiB,EACjB,GAAG,CAAC,4BAA4B,EAChC,EAAE,CACH,CAAA;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,kBAA+D,EAC/D,GAAkB,EAClB,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,6CAA6C;AAC7C,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAClD,kBAA+D,EAC/D,GAAkB,EAClB,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,yCAAyC,GAAG,CACvD,kBAA+D,EAC/D,GAAmB,EACnB,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,kBAA+D,EAC/D,GAAmB,EACnB,EAAE;IACF,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,33 @@
1
+ import * as EMIDIAccess from '../../EMIDIAccess.js';
2
+ import * as Get from './getMutablePortPropertyByPortIdAndAccess.js';
3
+ /**
4
+ *
5
+ *
6
+ */
7
+ export const getPortDeviceStateByPortId = (id) => Get.getPortDeviceStateByPortIdAndAccess(EMIDIAccess.EMIDIAccess, id);
8
+ /**
9
+ *
10
+ *
11
+ */
12
+ export const getPortConnectionStateByPortId = (id) => Get.getPortConnectionStateByPortIdAndAccess(EMIDIAccess.EMIDIAccess, id);
13
+ /**
14
+ *
15
+ *
16
+ */
17
+ export const getInputDeviceStateByPortId = (id) => Get.getInputDeviceStateByPortIdAndAccess(EMIDIAccess.EMIDIAccess, id);
18
+ /**
19
+ *
20
+ *
21
+ */
22
+ export const getInputConnectionStateByPortId = (id) => Get.getInputConnectionStateByPortIdAndAccess(EMIDIAccess.EMIDIAccess, id);
23
+ /**
24
+ *
25
+ *
26
+ */
27
+ export const getOutputDeviceStateByPortId = (id) => Get.getOutputDeviceStateByPortIdAndAccess(EMIDIAccess.EMIDIAccess, id);
28
+ /**
29
+ *
30
+ *
31
+ */
32
+ export const getOutputConnectionStateByPortId = (id) => Get.getOutputConnectionStateByPortIdAndAccess(EMIDIAccess.EMIDIAccess, id);
33
+ //# sourceMappingURL=getMutablePortPropertyByPortIdInContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMutablePortPropertyByPortIdInContext.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AAInD,OAAO,KAAK,GAAG,MAAM,8CAA8C,CAAA;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAAoB,EAAE,EAAE,CACjE,GAAG,CAAC,mCAAmC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAEtE;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAAoB,EAAE,EAAE,CACrE,GAAG,CAAC,uCAAuC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAE1E;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAiB,EAAE,EAAE,CAC/D,GAAG,CAAC,oCAAoC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAEvE;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,EAAiB,EAAE,EAAE,CACnE,GAAG,CAAC,wCAAwC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,EAAkB,EAAE,EAAE,CACjE,GAAG,CAAC,qCAAqC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AAExE;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,EAAkB,EAAE,EAAE,CACrE,GAAG,CAAC,yCAAyC,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import * as EMIDIPort from '../EMIDIPort.js';
2
+ /**
3
+ * @internal
4
+ */
5
+ export const getValueInRawPortFieldUnsafe = (property) => (port) => EMIDIPort.assumeImpl(port)._port[property];
6
+ //# sourceMappingURL=getValueInRawPortFieldUnsafe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValueInRawPortFieldUnsafe.js","sourceRoot":"","sources":["../../../../src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAG5C;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,CACE,QAAkC,EAClC,EAAE,CACJ,CAAC,IAAyB,EAAE,EAAE,CAC5B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,46 @@
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
+ import * as Effect from 'effect/Effect';
4
+ import * as EFunction from 'effect/Function';
5
+ import * as Record from 'effect/Record';
6
+ import * as EMIDIInput from '../../EMIDIInput.js';
7
+ import * as EMIDIOutput from '../../EMIDIOutput.js';
8
+ import * as EMIDIPort from '../../EMIDIPort.js';
9
+ import * as Util from '../../Util.js';
10
+ import * as Get from '../getValueInRawPortFieldUnsafe.js';
11
+ /**
12
+ * @internal
13
+ */
14
+ const matchMutableMIDIPortProperty = (property, is) => EFunction.dual(Util.polymorphicCheckInDual(is), Effect.fn(function* (polymorphicPort, config) {
15
+ const port = yield* Util.fromPolymorphic(polymorphicPort, is);
16
+ const state = Get.getValueInRawPortFieldUnsafe(property)(port);
17
+ for (const [stateCase, stateCallback] of Record.toEntries(config))
18
+ if (state === stateCase)
19
+ return stateCallback(port);
20
+ return yield* Effect.dieMessage(`AssertionFailed: Missing handler for "${state}" state inside "${property}" property`);
21
+ }));
22
+ /**
23
+ *
24
+ */
25
+ export const matchPortConnectionStateByPort = matchMutableMIDIPortProperty('connection', EMIDIPort.is);
26
+ /**
27
+ *
28
+ */
29
+ export const matchPortDeviceStateByPort = matchMutableMIDIPortProperty('state', EMIDIPort.is);
30
+ /**
31
+ *
32
+ */
33
+ export const matchInputConnectionStateByPort = matchMutableMIDIPortProperty('connection', EMIDIInput.is);
34
+ /**
35
+ *
36
+ */
37
+ export const matchInputDeviceStateByPort = matchMutableMIDIPortProperty('state', EMIDIInput.is);
38
+ /**
39
+ *
40
+ */
41
+ export const matchOutputConnectionStateByPort = matchMutableMIDIPortProperty('connection', EMIDIOutput.is);
42
+ /**
43
+ *
44
+ */
45
+ export const matchOutputDeviceStateByPort = matchMutableMIDIPortProperty('state', EMIDIOutput.is);
46
+ //# sourceMappingURL=matchMutablePortPropertyByPort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMutablePortPropertyByPort.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,IAAI,MAAM,eAAe,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAA;AAEzD;;GAEG;AACH,MAAM,4BAA4B,GAAG,CAInC,QAA2B,EAC3B,EAAsE,EACX,EAAE,CAC7D,SAAS,CAAC,IAAI,CAIZ,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAC/B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,MAAM;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CACtC,eAAe,EACf,EAEoD,CACrD,CAAA;IAED,MAAM,KAAK,GAAG,GAAG,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;IAE9D,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/D,IAAI,KAAK,KAAK,SAAS;YACrB,OAAQ,aAAkC,CAAC,IAAI,CAAC,CAAA;IAEpD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAC7B,yCAAyC,KAAK,mBAAmB,QAAQ,YAAY,CACtF,CAAA;AACH,CAAC,CAAC,CACH,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,4BAA4B,CACxE,YAAY,EACZ,SAAS,CAAC,EAAE,CACb,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,4BAA4B,CACpE,OAAO,EACP,SAAS,CAAC,EAAE,CACb,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,4BAA4B,CACzE,YAAY,EACZ,UAAU,CAAC,EAAE,CACd,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,4BAA4B,CACrE,OAAO,EACP,UAAU,CAAC,EAAE,CACd,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,4BAA4B,CAC1E,YAAY,EACZ,WAAW,CAAC,EAAE,CACf,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,4BAA4B,CACtE,OAAO,EACP,WAAW,CAAC,EAAE,CACf,CAAA"}
@@ -0,0 +1,25 @@
1
+ // TODO: matchInputConnectionStateByPortIdAndAccess
2
+ export const matchInputConnectionStateByPortIdAndAccess = () => {
3
+ throw new Error('Not implemented 😿 YET!! 🤩');
4
+ };
5
+ // TODO: matchInputDeviceStateByPortIdAndAccess
6
+ export const matchInputDeviceStateByPortIdAndAccess = () => {
7
+ throw new Error('Not implemented 😿 YET!! 🤩');
8
+ };
9
+ // TODO: matchOutputConnectionStateByPortIdAndAccess
10
+ export const matchOutputConnectionStateByPortIdAndAccess = () => {
11
+ throw new Error('Not implemented 😿 YET!! 🤩');
12
+ };
13
+ // TODO: matchOutputDeviceStateByPortIdAndAccess
14
+ export const matchOutputDeviceStateByPortIdAndAccess = () => {
15
+ throw new Error('Not implemented 😿 YET!! 🤩');
16
+ };
17
+ // TODO: matchPortConnectionStateByPortIdAndAccess
18
+ export const matchPortConnectionStateByPortIdAndAccess = () => {
19
+ throw new Error('Not implemented 😿 YET!! 🤩');
20
+ };
21
+ // TODO: matchPortDeviceStateByPortIdAndAccess
22
+ export const matchPortDeviceStateByPortIdAndAccess = () => {
23
+ throw new Error('Not implemented 😿 YET!! 🤩');
24
+ };
25
+ //# sourceMappingURL=matchMutablePortPropertyByPortIdAndAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMutablePortPropertyByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,CAAC,MAAM,0CAA0C,GAAG,GAAG,EAAE;IAC7D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,+CAA+C;AAC/C,MAAM,CAAC,MAAM,sCAAsC,GAAG,GAAG,EAAE;IACzD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,2CAA2C,GAAG,GAAG,EAAE;IAC9D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,gDAAgD;AAChD,MAAM,CAAC,MAAM,uCAAuC,GAAG,GAAG,EAAE;IAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,yCAAyC,GAAG,GAAG,EAAE;IAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,8CAA8C;AAC9C,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,EAAE;IACxD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ import * as Get from '../../getPortByPortId/getPortByPortIdInContext.js';
2
+ import * as Match from './matchMutablePortPropertyByPort.js';
3
+ /**
4
+ * @internal
5
+ */
6
+ const makeMatcherTakingPortIds = (match, getPort) => (id, stateCaseToHandlerMap) => match(getPort(id), stateCaseToHandlerMap);
7
+ /**
8
+ *
9
+ */
10
+ export const matchPortConnectionStateByPortIdInContext = makeMatcherTakingPortIds(Match.matchPortConnectionStateByPort, Get.getPortByPortIdInContext);
11
+ /**
12
+ *
13
+ */
14
+ export const matchInputConnectionStateByPortIdInContext = makeMatcherTakingPortIds(Match.matchInputConnectionStateByPort, Get.getInputByPortIdInContext);
15
+ /**
16
+ *
17
+ */
18
+ export const matchOutputConnectionStateByPortIdInContext = makeMatcherTakingPortIds(Match.matchOutputConnectionStateByPort, Get.getOutputByPortIdInContext);
19
+ /**
20
+ *
21
+ */
22
+ export const matchPortDeviceStateByPortIdInContext = makeMatcherTakingPortIds(Match.matchPortDeviceStateByPort, Get.getPortByPortIdInContext);
23
+ /**
24
+ *
25
+ */
26
+ export const matchInputDeviceStateByPortIdInContext = makeMatcherTakingPortIds(Match.matchInputDeviceStateByPort, Get.getInputByPortIdInContext);
27
+ /**
28
+ *
29
+ */
30
+ export const matchOutputDeviceStateByPortIdInContext = makeMatcherTakingPortIds(Match.matchOutputDeviceStateByPort, Get.getOutputByPortIdInContext);
31
+ //# sourceMappingURL=matchMutablePortPropertyByPortIdInContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMutablePortPropertyByPortIdInContext.js","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,mDAAmD,CAAA;AAExE,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAA;AAE5D;;GAEG;AACH,MAAM,wBAAwB,GAC5B,CAIE,KAAsE,EACtE,OAMC,EACD,EAAE,CACJ,CAOE,EAAoC,EACpC,qBAA6C,EAC7C,EAAE,CACF,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,qBAAqB,CAAC,CAAA;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GACpD,wBAAwB,CACtB,KAAK,CAAC,8BAA8B,EACpC,GAAG,CAAC,wBAAwB,CAC7B,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GACrD,wBAAwB,CACtB,KAAK,CAAC,+BAA+B,EACrC,GAAG,CAAC,yBAAyB,CAC9B,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GACtD,wBAAwB,CACtB,KAAK,CAAC,gCAAgC,EACtC,GAAG,CAAC,0BAA0B,CAC/B,CAAA;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,wBAAwB,CAC3E,KAAK,CAAC,0BAA0B,EAChC,GAAG,CAAC,wBAAwB,CAC7B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,wBAAwB,CAC5E,KAAK,CAAC,2BAA2B,EACjC,GAAG,CAAC,yBAAyB,CAC9B,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,wBAAwB,CAC7E,KAAK,CAAC,4BAA4B,EAClC,GAAG,CAAC,0BAA0B,CAC/B,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './src/index.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}