UNPKG

ngx-face-api-js

Version:

Angular directives for face detection and face recognition in the browser. It is a wrapper for face-api.js, so it is not dependent on the browser implementation.

153 lines 9.58 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injector } from '@angular/core'; import { OverlayConfig } from '@angular/cdk/overlay'; import { ComponentPortal } from '@angular/cdk/portal'; import { DetectTask } from '../classes/DetectTask'; import { DetectionResultComponent } from '../components/detection-result/detection-result.component'; /** * @abstract */ var /** * @abstract */ AbstractDetectDirective = /** @class */ (function () { function AbstractDetectDirective(el, overlay, injector) { this.el = el; this.overlay = overlay; this.injector = injector; this.with = []; } /** * @return {?} */ AbstractDetectDirective.prototype.ngOnInit = /** * @return {?} */ function () { this.task = new DetectTask({ type: this.type, tokens: this.with, realtime: this.stream, }); }; Object.defineProperty(AbstractDetectDirective.prototype, "orverlayPositionStrategy", { get: /** * @private * @return {?} */ function () { return this.overlay .position() .flexibleConnectedTo(this.el) .withPositions([ { overlayX: 'start', overlayY: 'top', originX: 'start', originY: 'top', }, ]) .withFlexibleDimensions(false) .withLockedPosition(true); }, enumerable: true, configurable: true }); /** * @private * @return {?} */ AbstractDetectDirective.prototype.createOverlay = /** * @private * @return {?} */ function () { /** @type {?} */ var scrollStrategy = this.overlay.scrollStrategies.reposition(); /** @type {?} */ var config = new OverlayConfig({ positionStrategy: this.orverlayPositionStrategy, scrollStrategy: scrollStrategy, hasBackdrop: false, }); return this.overlay.create(config); }; /** * @private * @return {?} */ AbstractDetectDirective.prototype.createInjector = /** * @private * @return {?} */ function () { return Injector.create({ parent: this.injector, providers: [ { provide: DetectTask, useValue: this.task, }, ], }); }; /** * @return {?} */ AbstractDetectDirective.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.task.resolveTarget(this.el.nativeElement); /** @type {?} */ var overlayRef = this.createOverlay(); /** @type {?} */ var injector = this.createInjector(); /** @type {?} */ var portal = new ComponentPortal(DetectionResultComponent, undefined, injector); overlayRef.attach(portal); }; return AbstractDetectDirective; }()); /** * @abstract */ export { AbstractDetectDirective }; if (false) { /** * @type {?} * @protected */ AbstractDetectDirective.prototype.with; /** * @type {?} * @protected */ AbstractDetectDirective.prototype.type; /** * @type {?} * @protected */ AbstractDetectDirective.prototype.stream; /** @type {?} */ AbstractDetectDirective.prototype.task; /** * @type {?} * @protected */ AbstractDetectDirective.prototype.el; /** * @type {?} * @protected */ AbstractDetectDirective.prototype.overlay; /** * @type {?} * @protected */ AbstractDetectDirective.prototype.injector; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJic3RyYWN0LWRldGVjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZmFjZS1hcGktanMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9hYmJzdHJhY3QtZGV0ZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFjLFFBQVEsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFXLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUd0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkRBQTJELENBQUM7Ozs7QUFFckc7Ozs7SUFJRSxpQ0FDWSxFQUFnQyxFQUNoQyxPQUFnQixFQUNoQixRQUFrQjtRQUZsQixPQUFFLEdBQUYsRUFBRSxDQUE4QjtRQUNoQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFOWCxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQU8xQyxDQUFDOzs7O0lBRUosMENBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQztZQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBWSw2REFBd0I7Ozs7O1FBQXBDO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTztpQkFDaEIsUUFBUSxFQUFFO2lCQUNWLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7aUJBQzVCLGFBQWEsQ0FBQztnQkFDYjtvQkFDRSxRQUFRLEVBQUUsT0FBTztvQkFDakIsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxLQUFLO2lCQUNmO2FBQ0YsQ0FBQztpQkFDRCxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7aUJBQzdCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLENBQUM7OztPQUFBOzs7OztJQUVPLCtDQUFhOzs7O0lBQXJCOztZQUNRLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTs7WUFDM0QsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDO1lBQy9CLGdCQUFnQixFQUFFLElBQUksQ0FBQyx3QkFBd0I7WUFDL0MsY0FBYyxnQkFBQTtZQUNkLFdBQVcsRUFBRSxLQUFLO1NBQ25CLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Ozs7O0lBRU8sZ0RBQWM7Ozs7SUFBdEI7UUFDRSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3JCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsVUFBVTtvQkFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJO2lCQUNwQjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztJQUVELGlEQUFlOzs7SUFBZjtRQUNFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUM7O1lBQ3pDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFOztZQUNqQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRTs7WUFDaEMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUNoQyx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFFBQVEsQ0FDVDtRQUNELFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNILDhCQUFDO0FBQUQsQ0FBQyxBQW5FRCxJQW1FQzs7Ozs7Ozs7OztJQWxFQyx1Q0FBNkM7Ozs7O0lBQzdDLHVDQUF1Qzs7Ozs7SUFDdkMseUNBQW1DOztJQU1uQyx1Q0FBd0I7Ozs7O0lBSnRCLHFDQUEwQzs7Ozs7SUFDMUMsMENBQTBCOzs7OztJQUMxQiwyQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgT25Jbml0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBUYXNrVHlwZVRva2VuIH0gZnJvbSAnLi4vdG9rZW5zL1Rhc2tUeXBlVG9rZW4nO1xuaW1wb3J0IHsgRmVhdHVyZVRva2VuIH0gZnJvbSAnLi4vdG9rZW5zL0ZlYXR1cmVUb2tlbic7XG5pbXBvcnQgeyBEZXRlY3RUYXNrIH0gZnJvbSAnLi4vY2xhc3Nlcy9EZXRlY3RUYXNrJztcbmltcG9ydCB7IERldGVjdGlvblJlc3VsdENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZGV0ZWN0aW9uLXJlc3VsdC9kZXRlY3Rpb24tcmVzdWx0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERldGVjdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCB3aXRoOiBGZWF0dXJlVG9rZW5bXSA9IFtdO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdHlwZTogVGFza1R5cGVUb2tlbjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHN0cmVhbTogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGVsOiBFbGVtZW50UmVmPEhUTUxJbWFnZUVsZW1lbnQ+LFxuICAgIHByb3RlY3RlZCBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge31cbiAgcHVibGljIHRhc2s6IERldGVjdFRhc2s7XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudGFzayA9IG5ldyBEZXRlY3RUYXNrKHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHRva2VuczogdGhpcy53aXRoLFxuICAgICAgcmVhbHRpbWU6IHRoaXMuc3RyZWFtLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgb3J2ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgIC5wb3NpdGlvbigpXG4gICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmVsKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICB7XG4gICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAud2l0aExvY2tlZFBvc2l0aW9uKHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCkge1xuICAgIGNvbnN0IHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpO1xuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3J2ZXJsYXlQb3NpdGlvblN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3ksXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5qZWN0b3IoKTogSW5qZWN0b3Ige1xuICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEZXRlY3RUYXNrLFxuICAgICAgICAgIHVzZVZhbHVlOiB0aGlzLnRhc2ssXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudGFzay5yZXNvbHZlVGFyZ2V0KHRoaXMuZWwubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5jcmVhdGVJbmplY3RvcigpO1xuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoXG4gICAgICBEZXRlY3Rpb25SZXN1bHRDb21wb25lbnQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpbmplY3RvcixcbiAgICApO1xuICAgIG92ZXJsYXlSZWYuYXR0YWNoKHBvcnRhbCk7XG4gIH1cbn1cbiJdfQ==