UNPKG

@ng-web-apis/midi

Version:

An Observable based library for the use of Web MIDI API with Angular

30 lines 3.49 kB
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=