@ng-web-apis/midi
Version:
An Observable based library for the use of Web MIDI API with Angular
30 lines • 3.49 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 id
*
* @param id
*/
export function outputById(id) {
return [
{
provide: WA_MIDI_OUTPUT_QUERY,
useValue: id,
},
{
provide: WA_MIDI_OUTPUT,
deps: [WA_MIDI_ACCESS, WA_MIDI_OUTPUT_QUERY],
useFactory: async (midiAccess, id) => midiAccess.then((access) => {
let result;
access.outputs.forEach((output) => {
if (output.id === id) {
result = output;
}
});
return result;
}),
},
];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0cHV0LWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9taWRpL3NyYy91dGlscy9vdXRwdXQtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxFQUFVO0lBQ2pDLE9BQU87UUFDSDtZQUNJLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsUUFBUSxFQUFFLEVBQUU7U0FDZjtRQUNEO1lBQ0ksT0FBTyxFQUFFLGNBQWM7WUFDdkIsSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFLG9CQUFvQixDQUFDO1lBQzVDLFVBQVUsRUFBRSxLQUFLLEVBQ2IsVUFBK0IsRUFDL0IsRUFBVSxFQUNxQixFQUFFLENBQ2pDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFrQixFQUEwQixFQUFFO2dCQUMzRCxJQUFJLE1BQThCLENBQUM7Z0JBRW5DLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQzlCLElBQUksTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7d0JBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUM7cUJBQ25CO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2dCQUVILE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUMsQ0FBQztTQUNUO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1dBX01JRElfQUNDRVNTfSBmcm9tICcuLi90b2tlbnMvbWlkaS1hY2Nlc3MnO1xuaW1wb3J0IHtXQV9NSURJX09VVFBVVH0gZnJvbSAnLi4vdG9rZW5zL21pZGktb3V0cHV0JztcbmltcG9ydCB7V0FfTUlESV9PVVRQVVRfUVVFUll9IGZyb20gJy4uL3Rva2Vucy9taWRpLW91dHB1dC1xdWVyeSc7XG5cbi8qKlxuICogUHJvdmlkZSBNSURJT3V0cHV0IGJ5IGlkXG4gKlxuICogQHBhcmFtIGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRwdXRCeUlkKGlkOiBzdHJpbmcpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBXQV9NSURJX09VVFBVVF9RVUVSWSxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBpZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogV0FfTUlESV9PVVRQVVQsXG4gICAgICAgICAgICBkZXBzOiBbV0FfTUlESV9BQ0NFU1MsIFdBX01JRElfT1VUUFVUX1FVRVJZXSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGFzeW5jIChcbiAgICAgICAgICAgICAgICBtaWRpQWNjZXNzOiBQcm9taXNlPE1JRElBY2Nlc3M+LFxuICAgICAgICAgICAgICAgIGlkOiBzdHJpbmcsXG4gICAgICAgICAgICApOiBQcm9taXNlPE1JRElPdXRwdXQgfCB1bmRlZmluZWQ+ID0+XG4gICAgICAgICAgICAgICAgbWlkaUFjY2Vzcy50aGVuKChhY2Nlc3M6IE1JRElBY2Nlc3MpOiBNSURJT3V0cHV0IHwgdW5kZWZpbmVkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdDogTUlESU91dHB1dCB8IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICAgICAgICBhY2Nlc3Mub3V0cHV0cy5mb3JFYWNoKChvdXRwdXQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvdXRwdXQuaWQgPT09IGlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gb3V0cHV0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgIF07XG59XG4iXX0=