effect-web-midi 0.1.14 → 0.1.15

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 (28) hide show
  1. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js +5 -5
  2. package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js.map +1 -1
  3. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js +2 -2
  4. package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js.map +1 -1
  5. package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js.map +1 -1
  6. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js +1 -1
  7. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js.map +1 -1
  8. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js +20 -12
  9. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js.map +1 -1
  10. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js +8 -5
  11. package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js.map +1 -1
  12. package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts.map +1 -1
  13. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts +1 -1
  14. package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts.map +1 -1
  15. package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts.map +1 -1
  16. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts +13 -8
  17. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts.map +1 -1
  18. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts +38 -3
  19. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts.map +1 -1
  20. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts +14 -5
  21. package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts +8 -16
  24. package/src/internal/MIDIPortMethodCalls/actOnPort.ts +2 -2
  25. package/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts +3 -9
  26. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts +7 -7
  27. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts +130 -10
  28. package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts +53 -34
@@ -1,19 +1,19 @@
1
1
  // TODO: acquireReleasePortConnectionByPortIdAndAccess.ts
2
2
  /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
3
3
  * preserve JSDoc comments attached to the function signature */
4
- import { getInputByPortIdAndAccess, getOutputByPortIdAndAccess, getPortByPortIdAndAccess, } from "../../getPortByPortId/getPortByPortIdAndAccess.js";
4
+ import * as Get from "../../getPortByPortId/getPortByPortIdAndAccess.js";
5
5
  import { actOnPort } from "../actOnPort.js";
6
- import { acquireReleaseInputConnectionByPort, acquireReleaseOutputConnectionByPort, acquireReleasePortConnectionByPort, } from "./acquireReleasePortConnectionByPort.js";
6
+ import * as AR from "./acquireReleasePortConnectionByPort.js";
7
7
  /**
8
8
  *
9
9
  */
10
- export const acquireReleasePortConnectionByPortIdAndAccess = actOnPort(getPortByPortIdAndAccess, acquireReleasePortConnectionByPort);
10
+ export const acquireReleasePortConnectionByPortIdAndAccess = actOnPort(Get.getPortByPortIdAndAccess, AR.acquireReleasePortConnectionByPort);
11
11
  /**
12
12
  *
13
13
  */
14
- export const acquireReleaseInputConnectionByPortIdAndAccess = actOnPort(getInputByPortIdAndAccess, acquireReleaseInputConnectionByPort);
14
+ export const acquireReleaseInputConnectionByPortIdAndAccess = actOnPort(Get.getInputByPortIdAndAccess, AR.acquireReleaseInputConnectionByPort);
15
15
  /**
16
16
  *
17
17
  */
18
- export const acquireReleaseOutputConnectionByPortIdAndAccess = actOnPort(getOutputByPortIdAndAccess, acquireReleaseOutputConnectionByPort);
18
+ export const acquireReleaseOutputConnectionByPortIdAndAccess = actOnPort(Get.getOutputByPortIdAndAccess, AR.acquireReleaseOutputConnectionByPort);
19
19
  //# sourceMappingURL=acquireReleasePortConnectionByPortIdAndAccess.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"acquireReleasePortConnectionByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../../src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD;gEACgE;AAEhE,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EACL,mCAAmC,EACnC,oCAAoC,EACpC,kCAAkC,GACnC,MAAM,yCAAyC,CAAA;AAEhD;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAG,SAAS,CACpE,wBAAwB,EACxB,kCAAkC,CACnC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,SAAS,CACrE,yBAAyB,EACzB,mCAAmC,CACpC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG,SAAS,CACtE,0BAA0B,EAC1B,oCAAoC,CACrC,CAAA"}
1
+ {"version":3,"file":"acquireReleasePortConnectionByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../../src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD;gEACgE;AAEhE,OAAO,KAAK,GAAG,MAAM,mDAAmD,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAG,SAAS,CACpE,GAAG,CAAC,wBAAwB,EAC5B,EAAE,CAAC,kCAAkC,CACtC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,SAAS,CACrE,GAAG,CAAC,yBAAyB,EAC7B,EAAE,CAAC,mCAAmC,CACvC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG,SAAS,CACtE,GAAG,CAAC,0BAA0B,EAC9B,EAAE,CAAC,oCAAoC,CACxC,CAAA"}
@@ -7,9 +7,9 @@ import * as EMIDIAccess from "../EMIDIAccess.js";
7
7
  *
8
8
  * @internal
9
9
  */
10
- export const actOnPort = (portGetterFromAccessAndPortId, act) => EFunction.dual(2, (polymorphicAccess, portId) => Effect.gen(function* () {
10
+ export const actOnPort = (getPortFromAccessAndPortId, act) => EFunction.dual(2, (polymorphicAccess, portId) => Effect.gen(function* () {
11
11
  const access = yield* EMIDIAccess.resolve(polymorphicAccess);
12
- const port = yield* portGetterFromAccessAndPortId(access, portId);
12
+ const port = yield* getPortFromAccessAndPortId(access, portId);
13
13
  const actEffect = act(port);
14
14
  yield* actEffect;
15
15
  return access;
@@ -1 +1 @@
1
- {"version":3,"file":"actOnPort.js","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/actOnPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAKhD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAUvB,6BAOC,EACD,GAIC,EAQD,EAAE,CACF,SAAS,CAAC,IAAI,CACZ,CAAC,EACD,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,6BAA6B,CAC/C,MAAM,EACN,MAAgD,CACjD,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,CACnB,IAAkE,CACnE,CAAA;IAED,KAAK,CAAC,CAAC,SAAS,CAAA;IAEhB,OAAO,MAAM,CAAA;IACb,wHAAwH;AAC1H,CAAC,CAAQ,CACZ,CAAA"}
1
+ {"version":3,"file":"actOnPort.js","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/actOnPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAKhD;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAUvB,0BAOC,EACD,GAIC,EAQD,EAAE,CACF,SAAS,CAAC,IAAI,CACZ,CAAC,EACD,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,CAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAE5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,0BAA0B,CAC5C,MAAM,EACN,MAAgD,CACjD,CAAA;IAED,MAAM,SAAS,GAAG,GAAG,CACnB,IAAkE,CACnE,CAAA;IAED,KAAK,CAAC,CAAC,SAAS,CAAA;IAEhB,OAAO,MAAM,CAAA;IACb,wHAAwH;AAC1H,CAAC,CAAQ,CACZ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"makeMIDIPortMethodCallerFactory.js","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,CACE,MAAwB,EACxB,QAA4D,EAC5D,EAAE,CACJ,CACE,EAAsE,EACxB,EAAE,CAChD,MAAM,CAAC,EAAE,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAKxC,eAIC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CACtC,eAAe,EACf,EAE2C,CAC5C,CAAA;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAChC,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;KACvC,CAAC,CAAA;IAEF,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACvB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACrD,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;KACzB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"makeMIDIPortMethodCallerFactory.js","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,CACE,MAAwB,EACxB,QAA4D,EAC5D,EAAE,CACJ,CACE,EAAsE,EACxB,EAAE,CAChD,MAAM,CAAC,EAAE,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAIxC,eAA2D;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CACtC,eAAe,EACf,EAE2C,CAC5C,CAAA;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAChC,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;KACvC,CAAC,CAAA;IAEF,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACvB,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACrD,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;KACzB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC,CAAC,CAAA"}
@@ -9,7 +9,7 @@ import * as Util from "../Util.js";
9
9
  *
10
10
  * @internal
11
11
  */
12
- const makePortStateChangesStreamFactory = (is) => StreamMaker.createStreamMakerFrom()(is, port => ({
12
+ export const makePortStateChangesStreamFactory = (is) => StreamMaker.createStreamMakerFrom()(is, port => ({
13
13
  tag: 'MIDIPortStateChange',
14
14
  eventListener: {
15
15
  target: EMIDIPort.assumeImpl(port)._port,
@@ -1 +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,iCAAiC,GAAG,CAGxC,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,CAEoC,CAAA;AAErD;;;;;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"}
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"}
@@ -1,13 +1,21 @@
1
- // TODO: makeInputStateChangesStreamByPortIdAndAccess
2
- export const makeInputStateChangesStreamByPortIdAndAccess = () => {
3
- throw new Error('Not implemented 😿 YET!! 🤩');
4
- };
5
- // TODO: makeOutputStateChangesStreamByPortIdAndAccess
6
- export const makeOutputStateChangesStreamByPortIdAndAccess = () => {
7
- throw new Error('Not implemented 😿 YET!! 🤩');
8
- };
9
- // TODO: makePortStateChangesStreamByPortIdAndAccess
10
- export const makePortStateChangesStreamByPortIdAndAccess = () => {
11
- throw new Error('Not implemented 😿 YET!! 🤩');
12
- };
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);
13
21
  //# sourceMappingURL=makePortStateChangesStreamByPortIdAndAccess.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makePortStateChangesStreamByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,CAAC,MAAM,4CAA4C,GAAG,GAAG,EAAE;IAC/D,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,sDAAsD;AACtD,MAAM,CAAC,MAAM,6CAA6C,GAAG,GAAG,EAAE;IAChE,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"}
1
+ {"version":3,"file":"makePortStateChangesStreamByPortIdAndAccess.js","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD,OAAO,KAAK,GAAG,MAAM,gDAAgD,CAAA;AAErE,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"}
@@ -1,18 +1,21 @@
1
- import * as Get from "../getPortByPortId/getPortByPortIdInContext.js";
2
- import * as Make from "./makePortStateChangesStreamByPort.js";
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);
3
6
  /**
4
7
  * @param options Passing a value of a `boolean` type is equivalent to setting
5
8
  * `options.capture` property
6
9
  */
7
- export const makePortStateChangesStreamByPortIdInContext = (id, options) => Make.makePortStateChangesStreamByPort(Get.getPortByPortIdInContext(id), options);
10
+ export const makePortStateChangesStreamByPortIdInContext = wrap(Make.makePortStateChangesStreamByPortIdAndAccess);
8
11
  /**
9
12
  * @param options Passing a value of a `boolean` type is equivalent to setting
10
13
  * `options.capture` property
11
14
  */
12
- export const makeInputStateChangesStreamByPortIdInContext = (id, options) => Make.makeInputStateChangesStreamByPort(Get.getInputByPortIdInContext(id), options);
15
+ export const makeInputStateChangesStreamByPortIdInContext = wrap(Make.makeInputStateChangesStreamByPortIdAndAccess);
13
16
  /**
14
17
  * @param options Passing a value of a `boolean` type is equivalent to setting
15
18
  * `options.capture` property
16
19
  */
17
- export const makeOutputStateChangesStreamByPortIdInContext = (id, options) => Make.makeOutputStateChangesStreamByPort(Get.getOutputByPortIdInContext(id), options);
20
+ export const makeOutputStateChangesStreamByPortIdInContext = wrap(Make.makeOutputStateChangesStreamByPortIdAndAccess);
18
21
  //# sourceMappingURL=makePortStateChangesStreamByPortIdInContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"makePortStateChangesStreamByPortIdInContext.js","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,GAAG,MAAM,gDAAgD,CAAA;AAErE,OAAO,KAAK,IAAI,MAAM,uCAAuC,CAAA;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,CAGzD,EAAoB,EACpB,OAAyD,EACzD,EAAE,CACF,IAAI,CAAC,gCAAgC,CACnC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,EAChC,OAAO,CACR,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAG,CAG1D,EAAiB,EACjB,OAAyD,EACzD,EAAE,CACF,IAAI,CAAC,iCAAiC,CACpC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,EACjC,OAAO,CACR,CAAA;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAG3D,EAAkB,EAClB,OAAyD,EACzD,EAAE,CACF,IAAI,CAAC,kCAAkC,CACrC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC,EAClC,OAAO,CACR,CAAA"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acquireReleasePortConnectionByPortIdAndAccess.d.ts","sourceRoot":"","sources":["../../../../../src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts"],"names":[],"mappings":"AACA;gEACgE;AAchE;;GAEG;AACH,eAAO,MAAM,6CAA6C,6QAGzD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,8CAA8C,kQAG1D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,+CAA+C,mQAG3D,CAAA"}
1
+ {"version":3,"file":"acquireReleasePortConnectionByPortIdAndAccess.d.ts","sourceRoot":"","sources":["../../../../../src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts"],"names":[],"mappings":"AACA;gEACgE;AAMhE;;GAEG;AACH,eAAO,MAAM,6CAA6C,6QAGzD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,8CAA8C,kQAG1D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,+CAA+C,mQAG3D,CAAA"}
@@ -7,5 +7,5 @@ import type * as Make from './makeMIDIPortMethodCallerFactory.ts';
7
7
  *
8
8
  * @internal
9
9
  */
10
- export declare const actOnPort: <TTypeOfPortId extends MIDIPortType, TPortTypeReturnedFromAccess extends TPortTypeSupportedInActing & TTypeOfPortId, TPortTypeSupportedInActing extends MIDIPortType, TPortGettingError = never, TPortGettingRequirement = never, TPortActingError = never, TPortActingRequirement = never>(portGetterFromAccessAndPortId: Get.GetPortById<TPortTypeReturnedFromAccess, TTypeOfPortId, never, never, TPortGettingError, TPortGettingRequirement>, act: Make.TouchPort<TPortActingError, TPortActingRequirement, TPortTypeSupportedInActing>) => EMIDIAccess.GetThingByPortId<EMIDIAccess.EMIDIAccessInstance, TPortTypeReturnedFromAccess, never, never, TPortGettingError | TPortActingError, TPortGettingRequirement | TPortActingRequirement>;
10
+ export declare const actOnPort: <TTypeOfPortId extends MIDIPortType, TPortTypeReturnedFromAccess extends TPortTypeSupportedInActing & TTypeOfPortId, TPortTypeSupportedInActing extends MIDIPortType, TPortGettingError = never, TPortGettingRequirement = never, TPortActingError = never, TPortActingRequirement = never>(getPortFromAccessAndPortId: Get.GetPortById<TPortTypeReturnedFromAccess, TTypeOfPortId, never, never, TPortGettingError, TPortGettingRequirement>, act: Make.TouchPort<TPortActingError, TPortActingRequirement, TPortTypeSupportedInActing>) => EMIDIAccess.GetThingByPortId<EMIDIAccess.EMIDIAccessInstance, TPortTypeReturnedFromAccess, never, never, TPortGettingError | TPortActingError, TPortGettingRequirement | TPortActingRequirement>;
11
11
  //# sourceMappingURL=actOnPort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actOnPort.d.ts","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/actOnPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAIhE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,KAAK,GAAG,MAAM,gDAAgD,CAAA;AAC1E,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AAEjE;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,aAAa,SAAS,YAAY,EAClC,2BAA2B,SAAS,0BAA0B,GAC5D,aAAa,EACf,0BAA0B,SAAS,YAAY,EAC/C,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,GAAG,KAAK,EAC/B,gBAAgB,GAAG,KAAK,EACxB,sBAAsB,GAAG,KAAK,EAE9B,+BAA+B,GAAG,CAAC,WAAW,CAC5C,2BAA2B,EAC3B,aAAa,EACb,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,uBAAuB,CACxB,EACD,KAAK,IAAI,CAAC,SAAS,CACjB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,CAC3B,KACA,WAAW,CAAC,gBAAgB,CAC7B,WAAW,CAAC,mBAAmB,EAC/B,2BAA2B,EAC3B,KAAK,EACL,KAAK,EACL,iBAAiB,GAAG,gBAAgB,EACpC,uBAAuB,GAAG,sBAAsB,CAsB/C,CAAA"}
1
+ {"version":3,"file":"actOnPort.d.ts","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/actOnPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAIhE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,KAAK,GAAG,MAAM,gDAAgD,CAAA;AAC1E,OAAO,KAAK,KAAK,IAAI,MAAM,sCAAsC,CAAA;AAEjE;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,aAAa,SAAS,YAAY,EAClC,2BAA2B,SAAS,0BAA0B,GAC5D,aAAa,EACf,0BAA0B,SAAS,YAAY,EAC/C,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,GAAG,KAAK,EAC/B,gBAAgB,GAAG,KAAK,EACxB,sBAAsB,GAAG,KAAK,EAE9B,4BAA4B,GAAG,CAAC,WAAW,CACzC,2BAA2B,EAC3B,aAAa,EACb,KAAK,EACL,KAAK,EACL,iBAAiB,EACjB,uBAAuB,CACxB,EACD,KAAK,IAAI,CAAC,SAAS,CACjB,gBAAgB,EAChB,sBAAsB,EACtB,0BAA0B,CAC3B,KACA,WAAW,CAAC,gBAAgB,CAC7B,WAAW,CAAC,mBAAmB,EAC/B,2BAA2B,EAC3B,KAAK,EACL,KAAK,EACL,iBAAiB,GAAG,gBAAgB,EACpC,uBAAuB,GAAG,sBAAsB,CAsB/C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"makeMIDIPortMethodCallerFactory.d.ts","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAG5C;;GAEG;AACH,eAAO,MAAM,+BAA+B,GACzC,MAAM,GAAG,KAAK,EACb,QAAQ,OAAO,GAAG,MAAM,EACxB,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,MAE7D,kBAAkB,SAAS,YAAY,EACtC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,KACrE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CA8B1C,CAAA;AAEN,MAAM,WAAW,SAAS,CACxB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,SAAS,YAAY;IAEvC;;OAEG;IACH,CACE,SAAS,SAAS,kBAAkB,EACpC,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,GAAG,KAAK,EAE/B,eAAe,EAAE,SAAS,CAAC,eAAe,CACxC,iBAAiB,EACjB,uBAAuB,EACvB,SAAS,CACV,GACA,MAAM,CAAC,MAAM,CACd,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAC9B,iBAAiB,GAAG,gBAAgB,EACpC,uBAAuB,GAAG,sBAAsB,CACjD,CAAA;CACF"}
1
+ {"version":3,"file":"makeMIDIPortMethodCallerFactory.d.ts","sourceRoot":"","sources":["../../../../src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAG5C;;GAEG;AACH,eAAO,MAAM,+BAA+B,GACzC,MAAM,GAAG,KAAK,EACb,QAAQ,OAAO,GAAG,MAAM,EACxB,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,MAE7D,kBAAkB,SAAS,YAAY,EACtC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,KACrE,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,kBAAkB,CAwB1C,CAAA;AAEN,MAAM,WAAW,SAAS,CACxB,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,SAAS,YAAY;IAEvC;;OAEG;IACH,CACE,SAAS,SAAS,kBAAkB,EACpC,iBAAiB,GAAG,KAAK,EACzB,uBAAuB,GAAG,KAAK,EAE/B,eAAe,EAAE,SAAS,CAAC,eAAe,CACxC,iBAAiB,EACjB,uBAAuB,EACvB,SAAS,CACV,GACA,MAAM,CAAC,MAAM,CACd,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAC9B,iBAAiB,GAAG,gBAAgB,EACpC,uBAAuB,GAAG,sBAAsB,CACjD,CAAA;CACF"}
@@ -2,36 +2,41 @@
2
2
  * preserve JSDoc comments attached to the function signature */
3
3
  import * as EMIDIPort from '../EMIDIPort.ts';
4
4
  import * as StreamMaker from '../StreamMaker.ts';
5
+ /**
6
+ *
7
+ * @internal
8
+ */
9
+ export declare const makePortStateChangesStreamFactory: <THighLevelPortType extends MIDIPortType>(is: (port: unknown) => port is EMIDIPort.EMIDIPort<THighLevelPortType>) => DualMakeStateChangesStreamByPort<THighLevelPortType>;
5
10
  /**
6
11
  * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
7
12
  *
8
13
  * [MDN
9
14
  * Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)
10
15
  */
11
- export declare const makePortStateChangesStreamByPort: DualMakeStateChangesStream<MIDIPortType>;
16
+ export declare const makePortStateChangesStreamByPort: DualMakeStateChangesStreamByPort<MIDIPortType>;
12
17
  /**
13
18
  * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
14
19
  *
15
20
  * [MDN
16
21
  * Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)
17
22
  */
18
- export declare const makeInputStateChangesStreamByPort: DualMakeStateChangesStream<"input">;
23
+ export declare const makeInputStateChangesStreamByPort: DualMakeStateChangesStreamByPort<"input">;
19
24
  /**
20
25
  * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
21
26
  *
22
27
  * [MDN
23
28
  * Reference](https://developer.mozilla.org/docs/Web/API/MIDIConnectionEvent)
24
29
  */
25
- export declare const makeOutputStateChangesStreamByPort: DualMakeStateChangesStream<"output">;
30
+ export declare const makeOutputStateChangesStreamByPort: DualMakeStateChangesStreamByPort<"output">;
26
31
  /**
27
32
  * A custom type is needed because the port type will be generic, but this is
28
- * not possible if using just {@linkcode createStreamMakerFrom}
33
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
29
34
  */
30
- export interface DualMakeStateChangesStream<THighLevelPortType extends MIDIPortType = MIDIPortType> extends MakeStateChangesStreamPortFirst<THighLevelPortType>, MakeStateChangesStreamPortLast<THighLevelPortType> {
35
+ export interface DualMakeStateChangesStreamByPort<THighLevelPortType extends MIDIPortType = MIDIPortType> extends MakeStateChangesStreamPortFirst<THighLevelPortType>, MakeStateChangesStreamPortLast<THighLevelPortType> {
31
36
  }
32
37
  /**
33
38
  * A custom type is needed because the port type will be generic, but this is
34
- * not possible if using just {@linkcode createStreamMakerFrom}
39
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
35
40
  */
36
41
  export interface MakeStateChangesStreamPortFirst<THighLevelPortType extends MIDIPortType = MIDIPortType> {
37
42
  /**
@@ -42,7 +47,7 @@ export interface MakeStateChangesStreamPortFirst<THighLevelPortType extends MIDI
42
47
  }
43
48
  /**
44
49
  * A custom type is needed because the port type will be generic, but this is
45
- * not possible if using just {@linkcode createStreamMakerFrom}
50
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
46
51
  */
47
52
  export interface MakeStateChangesStreamPortLast<THighLevelPortType extends MIDIPortType = MIDIPortType> {
48
53
  /**
@@ -59,7 +64,7 @@ export interface MakeStateChangesStreamPortLast<THighLevelPortType extends MIDIP
59
64
  }
60
65
  /**
61
66
  * A custom type is needed because the port type will be generic, but this is
62
- * not possible if using just {@linkcode createStreamMakerFrom}
67
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
63
68
  */
64
69
  export interface StateChangesStream<TOnNullStrategy extends StreamMaker.OnNullStrategy, TPortType extends MIDIPortType, E = never, R = never> extends StreamMaker.BuiltStream<'MIDIPortStateChange', EMIDIPort.EMIDIPort<TPortType>, {
65
70
  readonly newState: {
@@ -1 +1 @@
1
- {"version":3,"file":"makePortStateChangesStreamByPort.d.ts","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAIhE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAsChD;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,0CACI,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,qCACI,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,sCACI,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,0BAA0B,CACzC,kBAAkB,SAAS,YAAY,GAAG,YAAY,CACtD,SAAQ,+BAA+B,CAAC,kBAAkB,CAAC,EACzD,8BAA8B,CAAC,kBAAkB,CAAC;CAAG;AAEzD;;;GAGG;AACH,MAAM,WAAW,+BAA+B,CAC9C,kBAAkB,SAAS,YAAY,GAAG,YAAY;IAEtD;;;OAGG;IACH,CACE,SAAS,SAAS,kBAAkB,EACpC,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EACpE,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EAET,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAC3D,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B,CAC7C,kBAAkB,SAAS,YAAY,GAAG,YAAY;IAEtD;;;OAGG;IACH,CAAC,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD;QACD;;;WAGG;QACH,CAAC,SAAS,SAAS,kBAAkB,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EACzD,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAC1D,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KACxD,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CACjC,eAAe,SAAS,WAAW,CAAC,cAAc,EAClD,SAAS,SAAS,YAAY,EAC9B,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,CACT,SAAQ,WAAW,CAAC,WAAW,CAC7B,qBAAqB,EACrB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAC9B;IACE,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;QACtC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAA;KAC/C,GAAG,IAAI,CAAA;CACT,EACD,eAAe,EACf,CAAC,EACD,CAAC,CACF;CAAG"}
1
+ {"version":3,"file":"makePortStateChangesStreamByPort.d.ts","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts"],"names":[],"mappings":"AAAA;gEACgE;AAIhE,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD;;;GAGG;AACH,eAAO,MAAM,iCAAiC,GAC5C,kBAAkB,SAAS,YAAY,EAEvC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,kBAAkB,CAAC,KA0BjE,gCAAgC,CAAC,kBAAkB,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,gDACI,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,2CACI,CAAA;AAElD;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,4CACI,CAAA;AAEnD;;;GAGG;AACH,MAAM,WAAW,gCAAgC,CAC/C,kBAAkB,SAAS,YAAY,GAAG,YAAY,CACtD,SAAQ,+BAA+B,CAAC,kBAAkB,CAAC,EACzD,8BAA8B,CAAC,kBAAkB,CAAC;CAAG;AAEzD;;;GAGG;AACH,MAAM,WAAW,+BAA+B,CAC9C,kBAAkB,SAAS,YAAY,GAAG,YAAY;IAEtD;;;OAGG;IACH,CACE,SAAS,SAAS,kBAAkB,EACpC,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EACpE,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,EAET,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,EAC3D,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACxD;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B,CAC7C,kBAAkB,SAAS,YAAY,GAAG,YAAY;IAEtD;;;OAGG;IACH,CAAC,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD;QACD;;;WAGG;QACH,CAAC,SAAS,SAAS,kBAAkB,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EACzD,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,GAC1D,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;KACxD,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CACjC,eAAe,SAAS,WAAW,CAAC,cAAc,EAClD,SAAS,SAAS,YAAY,EAC9B,CAAC,GAAG,KAAK,EACT,CAAC,GAAG,KAAK,CACT,SAAQ,WAAW,CAAC,WAAW,CAC7B,qBAAqB,EACrB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAC9B;IACE,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAA;QACtC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAA;KAC/C,GAAG,IAAI,CAAA;CACT,EACD,eAAe,EACf,CAAC,EACD,CAAC,CACF;CAAG"}
@@ -1,4 +1,39 @@
1
- export declare const makeInputStateChangesStreamByPortIdAndAccess: () => never;
2
- export declare const makeOutputStateChangesStreamByPortIdAndAccess: () => never;
3
- export declare const makePortStateChangesStreamByPortIdAndAccess: () => never;
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.ts';
4
+ import type * as EMIDIErrors from '../EMIDIErrors.ts';
5
+ import type * as EMIDIPort from '../EMIDIPort.ts';
6
+ import type * as StreamMaker from '../StreamMaker.ts';
7
+ import * as Make from './makePortStateChangesStreamByPort.ts';
8
+ /**
9
+ *
10
+ */
11
+ export declare const makePortStateChangesStreamByPortIdAndAccess: MakePortStateChangesStreamByIdAndAccess<MIDIPortType, EMIDIErrors.PortNotFoundError, never>;
12
+ /**
13
+ *
14
+ */
15
+ export declare const makeInputStateChangesStreamByPortIdAndAccess: MakePortStateChangesStreamByIdAndAccess<"input", EMIDIErrors.PortNotFoundError, never>;
16
+ /**
17
+ *
18
+ */
19
+ export declare const makeOutputStateChangesStreamByPortIdAndAccess: MakePortStateChangesStreamByIdAndAccess<"output", EMIDIErrors.PortNotFoundError, never>;
20
+ export interface MakePortStateChangesStreamByIdAndAccess<TTypeOfPortId extends MIDIPortType, TPortGettingError, TPortGettingRequirement> extends MakePortStateChangesStreamByIdAccessLast<TTypeOfPortId, TPortGettingError, TPortGettingRequirement>, MakePortStateChangesStreamByIdAccessFirst<TTypeOfPortId, TPortGettingError, TPortGettingRequirement> {
21
+ }
22
+ export interface MakePortStateChangesStreamByIdAccessFirst<TTypeOfPortId extends MIDIPortType, TPortGettingError, TPortGettingRequirement> {
23
+ /**
24
+ *
25
+ */
26
+ <TAccessError = never, TAccessRequirement = never, const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(polymorphicAccess: EMIDIAccess.PolymorphicAccessInstance<TAccessError, TAccessRequirement>, id: EMIDIPort.Id<TTypeOfPortId>, options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>): Make.StateChangesStream<TOnNullStrategy, TTypeOfPortId, EMIDIErrors.PortNotFoundError | TAccessError | TPortGettingError, TAccessRequirement | TPortGettingRequirement>;
27
+ }
28
+ export interface MakePortStateChangesStreamByIdAccessLast<TTypeOfPortId extends MIDIPortType, TPortGettingError, TPortGettingRequirement> {
29
+ /**
30
+ *
31
+ */
32
+ <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(id: EMIDIPort.Id<TTypeOfPortId>, options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>): {
33
+ /**
34
+ *
35
+ */
36
+ <TAccessError = never, TAccessRequirement = never>(polymorphicAccess: EMIDIAccess.PolymorphicAccessInstance<TAccessError, TAccessRequirement>): Make.StateChangesStream<TOnNullStrategy, TTypeOfPortId, EMIDIErrors.PortNotFoundError | TAccessError | TPortGettingError, TAccessRequirement | TPortGettingRequirement>;
37
+ };
38
+ }
4
39
  //# sourceMappingURL=makePortStateChangesStreamByPortIdAndAccess.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makePortStateChangesStreamByPortIdAndAccess.d.ts","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,4CAA4C,aAExD,CAAA;AAGD,eAAO,MAAM,6CAA6C,aAEzD,CAAA;AAGD,eAAO,MAAM,2CAA2C,aAEvD,CAAA"}
1
+ {"version":3,"file":"makePortStateChangesStreamByPortIdAndAccess.d.ts","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts"],"names":[],"mappings":"AAAA;gEACgE;AAGhE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,IAAI,MAAM,uCAAuC,CAAA;AA8B7D;;GAEG;AACH,eAAO,MAAM,2CAA2C,6FAGvD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,4CAA4C,wFAGxD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,6CAA6C,yFAGzD,CAAA;AAED,MAAM,WAAW,uCAAuC,CACtD,aAAa,SAAS,YAAY,EAClC,iBAAiB,EACjB,uBAAuB,CACvB,SAAQ,wCAAwC,CAC5C,aAAa,EACb,iBAAiB,EACjB,uBAAuB,CACxB,EACD,yCAAyC,CACvC,aAAa,EACb,iBAAiB,EACjB,uBAAuB,CACxB;CAAG;AAER,MAAM,WAAW,yCAAyC,CACxD,aAAa,SAAS,YAAY,EAClC,iBAAiB,EACjB,uBAAuB;IAEvB;;OAEG;IACH,CACE,YAAY,GAAG,KAAK,EACpB,kBAAkB,GAAG,KAAK,EAC1B,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EAEpE,iBAAiB,EAAE,WAAW,CAAC,yBAAyB,CACtD,YAAY,EACZ,kBAAkB,CACnB,EACD,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,EAC/B,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD,IAAI,CAAC,kBAAkB,CACxB,eAAe,EACf,aAAa,EACb,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,iBAAiB,EAChE,kBAAkB,GAAG,uBAAuB,CAC7C,CAAA;CACF;AAED,MAAM,WAAW,wCAAwC,CACvD,aAAa,SAAS,YAAY,EAClC,iBAAiB,EACjB,uBAAuB;IAEvB;;OAEG;IACH,CAAC,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EACnE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,EAC/B,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD;QACD;;WAEG;QACH,CAAC,YAAY,GAAG,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAC/C,iBAAiB,EAAE,WAAW,CAAC,yBAAyB,CACtD,YAAY,EACZ,kBAAkB,CACnB,GACA,IAAI,CAAC,kBAAkB,CACxB,eAAe,EACf,aAAa,EACb,WAAW,CAAC,iBAAiB,GAAG,YAAY,GAAG,iBAAiB,EAChE,kBAAkB,GAAG,uBAAuB,CAC7C,CAAA;KACF,CAAA;CACF"}
@@ -1,20 +1,29 @@
1
- import type * as EMIDIInput from '../../EMIDIInput.ts';
2
- import type * as EMIDIOutput from '../../EMIDIOutput.ts';
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
3
  import type * as EMIDIPort from '../../EMIDIPort.ts';
4
+ import * as EMIDIAccess from '../EMIDIAccess.ts';
5
+ import type * as EMIDIErrors from '../EMIDIErrors.ts';
4
6
  import type * as StreamMaker from '../StreamMaker.ts';
5
7
  /**
6
8
  * @param options Passing a value of a `boolean` type is equivalent to setting
7
9
  * `options.capture` property
8
10
  */
9
- export declare const makePortStateChangesStreamByPortIdInContext: <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(id: EMIDIPort.BothId, options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>) => EMIDIPort.StateChangesStream<TOnNullStrategy, "input" | "output", import("../EMIDIErrors.ts").PortNotFoundError, import("../EMIDIAccess.ts").EMIDIAccess>;
11
+ export declare const makePortStateChangesStreamByPortIdInContext: MakePortStateChangesStreamByPortIdInContext<MIDIPortType, EMIDIErrors.PortNotFoundError, never>;
10
12
  /**
11
13
  * @param options Passing a value of a `boolean` type is equivalent to setting
12
14
  * `options.capture` property
13
15
  */
14
- export declare const makeInputStateChangesStreamByPortIdInContext: <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(id: EMIDIInput.Id, options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>) => EMIDIPort.StateChangesStream<TOnNullStrategy, "input", import("../EMIDIErrors.ts").PortNotFoundError, import("../EMIDIAccess.ts").EMIDIAccess>;
16
+ export declare const makeInputStateChangesStreamByPortIdInContext: MakePortStateChangesStreamByPortIdInContext<"input", EMIDIErrors.PortNotFoundError, never>;
15
17
  /**
16
18
  * @param options Passing a value of a `boolean` type is equivalent to setting
17
19
  * `options.capture` property
18
20
  */
19
- export declare const makeOutputStateChangesStreamByPortIdInContext: <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(id: EMIDIOutput.Id, options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>) => EMIDIPort.StateChangesStream<TOnNullStrategy, "output", import("../EMIDIErrors.ts").PortNotFoundError, import("../EMIDIAccess.ts").EMIDIAccess>;
21
+ export declare const makeOutputStateChangesStreamByPortIdInContext: MakePortStateChangesStreamByPortIdInContext<"output", EMIDIErrors.PortNotFoundError, never>;
22
+ interface MakePortStateChangesStreamByPortIdInContext<TTypeOfPortId extends MIDIPortType, TPortGettingError, TPortGettingRequirement> {
23
+ /**
24
+ *
25
+ */
26
+ <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(id: EMIDIPort.Id<TTypeOfPortId>, options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>): EMIDIPort.StateChangesStream<TOnNullStrategy, TTypeOfPortId, TPortGettingError | EMIDIErrors.PortNotFoundError, TPortGettingRequirement | EMIDIAccess.EMIDIAccess>;
27
+ }
28
+ export {};
20
29
  //# sourceMappingURL=makePortStateChangesStreamByPortIdInContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"makePortStateChangesStreamByPortIdInContext.d.ts","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,UAAU,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,KAAK,WAAW,MAAM,sBAAsB,CAAA;AACxD,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAEpD,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGrD;;;GAGG;AACH,eAAO,MAAM,2CAA2C,GACtD,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EAEpE,IAAI,SAAS,CAAC,MAAM,EACpB,UAAU,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,8JAKxD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,4CAA4C,GACvD,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EAEpE,IAAI,UAAU,CAAC,EAAE,EACjB,UAAU,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,mJAKxD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,6CAA6C,GACxD,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EAEpE,IAAI,WAAW,CAAC,EAAE,EAClB,UAAU,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,oJAKxD,CAAA"}
1
+ {"version":3,"file":"makePortStateChangesStreamByPortIdInContext.d.ts","sourceRoot":"","sources":["../../../../src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts"],"names":[],"mappings":"AAAA;gEACgE;AAEhE,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAChD,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAsBrD;;;GAGG;AACH,eAAO,MAAM,2CAA2C,iGAEvD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,4CAA4C,4FAExD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,6CAA6C,6FAEzD,CAAA;AAED,UAAU,2CAA2C,CACnD,aAAa,SAAS,YAAY,EAClC,iBAAiB,EACjB,uBAAuB;IAEvB;;OAEG;IACH,CAAC,KAAK,CAAC,eAAe,SAAS,WAAW,CAAC,cAAc,GAAG,SAAS,EACnE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,aAAa,CAAC,EAC/B,OAAO,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,GACxD,SAAS,CAAC,kBAAkB,CAC7B,eAAe,EACf,aAAa,EACb,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,EACjD,uBAAuB,GAAG,WAAW,CAAC,WAAW,CAClD,CAAA;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-web-midi",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
4
4
  "type": "module",
5
5
  "description": "Effect WEB MIDI",
6
6
  "license": "MIT",
@@ -2,38 +2,30 @@
2
2
  /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
3
3
  * preserve JSDoc comments attached to the function signature */
4
4
 
5
- import {
6
- getInputByPortIdAndAccess,
7
- getOutputByPortIdAndAccess,
8
- getPortByPortIdAndAccess,
9
- } from '../../getPortByPortId/getPortByPortIdAndAccess.ts'
5
+ import * as Get from '../../getPortByPortId/getPortByPortIdAndAccess.ts'
10
6
  import { actOnPort } from '../actOnPort.ts'
11
- import {
12
- acquireReleaseInputConnectionByPort,
13
- acquireReleaseOutputConnectionByPort,
14
- acquireReleasePortConnectionByPort,
15
- } from './acquireReleasePortConnectionByPort.ts'
7
+ import * as AR from './acquireReleasePortConnectionByPort.ts'
16
8
 
17
9
  /**
18
10
  *
19
11
  */
20
12
  export const acquireReleasePortConnectionByPortIdAndAccess = actOnPort(
21
- getPortByPortIdAndAccess,
22
- acquireReleasePortConnectionByPort,
13
+ Get.getPortByPortIdAndAccess,
14
+ AR.acquireReleasePortConnectionByPort,
23
15
  )
24
16
 
25
17
  /**
26
18
  *
27
19
  */
28
20
  export const acquireReleaseInputConnectionByPortIdAndAccess = actOnPort(
29
- getInputByPortIdAndAccess,
30
- acquireReleaseInputConnectionByPort,
21
+ Get.getInputByPortIdAndAccess,
22
+ AR.acquireReleaseInputConnectionByPort,
31
23
  )
32
24
 
33
25
  /**
34
26
  *
35
27
  */
36
28
  export const acquireReleaseOutputConnectionByPortIdAndAccess = actOnPort(
37
- getOutputByPortIdAndAccess,
38
- acquireReleaseOutputConnectionByPort,
29
+ Get.getOutputByPortIdAndAccess,
30
+ AR.acquireReleaseOutputConnectionByPort,
39
31
  )
@@ -22,7 +22,7 @@ export const actOnPort = <
22
22
  TPortActingError = never,
23
23
  TPortActingRequirement = never,
24
24
  >(
25
- portGetterFromAccessAndPortId: Get.GetPortById<
25
+ getPortFromAccessAndPortId: Get.GetPortById<
26
26
  TPortTypeReturnedFromAccess,
27
27
  TTypeOfPortId,
28
28
  never,
@@ -49,7 +49,7 @@ export const actOnPort = <
49
49
  Effect.gen(function* () {
50
50
  const access = yield* EMIDIAccess.resolve(polymorphicAccess)
51
51
 
52
- const port = yield* portGetterFromAccessAndPortId(
52
+ const port = yield* getPortFromAccessAndPortId(
53
53
  access,
54
54
  portId as unknown as EMIDIPort.Id<TTypeOfPortId>,
55
55
  )
@@ -18,15 +18,9 @@ export const makeMIDIPortMethodCallerFactory =
18
18
  ): TouchPort<TError, never, THighLevelPortType> =>
19
19
  Effect.fn(`EMIDIPort.${method}`)(function* <
20
20
  TPortType extends THighLevelPortType,
21
- TPortGettingError = never,
22
- TPortGettingRequirement = never,
23
- >(
24
- polymorphicPort: EMIDIPort.PolymorphicPort<
25
- TPortGettingError,
26
- TPortGettingRequirement,
27
- TPortType
28
- >,
29
- ) {
21
+ E = never,
22
+ R = never,
23
+ >(polymorphicPort: EMIDIPort.PolymorphicPort<E, R, TPortType>) {
30
24
  const port = yield* Util.fromPolymorphic(
31
25
  polymorphicPort,
32
26
  is as unknown as (
@@ -11,7 +11,7 @@ import * as Util from '../Util.ts'
11
11
  *
12
12
  * @internal
13
13
  */
14
- const makePortStateChangesStreamFactory = <
14
+ export const makePortStateChangesStreamFactory = <
15
15
  THighLevelPortType extends MIDIPortType,
16
16
  >(
17
17
  is: (port: unknown) => port is EMIDIPort.EMIDIPort<THighLevelPortType>,
@@ -40,7 +40,7 @@ const makePortStateChangesStreamFactory = <
40
40
  : null,
41
41
  }) as const,
42
42
  // TODO: check this type is actually needed
43
- ) as DualMakeStateChangesStream<THighLevelPortType>
43
+ ) as DualMakeStateChangesStreamByPort<THighLevelPortType>
44
44
 
45
45
  /**
46
46
  * Function to create a stream of remapped {@linkcode MIDIConnectionEvent}s
@@ -71,16 +71,16 @@ export const makeOutputStateChangesStreamByPort =
71
71
 
72
72
  /**
73
73
  * A custom type is needed because the port type will be generic, but this is
74
- * not possible if using just {@linkcode createStreamMakerFrom}
74
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
75
75
  */
76
- export interface DualMakeStateChangesStream<
76
+ export interface DualMakeStateChangesStreamByPort<
77
77
  THighLevelPortType extends MIDIPortType = MIDIPortType,
78
78
  > extends MakeStateChangesStreamPortFirst<THighLevelPortType>,
79
79
  MakeStateChangesStreamPortLast<THighLevelPortType> {}
80
80
 
81
81
  /**
82
82
  * A custom type is needed because the port type will be generic, but this is
83
- * not possible if using just {@linkcode createStreamMakerFrom}
83
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
84
84
  */
85
85
  export interface MakeStateChangesStreamPortFirst<
86
86
  THighLevelPortType extends MIDIPortType = MIDIPortType,
@@ -102,7 +102,7 @@ export interface MakeStateChangesStreamPortFirst<
102
102
 
103
103
  /**
104
104
  * A custom type is needed because the port type will be generic, but this is
105
- * not possible if using just {@linkcode createStreamMakerFrom}
105
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
106
106
  */
107
107
  export interface MakeStateChangesStreamPortLast<
108
108
  THighLevelPortType extends MIDIPortType = MIDIPortType,
@@ -126,7 +126,7 @@ export interface MakeStateChangesStreamPortLast<
126
126
 
127
127
  /**
128
128
  * A custom type is needed because the port type will be generic, but this is
129
- * not possible if using just {@linkcode createStreamMakerFrom}
129
+ * not possible if using just {@linkcode StreamMaker.createStreamMakerFrom}
130
130
  */
131
131
  export interface StateChangesStream<
132
132
  TOnNullStrategy extends StreamMaker.OnNullStrategy,
@@ -1,14 +1,134 @@
1
- // TODO: makeInputStateChangesStreamByPortIdAndAccess
2
- export const makeInputStateChangesStreamByPortIdAndAccess = () => {
3
- throw new Error('Not implemented 😿 YET!! 🤩')
4
- }
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
+
4
+ import * as EFunction from 'effect/Function'
5
+ import * as EMIDIAccess from '../EMIDIAccess.ts'
6
+ import type * as EMIDIErrors from '../EMIDIErrors.ts'
7
+ import type * as EMIDIPort from '../EMIDIPort.ts'
8
+ import * as Get from '../getPortByPortId/getPortByPortIdAndAccess.ts'
9
+ import type * as StreamMaker from '../StreamMaker.ts'
10
+ import * as Util from '../Util.ts'
11
+ import * as Make from './makePortStateChangesStreamByPort.ts'
12
+
13
+ const wrap = <
14
+ TTypeOfPortId extends MIDIPortType,
15
+ TPortGettingError = never,
16
+ TPortGettingRequirement = never,
17
+ >(
18
+ makePortStateChangesStream: Make.DualMakeStateChangesStreamByPort<TTypeOfPortId>,
19
+ getPortFromAccessAndPortId: Get.GetPortById<
20
+ TTypeOfPortId,
21
+ TTypeOfPortId,
22
+ never,
23
+ never,
24
+ TPortGettingError,
25
+ TPortGettingRequirement
26
+ >,
27
+ ): MakePortStateChangesStreamByIdAndAccess<
28
+ TTypeOfPortId,
29
+ TPortGettingError,
30
+ TPortGettingRequirement
31
+ > =>
32
+ EFunction.dual(
33
+ Util.polymorphicCheckInDual(EMIDIAccess.is),
34
+ (polymorphicAccess, id, options) =>
35
+ makePortStateChangesStream(
36
+ getPortFromAccessAndPortId(polymorphicAccess, id),
37
+ options,
38
+ ),
39
+ )
40
+
41
+ /**
42
+ *
43
+ */
44
+ export const makePortStateChangesStreamByPortIdAndAccess = wrap(
45
+ Make.makePortStateChangesStreamByPort,
46
+ Get.getPortByPortIdAndAccess,
47
+ )
48
+
49
+ /**
50
+ *
51
+ */
52
+ export const makeInputStateChangesStreamByPortIdAndAccess = wrap(
53
+ Make.makeInputStateChangesStreamByPort,
54
+ Get.getInputByPortIdAndAccess,
55
+ )
56
+
57
+ /**
58
+ *
59
+ */
60
+ export const makeOutputStateChangesStreamByPortIdAndAccess = wrap(
61
+ Make.makeOutputStateChangesStreamByPort,
62
+ Get.getOutputByPortIdAndAccess,
63
+ )
64
+
65
+ export interface MakePortStateChangesStreamByIdAndAccess<
66
+ TTypeOfPortId extends MIDIPortType,
67
+ TPortGettingError,
68
+ TPortGettingRequirement,
69
+ > extends MakePortStateChangesStreamByIdAccessLast<
70
+ TTypeOfPortId,
71
+ TPortGettingError,
72
+ TPortGettingRequirement
73
+ >,
74
+ MakePortStateChangesStreamByIdAccessFirst<
75
+ TTypeOfPortId,
76
+ TPortGettingError,
77
+ TPortGettingRequirement
78
+ > {}
5
79
 
6
- // TODO: makeOutputStateChangesStreamByPortIdAndAccess
7
- export const makeOutputStateChangesStreamByPortIdAndAccess = () => {
8
- throw new Error('Not implemented 😿 YET!! 🤩')
80
+ export interface MakePortStateChangesStreamByIdAccessFirst<
81
+ TTypeOfPortId extends MIDIPortType,
82
+ TPortGettingError,
83
+ TPortGettingRequirement,
84
+ > {
85
+ /**
86
+ *
87
+ */
88
+ <
89
+ TAccessError = never,
90
+ TAccessRequirement = never,
91
+ const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined,
92
+ >(
93
+ polymorphicAccess: EMIDIAccess.PolymorphicAccessInstance<
94
+ TAccessError,
95
+ TAccessRequirement
96
+ >,
97
+ id: EMIDIPort.Id<TTypeOfPortId>,
98
+ options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>,
99
+ ): Make.StateChangesStream<
100
+ TOnNullStrategy,
101
+ TTypeOfPortId,
102
+ EMIDIErrors.PortNotFoundError | TAccessError | TPortGettingError,
103
+ TAccessRequirement | TPortGettingRequirement
104
+ >
9
105
  }
10
106
 
11
- // TODO: makePortStateChangesStreamByPortIdAndAccess
12
- export const makePortStateChangesStreamByPortIdAndAccess = () => {
13
- throw new Error('Not implemented 😿 YET!! 🤩')
107
+ export interface MakePortStateChangesStreamByIdAccessLast<
108
+ TTypeOfPortId extends MIDIPortType,
109
+ TPortGettingError,
110
+ TPortGettingRequirement,
111
+ > {
112
+ /**
113
+ *
114
+ */
115
+ <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(
116
+ id: EMIDIPort.Id<TTypeOfPortId>,
117
+ options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>,
118
+ ): {
119
+ /**
120
+ *
121
+ */
122
+ <TAccessError = never, TAccessRequirement = never>(
123
+ polymorphicAccess: EMIDIAccess.PolymorphicAccessInstance<
124
+ TAccessError,
125
+ TAccessRequirement
126
+ >,
127
+ ): Make.StateChangesStream<
128
+ TOnNullStrategy,
129
+ TTypeOfPortId,
130
+ EMIDIErrors.PortNotFoundError | TAccessError | TPortGettingError,
131
+ TAccessRequirement | TPortGettingRequirement
132
+ >
133
+ }
14
134
  }
@@ -1,51 +1,70 @@
1
- import type * as EMIDIInput from '../../EMIDIInput.ts'
2
- import type * as EMIDIOutput from '../../EMIDIOutput.ts'
1
+ /** biome-ignore-all lint/style/useShorthandFunctionType: It's a nice way to
2
+ * preserve JSDoc comments attached to the function signature */
3
+
3
4
  import type * as EMIDIPort from '../../EMIDIPort.ts'
4
- import * as Get from '../getPortByPortId/getPortByPortIdInContext.ts'
5
+ import * as EMIDIAccess from '../EMIDIAccess.ts'
6
+ import type * as EMIDIErrors from '../EMIDIErrors.ts'
5
7
  import type * as StreamMaker from '../StreamMaker.ts'
6
- import * as Make from './makePortStateChangesStreamByPort.ts'
8
+ import * as Make from './makePortStateChangesStreamByPortIdAndAccess.ts'
9
+
10
+ const wrap =
11
+ <
12
+ TTypeOfPortId extends MIDIPortType,
13
+ TPortGettingError,
14
+ TPortGettingRequirement,
15
+ >(
16
+ makeStream: Make.MakePortStateChangesStreamByIdAndAccess<
17
+ TTypeOfPortId,
18
+ TPortGettingError,
19
+ TPortGettingRequirement
20
+ >,
21
+ ): MakePortStateChangesStreamByPortIdInContext<
22
+ TTypeOfPortId,
23
+ TPortGettingError,
24
+ TPortGettingRequirement
25
+ > =>
26
+ (id, options) =>
27
+ makeStream(EMIDIAccess.EMIDIAccess, id, options)
7
28
 
8
29
  /**
9
30
  * @param options Passing a value of a `boolean` type is equivalent to setting
10
31
  * `options.capture` property
11
32
  */
12
- export const makePortStateChangesStreamByPortIdInContext = <
13
- const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined,
14
- >(
15
- id: EMIDIPort.BothId,
16
- options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>,
17
- ) =>
18
- Make.makePortStateChangesStreamByPort(
19
- Get.getPortByPortIdInContext(id),
20
- options,
21
- )
33
+ export const makePortStateChangesStreamByPortIdInContext = wrap(
34
+ Make.makePortStateChangesStreamByPortIdAndAccess,
35
+ )
22
36
 
23
37
  /**
24
38
  * @param options Passing a value of a `boolean` type is equivalent to setting
25
39
  * `options.capture` property
26
40
  */
27
- export const makeInputStateChangesStreamByPortIdInContext = <
28
- const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined,
29
- >(
30
- id: EMIDIInput.Id,
31
- options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>,
32
- ) =>
33
- Make.makeInputStateChangesStreamByPort(
34
- Get.getInputByPortIdInContext(id),
35
- options,
36
- )
41
+ export const makeInputStateChangesStreamByPortIdInContext = wrap(
42
+ Make.makeInputStateChangesStreamByPortIdAndAccess,
43
+ )
37
44
 
38
45
  /**
39
46
  * @param options Passing a value of a `boolean` type is equivalent to setting
40
47
  * `options.capture` property
41
48
  */
42
- export const makeOutputStateChangesStreamByPortIdInContext = <
43
- const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined,
44
- >(
45
- id: EMIDIOutput.Id,
46
- options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>,
47
- ) =>
48
- Make.makeOutputStateChangesStreamByPort(
49
- Get.getOutputByPortIdInContext(id),
50
- options,
51
- )
49
+ export const makeOutputStateChangesStreamByPortIdInContext = wrap(
50
+ Make.makeOutputStateChangesStreamByPortIdAndAccess,
51
+ )
52
+
53
+ interface MakePortStateChangesStreamByPortIdInContext<
54
+ TTypeOfPortId extends MIDIPortType,
55
+ TPortGettingError,
56
+ TPortGettingRequirement,
57
+ > {
58
+ /**
59
+ *
60
+ */
61
+ <const TOnNullStrategy extends StreamMaker.OnNullStrategy = undefined>(
62
+ id: EMIDIPort.Id<TTypeOfPortId>,
63
+ options?: StreamMaker.StreamMakerOptions<TOnNullStrategy>,
64
+ ): EMIDIPort.StateChangesStream<
65
+ TOnNullStrategy,
66
+ TTypeOfPortId,
67
+ TPortGettingError | EMIDIErrors.PortNotFoundError,
68
+ TPortGettingRequirement | EMIDIAccess.EMIDIAccess
69
+ >
70
+ }