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.
- package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js +5 -5
- package/dist/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.js.map +1 -1
- package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js +2 -2
- package/dist/src/internal/MIDIPortMethodCalls/actOnPort.js.map +1 -1
- package/dist/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.js.map +1 -1
- package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js +1 -1
- package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js.map +1 -1
- package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js +20 -12
- package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js.map +1 -1
- package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js +8 -5
- package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js.map +1 -1
- package/dist-types/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.d.ts.map +1 -1
- package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts +1 -1
- package/dist-types/src/internal/MIDIPortMethodCalls/actOnPort.d.ts.map +1 -1
- package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts.map +1 -1
- package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts +13 -8
- package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts.map +1 -1
- package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts +38 -3
- package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.d.ts.map +1 -1
- package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts +14 -5
- package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/internal/MIDIPortMethodCalls/acquireReleasePortConnection/acquireReleasePortConnectionByPortIdAndAccess.ts +8 -16
- package/src/internal/MIDIPortMethodCalls/actOnPort.ts +2 -2
- package/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.ts +3 -9
- package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.ts +7 -7
- package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts +130 -10
- 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
|
|
4
|
+
import * as Get from "../../getPortByPortId/getPortByPortIdAndAccess.js";
|
|
5
5
|
import { actOnPort } from "../actOnPort.js";
|
|
6
|
-
import
|
|
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,
|
|
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 = (
|
|
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*
|
|
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,
|
|
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,
|
|
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,
|
package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.js
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
|
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"}
|
package/dist/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 = (
|
|
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 = (
|
|
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 = (
|
|
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":"
|
|
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;
|
|
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>(
|
|
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
|
|
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"}
|
package/dist-types/src/internal/MIDIPortMethodCalls/makeMIDIPortMethodCallerFactory.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
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
|
|
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: {
|
package/dist-types/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPort.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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":"
|
|
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
|
-
|
|
2
|
-
|
|
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: <
|
|
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: <
|
|
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: <
|
|
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,
|
|
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
|
@@ -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
|
-
|
|
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*
|
|
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
|
-
|
|
22
|
-
|
|
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
|
|
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
|
|
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,
|
package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdAndAccess.ts
CHANGED
|
@@ -1,14 +1,134 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
}
|
package/src/internal/makePortStateChangesStream/makePortStateChangesStreamByPortIdInContext.ts
CHANGED
|
@@ -1,51 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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
|
|
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 './
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
+
}
|