effect-web-midi 0.1.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 (222) hide show
  1. package/README.md +7 -0
  2. package/dist/index.js +2 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/src/EMIDIAccess.js +68 -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 +225 -0
  9. package/dist/src/EMIDIOutput.js.map +1 -0
  10. package/dist/src/EMIDIPort.js +213 -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/Parsing.js +2 -0
  15. package/dist/src/Parsing.js.map +1 -0
  16. package/dist/src/StreamMaker.js +1 -0
  17. package/dist/src/StreamMaker.js.map +1 -0
  18. package/dist/src/Util.js +4 -0
  19. package/dist/src/Util.js.map +1 -0
  20. package/dist/src/index.js +9 -0
  21. package/dist/src/index.js.map +1 -0
  22. package/dist/src/internal/EMIDIAccess.js +409 -0
  23. package/dist/src/internal/EMIDIAccess.js.map +1 -0
  24. package/dist/src/internal/EMIDIInput.js +69 -0
  25. package/dist/src/internal/EMIDIInput.js.map +1 -0
  26. package/dist/src/internal/EMIDIOutput.js +120 -0
  27. package/dist/src/internal/EMIDIOutput.js.map +1 -0
  28. package/dist/src/internal/EMIDIPort.js +125 -0
  29. package/dist/src/internal/EMIDIPort.js.map +1 -0
  30. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js +27 -0
  31. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.js.map +1 -0
  32. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js +19 -0
  33. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js.map +1 -0
  34. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js +16 -0
  35. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.js.map +1 -0
  36. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js +18 -0
  37. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js.map +1 -0
  38. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js +27 -0
  39. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.js.map +1 -0
  40. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js +18 -0
  41. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.js.map +1 -0
  42. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js +16 -0
  43. package/dist/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.js.map +1 -0
  44. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js +21 -0
  45. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js.map +1 -0
  46. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js +30 -0
  47. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.js.map +1 -0
  48. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js +18 -0
  49. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.js.map +1 -0
  50. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js +16 -0
  51. package/dist/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.js.map +1 -0
  52. package/dist/src/internal/StreamMaker.js +101 -0
  53. package/dist/src/internal/StreamMaker.js.map +1 -0
  54. package/dist/src/internal/errors.js +161 -0
  55. package/dist/src/internal/errors.js.map +1 -0
  56. package/dist/src/internal/getPortByPortId/getPortByPortIdAndAccess.js +53 -0
  57. package/dist/src/internal/getPortByPortId/getPortByPortIdAndAccess.js.map +1 -0
  58. package/dist/src/internal/getPortByPortId/getPortByPortIdInContext.js +18 -0
  59. package/dist/src/internal/getPortByPortId/getPortByPortIdInContext.js.map +1 -0
  60. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js +52 -0
  61. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js.map +1 -0
  62. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js +13 -0
  63. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js.map +1 -0
  64. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js +18 -0
  65. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js.map +1 -0
  66. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js +66 -0
  67. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.js.map +1 -0
  68. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js +61 -0
  69. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.js.map +1 -0
  70. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js +61 -0
  71. package/dist/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.js.map +1 -0
  72. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js +42 -0
  73. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.js.map +1 -0
  74. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js +42 -0
  75. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.js.map +1 -0
  76. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js +29 -0
  77. package/dist/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.js.map +1 -0
  78. package/dist/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.js +6 -0
  79. package/dist/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.js.map +1 -0
  80. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js +46 -0
  81. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.js.map +1 -0
  82. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js +25 -0
  83. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.js.map +1 -0
  84. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js +31 -0
  85. package/dist/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.js.map +1 -0
  86. package/dist/src/internal/parsing.js +117 -0
  87. package/dist/src/internal/parsing.js.map +1 -0
  88. package/dist/src/internal/util.js +59 -0
  89. package/dist/src/internal/util.js.map +1 -0
  90. package/dist-types/index.d.ts +2 -0
  91. package/dist-types/index.d.ts.map +1 -0
  92. package/dist-types/src/EMIDIAccess.d.ts +27 -0
  93. package/dist-types/src/EMIDIAccess.d.ts.map +1 -0
  94. package/dist-types/src/EMIDIInput.d.ts +26 -0
  95. package/dist-types/src/EMIDIInput.d.ts.map +1 -0
  96. package/dist-types/src/EMIDIOutput.d.ts +26 -0
  97. package/dist-types/src/EMIDIOutput.d.ts.map +1 -0
  98. package/dist-types/src/EMIDIPort.d.ts +26 -0
  99. package/dist-types/src/EMIDIPort.d.ts.map +1 -0
  100. package/dist-types/src/MIDIErrors.d.ts +2 -0
  101. package/dist-types/src/MIDIErrors.d.ts.map +1 -0
  102. package/dist-types/src/Parsing.d.ts +2 -0
  103. package/dist-types/src/Parsing.d.ts.map +1 -0
  104. package/dist-types/src/StreamMaker.d.ts +2 -0
  105. package/dist-types/src/StreamMaker.d.ts.map +1 -0
  106. package/dist-types/src/Util.d.ts +2 -0
  107. package/dist-types/src/Util.d.ts.map +1 -0
  108. package/dist-types/src/index.d.ts +9 -0
  109. package/dist-types/src/index.d.ts.map +1 -0
  110. package/dist-types/src/internal/EMIDIAccess.d.ts +339 -0
  111. package/dist-types/src/internal/EMIDIAccess.d.ts.map +1 -0
  112. package/dist-types/src/internal/EMIDIInput.d.ts +48 -0
  113. package/dist-types/src/internal/EMIDIInput.d.ts.map +1 -0
  114. package/dist-types/src/internal/EMIDIOutput.d.ts +93 -0
  115. package/dist-types/src/internal/EMIDIOutput.d.ts.map +1 -0
  116. package/dist-types/src/internal/EMIDIPort.d.ts +87 -0
  117. package/dist-types/src/internal/EMIDIPort.d.ts.map +1 -0
  118. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.d.ts +16 -0
  119. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.d.ts.map +1 -0
  120. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts +15 -0
  121. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts.map +1 -0
  122. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.d.ts +13 -0
  123. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.d.ts.map +1 -0
  124. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts +11 -0
  125. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts.map +1 -0
  126. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.d.ts +23 -0
  127. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.d.ts.map +1 -0
  128. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.d.ts +15 -0
  129. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.d.ts.map +1 -0
  130. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.d.ts +13 -0
  131. package/dist-types/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.d.ts.map +1 -0
  132. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts +15 -0
  133. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts.map +1 -0
  134. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.d.ts +21 -0
  135. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.d.ts.map +1 -0
  136. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.d.ts +15 -0
  137. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.d.ts.map +1 -0
  138. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.d.ts +13 -0
  139. package/dist-types/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.d.ts.map +1 -0
  140. package/dist-types/src/internal/StreamMaker.d.ts +202 -0
  141. package/dist-types/src/internal/StreamMaker.d.ts.map +1 -0
  142. package/dist-types/src/internal/errors.d.ts +260 -0
  143. package/dist-types/src/internal/errors.d.ts.map +1 -0
  144. package/dist-types/src/internal/getPortByPortId/getPortByPortIdAndAccess.d.ts +27 -0
  145. package/dist-types/src/internal/getPortByPortId/getPortByPortIdAndAccess.d.ts.map +1 -0
  146. package/dist-types/src/internal/getPortByPortId/getPortByPortIdInContext.d.ts +20 -0
  147. package/dist-types/src/internal/getPortByPortId/getPortByPortIdInContext.d.ts.map +1 -0
  148. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts +71 -0
  149. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts.map +1 -0
  150. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts +4 -0
  151. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts.map +1 -0
  152. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts +20 -0
  153. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts.map +1 -0
  154. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.d.ts +62 -0
  155. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.d.ts.map +1 -0
  156. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.d.ts +16 -0
  157. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.d.ts.map +1 -0
  158. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.d.ts +16 -0
  159. package/dist-types/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.d.ts.map +1 -0
  160. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.d.ts +36 -0
  161. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.d.ts.map +1 -0
  162. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.d.ts +22 -0
  163. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.d.ts.map +1 -0
  164. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.d.ts +17 -0
  165. package/dist-types/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.d.ts.map +1 -0
  166. package/dist-types/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.d.ts +7 -0
  167. package/dist-types/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.d.ts.map +1 -0
  168. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.d.ts +71 -0
  169. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.d.ts.map +1 -0
  170. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.d.ts +7 -0
  171. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.d.ts.map +1 -0
  172. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.d.ts +28 -0
  173. package/dist-types/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.d.ts.map +1 -0
  174. package/dist-types/src/internal/parsing.d.ts +72 -0
  175. package/dist-types/src/internal/parsing.d.ts.map +1 -0
  176. package/dist-types/src/internal/util.d.ts +33 -0
  177. package/dist-types/src/internal/util.d.ts.map +1 -0
  178. package/index.ts +1 -0
  179. package/package.json +83 -0
  180. package/src/EMIDIAccess.ts +271 -0
  181. package/src/EMIDIInput.ts +270 -0
  182. package/src/EMIDIOutput.ts +269 -0
  183. package/src/EMIDIPort.ts +267 -0
  184. package/src/MIDIErrors.ts +13 -0
  185. package/src/Parsing.ts +12 -0
  186. package/src/StreamMaker.ts +12 -0
  187. package/src/Util.ts +19 -0
  188. package/src/index.ts +8 -0
  189. package/src/internal/EMIDIAccess.ts +893 -0
  190. package/src/internal/EMIDIInput.ts +114 -0
  191. package/src/internal/EMIDIOutput.ts +228 -0
  192. package/src/internal/EMIDIPort.ts +233 -0
  193. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.ts +43 -0
  194. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts +39 -0
  195. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.ts +27 -0
  196. package/src/internal/MIDIPortMethodCalls/actOnPort.ts +66 -0
  197. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.ts +38 -0
  198. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.ts +38 -0
  199. package/src/internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.ts +27 -0
  200. package/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts +73 -0
  201. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.ts +44 -0
  202. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.ts +38 -0
  203. package/src/internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.ts +27 -0
  204. package/src/internal/StreamMaker.ts +414 -0
  205. package/src/internal/errors.ts +220 -0
  206. package/src/internal/getPortByPortId/getPortByPortIdAndAccess.ts +116 -0
  207. package/src/internal/getPortByPortId/getPortByPortIdInContext.ts +26 -0
  208. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts +148 -0
  209. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts +14 -0
  210. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts +51 -0
  211. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.ts +127 -0
  212. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.ts +74 -0
  213. package/src/internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.ts +74 -0
  214. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.ts +63 -0
  215. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.ts +110 -0
  216. package/src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.ts +37 -0
  217. package/src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.ts +12 -0
  218. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts +183 -0
  219. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.ts +29 -0
  220. package/src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.ts +86 -0
  221. package/src/internal/parsing.ts +219 -0
  222. package/src/internal/util.ts +152 -0
@@ -0,0 +1,17 @@
1
+ import * as EMIDIAccess from '../../EMIDIAccess.ts';
2
+ import type * as EMIDIPort from '../../EMIDIPort.ts';
3
+ /**
4
+ *
5
+ *
6
+ */
7
+ export declare const getPortDeviceStateByPortId: (id: EMIDIPort.BothId) => import("effect/Effect").Effect<MIDIPortDeviceState, never, EMIDIAccess.EMIDIAccess>;
8
+ /**
9
+ *
10
+ *
11
+ */
12
+ export declare const getPortConnectionStateByPortId: (id: EMIDIPort.BothId) => import("effect/Effect").Effect<MIDIPortConnectionState, import("../../errors.ts").PortNotFoundError, EMIDIAccess.EMIDIAccess>;
13
+ export declare const getInputConnectionStateByPortId: () => never;
14
+ export declare const getInputDeviceStateByPortId: () => never;
15
+ export declare const getOutputConnectionStateByPortId: () => never;
16
+ export declare const getOutputDeviceStateByPortId: () => never;
17
+ //# sourceMappingURL=getMutablePortPropertyByPortIdInContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMutablePortPropertyByPortIdInContext.d.ts","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAGpD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,IAAI,SAAS,CAAC,MAAM,wFACO,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GAAI,IAAI,SAAS,CAAC,MAAM,kIACO,CAAA;AAG1E,eAAO,MAAM,+BAA+B,aAE3C,CAAA;AAGD,eAAO,MAAM,2BAA2B,aAEvC,CAAA;AAGD,eAAO,MAAM,gCAAgC,aAE5C,CAAA;AAGD,eAAO,MAAM,4BAA4B,aAExC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as EMIDIPort from '../EMIDIPort.ts';
2
+ import type { MIDIPortMutableProperty } from './matchMutablePortProperty/matchMutablePortPropertyByPort.ts';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare const getValueInRawPortFieldUnsafe: <const TMIDIPortMutableProperty extends MIDIPortMutableProperty>(property: TMIDIPortMutableProperty) => (port: EMIDIPort.EMIDIPort) => MIDIPort[TMIDIPortMutableProperty];
7
+ //# sourceMappingURL=getValueInRawPortFieldUnsafe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getValueInRawPortFieldUnsafe.d.ts","sourceRoot":"","sources":["../../../../src/internal/mutablePropertyTools/getValueInRawPortFieldUnsafe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAA;AAE3G;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACtC,KAAK,CAAC,wBAAwB,SAAS,uBAAuB,EAC7D,UAAU,wBAAwB,MAEnC,MAAM,SAAS,CAAC,SAAS,uCACkB,CAAA"}
@@ -0,0 +1,71 @@
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 EMIDIPort from '../../EMIDIPort.ts';
5
+ /**
6
+ *
7
+ */
8
+ export declare const matchPortConnectionStateByPort: DualMatchPortState<MIDIPortType, "connection">;
9
+ /**
10
+ *
11
+ */
12
+ export declare const matchPortDeviceStateByPort: DualMatchPortState<MIDIPortType, "state">;
13
+ /**
14
+ *
15
+ */
16
+ export declare const matchInputConnectionStateByPort: DualMatchPortState<"input", "connection">;
17
+ /**
18
+ *
19
+ */
20
+ export declare const matchInputDeviceStateByPort: DualMatchPortState<"input", "state">;
21
+ /**
22
+ *
23
+ */
24
+ export declare const matchOutputConnectionStateByPort: DualMatchPortState<"output", "connection">;
25
+ /**
26
+ *
27
+ */
28
+ export declare const matchOutputDeviceStateByPort: DualMatchPortState<"output", "state">;
29
+ export type MIDIPortMutableProperty = 'state' | 'connection';
30
+ export interface PortStateHandler {
31
+ (port: EMIDIPort.EMIDIPort): any;
32
+ }
33
+ export interface MatcherConfigPlain extends Record<string, PortStateHandler> {
34
+ }
35
+ export interface MatchResult<TActualConf extends MatcherConfigPlain, E, R> extends Effect.Effect<ReturnType<TActualConf[keyof TActualConf]>, E, R> {
36
+ }
37
+ export interface DualMatchPortState<THighLevelPortType extends MIDIPortType, TMIDIPortProperty extends MIDIPortMutableProperty> extends MatchStatePortLast<THighLevelPortType, TMIDIPortProperty>, MatchStatePortFirst<THighLevelPortType, TMIDIPortProperty> {
38
+ }
39
+ export interface MatchStatePortFirst<THighLevelPortType extends MIDIPortType, TMIDIPortProperty extends MIDIPortMutableProperty> {
40
+ /**
41
+ * Description placeholder
42
+ *
43
+ * @param polymorphicPort
44
+ * @param stateCaseToHandlerMap
45
+ * @returns
46
+ */
47
+ <TStateCaseToHandlerMap extends StateCaseToHandlerMap<TMIDIPortProperty, THighLevelPortType, TStateCaseToHandlerMap>, E = never, R = never>(polymorphicPort: EMIDIPort.PolymorphicPort<E, R, THighLevelPortType>, stateCaseToHandlerMap: TStateCaseToHandlerMap): MatchResult<TStateCaseToHandlerMap, E, R>;
48
+ }
49
+ export interface MatchStatePortLast<THighLevelPortType extends MIDIPortType, TMIDIPortProperty extends MIDIPortMutableProperty> {
50
+ /**
51
+ * Description placeholder
52
+ *
53
+ * @param stateCaseToHandlerMap
54
+ * @returns
55
+ */
56
+ <TStateCaseToHandlerMap extends StateCaseToHandlerMap<TMIDIPortProperty, THighLevelPortType, TStateCaseToHandlerMap>>(stateCaseToHandlerMap: TStateCaseToHandlerMap): {
57
+ /**
58
+ * Description placeholder
59
+ *
60
+ * @param polymorphicPort
61
+ * @returns
62
+ */
63
+ <E = never, R = never>(polymorphicPort: EMIDIPort.PolymorphicPort<E, R, THighLevelPortType>): MatchResult<TStateCaseToHandlerMap, E, R>;
64
+ };
65
+ }
66
+ export type StateCaseToHandlerMap<TMIDIPortProperty extends MIDIPortMutableProperty, TMIDIPortType extends MIDIPortType, TConfigSelf> = {
67
+ readonly [StateCase in MIDIPort[TMIDIPortProperty]]: (port: EMIDIPort.EMIDIPort<TMIDIPortType>) => any;
68
+ } & {
69
+ readonly [RedundantValueCaseHandling in Exclude<keyof TConfigSelf, MIDIPort[TMIDIPortProperty]>]: never;
70
+ };
71
+ //# sourceMappingURL=matchMutablePortPropertyByPort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMutablePortPropertyByPort.d.ts","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAuC/C;;GAEG;AACH,eAAO,MAAM,8BAA8B,gDAG1C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,2CAGtC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,2CAG3C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,sCAGvC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gCAAgC,4CAG5C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,uCAGxC,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,YAAY,CAAA;AAE5D,MAAM,WAAW,gBAAgB;IAE/B,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,GAAG,GAAG,CAAA;CACjC;AACD,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;CAAG;AAE/E,MAAM,WAAW,WAAW,CAAC,WAAW,SAAS,kBAAkB,EAAE,CAAC,EAAE,CAAC,CACvE,SAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CAAG;AAE5E,MAAM,WAAW,kBAAkB,CACjC,kBAAkB,SAAS,YAAY,EACvC,iBAAiB,SAAS,uBAAuB,CACjD,SAAQ,kBAAkB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAC/D,mBAAmB,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;CAAG;AAEjE,MAAM,WAAW,mBAAmB,CAClC,kBAAkB,SAAS,YAAY,EACvC,iBAAiB,SAAS,uBAAuB;IAEjD;;;;;;OAMG;IACH,CACE,sBAAsB,SAAS,qBAAqB,CAClD,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,CACvB,EACD,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EAET,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,EACpE,qBAAqB,EAAE,sBAAsB,GAC5C,WAAW,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAC7C;AAED,MAAM,WAAW,kBAAkB,CACjC,kBAAkB,SAAS,YAAY,EACvC,iBAAiB,SAAS,uBAAuB;IAEjD;;;;;OAKG;IACH,CACE,sBAAsB,SAAS,qBAAqB,CAClD,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,CACvB,EAED,qBAAqB,EAAE,sBAAsB,GAC5C;QACD;;;;;WAKG;QACH,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EACnB,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,GACnE,WAAW,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KAC7C,CAAA;CACF;AAED,MAAM,MAAM,qBAAqB,CAC/B,iBAAiB,SAAS,uBAAuB,EACjD,aAAa,SAAS,YAAY,EAClC,WAAW,IACT;IACF,QAAQ,EAAE,SAAS,IAAI,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CACnD,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,KAErC,GAAG;CACT,GAAG;IACF,QAAQ,EAAE,0BAA0B,IAAI,OAAO,CAC7C,MAAM,WAAW,EACjB,QAAQ,CAAC,iBAAiB,CAAC,CAC5B,GAAG,KAAK;CACV,CAAA"}
@@ -0,0 +1,7 @@
1
+ export declare const matchInputConnectionStateByPortIdAndAccess: () => never;
2
+ export declare const matchInputDeviceStateByPortIdAndAccess: () => never;
3
+ export declare const matchOutputConnectionStateByPortIdAndAccess: () => never;
4
+ export declare const matchOutputDeviceStateByPortIdAndAccess: () => never;
5
+ export declare const matchPortConnectionStateByPortIdAndAccess: () => never;
6
+ export declare const matchPortDeviceStateByPortIdAndAccess: () => never;
7
+ //# sourceMappingURL=matchMutablePortPropertyByPortIdAndAccess.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMutablePortPropertyByPortIdAndAccess.d.ts","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,0CAA0C,aAEtD,CAAA;AAGD,eAAO,MAAM,sCAAsC,aAElD,CAAA;AAGD,eAAO,MAAM,2CAA2C,aAEvD,CAAA;AAGD,eAAO,MAAM,uCAAuC,aAEnD,CAAA;AAGD,eAAO,MAAM,yCAAyC,aAErD,CAAA;AAGD,eAAO,MAAM,qCAAqC,aAEjD,CAAA"}
@@ -0,0 +1,28 @@
1
+ import type * as EMIDIAccess from '../../EMIDIAccess.ts';
2
+ import type * as Errors from '../../errors.ts';
3
+ import * as Match from './matchMutablePortPropertyByPort.ts';
4
+ /**
5
+ *
6
+ */
7
+ export declare const matchPortConnectionStateByPortIdInContext: <TStateCaseToHandlerMap extends Match.StateCaseToHandlerMap<"connection", MIDIPortType, TStateCaseToHandlerMap>>(id: (string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"input">) | (string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"output">), stateCaseToHandlerMap: TStateCaseToHandlerMap) => Match.MatchResult<TStateCaseToHandlerMap, Errors.PortNotFoundError, EMIDIAccess.EMIDIAccess>;
8
+ /**
9
+ *
10
+ */
11
+ export declare const matchInputConnectionStateByPortIdInContext: <TStateCaseToHandlerMap extends Match.StateCaseToHandlerMap<"connection", "input", TStateCaseToHandlerMap>>(id: string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"input">, stateCaseToHandlerMap: TStateCaseToHandlerMap) => Match.MatchResult<TStateCaseToHandlerMap, Errors.PortNotFoundError, EMIDIAccess.EMIDIAccess>;
12
+ /**
13
+ *
14
+ */
15
+ export declare const matchOutputConnectionStateByPortIdInContext: <TStateCaseToHandlerMap extends Match.StateCaseToHandlerMap<"connection", "output", TStateCaseToHandlerMap>>(id: string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"output">, stateCaseToHandlerMap: TStateCaseToHandlerMap) => Match.MatchResult<TStateCaseToHandlerMap, Errors.PortNotFoundError, EMIDIAccess.EMIDIAccess>;
16
+ /**
17
+ *
18
+ */
19
+ export declare const matchPortDeviceStateByPortIdInContext: <TStateCaseToHandlerMap extends Match.StateCaseToHandlerMap<"state", MIDIPortType, TStateCaseToHandlerMap>>(id: (string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"input">) | (string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"output">), stateCaseToHandlerMap: TStateCaseToHandlerMap) => Match.MatchResult<TStateCaseToHandlerMap, Errors.PortNotFoundError, EMIDIAccess.EMIDIAccess>;
20
+ /**
21
+ *
22
+ */
23
+ export declare const matchInputDeviceStateByPortIdInContext: <TStateCaseToHandlerMap extends Match.StateCaseToHandlerMap<"state", "input", TStateCaseToHandlerMap>>(id: string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"input">, stateCaseToHandlerMap: TStateCaseToHandlerMap) => Match.MatchResult<TStateCaseToHandlerMap, Errors.PortNotFoundError, EMIDIAccess.EMIDIAccess>;
24
+ /**
25
+ *
26
+ */
27
+ export declare const matchOutputDeviceStateByPortIdInContext: <TStateCaseToHandlerMap extends Match.StateCaseToHandlerMap<"state", "output", TStateCaseToHandlerMap>>(id: string & import("effect/Brand").Brand<"MIDIPortId"> & import("effect/Brand").Brand<"output">, stateCaseToHandlerMap: TStateCaseToHandlerMap) => Match.MatchResult<TStateCaseToHandlerMap, Errors.PortNotFoundError, EMIDIAccess.EMIDIAccess>;
28
+ //# sourceMappingURL=matchMutablePortPropertyByPortIdInContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matchMutablePortPropertyByPortIdInContext.d.ts","sourceRoot":"","sources":["../../../../../src/internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,WAAW,MAAM,sBAAsB,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,KAAK,MAAM,qCAAqC,CAAA;AA+B5D;;GAEG;AACH,eAAO,MAAM,yCAAyC,GAdlD,sBAAsB,4aAkBvB,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,0CAA0C,GAvBnD,sBAAsB,oUA2BvB,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,2CAA2C,GAhCpD,sBAAsB,sUAoCvB,CAAA;AAEH;;GAEG;AACH,eAAO,MAAM,qCAAqC,GAzC9C,sBAAsB,uaA4CzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sCAAsC,GAjD/C,sBAAsB,+TAoDzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uCAAuC,GAzDhD,sBAAsB,iUA4DzB,CAAA"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @file This module is not for general use, these are just helpers to test the
3
+ * MIDI API with the only MIDI device I have: nanoPAD v1
4
+ */
5
+ import * as Stream from 'effect/Stream';
6
+ /**
7
+ *
8
+ * @param self
9
+ * @returns
10
+ */
11
+ export declare const withParsedDataField: <A extends {
12
+ readonly midiMessage: Uint8Array<ArrayBuffer>;
13
+ }, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<Omit<A, "midiMessage"> & {
14
+ readonly midiMessage: ParsedMIDIMessages;
15
+ }, E, R>;
16
+ /**
17
+ *
18
+ * @param self
19
+ * @returns
20
+ */
21
+ export declare const withTouchpadPositionUpdates: <A extends {
22
+ midiMessage: ControlChange | TouchpadRelease | PitchBendChange | {
23
+ _tag: string & {};
24
+ };
25
+ }, E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<A | (Omit<A, "midiMessage"> & {
26
+ readonly midiMessage: TouchpadPositionUpdate;
27
+ }), E, R>;
28
+ export type ParsedMIDIMessages = NoteRelease | NotePress | UnknownReply | ControlChange | TouchpadRelease | PitchBendChange;
29
+ export interface NoteRelease extends Readonly<{
30
+ _tag: 'Note Release';
31
+ channel: number;
32
+ note: number;
33
+ }> {
34
+ }
35
+ export interface NotePress extends Readonly<{
36
+ _tag: 'Note Press';
37
+ channel: number;
38
+ note: number;
39
+ velocity: number;
40
+ }> {
41
+ }
42
+ export interface UnknownReply extends Readonly<{
43
+ _tag: 'Unknown Reply';
44
+ unexpectedData: string;
45
+ stack: string;
46
+ }> {
47
+ }
48
+ export interface ControlChange extends Readonly<{
49
+ _tag: 'Control Change';
50
+ channel: number;
51
+ control: number;
52
+ value: number;
53
+ }> {
54
+ }
55
+ export interface TouchpadRelease extends Readonly<{
56
+ _tag: 'Touchpad Release';
57
+ channel: number;
58
+ }> {
59
+ }
60
+ export interface PitchBendChange extends Readonly<{
61
+ _tag: 'Pitch Bend Change';
62
+ channel: number;
63
+ value: number;
64
+ }> {
65
+ }
66
+ export interface TouchpadPositionUpdate extends Readonly<{
67
+ _tag: 'Touchpad Position Update';
68
+ x: number;
69
+ y: number;
70
+ }> {
71
+ }
72
+ //# sourceMappingURL=parsing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../../src/internal/parsing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS;IAAE,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAAE,EAC3D,CAAC,EACD,CAAC,EAED,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAKrB,MAAM,CAAC,MAAM,CAClB,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAA;CAAE,EACrE,CAAC,EACD,CAAC,CACF,CAAA;AAEH;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,CAAC,SAAS;IACR,WAAW,EACP,aAAa,GACb,eAAe,GACf,eAAe,GACf;QAAE,IAAI,EAAE,MAAM,GAAG,EAAE,CAAA;KAAE,CAAA;CAC1B,EACD,CAAC,EACD,CAAC,EAED,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC3B,MAAM,CAAC,MAAM,CACZ,CAAC,GACD,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAA;CAAE,CAAC,EAC7E,CAAC,EACD,CAAC,CAuCuB,CAAA;AAE1B,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,SAAS,GACT,YAAY,GACZ,aAAa,GACb,eAAe,GACf,eAAe,CAAA;AA8EnB,MAAM,WAAW,WACf,SAAQ,QAAQ,CAAC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;CAAG;AAE9E,MAAM,WAAW,SACf,SAAQ,QAAQ,CAAC;IACf,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAC;CAAG;AAEP,MAAM,WAAW,YACf,SAAQ,QAAQ,CAAC;IACf,IAAI,EAAE,eAAe,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;CACd,CAAC;CAAG;AAEP,MAAM,WAAW,aACf,SAAQ,QAAQ,CAAC;IACf,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAC;CAAG;AAEP,MAAM,WAAW,eACf,SAAQ,QAAQ,CAAC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;CAAG;AAEpE,MAAM,WAAW,eACf,SAAQ,QAAQ,CAAC;IACf,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAC;CAAG;AAEP,MAAM,WAAW,sBACf,SAAQ,QAAQ,CAAC;IACf,IAAI,EAAE,0BAA0B,CAAA;IAChC,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV,CAAC;CAAG"}
@@ -0,0 +1,33 @@
1
+ import type * as Brand from 'effect/Brand';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Stream from 'effect/Stream';
4
+ import type * as Errors from './errors.ts';
5
+ export declare const midiPortStaticFields: readonly ["id", "name", "manufacturer", "version", "type"];
6
+ export type MIDIPortStaticFields = (typeof midiPortStaticFields)[number];
7
+ export declare const getStaticMIDIPortInfo: (port: Pick<MIDIPort, MIDIPortStaticFields>) => {
8
+ readonly name: string | null;
9
+ readonly id: string;
10
+ readonly manufacturer: string | null;
11
+ readonly version: string | null;
12
+ readonly type: MIDIPortType;
13
+ };
14
+ /**
15
+ * Puts Self into success channel for easier chaining of operations on the same
16
+ * entity
17
+ */
18
+ export interface SentMessageEffectFrom<Self, E = never, R = never> extends Effect.Effect<Self, E | Errors.CantSendSysexMessagesError | Errors.MalformedMidiMessageError | Errors.DisconnectedPortError, R> {
19
+ }
20
+ export type PolymorphicEffect<A, E, R> = A | Effect.Effect<A, E, R>;
21
+ export type FallbackOnUnknownOrAny<TCandidate, Fallback> = unknown extends TCandidate ? TCandidate extends unknown ? Fallback : TCandidate : TCandidate;
22
+ export declare const polymorphicCheckInDual: (is: (arg: unknown) => boolean) => (arg: IArguments) => boolean;
23
+ export declare function fromPolymorphic<A, E = never, R = never>(polymorphicValue: PolymorphicEffect<A, E, R>, is: (arg: unknown) => arg is NoInfer<A>): Effect.Effect<A, E, R>;
24
+ export type IsEqualFlag<TPropertyName extends string, TExpectedValue extends string> = boolean & Brand.Brand<TPropertyName> & Brand.Brand<`expectedValue: ${TExpectedValue}`>;
25
+ export declare const isCertainDeviceState: <const TExpectedValue extends MIDIPortDeviceState>(expected: TExpectedValue) => <E, R>(self: Effect.Effect<MIDIPortDeviceState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainDeviceState", TExpectedValue>, E, R>;
26
+ export declare const isCertainConnectionState: <const TExpectedValue extends MIDIPortConnectionState>(expected: TExpectedValue) => <E, R>(self: Effect.Effect<MIDIPortConnectionState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainConnectionState", TExpectedValue>, E, R>;
27
+ export declare const isDeviceConnected: <E, R>(self: Effect.Effect<MIDIPortDeviceState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainDeviceState", "connected">, E, R>;
28
+ export declare const isDeviceDisconnected: <E, R>(self: Effect.Effect<MIDIPortDeviceState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainDeviceState", "disconnected">, E, R>;
29
+ export declare const isConnectionOpen: <E, R>(self: Effect.Effect<MIDIPortConnectionState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainConnectionState", "open">, E, R>;
30
+ export declare const isConnectionPending: <E, R>(self: Effect.Effect<MIDIPortConnectionState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainConnectionState", "pending">, E, R>;
31
+ export declare const isConnectionClosed: <E, R>(self: Effect.Effect<MIDIPortConnectionState, E, R>) => Effect.Effect<IsEqualFlag<"isCertainConnectionState", "closed">, E, R>;
32
+ export declare const mapToGlidingStringLogOfLimitedEntriesCount: <A>(windowSize: number, show: "latestFirst" | "oldestFirst", objectify: (current: NoInfer<A>) => object) => <E, R>(self: Stream.Stream<A, E, R>) => Stream.Stream<string, E, R>;
33
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/internal/util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,oBAAoB,4DAMvB,CAAA;AAEV,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAExE,eAAO,MAAM,qBAAqB,GAChC,MAAM,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC;;;;;;CACG,CAAA;AAE/C;;;GAGG;AACH,MAAM,WAAW,qBAAqB,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAC/D,SAAQ,MAAM,CAAC,MAAM,CACnB,IAAI,EACF,CAAC,GACD,MAAM,CAAC,0BAA0B,GACjC,MAAM,CAAC,yBAAyB,GAChC,MAAM,CAAC,qBAAqB,EAC9B,CAAC,CACF;CAAG;AAEN,MAAM,MAAM,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEnE,MAAM,MAAM,sBAAsB,CAAC,UAAU,EAAE,QAAQ,IACrD,OAAO,SAAS,UAAU,GACtB,UAAU,SAAS,OAAO,GACxB,QAAQ,GACR,UAAU,GACZ,UAAU,CAAA;AAEhB,eAAO,MAAM,sBAAsB,GAChC,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,MAAM,KAAK,UAAU,YACZ,CAAA;AAEzC,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EACrD,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5C,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,0BAUxC;AAeD,MAAM,MAAM,WAAW,CACrB,aAAa,SAAS,MAAM,EAC5B,cAAc,SAAS,MAAM,IAC3B,OAAO,GACT,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAC1B,KAAK,CAAC,KAAK,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAA;AAEjD,eAAO,MAAM,oBAAoB,SAfxB,cAAc,4DACpB,CAAC,EAAE,CAAC,EAAE,8CAAqC,6EAiB3C,CAAA;AAEH,eAAO,MAAM,wBAAwB,SApB5B,cAAc,gEACpB,CAAC,EAAE,CAAC,EAAE,kDAAqC,iFAsB3C,CAAA;AAEH,eAAO,MAAM,iBAAiB,GAxB3B,CAAC,EAAE,CAAC,0HAwB2D,CAAA;AAClE,eAAO,MAAM,oBAAoB,GAzB9B,CAAC,EAAE,CAAC,6HAyBiE,CAAA;AAExE,eAAO,MAAM,gBAAgB,GA3B1B,CAAC,EAAE,CAAC,6HA2ByD,CAAA;AAChE,eAAO,MAAM,mBAAmB,GA5B7B,CAAC,EAAE,CAAC,gIA4B+D,CAAA;AACtE,eAAO,MAAM,kBAAkB,GA7B5B,CAAC,EAAE,CAAC,+HA6B6D,CAAA;AAEpE,eAAO,MAAM,0CAA0C,GACpD,CAAC,EACA,YAAY,MAAM,EAClB,MAAM,aAAa,GAAG,aAAa,EACnC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,MAE3C,CAAC,EAAE,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,gCA4ClC,CAAA"}
package/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './src/index.ts'
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "effect-web-midi",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "Effect WEB MIDI",
6
+ "license": "MIT",
7
+ "scripts": {
8
+ "build": "tspc",
9
+ "dev": "tspc --watch"
10
+ },
11
+ "files": [
12
+ ".github/FUNDING.yml",
13
+ "dist-types",
14
+ "dist",
15
+ "index.ts",
16
+ "package.json",
17
+ "src",
18
+ "!**/*.spec.*",
19
+ "!**/*.tsbuildinfo",
20
+ "!**/scratchpad.*"
21
+ ],
22
+ "dependencies": {
23
+ "effect": "catalog:"
24
+ },
25
+ "homepage": "https://github.com/nikelborm/effect-garden/tree/main/packages/effect-web-midi",
26
+ "devDependencies": {
27
+ "@effect/language-service": "catalog:",
28
+ "@nikelborm/tsconfig": "workspace:*",
29
+ "ts-namespace-import": "catalog:",
30
+ "ts-patch": "catalog:",
31
+ "typescript": "catalog:"
32
+ },
33
+ "publishConfig": {
34
+ "access": "public",
35
+ "provenance": false
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+ssh://git@github.com/nikelborm/effect-garden.git"
40
+ },
41
+ "bugs": {
42
+ "url": "https://github.com/nikelborm/effect-garden/issues",
43
+ "email": "evadev@duck.com"
44
+ },
45
+ "main": "./dist/index.js",
46
+ "module": "./dist/index.js",
47
+ "types": "./dist-types/index.d.ts",
48
+ "exports": {
49
+ ".": {
50
+ "types": "./dist-types/index.d.ts",
51
+ "default": "./dist/index.js"
52
+ },
53
+ "./*.js": {
54
+ "types": "./dist-types/src/*.d.ts",
55
+ "default": "./dist/src/*.js"
56
+ },
57
+ "./*.ts": "./src/*.ts",
58
+ "./*": {
59
+ "types": "./dist-types/src/*.d.ts",
60
+ "default": "./dist/src/*.js"
61
+ },
62
+ "./package.json": "./package.json"
63
+ },
64
+ "author": {
65
+ "name": "nikelborm",
66
+ "email": "evadev@duck.com",
67
+ "url": "https://github.com/nikelborm"
68
+ },
69
+ "contributors": [
70
+ {
71
+ "name": "nikelborm",
72
+ "email": "evadev@duck.com",
73
+ "url": "https://github.com/nikelborm"
74
+ }
75
+ ],
76
+ "maintainers": [
77
+ {
78
+ "name": "nikelborm",
79
+ "email": "evadev@duck.com",
80
+ "url": "https://github.com/nikelborm"
81
+ }
82
+ ]
83
+ }
@@ -0,0 +1,271 @@
1
+ export {
2
+ type AcquiredThing,
3
+ AllPortsRecord,
4
+ assert,
5
+ // assumeImpl,
6
+ clearPortById,
7
+ type DualSendMIDIMessageFromAccess,
8
+ EMIDIAccess,
9
+ type EMIDIAccessInstance,
10
+ type GetThingByPortId,
11
+ type GetThingByPortIdAccessFirst,
12
+ type GetThingByPortIdAccessLast,
13
+ type GetThingByPortIdAccessLastSecondHalf,
14
+ getAllPortsRecord,
15
+ getInputsRecord,
16
+ getOutputsRecord,
17
+ InputsRecord,
18
+ is,
19
+ layer,
20
+ layerMostRestricted,
21
+ layerSoftwareSynthSupported,
22
+ layerSystemExclusiveAndSoftwareSynthSupported,
23
+ layerSystemExclusiveSupported,
24
+ makeAllPortsStateChangesStream,
25
+ makeAllPortsStateChangesStreamInContext,
26
+ makeMessagesStreamByInputId,
27
+ makeMessagesStreamByInputIdAndAccess,
28
+ OutputsRecord,
29
+ type PolymorphicAccessInstance,
30
+ type PolymorphicAccessInstanceClean,
31
+ type RequestMIDIAccessOptions,
32
+ request,
33
+ // resolve,
34
+ type SendFromAccessArgs,
35
+ type SendMIDIMessageAccessFirst,
36
+ type SendMIDIMessageAccessLast,
37
+ type SentMessageEffectFromAccess,
38
+ send,
39
+ sendInContext,
40
+ sendToPortById,
41
+ type TargetPortSelector,
42
+ type TypeId,
43
+ } from './internal/EMIDIAccess.ts'
44
+ // export {
45
+ // assert,
46
+ // type EMIDIInput,
47
+ // is,
48
+ // make,
49
+ // makeMessagesStreamByPort,
50
+ // type PolymorphicInput,
51
+ // type PolymorphicInputClean,
52
+ // } from './internal/EMIDIInput.ts'
53
+ // export {
54
+ // assert,
55
+ // clear,
56
+ // type DualSendMIDIMessageFromPort,
57
+ // type EMIDIOutput,
58
+ // is,
59
+ // make,
60
+ // type PolymorphicOutput,
61
+ // type PolymorphicOutputClean,
62
+ // type SendFromPortArgs,
63
+ // type SendMIDIMessagePortFirst,
64
+ // type SendMIDIMessagePortLast,
65
+ // type SentMessageEffectFromPort,
66
+ // send,
67
+ // } from './internal/EMIDIOutput.ts'
68
+ // export {
69
+ // assert,
70
+ // assumeImpl,
71
+ // type EMIDIPort,
72
+ // BothId,
73
+ // type Id,
74
+ // type EMIDIPortImpl,
75
+ // type ExtractTypeFromPort,
76
+ // is,
77
+ // isImplOfSpecificType,
78
+ // makeImpl,
79
+ // type PolymorphicPort,
80
+ // type PolymorphicPortClean,
81
+ // type TypeId,
82
+ // } from './internal/EMIDIPort.ts'
83
+ export {
84
+ type GetPortById,
85
+ getInputByPortIdAndAccess as getInputByIdInPipe,
86
+ getOutputByPortIdAndAccess as getOutputByIdInPipe,
87
+ getPortByPortIdAndAccess as getPortByIdInPipe,
88
+ } from './internal/getPortByPortId/getPortByPortIdAndAccess.ts'
89
+ export {
90
+ getInputByPortIdInContext as getInputById,
91
+ getOutputByPortIdInContext as getOutputById,
92
+ getPortByPortIdInContext as getPortById,
93
+ } from './internal/getPortByPortId/getPortByPortIdInContext.ts'
94
+ export {
95
+ acquireReleaseInputConnectionByPort,
96
+ acquireReleaseOutputConnectionByPort,
97
+ acquireReleasePortConnectionByPort,
98
+ } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPort.ts'
99
+ export {
100
+ acquireReleaseInputConnectionByPortIdAndAccess as acquireReleaseInputConnectionByIdInPipe,
101
+ acquireReleaseOutputConnectionByPortIdAndAccess as acquireReleaseOutputConnectionByIdInPipe,
102
+ acquireReleasePortConnectionByPortIdAndAccess as acquireReleasePortConnectionByIdInPipe,
103
+ } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts'
104
+ export {
105
+ acquireReleaseInputConnectionByPortIdInContext as acquireReleaseInputConnectionById,
106
+ acquireReleaseOutputConnectionByPortIdInContext as acquireReleaseOutputConnectionById,
107
+ acquireReleasePortConnectionByPortIdInContext as acquireReleasePortConnectionById,
108
+ } from './internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdInContext.ts'
109
+ export { actOnPort } from './internal/MIDIPortMethodCalls/actOnPort.ts'
110
+ export {
111
+ closeInputConnectionByPort,
112
+ closeOutputConnectionByPort,
113
+ closePortConnectionByPort,
114
+ makePortConnectionCloser,
115
+ } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPort.ts'
116
+ export {
117
+ closeInputConnectionByPortIdAndAccess as closeInputConnectionByIdInPipe,
118
+ closeOutputConnectionByPortIdAndAccess as closeOutputConnectionByIdInPipe,
119
+ closePortConnectionByPortIdAndAccess as closePortConnectionByIdInPipe,
120
+ } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdAndAccess.ts'
121
+ export {
122
+ closeInputConnectionByPortIdInContext as closeInputConnectionById,
123
+ closeOutputConnectionByPortIdInContext as closeOutputConnectionById,
124
+ closePortConnectionByPortIdInContext as closePortConnectionById,
125
+ } from './internal/MIDIPortMethodCalls/closePortConnection/closePortConnectionByPortIdInContext.ts'
126
+ export {
127
+ makeMIDIPortMethodCallerFactory,
128
+ type TouchPort,
129
+ } from './internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts'
130
+ export {
131
+ makePortConnectionOpener,
132
+ openInputConnectionByPort,
133
+ openOutputConnectionByPort,
134
+ openPortConnectionByPort,
135
+ } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPort.ts'
136
+ export {
137
+ openInputConnectionByPortIdAndAccess as openInputConnectionByIdInPipe,
138
+ openOutputConnectionByPortIdAndAccess as openOutputConnectionByIdInPipe,
139
+ openPortConnectionByPortIdAndAccess as openPortConnectionByIdInPipe,
140
+ } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdAndAccess.ts'
141
+ export {
142
+ openInputConnectionByPortIdInContext as openInputConnectionById,
143
+ openOutputConnectionByPortIdInContext as openOutputConnectionById,
144
+ openPortConnectionByPortIdInContext as openPortConnectionById,
145
+ } from './internal/MIDIPortMethodCalls/openPortConnection/openPortConnectionByPortIdInContext.ts'
146
+ export {
147
+ type DualMakeStateChangesStream,
148
+ type MakeStateChangesStreamPortFirst,
149
+ type MakeStateChangesStreamPortLast,
150
+ makeInputStateChangesStreamByPort,
151
+ makeOutputStateChangesStreamByPort,
152
+ makePortStateChangesStreamByPort,
153
+ type StateChangesStream,
154
+ } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts'
155
+ export {
156
+ makeInputStateChangesStreamByPortIdAndAccess as makeInputStateChangesStreamByIdInPipe,
157
+ makeOutputStateChangesStreamByPortIdAndAccess as makeOutputStateChangesStreamByIdInPipe,
158
+ makePortStateChangesStreamByPortIdAndAccess as makePortStateChangesStreamByIdInPipe,
159
+ } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts'
160
+ export {
161
+ makeInputStateChangesStreamByPortIdInContext as makeInputStateChangesStreamById,
162
+ makeOutputStateChangesStreamByPortIdInContext as makeOutputStateChangesStreamById,
163
+ makePortStateChangesStreamByPortIdInContext as makePortStateChangesStreamById,
164
+ } from './internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts'
165
+ export {
166
+ isInputConnectionClosedByPort,
167
+ isInputConnectionOpenByPort,
168
+ isInputConnectionPendingByPort,
169
+ isInputDeviceConnectedByPort,
170
+ isInputDeviceDisconnectedByPort,
171
+ isOutputConnectionClosedByPort,
172
+ isOutputConnectionOpenByPort,
173
+ isOutputConnectionPendingByPort,
174
+ isOutputDeviceConnectedByPort,
175
+ isOutputDeviceDisconnectedByPort,
176
+ isPortConnectionClosedByPort,
177
+ isPortConnectionOpenByPort,
178
+ isPortConnectionPendingByPort,
179
+ isPortDeviceConnectedByPort,
180
+ isPortDeviceDisconnectedByPort,
181
+ } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPort.ts'
182
+ export {
183
+ isInputConnectionClosedByPortIdAndAccess as isInputConnectionClosedByIdInPipe,
184
+ isInputConnectionOpenByPortIdAndAccess as isInputConnectionOpenByIdInPipe,
185
+ isInputConnectionPendingByPortIdAndAccess as isInputConnectionPendingByIdInPipe,
186
+ isInputDeviceConnectedByPortIdAndAccess as isInputDeviceConnectedByIdInPipe,
187
+ isInputDeviceDisconnectedByPortIdAndAccess as isInputDeviceDisconnectedByIdInPipe,
188
+ isOutputConnectionClosedByPortIdAndAccess as isOutputConnectionClosedByIdInPipe,
189
+ isOutputConnectionOpenByPortIdAndAccess as isOutputConnectionOpenByIdInPipe,
190
+ isOutputConnectionPendingByPortIdAndAccess as isOutputConnectionPendingByIdInPipe,
191
+ isOutputDeviceConnectedByPortIdAndAccess as isOutputDeviceConnectedByIdInPipe,
192
+ isOutputDeviceDisconnectedByPortIdAndAccess as isOutputDeviceDisconnectedByIdInPipe,
193
+ isPortConnectionClosedByPortIdAndAccess as isPortConnectionClosedByIdInPipe,
194
+ isPortConnectionOpenByPortIdAndAccess as isPortConnectionOpenByIdInPipe,
195
+ isPortConnectionPendingByPortIdAndAccess as isPortConnectionPendingByIdInPipe,
196
+ isPortDeviceConnectedByPortIdAndAccess as isPortDeviceConnectedByIdInPipe,
197
+ isPortDeviceDisconnectedByPortIdAndAccess as isPortDeviceDisconnectedByIdInPipe,
198
+ } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdAndAccess.ts'
199
+ export {
200
+ isInputConnectionClosedByPortIdInContext as isInputConnectionClosedById,
201
+ isInputConnectionOpenByPortIdInContext as isInputConnectionOpenById,
202
+ isInputConnectionPendingByPortIdInContext as isInputConnectionPendingById,
203
+ isInputDeviceConnectedByPortIdInContext as isInputDeviceConnectedById,
204
+ isInputDeviceDisconnectedByPortIdInContext as isInputDeviceDisconnectedById,
205
+ isOutputConnectionClosedByPortIdInContext as isOutputConnectionClosedById,
206
+ isOutputConnectionOpenByPortIdInContext as isOutputConnectionOpenById,
207
+ isOutputConnectionPendingByPortIdInContext as isOutputConnectionPendingById,
208
+ isOutputDeviceConnectedByPortIdInContext as isOutputDeviceConnectedById,
209
+ isOutputDeviceDisconnectedByPortIdInContext as isOutputDeviceDisconnectedById,
210
+ isPortConnectionClosedByPortIdInContext as isPortConnectionClosedById,
211
+ isPortConnectionOpenByPortIdInContext as isPortConnectionOpenById,
212
+ isPortConnectionPendingByPortIdInContext as isPortConnectionPendingById,
213
+ isPortDeviceConnectedByPortIdInContext as isPortDeviceConnectedById,
214
+ isPortDeviceDisconnectedByPortIdInContext as isPortDeviceDisconnectedById,
215
+ } from './internal/mutablePropertyTools/doesMutablePortPropertyHaveSpecificValue/doesMutablePortPropertyHaveSpecificValueByPortIdInContext.ts'
216
+ export {
217
+ getInputConnectionStateByPort,
218
+ getInputDeviceStateByPort,
219
+ getOutputConnectionStateByPort,
220
+ getOutputDeviceStateByPort,
221
+ getPortConnectionStateByPort,
222
+ getPortDeviceStateByPort,
223
+ } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPort.ts'
224
+ export {
225
+ getInputConnectionStateByPortIdAndAccess as getInputConnectionStateByIdInPipe,
226
+ getInputDeviceStateByPortIdAndAccess as getInputDeviceStateByIdInPipe,
227
+ getOutputConnectionStateByPortIdAndAccess as getOutputConnectionStateByIdInPipe,
228
+ getOutputDeviceStateByPortIdAndAccess as getOutputDeviceStateByIdInPipe,
229
+ getPortConnectionStateByPortIdAndAccess as getPortConnectionStateByIdInPipe,
230
+ getPortDeviceStateByPortIdAndAccess as getPortDeviceStateByIdInPipe,
231
+ } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdAndAccess.ts'
232
+ export {
233
+ getInputConnectionStateByPortId as getInputConnectionStateById,
234
+ getInputDeviceStateByPortId as getInputDeviceStateById,
235
+ getOutputConnectionStateByPortId as getOutputConnectionStateById,
236
+ getOutputDeviceStateByPortId as getOutputDeviceStateById,
237
+ getPortConnectionStateByPortId as getPortConnectionStateById,
238
+ getPortDeviceStateByPortId as getPortDeviceStateById,
239
+ } from './internal/mutablePropertyTools/getMutablePortProperty/getMutablePortPropertyByPortIdInContext.ts'
240
+ export {
241
+ type DualMatchPortState,
242
+ type MatcherConfigPlain,
243
+ type MatchResult,
244
+ type MatchStatePortFirst,
245
+ type MatchStatePortLast,
246
+ type MIDIPortMutableProperty,
247
+ matchInputConnectionStateByPort,
248
+ matchInputDeviceStateByPort,
249
+ matchOutputConnectionStateByPort,
250
+ matchOutputDeviceStateByPort,
251
+ matchPortConnectionStateByPort,
252
+ matchPortDeviceStateByPort,
253
+ type PortStateHandler,
254
+ type StateCaseToHandlerMap,
255
+ } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPort.ts'
256
+ export {
257
+ matchInputConnectionStateByPortIdAndAccess as matchInputConnectionStateByIdInPipe,
258
+ matchInputDeviceStateByPortIdAndAccess as matchInputDeviceStateByIdInPipe,
259
+ matchOutputConnectionStateByPortIdAndAccess as matchOutputConnectionStateByIdInPipe,
260
+ matchOutputDeviceStateByPortIdAndAccess as matchOutputDeviceStateByIdInPipe,
261
+ matchPortConnectionStateByPortIdAndAccess as matchPortConnectionStateBydInPipe,
262
+ matchPortDeviceStateByPortIdAndAccess as matchPortDeviceStateByIdInPipe,
263
+ } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdAndAccess.ts'
264
+ export {
265
+ matchInputConnectionStateByPortIdInContext as matchInputConnectionStateById,
266
+ matchInputDeviceStateByPortIdInContext as matchInputDeviceStateById,
267
+ matchOutputConnectionStateByPortIdInContext as matchOutputConnectionStateById,
268
+ matchOutputDeviceStateByPortIdInContext as matchOutputDeviceStateById,
269
+ matchPortConnectionStateByPortIdInContext as matchPortConnectionStateById,
270
+ matchPortDeviceStateByPortIdInContext as matchPortDeviceStateByPortId,
271
+ } from './internal/mutablePropertyTools/matchMutablePortProperty/matchMutablePortPropertyByPortIdInContext.ts'