@ng-web-apis/midi
Version:
An Observable based library for the use of Web MIDI API with Angular
30 lines • 3.53 kB
JavaScript
import { WA_MIDI_ACCESS } from '../tokens/midi-access';
import { WA_MIDI_OUTPUT } from '../tokens/midi-output';
import { WA_MIDI_OUTPUT_QUERY } from '../tokens/midi-output-query';
/**
* Provide MIDIOutput by name
*
* @param name
*/
export function outputByName(name) {
return [
{
provide: WA_MIDI_OUTPUT_QUERY,
useValue: name,
},
{
provide: WA_MIDI_OUTPUT,
deps: [WA_MIDI_ACCESS, WA_MIDI_OUTPUT_QUERY],
useFactory: async (midiAccess, name) => midiAccess.then((access) => {
let result;
access.outputs.forEach((output) => {
if (output.name === name) {
result = output;
}
});
return result;
}),
},
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LWJ5LW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21pZGkvc3JjL3V0aWxzL291dHB1dC1ieS1uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFakU7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBWTtJQUNyQyxPQUFPO1FBQ0g7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSxJQUFJO1NBQ2pCO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsY0FBYztZQUN2QixJQUFJLEVBQUUsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLENBQUM7WUFDNUMsVUFBVSxFQUFFLEtBQUssRUFDYixVQUErQixFQUMvQixJQUFZLEVBQ21CLEVBQUUsQ0FDakMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQWtCLEVBQTBCLEVBQUU7Z0JBQzNELElBQUksTUFBOEIsQ0FBQztnQkFFbkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtvQkFDOUIsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTt3QkFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQztxQkFDbkI7Z0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQyxDQUFDO1NBQ1Q7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7V0FfTUlESV9BQ0NFU1N9IGZyb20gJy4uL3Rva2Vucy9taWRpLWFjY2Vzcyc7XG5pbXBvcnQge1dBX01JRElfT1VUUFVUfSBmcm9tICcuLi90b2tlbnMvbWlkaS1vdXRwdXQnO1xuaW1wb3J0IHtXQV9NSURJX09VVFBVVF9RVUVSWX0gZnJvbSAnLi4vdG9rZW5zL21pZGktb3V0cHV0LXF1ZXJ5JztcblxuLyoqXG4gKiBQcm92aWRlIE1JRElPdXRwdXQgYnkgbmFtZVxuICpcbiAqIEBwYXJhbSBuYW1lXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRwdXRCeU5hbWUobmFtZTogc3RyaW5nKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogV0FfTUlESV9PVVRQVVRfUVVFUlksXG4gICAgICAgICAgICB1c2VWYWx1ZTogbmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogV0FfTUlESV9PVVRQVVQsXG4gICAgICAgICAgICBkZXBzOiBbV0FfTUlESV9BQ0NFU1MsIFdBX01JRElfT1VUUFVUX1FVRVJZXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jIChcbiAgICAgICAgICAgICAgICBtaWRpQWNjZXNzOiBQcm9taXNlPE1JRElBY2Nlc3M+LFxuICAgICAgICAgICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgICk6IFByb21pc2U8TUlESU91dHB1dCB8IHVuZGVmaW5lZD4gPT5cbiAgICAgICAgICAgICAgICBtaWRpQWNjZXNzLnRoZW4oKGFjY2VzczogTUlESUFjY2Vzcyk6IE1JRElPdXRwdXQgfCB1bmRlZmluZWQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0OiBNSURJT3V0cHV0IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzcy5vdXRwdXRzLmZvckVhY2goKG91dHB1dCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG91dHB1dC5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gb3V0cHV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgIF07XG59XG4iXX0=