@ng-web-apis/midi
Version:
An Observable based library for the use of Web MIDI API with Angular
30 lines • 3.46 kB
JavaScript
import { WA_MIDI_ACCESS } from '../tokens/midi-access';
import { WA_MIDI_INPUT } from '../tokens/midi-input';
import { WA_MIDI_INPUT_QUERY } from '../tokens/midi-input-query';
/**
* Provide MIDIInput by name
*
* @param name
*/
export function inputByName(name) {
return [
{
provide: WA_MIDI_INPUT_QUERY,
useValue: name,
},
{
provide: WA_MIDI_INPUT,
deps: [WA_MIDI_ACCESS, WA_MIDI_INPUT_QUERY],
useFactory: async (midiAccess, name) => midiAccess.then((access) => {
let result;
access.inputs.forEach((input) => {
if (input.name === name) {
result = input;
}
});
return result;
}),
},
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtYnktbmFtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWlkaS9zcmMvdXRpbHMvaW5wdXQtYnktbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRS9EOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVk7SUFDcEMsT0FBTztRQUNIO1lBQ0ksT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixRQUFRLEVBQUUsSUFBSTtTQUNqQjtRQUNEO1lBQ0ksT0FBTyxFQUFFLGFBQWE7WUFDdEIsSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDO1lBQzNDLFVBQVUsRUFBRSxLQUFLLEVBQ2IsVUFBK0IsRUFDL0IsSUFBWSxFQUNrQixFQUFFLENBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUFFLEVBQUU7Z0JBQ25DLElBQUksTUFBNkIsQ0FBQztnQkFFbEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTt3QkFDckIsTUFBTSxHQUFHLEtBQUssQ0FBQztxQkFDbEI7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxDQUFDO1NBQ1Q7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7V0FfTUlESV9BQ0NFU1N9IGZyb20gJy4uL3Rva2Vucy9taWRpLWFjY2Vzcyc7XG5pbXBvcnQge1dBX01JRElfSU5QVVR9IGZyb20gJy4uL3Rva2Vucy9taWRpLWlucHV0JztcbmltcG9ydCB7V0FfTUlESV9JTlBVVF9RVUVSWX0gZnJvbSAnLi4vdG9rZW5zL21pZGktaW5wdXQtcXVlcnknO1xuXG4vKipcbiAqIFByb3ZpZGUgTUlESUlucHV0IGJ5IG5hbWVcbiAqXG4gKiBAcGFyYW0gbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5wdXRCeU5hbWUobmFtZTogc3RyaW5nKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogV0FfTUlESV9JTlBVVF9RVUVSWSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBuYW1lLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBXQV9NSURJX0lOUFVULFxuICAgICAgICAgICAgZGVwczogW1dBX01JRElfQUNDRVNTLCBXQV9NSURJX0lOUFVUX1FVRVJZXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jIChcbiAgICAgICAgICAgICAgICBtaWRpQWNjZXNzOiBQcm9taXNlPE1JRElBY2Nlc3M+LFxuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICk6IFByb21pc2U8TUlESUlucHV0IHwgdW5kZWZpbmVkPiA9PlxuICAgICAgICAgICAgICAgIG1pZGlBY2Nlc3MudGhlbigoYWNjZXNzOiBNSURJQWNjZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQ6IE1JRElJbnB1dCB8IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgICAgICBhY2Nlc3MuaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5wdXQubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGlucHV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgIF07XG59XG4iXX0=