@seniorsistemas/angular-components 17.26.9-bugfix-sds-309-cfd66723 → 17.26.9-bugfix-sds-309-1338ba18
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/bundles/seniorsistemas-angular-components.umd.js +43 -38
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/speech-recognition/speech-recognition.service.d.ts +1 -1
- package/esm2015/components/speech-recognition/speech-recognition.service.js +26 -25
- package/esm5/components/speech-recognition/speech-recognition.service.js +44 -39
- package/fesm2015/seniorsistemas-angular-components.js +25 -24
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +43 -38
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -24,7 +24,7 @@ let SpeechRecognitionService = class SpeechRecognitionService {
|
|
|
24
24
|
if (this.isListening) {
|
|
25
25
|
speechSubject.error('Already listening');
|
|
26
26
|
}
|
|
27
|
-
this.hasMicrophoneAccess
|
|
27
|
+
this.hasMicrophoneAccess.then((hasAccess) => {
|
|
28
28
|
if (!hasAccess) {
|
|
29
29
|
this.toastService.show({ severity: 'error', text: this.translateService.instant('platform.angular_components.no_microphone_permission') });
|
|
30
30
|
speechSubject.error('Microphone access is disabled');
|
|
@@ -102,32 +102,33 @@ let SpeechRecognitionService = class SpeechRecognitionService {
|
|
|
102
102
|
this.recognition.maxAlternatives = 1;
|
|
103
103
|
this.localeService.getLocale().subscribe(locale => this.recognition.lang = locale);
|
|
104
104
|
}
|
|
105
|
-
hasMicrophoneAccess() {
|
|
106
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
const stream = yield navigator.mediaDevices.getUserMedia({ audio: true });
|
|
105
|
+
get hasMicrophoneAccess() {
|
|
106
|
+
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const permission = yield navigator.permissions.query({ name: 'microphone' });
|
|
108
|
+
if (permission.state === 'denied') {
|
|
109
|
+
resolve(false);
|
|
110
|
+
}
|
|
111
|
+
else if (permission.state === 'granted') {
|
|
112
|
+
resolve(true);
|
|
113
|
+
}
|
|
114
|
+
else if (permission.state === 'prompt') {
|
|
115
|
+
try {
|
|
116
|
+
navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) => {
|
|
118
117
|
stream.getTracks().forEach(t => t.stop());
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
}).catch(() => {
|
|
119
|
+
resolve(false);
|
|
120
|
+
});
|
|
121
|
+
permission.onchange = () => {
|
|
122
|
+
this.ngZone.run(() => {
|
|
123
|
+
resolve(permission.state === 'granted' ? true : false);
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
resolve(false);
|
|
124
129
|
}
|
|
125
|
-
return false;
|
|
126
|
-
}
|
|
127
|
-
catch (_b) {
|
|
128
|
-
return false;
|
|
129
130
|
}
|
|
130
|
-
});
|
|
131
|
+
}));
|
|
131
132
|
}
|
|
132
133
|
};
|
|
133
134
|
SpeechRecognitionService.ctorParameters = () => [
|
|
@@ -143,4 +144,4 @@ SpeechRecognitionService = __decorate([
|
|
|
143
144
|
})
|
|
144
145
|
], SpeechRecognitionService);
|
|
145
146
|
export { SpeechRecognitionService };
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVdkQsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFNbkMsWUFDbUIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLFlBQTBCLEVBQ25DLGdCQUFrQztRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVQ1QyxnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFSCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFRekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLGFBQWEsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksQ0FB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dCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTcGVlY2hSZXN1bHQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGlzRmluYWw6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29nbml0aW9uU2VydmljZSB7XG4gIGhhc1N1cHBvcnRTcGVlY2hSZWNvZ25pdGlvbiA9IGZhbHNlO1xuICBpc0xpc3RlbmluZyA9IGZhbHNlO1xuICBwcml2YXRlIHJlY29nbml0aW9uITogU3BlZWNoUmVjb2duaXRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgVElNRU9VVF9OT19NRVNTQUdFID0gMzAwMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zZXRSZWNvZ25pdGlvbigpO1xuICB9XG5cbiAgbGlzdGVuKCkge1xuICAgIGNvbnN0IHNwZWVjaFN1YmplY3QgPSBuZXcgU3ViamVjdDxTcGVlY2hSZXN1bHQ+KCk7XG4gICAgaWYgKHRoaXMuaXNMaXN0ZW5pbmcpIHtcbiAgICAgIHNwZWVjaFN1YmplY3QuZXJyb3IoJ0FscmVhZHkgbGlzdGVuaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuaGFzTWljcm9waG9uZUFjY2VzcygpLnRoZW4oKGhhc0FjY2VzcykgPT4ge1xuICAgICAgaWYgKCFoYXNBY2Nlc3MpIHtcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7IHNldmVyaXR5OiAnZXJyb3InLCB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm5vX21pY3JvcGhvbmVfcGVybWlzc2lvbicpIH0pO1xuICAgICAgICBzcGVlY2hTdWJqZWN0LmVycm9yKCdNaWNyb3Bob25lIGFjY2VzcyBpcyBkaXNhYmxlZCcpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5jb250aW51b3VzID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVjb2duaXRpb24uaW50ZXJpbVJlc3VsdHMgPSB0cnVlO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5tYXhBbHRlcm5hdGl2ZXMgPSAxO1xuICAgICAgbGV0IHNpbGVuY2VUaW1lcjogYW55O1xuICAgICAgY29uc3QgcmVzdGFydFNpbGVuY2VUaW1lciA9ICgpID0+IHtcbiAgICAgICAgaWYgKHNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHNpbGVuY2VUaW1lcik7XG4gICAgICAgIH1cblxuICAgICAgICBzaWxlbmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgICAgICAgfSwgdGhpcy5USU1FT1VUX05PX01FU1NBR0UpO1xuICAgICAgfTtcbiAgICAgIGxldCBmdWxsVHJhbnNjcmlwdCA9ICcnO1xuICAgICAgbGV0IGludGVyaW1UcmFuc2NyaXB0ID0gJyc7XG5cbiAgICAgIHRoaXMucmVjb2duaXRpb24ub25yZXN1bHQgPSAoZXZlbnQ6IFNwZWVjaFJlY29nbml0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICByZXN0YXJ0U2lsZW5jZVRpbWVyKCk7XG4gICAgICAgICAgbGV0IGludGVyaW1UcmFuc2NyaXB0ID0gJyc7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IGV2ZW50LnJlc3VsdEluZGV4OyBpIDwgZXZlbnQucmVzdWx0cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNjcmlwdCA9IGV2ZW50LnJlc3VsdHNbaV1bMF0udHJhbnNjcmlwdDtcbiAgICAgICAgICAgIGlmIChldmVudC5yZXN1bHRzW2ldLmlzRmluYWwpIHtcbiAgICAgICAgICAgICAgZnVsbFRyYW5zY3JpcHQgKz0gdHJhbnNjcmlwdCArICdcXG4nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaW50ZXJpbVRyYW5zY3JpcHQgKz0gdHJhbnNjcmlwdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW50ZXJpbVRyYW5zY3JpcHQgPSBpbnRlcmltVHJhbnNjcmlwdDtcbiAgICAgICAgICBzcGVlY2hTdWJqZWN0Lm5leHQoeyB0ZXh0OiBmdWxsVHJhbnNjcmlwdCArIGludGVyaW1UcmFuc2NyaXB0LCBpc0ZpbmFsOiBmYWxzZSB9KTtcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgICB0aGlzLnJlY29nbml0aW9uLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoc2lsZW5jZVRpbWVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0xpc3RlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIHNwZWVjaFN1YmplY3QuZXJyb3IoJ1NwZWVjaCByZWNvZ25pdGlvbiBlcnJvcicpO1xuICAgICAgICB9KVxuICAgICAgfTtcblxuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVuZCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAoc2lsZW5jZVRpbWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChzaWxlbmNlVGltZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGVlY2hTdWJqZWN0Lm5leHQoeyB0ZXh0OiBmdWxsVHJhbnNjcmlwdCArIGludGVyaW1UcmFuc2NyaXB0LCBpc0ZpbmFsOiB0cnVlIH0pO1xuICAgICAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICBzcGVlY2hTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdGFydCgpO1xuICAgIH0pXG4gICAgcmV0dXJuIHNwZWVjaFN1YmplY3Q7XG4gIH1cblxuXG4gIHN0b3AoKSB7XG4gICAgdGhpcy5yZWNvZ25pdGlvbi5zdG9wKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlY29nbml0aW9uKCkge1xuICAgIGNvbnN0IFNwZWVjaFJlY29nbml0aW9uQ29uc3RydWN0b3IgPVxuICAgICAgKHdpbmRvdyBhcyBhbnkpLlNwZWVjaFJlY29nbml0aW9uIHx8ICh3aW5kb3cgYXMgYW55KS53ZWJraXRTcGVlY2hSZWNvZ25pdGlvbjtcblxuICAgIGlmICghU3BlZWNoUmVjb2duaXRpb25Db25zdHJ1Y3Rvcikge1xuICAgICAgY29uc29sZS53YXJuKCdTcGVlY2ggcmVjb2duaXRpb24gaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnJlY29nbml0aW9uID0gbmV3IFNwZWVjaFJlY29nbml0aW9uQ29uc3RydWN0b3IoKTtcbiAgICB0aGlzLnJlY29nbml0aW9uLmxhbmcgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlT3B0aW9ucygpPy5sb2NhbGUgfHwgJ3B0LUJSJztcbiAgICB0aGlzLnJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5yZWNvZ25pdGlvbi5tYXhBbHRlcm5hdGl2ZXMgPSAxO1xuICAgIHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGUoKS5zdWJzY3JpYmUobG9jYWxlID0+IHRoaXMucmVjb2duaXRpb24ubGFuZyA9IGxvY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhc01pY3JvcGhvbmVBY2Nlc3MoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBhd2FpdCBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoeyBuYW1lOiAnbWljcm9waG9uZScgfSk7XG5cbiAgICAgIGlmIChwZXJtaXNzaW9uLnN0YXRlID09PSAnZGVuaWVkJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChwZXJtaXNzaW9uLnN0YXRlID09PSAnZ3JhbnRlZCcpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChwZXJtaXNzaW9uLnN0YXRlID09PSAncHJvbXB0Jykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgYXVkaW86IHRydWUgfSk7XG4gICAgICAgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godCA9PiB0LnN0b3AoKSk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVdkQsSUFBYSx3QkFBd0IsR0FBckMsTUFBYSx3QkFBd0I7SUFNbkMsWUFDbUIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLFlBQTBCLEVBQ25DLGdCQUFrQztRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVQ1QyxnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFSCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFRekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLGFBQWEsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksQ0FB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QyxDQUFDO3dCQUN6RCxDQUFDLENBQUMsQ0FBQTtvQkFDSixDQUFDLENBQUE7aUJBQ0Y7Z0JBQUMsT0FBTyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNoQjthQUNGO1FBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRixDQUFBOztZQTVIbUMsYUFBYTtZQUNwQixNQUFNO1lBQ0EsWUFBWTtZQUNqQixnQkFBZ0I7OztBQVZqQyx3QkFBd0I7SUFIcEMsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQztHQUNXLHdCQUF3QixDQW1JcEM7U0FuSVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNwZWVjaFJlc3VsdCB7XG4gIHRleHQ6IHN0cmluZztcbiAgaXNGaW5hbDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlIHtcbiAgaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uID0gZmFsc2U7XG4gIGlzTGlzdGVuaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgcmVjb2duaXRpb24hOiBTcGVlY2hSZWNvZ25pdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBUSU1FT1VUX05PX01FU1NBR0UgPSAzMDAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNldFJlY29nbml0aW9uKCk7XG4gIH1cblxuICBsaXN0ZW4oKSB7XG4gICAgY29uc3Qgc3BlZWNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PFNwZWVjaFJlc3VsdD4oKTtcbiAgICBpZiAodGhpcy5pc0xpc3RlbmluZykge1xuICAgICAgc3BlZWNoU3ViamVjdC5lcnJvcignQWxyZWFkeSBsaXN0ZW5pbmcnKTtcbiAgICB9XG4gICAgdGhpcy5oYXNNaWNyb3Bob25lQWNjZXNzLnRoZW4oKGhhc0FjY2VzcykgPT4ge1xuICAgICAgaWYgKCFoYXNBY2Nlc3MpIHtcbiAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7IHNldmVyaXR5OiAnZXJyb3InLCB0ZXh0OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgncGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLm5vX21pY3JvcGhvbmVfcGVybWlzc2lvbicpIH0pO1xuICAgICAgICBzcGVlY2hTdWJqZWN0LmVycm9yKCdNaWNyb3Bob25lIGFjY2VzcyBpcyBkaXNhYmxlZCcpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSB0cnVlO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5jb250aW51b3VzID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVjb2duaXRpb24uaW50ZXJpbVJlc3VsdHMgPSB0cnVlO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5tYXhBbHRlcm5hdGl2ZXMgPSAxO1xuICAgICAgbGV0IHNpbGVuY2VUaW1lcjogYW55O1xuICAgICAgY29uc3QgcmVzdGFydFNpbGVuY2VUaW1lciA9ICgpID0+IHtcbiAgICAgICAgaWYgKHNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHNpbGVuY2VUaW1lcik7XG4gICAgICAgIH1cblxuICAgICAgICBzaWxlbmNlVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgICAgICAgfSwgdGhpcy5USU1FT1VUX05PX01FU1NBR0UpO1xuICAgICAgfTtcbiAgICAgIGxldCBmdWxsVHJhbnNjcmlwdCA9ICcnO1xuICAgICAgbGV0IGludGVyaW1UcmFuc2NyaXB0ID0gJyc7XG5cbiAgICAgIHRoaXMucmVjb2duaXRpb24ub25yZXN1bHQgPSAoZXZlbnQ6IFNwZWVjaFJlY29nbml0aW9uRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICByZXN0YXJ0U2lsZW5jZVRpbWVyKCk7XG4gICAgICAgICAgbGV0IGludGVyaW1UcmFuc2NyaXB0ID0gJyc7XG4gICAgICAgICAgZm9yIChsZXQgaSA9IGV2ZW50LnJlc3VsdEluZGV4OyBpIDwgZXZlbnQucmVzdWx0cy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgY29uc3QgdHJhbnNjcmlwdCA9IGV2ZW50LnJlc3VsdHNbaV1bMF0udHJhbnNjcmlwdDtcbiAgICAgICAgICAgIGlmIChldmVudC5yZXN1bHRzW2ldLmlzRmluYWwpIHtcbiAgICAgICAgICAgICAgZnVsbFRyYW5zY3JpcHQgKz0gdHJhbnNjcmlwdCArICdcXG4nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaW50ZXJpbVRyYW5zY3JpcHQgKz0gdHJhbnNjcmlwdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW50ZXJpbVRyYW5zY3JpcHQgPSBpbnRlcmltVHJhbnNjcmlwdDtcbiAgICAgICAgICBzcGVlY2hTdWJqZWN0Lm5leHQoeyB0ZXh0OiBmdWxsVHJhbnNjcmlwdCArIGludGVyaW1UcmFuc2NyaXB0LCBpc0ZpbmFsOiBmYWxzZSB9KTtcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgICB0aGlzLnJlY29nbml0aW9uLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoc2lsZW5jZVRpbWVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pc0xpc3RlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIHNwZWVjaFN1YmplY3QuZXJyb3IoJ1NwZWVjaCByZWNvZ25pdGlvbiBlcnJvcicpO1xuICAgICAgICB9KVxuICAgICAgfTtcblxuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVuZCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAoc2lsZW5jZVRpbWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChzaWxlbmNlVGltZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGVlY2hTdWJqZWN0Lm5leHQoeyB0ZXh0OiBmdWxsVHJhbnNjcmlwdCArIGludGVyaW1UcmFuc2NyaXB0LCBpc0ZpbmFsOiB0cnVlIH0pO1xuICAgICAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICBzcGVlY2hTdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdGFydCgpO1xuICAgIH0pXG4gICAgcmV0dXJuIHNwZWVjaFN1YmplY3Q7XG4gIH1cblxuXG4gIHN0b3AoKSB7XG4gICAgdGhpcy5yZWNvZ25pdGlvbi5zdG9wKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFJlY29nbml0aW9uKCkge1xuICAgIGNvbnN0IFNwZWVjaFJlY29nbml0aW9uQ29uc3RydWN0b3IgPVxuICAgICAgKHdpbmRvdyBhcyBhbnkpLlNwZWVjaFJlY29nbml0aW9uIHx8ICh3aW5kb3cgYXMgYW55KS53ZWJraXRTcGVlY2hSZWNvZ25pdGlvbjtcblxuICAgIGlmICghU3BlZWNoUmVjb2duaXRpb25Db25zdHJ1Y3Rvcikge1xuICAgICAgY29uc29sZS53YXJuKCdTcGVlY2ggcmVjb2duaXRpb24gaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXIuJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uID0gdHJ1ZTtcbiAgICB0aGlzLnJlY29nbml0aW9uID0gbmV3IFNwZWVjaFJlY29nbml0aW9uQ29uc3RydWN0b3IoKTtcbiAgICB0aGlzLnJlY29nbml0aW9uLmxhbmcgPSB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlT3B0aW9ucygpPy5sb2NhbGUgfHwgJ3B0LUJSJztcbiAgICB0aGlzLnJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gZmFsc2U7XG4gICAgdGhpcy5yZWNvZ25pdGlvbi5tYXhBbHRlcm5hdGl2ZXMgPSAxO1xuICAgIHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGUoKS5zdWJzY3JpYmUobG9jYWxlID0+IHRoaXMucmVjb2duaXRpb24ubGFuZyA9IGxvY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBoYXNNaWNyb3Bob25lQWNjZXNzKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgcGVybWlzc2lvbiA9IGF3YWl0IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSh7IG5hbWU6ICdtaWNyb3Bob25lJyB9KTtcbiAgICAgIGlmIChwZXJtaXNzaW9uLnN0YXRlID09PSAnZGVuaWVkJykge1xuICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgIH0gZWxzZSBpZiAocGVybWlzc2lvbi5zdGF0ZSA9PT0gJ2dyYW50ZWQnKSB7XG4gICAgICAgIHJlc29sdmUodHJ1ZSlcbiAgICAgIH0gZWxzZSBpZiAocGVybWlzc2lvbi5zdGF0ZSA9PT0gJ3Byb21wdCcpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzLmdldFVzZXJNZWRpYSh7IGF1ZGlvOiB0cnVlIH0pLnRoZW4oKHN0cmVhbSkgPT4ge1xuICAgICAgICAgICAgc3RyZWFtLmdldFRyYWNrcygpLmZvckVhY2godCA9PiB0LnN0b3AoKSk7XG4gICAgICAgICAgfSkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcGVybWlzc2lvbi5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgIHJlc29sdmUocGVybWlzc2lvbi5zdGF0ZSA9PT0gJ2dyYW50ZWQnID8gdHJ1ZSA6IGZhbHNlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIl19
|
|
@@ -25,7 +25,7 @@ var SpeechRecognitionService = /** @class */ (function () {
|
|
|
25
25
|
if (this.isListening) {
|
|
26
26
|
speechSubject.error('Already listening');
|
|
27
27
|
}
|
|
28
|
-
this.hasMicrophoneAccess
|
|
28
|
+
this.hasMicrophoneAccess.then(function (hasAccess) {
|
|
29
29
|
if (!hasAccess) {
|
|
30
30
|
_this.toastService.show({ severity: 'error', text: _this.translateService.instant('platform.angular_components.no_microphone_permission') });
|
|
31
31
|
speechSubject.error('Microphone access is disabled');
|
|
@@ -104,43 +104,48 @@ var SpeechRecognitionService = /** @class */ (function () {
|
|
|
104
104
|
this.recognition.maxAlternatives = 1;
|
|
105
105
|
this.localeService.getLocale().subscribe(function (locale) { return _this.recognition.lang = locale; });
|
|
106
106
|
};
|
|
107
|
-
SpeechRecognitionService.prototype
|
|
108
|
-
|
|
109
|
-
var
|
|
110
|
-
return
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
107
|
+
Object.defineProperty(SpeechRecognitionService.prototype, "hasMicrophoneAccess", {
|
|
108
|
+
get: function () {
|
|
109
|
+
var _this = this;
|
|
110
|
+
return new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
|
|
111
|
+
var permission;
|
|
112
|
+
var _this = this;
|
|
113
|
+
return __generator(this, function (_a) {
|
|
114
|
+
switch (_a.label) {
|
|
115
|
+
case 0: return [4 /*yield*/, navigator.permissions.query({ name: 'microphone' })];
|
|
116
|
+
case 1:
|
|
117
|
+
permission = _a.sent();
|
|
118
|
+
if (permission.state === 'denied') {
|
|
119
|
+
resolve(false);
|
|
120
|
+
}
|
|
121
|
+
else if (permission.state === 'granted') {
|
|
122
|
+
resolve(true);
|
|
123
|
+
}
|
|
124
|
+
else if (permission.state === 'prompt') {
|
|
125
|
+
try {
|
|
126
|
+
navigator.mediaDevices.getUserMedia({ audio: true }).then(function (stream) {
|
|
127
|
+
stream.getTracks().forEach(function (t) { return t.stop(); });
|
|
128
|
+
}).catch(function () {
|
|
129
|
+
resolve(false);
|
|
130
|
+
});
|
|
131
|
+
permission.onchange = function () {
|
|
132
|
+
_this.ngZone.run(function () {
|
|
133
|
+
resolve(permission.state === 'granted' ? true : false);
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
resolve(false);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return [2 /*return*/];
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}); });
|
|
145
|
+
},
|
|
146
|
+
enumerable: true,
|
|
147
|
+
configurable: true
|
|
148
|
+
});
|
|
144
149
|
SpeechRecognitionService.ctorParameters = function () { return [
|
|
145
150
|
{ type: LocaleService },
|
|
146
151
|
{ type: NgZone },
|
|
@@ -156,4 +161,4 @@ var SpeechRecognitionService = /** @class */ (function () {
|
|
|
156
161
|
return SpeechRecognitionService;
|
|
157
162
|
}());
|
|
158
163
|
export { SpeechRecognitionService };
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVdkQ7SUFNRSxrQ0FDbUIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLFlBQTBCLEVBQ25DLGdCQUFrQztRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVQ1QyxnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFSCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFRekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCx5Q0FBTSxHQUFOO1FBQUEsaUJBb0VDO1FBbkVDLElBQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixhQUFhLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEVB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Q0FBQztJQUNyRixDQUFDO0lBRWEsc0RBQW1CLEdBQWpDOzs7Ozs7O3dCQUV1QixxQkFBTSxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFBOzt3QkFBdEUsVUFBVSxHQUFHLFNBQXlEO3dCQUU1RSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFOzRCQUNqQyxzQkFBTyxLQUFLLEVBQUM7eUJBQ2Q7d0JBRUQsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTs0QkFDbEMsc0JBQU8sSUFBSSxFQUFDO3lCQUNiOzZCQUVHLENBQUEsVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUEsRUFBN0Isd0JBQTZCOzs7O3dCQUVkLHFCQUFNLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUE7O3dCQUFuRSxNQUFNLEdBQUcsU0FBMEQ7d0JBQ3pFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQVIsQ0FBUSxDQUFDLENBQUM7d0JBQzFDLHNCQUFPLElBQUksRUFBQzs7O3dCQUVaLHNCQUFPLEtBQUssRUFBQzs0QkFJakIsc0JBQU8sS0FBSyxFQUFDOzs7d0JBRWIsc0JBQU8sS0FBSyxFQUFDOzs7OztLQUVoQjs7Z0JBN0hpQyxhQUFhO2dCQUNwQixNQUFNO2dCQUNBLFlBQVk7Z0JBQ2pCLGdCQUFnQjs7O0lBVmpDLHdCQUF3QjtRQUhwQyxVQUFVLENBQUM7WUFDVixVQUFVLEVBQUUsTUFBTTtTQUNuQixDQUFDO09BQ1csd0JBQXdCLENBcUlwQzttQ0FuSkQ7Q0FtSkMsQUFySUQsSUFxSUM7U0FySVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NhbGVTZXJ2aWNlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNwZWVjaFJlc3VsdCB7XG4gIHRleHQ6IHN0cmluZztcbiAgaXNGaW5hbDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3BlZWNoUmVjb2duaXRpb25TZXJ2aWNlIHtcbiAgaGFzU3VwcG9ydFNwZWVjaFJlY29nbml0aW9uID0gZmFsc2U7XG4gIGlzTGlzdGVuaW5nID0gZmFsc2U7XG4gIHByaXZhdGUgcmVjb2duaXRpb24hOiBTcGVlY2hSZWNvZ25pdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBUSU1FT1VUX05PX01FU1NBR0UgPSAzMDAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYWxlU2VydmljZTogTG9jYWxlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNldFJlY29nbml0aW9uKCk7XG4gIH1cblxuICBsaXN0ZW4oKSB7XG4gICAgY29uc3Qgc3BlZWNoU3ViamVjdCA9IG5ldyBTdWJqZWN0PFNwZWVjaFJlc3VsdD4oKTtcbiAgICBpZiAodGhpcy5pc0xpc3RlbmluZykge1xuICAgICAgc3BlZWNoU3ViamVjdC5lcnJvcignQWxyZWFkeSBsaXN0ZW5pbmcnKTtcbiAgICB9XG4gICAgdGhpcy5oYXNNaWNyb3Bob25lQWNjZXNzKCkudGhlbigoaGFzQWNjZXNzKSA9PiB7XG4gICAgICBpZiAoIWhhc0FjY2Vzcykge1xuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zaG93KHsgc2V2ZXJpdHk6ICdlcnJvcicsIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMubm9fbWljcm9waG9uZV9wZXJtaXNzaW9uJykgfSk7XG4gICAgICAgIHNwZWVjaFN1YmplY3QuZXJyb3IoJ01pY3JvcGhvbmUgYWNjZXNzIGlzIGRpc2FibGVkJyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5pc0xpc3RlbmluZyA9IHRydWU7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLmNvbnRpbnVvdXMgPSB0cnVlO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IHRydWU7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLm1heEFsdGVybmF0aXZlcyA9IDE7XG4gICAgICBsZXQgc2lsZW5jZVRpbWVyOiBhbnk7XG4gICAgICBjb25zdCByZXN0YXJ0U2lsZW5jZVRpbWVyID0gKCkgPT4ge1xuICAgICAgICBpZiAoc2lsZW5jZVRpbWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQoc2lsZW5jZVRpbWVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNpbGVuY2VUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMucmVjb2duaXRpb24uc3RvcCgpO1xuICAgICAgICB9LCB0aGlzLlRJTUVPVVRfTk9fTUVTU0FHRSk7XG4gICAgICB9O1xuICAgICAgbGV0IGZ1bGxUcmFuc2NyaXB0ID0gJyc7XG4gICAgICBsZXQgaW50ZXJpbVRyYW5zY3JpcHQgPSAnJztcblxuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbnJlc3VsdCA9IChldmVudDogU3BlZWNoUmVjb2duaXRpb25FdmVudCkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHJlc3RhcnRTaWxlbmNlVGltZXIoKTtcbiAgICAgICAgICBsZXQgaW50ZXJpbVRyYW5zY3JpcHQgPSAnJztcbiAgICAgICAgICBmb3IgKGxldCBpID0gZXZlbnQucmVzdWx0SW5kZXg7IGkgPCBldmVudC5yZXN1bHRzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBjb25zdCB0cmFuc2NyaXB0ID0gZXZlbnQucmVzdWx0c1tpXVswXS50cmFuc2NyaXB0O1xuICAgICAgICAgICAgaWYgKGV2ZW50LnJlc3VsdHNbaV0uaXNGaW5hbCkge1xuICAgICAgICAgICAgICBmdWxsVHJhbnNjcmlwdCArPSB0cmFuc2NyaXB0ICsgJ1xcbic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpbnRlcmltVHJhbnNjcmlwdCArPSB0cmFuc2NyaXB0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpbnRlcmltVHJhbnNjcmlwdCA9IGludGVyaW1UcmFuc2NyaXB0O1xuICAgICAgICAgIHNwZWVjaFN1YmplY3QubmV4dCh7IHRleHQ6IGZ1bGxUcmFuc2NyaXB0ICsgaW50ZXJpbVRyYW5zY3JpcHQsIGlzRmluYWw6IGZhbHNlIH0pO1xuICAgICAgICB9KVxuICAgICAgfTtcbiAgICAgIHRoaXMucmVjb2duaXRpb24ub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICBpZiAoc2lsZW5jZVRpbWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dChzaWxlbmNlVGltZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgc3BlZWNoU3ViamVjdC5lcnJvcignU3BlZWNoIHJlY29nbml0aW9uIGVycm9yJyk7XG4gICAgICAgIH0pXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlY29nbml0aW9uLm9uZW5kID0gKCkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChzaWxlbmNlVGltZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHNpbGVuY2VUaW1lcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwZWVjaFN1YmplY3QubmV4dCh7IHRleHQ6IGZ1bGxUcmFuc2NyaXB0ICsgaW50ZXJpbVRyYW5zY3JpcHQsIGlzRmluYWw6IHRydWUgfSk7XG4gICAgICAgICAgdGhpcy5pc0xpc3RlbmluZyA9IGZhbHNlO1xuICAgICAgICAgIHNwZWVjaFN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgICB0aGlzLnJlY29nbml0aW9uLnN0YXJ0KCk7XG4gICAgfSlcbiAgICByZXR1cm4gc3BlZWNoU3ViamVjdDtcbiAgfVxuXG5cbiAgc3RvcCgpIHtcbiAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmVjb2duaXRpb24oKSB7XG4gICAgY29uc3QgU3BlZWNoUmVjb2duaXRpb25Db25zdHJ1Y3RvciA9XG4gICAgICAod2luZG93IGFzIGFueSkuU3BlZWNoUmVjb2duaXRpb24gfHwgKHdpbmRvdyBhcyBhbnkpLndlYmtpdFNwZWVjaFJlY29nbml0aW9uO1xuXG4gICAgaWYgKCFTcGVlY2hSZWNvZ25pdGlvbkNvbnN0cnVjdG9yKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ1NwZWVjaCByZWNvZ25pdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGluIHRoaXMgYnJvd3Nlci4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5oYXNTdXBwb3J0U3BlZWNoUmVjb2duaXRpb24gPSB0cnVlO1xuICAgIHRoaXMucmVjb2duaXRpb24gPSBuZXcgU3BlZWNoUmVjb2duaXRpb25Db25zdHJ1Y3RvcigpO1xuICAgIHRoaXMucmVjb2duaXRpb24ubGFuZyA9IHRoaXMubG9jYWxlU2VydmljZS5nZXRMb2NhbGVPcHRpb25zKCk/LmxvY2FsZSB8fCAncHQtQlInO1xuICAgIHRoaXMucmVjb2duaXRpb24uaW50ZXJpbVJlc3VsdHMgPSBmYWxzZTtcbiAgICB0aGlzLnJlY29nbml0aW9uLm1heEFsdGVybmF0aXZlcyA9IDE7XG4gICAgdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZSgpLnN1YnNjcmliZShsb2NhbGUgPT4gdGhpcy5yZWNvZ25pdGlvbi5sYW5nID0gbG9jYWxlKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFzTWljcm9waG9uZUFjY2VzcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGVybWlzc2lvbiA9IGF3YWl0IG5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSh7IG5hbWU6ICdtaWNyb3Bob25lJyB9KTtcblxuICAgICAgaWYgKHBlcm1pc3Npb24uc3RhdGUgPT09ICdkZW5pZWQnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBlcm1pc3Npb24uc3RhdGUgPT09ICdncmFudGVkJykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHBlcm1pc3Npb24uc3RhdGUgPT09ICdwcm9tcHQnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSB9KTtcbiAgICAgICAgICBzdHJlYW0uZ2V0VHJhY2tzKCkuZm9yRWFjaCh0ID0+IHQuc3RvcCgpKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9zcGVlY2gtcmVjb2duaXRpb24vc3BlZWNoLXJlY29nbml0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFVdkQ7SUFNRSxrQ0FDbUIsYUFBNEIsRUFDNUIsTUFBYyxFQUNkLFlBQTBCLEVBQ25DLGdCQUFrQztRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDbkMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVQ1QyxnQ0FBMkIsR0FBRyxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFSCx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFRekMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCx5Q0FBTSxHQUFOO1FBQUEsaUJBb0VDO1FBbkVDLElBQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixhQUFhLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDMUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLENB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QUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztpQ0FDaEI7NkJBQ0Y7Ozs7aUJBQ0YsQ0FBQyxDQUFBO1FBQ0osQ0FBQzs7O09BQUE7O2dCQTNIaUMsYUFBYTtnQkFDcEIsTUFBTTtnQkFDQSxZQUFZO2dCQUNqQixnQkFBZ0I7OztJQVZqQyx3QkFBd0I7UUFIcEMsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE1BQU07U0FDbkIsQ0FBQztPQUNXLHdCQUF3QixDQW1JcEM7bUNBakpEO0NBaUpDLEFBbklELElBbUlDO1NBbklZLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTcGVlY2hSZXN1bHQge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGlzRmluYWw6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFJlY29nbml0aW9uU2VydmljZSB7XG4gIGhhc1N1cHBvcnRTcGVlY2hSZWNvZ25pdGlvbiA9IGZhbHNlO1xuICBpc0xpc3RlbmluZyA9IGZhbHNlO1xuICBwcml2YXRlIHJlY29nbml0aW9uITogU3BlZWNoUmVjb2duaXRpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgVElNRU9VVF9OT19NRVNTQUdFID0gMzAwMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2U6IExvY2FsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5zZXRSZWNvZ25pdGlvbigpO1xuICB9XG5cbiAgbGlzdGVuKCkge1xuICAgIGNvbnN0IHNwZWVjaFN1YmplY3QgPSBuZXcgU3ViamVjdDxTcGVlY2hSZXN1bHQ+KCk7XG4gICAgaWYgKHRoaXMuaXNMaXN0ZW5pbmcpIHtcbiAgICAgIHNwZWVjaFN1YmplY3QuZXJyb3IoJ0FscmVhZHkgbGlzdGVuaW5nJyk7XG4gICAgfVxuICAgIHRoaXMuaGFzTWljcm9waG9uZUFjY2Vzcy50aGVuKChoYXNBY2Nlc3MpID0+IHtcbiAgICAgIGlmICghaGFzQWNjZXNzKSB7XG4gICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLnNob3coeyBzZXZlcml0eTogJ2Vycm9yJywgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3BsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5ub19taWNyb3Bob25lX3Blcm1pc3Npb24nKSB9KTtcbiAgICAgICAgc3BlZWNoU3ViamVjdC5lcnJvcignTWljcm9waG9uZSBhY2Nlc3MgaXMgZGlzYWJsZWQnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmlzTGlzdGVuaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVjb2duaXRpb24uY29udGludW91cyA9IHRydWU7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVjb2duaXRpb24ubWF4QWx0ZXJuYXRpdmVzID0gMTtcbiAgICAgIGxldCBzaWxlbmNlVGltZXI6IGFueTtcbiAgICAgIGNvbnN0IHJlc3RhcnRTaWxlbmNlVGltZXIgPSAoKSA9PiB7XG4gICAgICAgIGlmIChzaWxlbmNlVGltZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChzaWxlbmNlVGltZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2lsZW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdG9wKCk7XG4gICAgICAgIH0sIHRoaXMuVElNRU9VVF9OT19NRVNTQUdFKTtcbiAgICAgIH07XG4gICAgICBsZXQgZnVsbFRyYW5zY3JpcHQgPSAnJztcbiAgICAgIGxldCBpbnRlcmltVHJhbnNjcmlwdCA9ICcnO1xuXG4gICAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgcmVzdGFydFNpbGVuY2VUaW1lcigpO1xuICAgICAgICAgIGxldCBpbnRlcmltVHJhbnNjcmlwdCA9ICcnO1xuICAgICAgICAgIGZvciAobGV0IGkgPSBldmVudC5yZXN1bHRJbmRleDsgaSA8IGV2ZW50LnJlc3VsdHMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIGNvbnN0IHRyYW5zY3JpcHQgPSBldmVudC5yZXN1bHRzW2ldWzBdLnRyYW5zY3JpcHQ7XG4gICAgICAgICAgICBpZiAoZXZlbnQucmVzdWx0c1tpXS5pc0ZpbmFsKSB7XG4gICAgICAgICAgICAgIGZ1bGxUcmFuc2NyaXB0ICs9IHRyYW5zY3JpcHQgKyAnXFxuJztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGludGVyaW1UcmFuc2NyaXB0ICs9IHRyYW5zY3JpcHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGludGVyaW1UcmFuc2NyaXB0ID0gaW50ZXJpbVRyYW5zY3JpcHQ7XG4gICAgICAgICAgc3BlZWNoU3ViamVjdC5uZXh0KHsgdGV4dDogZnVsbFRyYW5zY3JpcHQgKyBpbnRlcmltVHJhbnNjcmlwdCwgaXNGaW5hbDogZmFsc2UgfSk7XG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIGlmIChzaWxlbmNlVGltZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHNpbGVuY2VUaW1lcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaXNMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgICAgICAgICBzcGVlY2hTdWJqZWN0LmVycm9yKCdTcGVlY2ggcmVjb2duaXRpb24gZXJyb3InKTtcbiAgICAgICAgfSlcbiAgICAgIH07XG5cbiAgICAgIHRoaXMucmVjb2duaXRpb24ub25lbmQgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgaWYgKHNpbGVuY2VUaW1lciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoc2lsZW5jZVRpbWVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BlZWNoU3ViamVjdC5uZXh0KHsgdGV4dDogZnVsbFRyYW5zY3JpcHQgKyBpbnRlcmltVHJhbnNjcmlwdCwgaXNGaW5hbDogdHJ1ZSB9KTtcbiAgICAgICAgICB0aGlzLmlzTGlzdGVuaW5nID0gZmFsc2U7XG4gICAgICAgICAgc3BlZWNoU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICB9KVxuICAgICAgfTtcbiAgICAgIHRoaXMucmVjb2duaXRpb24uc3RhcnQoKTtcbiAgICB9KVxuICAgIHJldHVybiBzcGVlY2hTdWJqZWN0O1xuICB9XG5cblxuICBzdG9wKCkge1xuICAgIHRoaXMucmVjb2duaXRpb24uc3RvcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRSZWNvZ25pdGlvbigpIHtcbiAgICBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkNvbnN0cnVjdG9yID1cbiAgICAgICh3aW5kb3cgYXMgYW55KS5TcGVlY2hSZWNvZ25pdGlvbiB8fCAod2luZG93IGFzIGFueSkud2Via2l0U3BlZWNoUmVjb2duaXRpb247XG5cbiAgICBpZiAoIVNwZWVjaFJlY29nbml0aW9uQ29uc3RydWN0b3IpIHtcbiAgICAgIGNvbnNvbGUud2FybignU3BlZWNoIHJlY29nbml0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyLicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhhc1N1cHBvcnRTcGVlY2hSZWNvZ25pdGlvbiA9IHRydWU7XG4gICAgdGhpcy5yZWNvZ25pdGlvbiA9IG5ldyBTcGVlY2hSZWNvZ25pdGlvbkNvbnN0cnVjdG9yKCk7XG4gICAgdGhpcy5yZWNvZ25pdGlvbi5sYW5nID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmdldExvY2FsZU9wdGlvbnMoKT8ubG9jYWxlIHx8ICdwdC1CUic7XG4gICAgdGhpcy5yZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMucmVjb2duaXRpb24ubWF4QWx0ZXJuYXRpdmVzID0gMTtcbiAgICB0aGlzLmxvY2FsZVNlcnZpY2UuZ2V0TG9jYWxlKCkuc3Vic2NyaWJlKGxvY2FsZSA9PiB0aGlzLnJlY29nbml0aW9uLmxhbmcgPSBsb2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaGFzTWljcm9waG9uZUFjY2VzcygpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBhd2FpdCBuYXZpZ2F0b3IucGVybWlzc2lvbnMucXVlcnkoeyBuYW1lOiAnbWljcm9waG9uZScgfSk7XG4gICAgICBpZiAocGVybWlzc2lvbi5zdGF0ZSA9PT0gJ2RlbmllZCcpIHtcbiAgICAgICAgcmVzb2x2ZShmYWxzZSk7XG4gICAgICB9IGVsc2UgaWYgKHBlcm1pc3Npb24uc3RhdGUgPT09ICdncmFudGVkJykge1xuICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICB9IGVsc2UgaWYgKHBlcm1pc3Npb24uc3RhdGUgPT09ICdwcm9tcHQnKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoeyBhdWRpbzogdHJ1ZSB9KS50aGVuKChzdHJlYW0pID0+IHtcbiAgICAgICAgICAgIHN0cmVhbS5nZXRUcmFja3MoKS5mb3JFYWNoKHQgPT4gdC5zdG9wKCkpO1xuICAgICAgICAgIH0pLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHBlcm1pc3Npb24ub25jaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICByZXNvbHZlKHBlcm1pc3Npb24uc3RhdGUgPT09ICdncmFudGVkJyA/IHRydWUgOiBmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -10632,7 +10632,7 @@ let SpeechRecognitionService = class SpeechRecognitionService {
|
|
|
10632
10632
|
if (this.isListening) {
|
|
10633
10633
|
speechSubject.error('Already listening');
|
|
10634
10634
|
}
|
|
10635
|
-
this.hasMicrophoneAccess
|
|
10635
|
+
this.hasMicrophoneAccess.then((hasAccess) => {
|
|
10636
10636
|
if (!hasAccess) {
|
|
10637
10637
|
this.toastService.show({ severity: 'error', text: this.translateService.instant('platform.angular_components.no_microphone_permission') });
|
|
10638
10638
|
speechSubject.error('Microphone access is disabled');
|
|
@@ -10710,32 +10710,33 @@ let SpeechRecognitionService = class SpeechRecognitionService {
|
|
|
10710
10710
|
this.recognition.maxAlternatives = 1;
|
|
10711
10711
|
this.localeService.getLocale().subscribe(locale => this.recognition.lang = locale);
|
|
10712
10712
|
}
|
|
10713
|
-
hasMicrophoneAccess() {
|
|
10714
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
10715
|
-
|
|
10716
|
-
|
|
10717
|
-
|
|
10718
|
-
|
|
10719
|
-
|
|
10720
|
-
|
|
10721
|
-
|
|
10722
|
-
|
|
10723
|
-
|
|
10724
|
-
|
|
10725
|
-
const stream = yield navigator.mediaDevices.getUserMedia({ audio: true });
|
|
10713
|
+
get hasMicrophoneAccess() {
|
|
10714
|
+
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
10715
|
+
const permission = yield navigator.permissions.query({ name: 'microphone' });
|
|
10716
|
+
if (permission.state === 'denied') {
|
|
10717
|
+
resolve(false);
|
|
10718
|
+
}
|
|
10719
|
+
else if (permission.state === 'granted') {
|
|
10720
|
+
resolve(true);
|
|
10721
|
+
}
|
|
10722
|
+
else if (permission.state === 'prompt') {
|
|
10723
|
+
try {
|
|
10724
|
+
navigator.mediaDevices.getUserMedia({ audio: true }).then((stream) => {
|
|
10726
10725
|
stream.getTracks().forEach(t => t.stop());
|
|
10727
|
-
|
|
10728
|
-
|
|
10729
|
-
|
|
10730
|
-
|
|
10731
|
-
|
|
10726
|
+
}).catch(() => {
|
|
10727
|
+
resolve(false);
|
|
10728
|
+
});
|
|
10729
|
+
permission.onchange = () => {
|
|
10730
|
+
this.ngZone.run(() => {
|
|
10731
|
+
resolve(permission.state === 'granted' ? true : false);
|
|
10732
|
+
});
|
|
10733
|
+
};
|
|
10734
|
+
}
|
|
10735
|
+
catch (error) {
|
|
10736
|
+
resolve(false);
|
|
10732
10737
|
}
|
|
10733
|
-
return false;
|
|
10734
|
-
}
|
|
10735
|
-
catch (_b) {
|
|
10736
|
-
return false;
|
|
10737
10738
|
}
|
|
10738
|
-
});
|
|
10739
|
+
}));
|
|
10739
10740
|
}
|
|
10740
10741
|
};
|
|
10741
10742
|
SpeechRecognitionService.ctorParameters = () => [
|