@angular-helpers/browser-web-apis 21.11.0 → 21.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.es.md
CHANGED
|
@@ -45,6 +45,9 @@ Paquete de servicios Angular para acceder de forma estructurada y segura a Brows
|
|
|
45
45
|
- `IdleDetectorService` - Detectar estado idle del usuario y bloqueo de pantalla
|
|
46
46
|
- `GamepadService` - Polling de entrada de controladores de juego
|
|
47
47
|
- `WebAudioService` - Contexto de audio, osciladores y analizadores
|
|
48
|
+
- `WebLocksService` - Coordinacion de locks entre pestanas
|
|
49
|
+
- `StorageManagerService` - Cuotas y persistencia de almacenamiento
|
|
50
|
+
- `CompressionService` - Streams de compresion gzip/deflate
|
|
48
51
|
|
|
49
52
|
### APIs de red
|
|
50
53
|
|
|
@@ -706,6 +709,88 @@ export class MyComponent {
|
|
|
706
709
|
}
|
|
707
710
|
```
|
|
708
711
|
|
|
712
|
+
### injectClipboard
|
|
713
|
+
|
|
714
|
+
```typescript
|
|
715
|
+
import { injectClipboard } from '@angular-helpers/browser-web-apis';
|
|
716
|
+
|
|
717
|
+
@Component({...})
|
|
718
|
+
export class MyComponent {
|
|
719
|
+
readonly cb = injectClipboard();
|
|
720
|
+
|
|
721
|
+
// cb.text() → string | null (ultimo texto copiado)
|
|
722
|
+
// cb.error() → string | null
|
|
723
|
+
// cb.busy() → boolean
|
|
724
|
+
// cb.isSupported() → boolean
|
|
725
|
+
|
|
726
|
+
async copy(text: string) {
|
|
727
|
+
await this.cb.writeText(text);
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
### injectGeolocation
|
|
733
|
+
|
|
734
|
+
```typescript
|
|
735
|
+
import { injectGeolocation } from '@angular-helpers/browser-web-apis';
|
|
736
|
+
|
|
737
|
+
@Component({...})
|
|
738
|
+
export class MyComponent {
|
|
739
|
+
readonly geo = injectGeolocation({ watch: true });
|
|
740
|
+
|
|
741
|
+
// geo.position() → GeolocationPosition | null
|
|
742
|
+
// geo.error() → GeolocationPositionError | null
|
|
743
|
+
// geo.watching() → boolean
|
|
744
|
+
// geo.isSupported() → boolean
|
|
745
|
+
|
|
746
|
+
stopWatching() {
|
|
747
|
+
this.geo.stop();
|
|
748
|
+
}
|
|
749
|
+
}
|
|
750
|
+
```
|
|
751
|
+
|
|
752
|
+
### injectBattery
|
|
753
|
+
|
|
754
|
+
```typescript
|
|
755
|
+
import { injectBattery } from '@angular-helpers/browser-web-apis';
|
|
756
|
+
|
|
757
|
+
@Component({...})
|
|
758
|
+
export class MyComponent {
|
|
759
|
+
readonly battery = injectBattery();
|
|
760
|
+
|
|
761
|
+
// battery.info() → BatteryInfo | null (nivel, carga, tiempos)
|
|
762
|
+
// battery.error() → string | null
|
|
763
|
+
// battery.isSupported() → boolean
|
|
764
|
+
|
|
765
|
+
async refresh() {
|
|
766
|
+
await this.battery.refresh();
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
### injectWakeLock
|
|
772
|
+
|
|
773
|
+
```typescript
|
|
774
|
+
import { injectWakeLock } from '@angular-helpers/browser-web-apis';
|
|
775
|
+
|
|
776
|
+
@Component({...})
|
|
777
|
+
export class MyComponent {
|
|
778
|
+
readonly wakeLock = injectWakeLock();
|
|
779
|
+
|
|
780
|
+
// wakeLock.active() → boolean
|
|
781
|
+
// wakeLock.error() → string | null
|
|
782
|
+
// wakeLock.isSupported() → boolean
|
|
783
|
+
|
|
784
|
+
async toggle() {
|
|
785
|
+
if (this.wakeLock.active()) {
|
|
786
|
+
await this.wakeLock.release();
|
|
787
|
+
} else {
|
|
788
|
+
await this.wakeLock.request();
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
```
|
|
793
|
+
|
|
709
794
|
### Tipo ElementInput
|
|
710
795
|
|
|
711
796
|
Tanto `injectResizeObserver` como `injectIntersectionObserver` aceptan el tipo `ElementInput`:
|
package/README.md
CHANGED
|
@@ -45,6 +45,9 @@ Angular services package for a structured and secure access layer over browser W
|
|
|
45
45
|
- `IdleDetectorService` - Detect user idle state and screen lock
|
|
46
46
|
- `GamepadService` - Game controller input polling
|
|
47
47
|
- `WebAudioService` - Audio context, oscillators, and analysers
|
|
48
|
+
- `WebLocksService` - Cross-tab resource locking coordination
|
|
49
|
+
- `StorageManagerService` - Storage quotas and persistence
|
|
50
|
+
- `CompressionService` - Gzip/deflate compression streams
|
|
48
51
|
|
|
49
52
|
### Network APIs
|
|
50
53
|
|
|
@@ -64,21 +67,9 @@ Angular services package for a structured and secure access layer over browser W
|
|
|
64
67
|
|
|
65
68
|
- `WebWorkerService` - Web Worker management
|
|
66
69
|
|
|
67
|
-
### Device APIs
|
|
68
|
-
|
|
69
|
-
- `WebBluetoothService` - Bluetooth Low Energy device communication
|
|
70
|
-
- `WebUsbService` - USB device I/O from the browser
|
|
71
|
-
- `WebNfcService` - NFC tag reading and writing
|
|
72
|
-
|
|
73
70
|
### Detection APIs
|
|
74
71
|
|
|
75
72
|
- `EyeDropperService` - Screen color picker
|
|
76
|
-
- `BarcodeDetectorService` - QR code and barcode scanning
|
|
77
|
-
|
|
78
|
-
### Commerce & Identity APIs
|
|
79
|
-
|
|
80
|
-
- `PaymentRequestService` - Native payment flows
|
|
81
|
-
- `CredentialManagementService` - Passwords, passkeys (WebAuthn)
|
|
82
73
|
|
|
83
74
|
### Security & Capabilities
|
|
84
75
|
|
|
@@ -92,7 +83,7 @@ Angular services package for a structured and secure access layer over browser W
|
|
|
92
83
|
## Installation
|
|
93
84
|
|
|
94
85
|
```bash
|
|
95
|
-
|
|
86
|
+
pnpm add @angular-helpers/browser-web-apis
|
|
96
87
|
```
|
|
97
88
|
|
|
98
89
|
## Quick Setup
|
|
@@ -101,13 +92,21 @@ npm install @angular-helpers/browser-web-apis
|
|
|
101
92
|
|
|
102
93
|
```typescript
|
|
103
94
|
import { provideBrowserWebApis } from '@angular-helpers/browser-web-apis';
|
|
95
|
+
import {
|
|
96
|
+
CameraService,
|
|
97
|
+
GeolocationService,
|
|
98
|
+
NotificationService,
|
|
99
|
+
} from '@angular-helpers/browser-web-apis';
|
|
104
100
|
|
|
105
101
|
bootstrapApplication(AppComponent, {
|
|
106
102
|
providers: [
|
|
107
103
|
provideBrowserWebApis({
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
services: [
|
|
105
|
+
CameraService,
|
|
106
|
+
GeolocationService,
|
|
107
|
+
NotificationService,
|
|
108
|
+
// Add more services as needed
|
|
109
|
+
],
|
|
111
110
|
}),
|
|
112
111
|
],
|
|
113
112
|
});
|
|
@@ -146,25 +145,49 @@ Every service has a matching `provideX()` function:
|
|
|
146
145
|
| `provideWebSocket()` | `WebSocketService` |
|
|
147
146
|
| `provideWebWorker()` | `WebWorkerService` |
|
|
148
147
|
| `provideBattery()` | `BatteryService` |
|
|
148
|
+
| `provideWebShare()` | `WebShareService` |
|
|
149
149
|
| `provideIntersectionObserver()` | `IntersectionObserverService` |
|
|
150
150
|
| `provideResizeObserver()` | `ResizeObserverService` |
|
|
151
151
|
| `provideMutationObserver()` | `MutationObserverService` |
|
|
152
152
|
| `providePerformanceObserver()` | `PerformanceObserverService` |
|
|
153
153
|
| `providePageVisibility()` | `PageVisibilityService` |
|
|
154
154
|
| `provideNetworkInformation()` | `NetworkInformationService` |
|
|
155
|
-
|
|
|
155
|
+
| `provideScreenWakeLock()` | `ScreenWakeLockService` |
|
|
156
|
+
| `provideScreenOrientation()` | `ScreenOrientationService` |
|
|
157
|
+
| `provideFullscreen()` | `FullscreenService` |
|
|
158
|
+
| `provideFileSystemAccess()` | `FileSystemAccessService` |
|
|
159
|
+
| `provideMediaRecorder()` | `MediaRecorderService` |
|
|
160
|
+
| `provideBroadcastChannel()` | `BroadcastChannelService` |
|
|
161
|
+
| `provideServerSentEvents()` | `ServerSentEventsService` |
|
|
162
|
+
| `provideVibration()` | `VibrationService` |
|
|
163
|
+
| `provideSpeechSynthesis()` | `SpeechSynthesisService` |
|
|
164
|
+
| `provideWebAudio()` | `WebAudioService` |
|
|
165
|
+
| `provideGamepad()` | `GamepadService` |
|
|
166
|
+
| `provideWebLocks()` | `WebLocksService` |
|
|
167
|
+
| `provideStorageManager()` | `StorageManagerService` |
|
|
168
|
+
| `provideCompression()` | `CompressionService` |
|
|
169
|
+
| `provideEyeDropper()` | `EyeDropperService` |
|
|
170
|
+
| `provideIdleDetector()` | `IdleDetectorService` |
|
|
171
|
+
| `providePermissions()` | `PermissionsService` |
|
|
156
172
|
|
|
157
173
|
### Combo providers
|
|
158
174
|
|
|
159
175
|
Convenience functions that bundle related services:
|
|
160
176
|
|
|
161
177
|
```typescript
|
|
162
|
-
import {
|
|
178
|
+
import {
|
|
179
|
+
provideMediaApis,
|
|
180
|
+
provideLocationApis,
|
|
181
|
+
provideStorageApis,
|
|
182
|
+
provideCommunicationApis,
|
|
183
|
+
} from '@angular-helpers/browser-web-apis';
|
|
163
184
|
|
|
164
185
|
bootstrapApplication(AppComponent, {
|
|
165
186
|
providers: [
|
|
166
187
|
provideMediaApis(), // Camera + MediaDevices + Permissions
|
|
188
|
+
provideLocationApis(), // Geolocation + Permissions
|
|
167
189
|
provideStorageApis(), // Clipboard + WebStorage + Permissions
|
|
190
|
+
provideCommunicationApis(), // Notification + WebShare + WebSocket + Permissions
|
|
168
191
|
],
|
|
169
192
|
});
|
|
170
193
|
```
|
|
@@ -755,6 +778,111 @@ export class MyComponent {
|
|
|
755
778
|
}
|
|
756
779
|
```
|
|
757
780
|
|
|
781
|
+
### injectClipboard
|
|
782
|
+
|
|
783
|
+
```typescript
|
|
784
|
+
import { injectClipboard } from '@angular-helpers/browser-web-apis';
|
|
785
|
+
|
|
786
|
+
@Component({...})
|
|
787
|
+
export class MyComponent {
|
|
788
|
+
readonly cb = injectClipboard();
|
|
789
|
+
|
|
790
|
+
// cb.text() → string | null (last copied text)
|
|
791
|
+
// cb.error() → string | null
|
|
792
|
+
// cb.busy() → boolean
|
|
793
|
+
// cb.isSupported() → boolean
|
|
794
|
+
|
|
795
|
+
async copy(text: string) {
|
|
796
|
+
await this.cb.writeText(text);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
### injectGeolocation
|
|
802
|
+
|
|
803
|
+
```typescript
|
|
804
|
+
import { injectGeolocation } from '@angular-helpers/browser-web-apis';
|
|
805
|
+
|
|
806
|
+
@Component({...})
|
|
807
|
+
export class MyComponent {
|
|
808
|
+
readonly geo = injectGeolocation({ watch: true });
|
|
809
|
+
|
|
810
|
+
// geo.position() → GeolocationPosition | null
|
|
811
|
+
// geo.error() → GeolocationPositionError | null
|
|
812
|
+
// geo.watching() → boolean
|
|
813
|
+
// geo.isSupported() → boolean
|
|
814
|
+
|
|
815
|
+
stopWatching() {
|
|
816
|
+
this.geo.stop();
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
### injectBattery
|
|
822
|
+
|
|
823
|
+
```typescript
|
|
824
|
+
import { injectBattery } from '@angular-helpers/browser-web-apis';
|
|
825
|
+
|
|
826
|
+
@Component({...})
|
|
827
|
+
export class MyComponent {
|
|
828
|
+
readonly battery = injectBattery();
|
|
829
|
+
|
|
830
|
+
// battery.info() → BatteryInfo | null (level, charging, times)
|
|
831
|
+
// battery.error() → string | null
|
|
832
|
+
// battery.isSupported() → boolean
|
|
833
|
+
|
|
834
|
+
async refresh() {
|
|
835
|
+
await this.battery.refresh();
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
```
|
|
839
|
+
|
|
840
|
+
### injectWakeLock
|
|
841
|
+
|
|
842
|
+
```typescript
|
|
843
|
+
import { injectWakeLock } from '@angular-helpers/browser-web-apis';
|
|
844
|
+
|
|
845
|
+
@Component({...})
|
|
846
|
+
export class MyComponent {
|
|
847
|
+
readonly wakeLock = injectWakeLock();
|
|
848
|
+
|
|
849
|
+
// wakeLock.active() → boolean
|
|
850
|
+
// wakeLock.error() → string | null
|
|
851
|
+
// wakeLock.isSupported() → boolean
|
|
852
|
+
|
|
853
|
+
async toggle() {
|
|
854
|
+
if (this.wakeLock.active()) {
|
|
855
|
+
await this.wakeLock.release();
|
|
856
|
+
} else {
|
|
857
|
+
await this.wakeLock.request();
|
|
858
|
+
}
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
```
|
|
862
|
+
|
|
863
|
+
### injectEyeDropper
|
|
864
|
+
|
|
865
|
+
```typescript
|
|
866
|
+
import { injectEyeDropper } from '@angular-helpers/browser-web-apis';
|
|
867
|
+
|
|
868
|
+
@Component({...})
|
|
869
|
+
export class MyComponent {
|
|
870
|
+
readonly dropper = injectEyeDropper();
|
|
871
|
+
|
|
872
|
+
// dropper.color() → Signal<string | null> (sRGBHex)
|
|
873
|
+
// dropper.isOpening() → Signal<boolean>
|
|
874
|
+
// dropper.error() → Signal<Error | null>
|
|
875
|
+
// dropper.isSupported() → Signal<boolean>
|
|
876
|
+
|
|
877
|
+
async pickColor() {
|
|
878
|
+
const result = await this.dropper.open();
|
|
879
|
+
if (result) {
|
|
880
|
+
console.log('Selected color:', result.sRGBHex);
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
```
|
|
885
|
+
|
|
758
886
|
### ElementInput type
|
|
759
887
|
|
|
760
888
|
Both `injectResizeObserver` and `injectIntersectionObserver` accept the `ElementInput` type:
|
|
@@ -42,10 +42,10 @@ class IdleDetectorService extends BrowserApiBaseService {
|
|
|
42
42
|
return () => abortController.abort();
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
46
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
45
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IdleDetectorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
46
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IdleDetectorService });
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: IdleDetectorService, decorators: [{
|
|
49
49
|
type: Injectable
|
|
50
50
|
}] });
|
|
51
51
|
|
|
@@ -66,10 +66,10 @@ class EyeDropperService extends BrowserApiBaseService {
|
|
|
66
66
|
const eyeDropper = new (getEyeDropperClass())();
|
|
67
67
|
return eyeDropper.open();
|
|
68
68
|
}
|
|
69
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
70
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
69
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: EyeDropperService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
70
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: EyeDropperService });
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: EyeDropperService, decorators: [{
|
|
73
73
|
type: Injectable
|
|
74
74
|
}] });
|
|
75
75
|
|
|
@@ -128,10 +128,10 @@ class BarcodeDetectorService extends BrowserApiBaseService {
|
|
|
128
128
|
};
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
132
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
131
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BarcodeDetectorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
132
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BarcodeDetectorService });
|
|
133
133
|
}
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: BarcodeDetectorService, decorators: [{
|
|
135
135
|
type: Injectable
|
|
136
136
|
}] });
|
|
137
137
|
|
|
@@ -164,10 +164,10 @@ class WebBluetoothService extends BrowserApiBaseService {
|
|
|
164
164
|
subscriber.complete();
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
168
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
167
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebBluetoothService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
168
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebBluetoothService });
|
|
169
169
|
}
|
|
170
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebBluetoothService, decorators: [{
|
|
171
171
|
type: Injectable
|
|
172
172
|
}] });
|
|
173
173
|
|
|
@@ -220,10 +220,10 @@ class WebUsbService extends BrowserApiBaseService {
|
|
|
220
220
|
opened: device.opened,
|
|
221
221
|
};
|
|
222
222
|
}
|
|
223
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
224
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebUsbService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
224
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebUsbService });
|
|
225
225
|
}
|
|
226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebUsbService, decorators: [{
|
|
227
227
|
type: Injectable
|
|
228
228
|
}] });
|
|
229
229
|
|
|
@@ -269,10 +269,10 @@ class WebNfcService extends BrowserApiBaseService {
|
|
|
269
269
|
const reader = new (getNdefReaderClass())();
|
|
270
270
|
await reader.write(message, options);
|
|
271
271
|
}
|
|
272
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
273
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
272
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebNfcService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
273
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebNfcService });
|
|
274
274
|
}
|
|
275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: WebNfcService, decorators: [{
|
|
276
276
|
type: Injectable
|
|
277
277
|
}] });
|
|
278
278
|
|
|
@@ -311,10 +311,10 @@ class PaymentRequestService extends BrowserApiBaseService {
|
|
|
311
311
|
const request = new PaymentRequest(methods, details);
|
|
312
312
|
await request.abort();
|
|
313
313
|
}
|
|
314
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
315
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
314
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PaymentRequestService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
315
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PaymentRequestService });
|
|
316
316
|
}
|
|
317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PaymentRequestService, decorators: [{
|
|
318
318
|
type: Injectable
|
|
319
319
|
}] });
|
|
320
320
|
|
|
@@ -369,10 +369,10 @@ class CredentialManagementService extends BrowserApiBaseService {
|
|
|
369
369
|
}
|
|
370
370
|
return false;
|
|
371
371
|
}
|
|
372
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
373
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
372
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CredentialManagementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
373
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CredentialManagementService });
|
|
374
374
|
}
|
|
375
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
375
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: CredentialManagementService, decorators: [{
|
|
376
376
|
type: Injectable
|
|
377
377
|
}] });
|
|
378
378
|
|