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
JavaScript
/**
* @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==