@manekinekko/angular-web-bluetooth
Version:
The missing Web Bluetooth module for Angular
53 lines • 5.76 kB
JavaScript
import { NgModule, InjectionToken } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BluetoothCore } from './bluetooth.service';
import { BrowserWebBluetooth } from './platform/browser';
import { ConsoleLoggerService, NoLoggerService } from './logger.service';
import * as i0 from "@angular/core";
export function browserWebBluetooth() {
return new BrowserWebBluetooth();
}
export function consoleLoggerServiceConfig(options) {
if (options && options.enableTracing) {
return new ConsoleLoggerService();
}
else {
return new NoLoggerService();
}
}
export function makeMeTokenInjector() {
return new InjectionToken('AWBOptions');
}
export class WebBluetoothModule {
static forRoot(options = {}) {
return {
ngModule: WebBluetoothModule,
providers: [
BluetoothCore,
{
provide: BrowserWebBluetooth,
useFactory: browserWebBluetooth
},
{
provide: makeMeTokenInjector,
useValue: options
},
{
provide: ConsoleLoggerService,
useFactory: consoleLoggerServiceConfig,
deps: [makeMeTokenInjector]
}
]
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WebBluetoothModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: WebBluetoothModule, imports: [CommonModule] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WebBluetoothModule, imports: [CommonModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: WebBluetoothModule, decorators: [{
type: NgModule,
args: [{
imports: [CommonModule]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmx1ZXRvb3RoLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21hbmVraW5la2tvL2FuZ3VsYXItd2ViLWJsdWV0b290aC9zcmMvbGliL2JsdWV0b290aC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU16RSxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8sSUFBSSxtQkFBbUIsRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsT0FBbUI7SUFDNUQsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQy9CLENBQUM7QUFDSCxDQUFDO0FBQ0QsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxPQUFPLElBQUksY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFLRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBc0IsRUFBRTtRQUNyQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixTQUFTLEVBQUU7Z0JBQ1QsYUFBYTtnQkFDYjtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixVQUFVLEVBQUUsbUJBQW1CO2lCQUNoQztnQkFDRDtvQkFDRSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsT0FBTztpQkFDbEI7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjtvQkFDN0IsVUFBVSxFQUFFLDBCQUEwQjtvQkFDdEMsSUFBSSxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQzVCO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzs4R0FyQlUsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFGbkIsWUFBWTsrR0FFWCxrQkFBa0IsWUFGbkIsWUFBWTs7MkZBRVgsa0JBQWtCO2tCQUg5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBCbHVldG9vdGhDb3JlIH0gZnJvbSAnLi9ibHVldG9vdGguc2VydmljZSc7XG5pbXBvcnQgeyBCcm93c2VyV2ViQmx1ZXRvb3RoIH0gZnJvbSAnLi9wbGF0Zm9ybS9icm93c2VyJztcblxuaW1wb3J0IHsgQ29uc29sZUxvZ2dlclNlcnZpY2UsIE5vTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vbG9nZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFXQk9wdGlvbnMge1xuICBlbmFibGVUcmFjaW5nPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyb3dzZXJXZWJCbHVldG9vdGgoKSB7XG4gIHJldHVybiBuZXcgQnJvd3NlcldlYkJsdWV0b290aCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc29sZUxvZ2dlclNlcnZpY2VDb25maWcob3B0aW9uczogQVdCT3B0aW9ucykge1xuICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZVRyYWNpbmcpIHtcbiAgICByZXR1cm4gbmV3IENvbnNvbGVMb2dnZXJTZXJ2aWNlKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBOb0xvZ2dlclNlcnZpY2UoKTtcbiAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VNZVRva2VuSW5qZWN0b3IoKSB7XG4gIHJldHVybiBuZXcgSW5qZWN0aW9uVG9rZW4oJ0FXQk9wdGlvbnMnKTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgV2ViQmx1ZXRvb3RoTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Qob3B0aW9uczogQVdCT3B0aW9ucyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxXZWJCbHVldG9vdGhNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFdlYkJsdWV0b290aE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBCbHVldG9vdGhDb3JlLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQnJvd3NlcldlYkJsdWV0b290aCxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBicm93c2VyV2ViQmx1ZXRvb3RoXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBtYWtlTWVUb2tlbkluamVjdG9yLFxuICAgICAgICAgIHVzZVZhbHVlOiBvcHRpb25zXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBDb25zb2xlTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBjb25zb2xlTG9nZ2VyU2VydmljZUNvbmZpZyxcbiAgICAgICAgICBkZXBzOiBbbWFrZU1lVG9rZW5JbmplY3Rvcl1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==