UNPKG

ngx-slider-recaptcha

Version:
32 lines 6.17 kB
import { Injectable } from '@angular/core'; import { of } from 'rxjs'; import * as i0 from "@angular/core"; export class DefaultNgxSliderRecaptchaVerificationService { verify(verificationRequest) { if (!verificationRequest?.sliderMovements?.length) { return of({ success: false, message: 'No slider movement detected. Please try again.' }); } const { sliderMovements, puzzleBlockPosition, puzzlePosition, toleranceOffset: offset } = verificationRequest; const averageMovement = sliderMovements.reduce((sum, value) => sum + value, 0) / sliderMovements.length; const movementDeviation = Math.sqrt(sliderMovements.reduce((sum, value) => sum + Math.pow(value - averageMovement, 2), 0) / sliderMovements.length); const isVerified = movementDeviation !== 0; const isSpliced = Math.abs(puzzleBlockPosition - puzzlePosition) < (offset ?? 0); const response = { success: isSpliced && isVerified, message: isSpliced && isVerified ? 'Verification successful' : 'Verification failed', }; return of(response); } } DefaultNgxSliderRecaptchaVerificationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DefaultNgxSliderRecaptchaVerificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); DefaultNgxSliderRecaptchaVerificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DefaultNgxSliderRecaptchaVerificationService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DefaultNgxSliderRecaptchaVerificationService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1uZ3gtc2xpZGVyLXJlY2FwdGNoYS12ZXJpZmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZGVmYXVsdC1uZ3gtc2xpZGVyLXJlY2FwdGNoYS12ZXJpZmljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBUXRDLE1BQU0sT0FBTyw0Q0FBNEM7SUFDckQsTUFBTSxDQUFDLG1CQUF3QztRQUMzQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRTtZQUMvQyxPQUFPLEVBQUUsQ0FBQztnQkFDTixPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsZ0RBQWdEO2FBQzVELENBQUMsQ0FBQztTQUNOO1FBRUQsTUFBTSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxHQUFHLG1CQUFtQixDQUFDO1FBQzlHLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDeEcsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUMvQixlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLGVBQWUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUNqSCxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFHakYsTUFBTSxRQUFRLEdBQXlCO1lBQ25DLE9BQU8sRUFBRSxTQUFTLElBQUksVUFBVTtZQUNoQyxPQUFPLEVBQUUsU0FBUyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtTQUN2RixDQUFDO1FBQ0YsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQzs7eUlBeEJRLDRDQUE0Qzs2SUFBNUMsNENBQTRDLGNBRnpDLE1BQU07MkZBRVQsNENBQTRDO2tCQUh4RCxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTmd4U2xpZGVyUmVjYXB0Y2hhVmVyaWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvbmd4LXNsaWRlci1yZWNhcHRjaGEtdmVyaWZpY2F0aW9uLXNlcnZpY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVmVyaWZpY2F0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi9jb3JlL25neC1zbGlkZXItcmVjYXB0Y2hhLXZlcmlmaWNhdGlvbi1yZXNwb25zZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBWZXJpZmljYXRpb25SZXF1ZXN0IH0gZnJvbSAnLi4vY29yZS9uZ3gtc2xpZGVyLXJlY2FwdGNoYS12ZXJpZmljYXRpb24tcmVxdWVzdC5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWZhdWx0Tmd4U2xpZGVyUmVjYXB0Y2hhVmVyaWZpY2F0aW9uU2VydmljZSBpbXBsZW1lbnRzIE5neFNsaWRlclJlY2FwdGNoYVZlcmlmaWNhdGlvblNlcnZpY2U8VmVyaWZpY2F0aW9uUmVxdWVzdCwgVmVyaWZpY2F0aW9uUmVzcG9uc2U+IHtcclxuICAgIHZlcmlmeSh2ZXJpZmljYXRpb25SZXF1ZXN0OiBWZXJpZmljYXRpb25SZXF1ZXN0KTogT2JzZXJ2YWJsZTxWZXJpZmljYXRpb25SZXNwb25zZT4ge1xyXG4gICAgICAgIGlmICghdmVyaWZpY2F0aW9uUmVxdWVzdD8uc2xpZGVyTW92ZW1lbnRzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHtcclxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogJ05vIHNsaWRlciBtb3ZlbWVudCBkZXRlY3RlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgeyBzbGlkZXJNb3ZlbWVudHMsIHB1enpsZUJsb2NrUG9zaXRpb24sIHB1enpsZVBvc2l0aW9uLCB0b2xlcmFuY2VPZmZzZXQ6IG9mZnNldCB9ID0gdmVyaWZpY2F0aW9uUmVxdWVzdDtcclxuICAgICAgICBjb25zdCBhdmVyYWdlTW92ZW1lbnQgPSBzbGlkZXJNb3ZlbWVudHMucmVkdWNlKChzdW0sIHZhbHVlKSA9PiBzdW0gKyB2YWx1ZSwgMCkgLyBzbGlkZXJNb3ZlbWVudHMubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IG1vdmVtZW50RGV2aWF0aW9uID0gTWF0aC5zcXJ0KFxyXG4gICAgICAgICAgICBzbGlkZXJNb3ZlbWVudHMucmVkdWNlKChzdW0sIHZhbHVlKSA9PiBzdW0gKyBNYXRoLnBvdyh2YWx1ZSAtIGF2ZXJhZ2VNb3ZlbWVudCwgMiksIDApIC8gc2xpZGVyTW92ZW1lbnRzLmxlbmd0aFxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzVmVyaWZpZWQgPSBtb3ZlbWVudERldmlhdGlvbiAhPT0gMDtcclxuICAgICAgICBjb25zdCBpc1NwbGljZWQgPSBNYXRoLmFicyhwdXp6bGVCbG9ja1Bvc2l0aW9uIC0gcHV6emxlUG9zaXRpb24pIDwgKG9mZnNldCA/PyAwKTtcclxuXHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBWZXJpZmljYXRpb25SZXNwb25zZSA9IHtcclxuICAgICAgICAgICAgc3VjY2VzczogaXNTcGxpY2VkICYmIGlzVmVyaWZpZWQsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IGlzU3BsaWNlZCAmJiBpc1ZlcmlmaWVkID8gJ1ZlcmlmaWNhdGlvbiBzdWNjZXNzZnVsJyA6ICdWZXJpZmljYXRpb24gZmFpbGVkJyxcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBvZihyZXNwb25zZSk7XHJcbiAgICB9XHJcbn1cclxuIl19