UNPKG

@ng-web-apis/midi

Version:

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

30 lines 3.53 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 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=