UNPKG

pedago-angular-quiz

Version:

A pedago quiz component for Angular projects

33 lines 4.91 kB
import { Pipe } from '@angular/core'; import * as i0 from "@angular/core"; export class SurveyJsSenderToResponsePipe { constructor() { } getCorrectAnswers(sender, questionName) { return sender.getQuizQuestions().find((question) => question.jsonObj.name === questionName)?.correctAnswer; } transform(sender) { const responses = []; for (const [questionName, answer] of Object.entries(sender.data)) { const responseItem = { id: questionName, answer: answer, correctedAnswer: this.getCorrectAnswers(sender, questionName), is_correct: answer === this.getCorrectAnswers(sender, questionName), }; if (Array.isArray(this.getCorrectAnswers(sender, questionName))) { responseItem['is_partially_correct'] = this.getCorrectAnswers(sender, questionName)?.some(item => answer.includes(item)); } responses.push(responseItem); } return responses; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SurveyJsSenderToResponsePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: SurveyJsSenderToResponsePipe, name: "surveyJsSenderToResponse" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SurveyJsSenderToResponsePipe, decorators: [{ type: Pipe, args: [{ name: 'surveyJsSenderToResponse' }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VydmV5LWpzLXNuZWRlci10by1yZXNwb25zZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcGVkYWdvLWFuZ3VsYXItcXVpei9zcmMvbGliL3BpcGVzL3N1cnZleS1qcy1zbmVkZXItdG8tcmVzcG9uc2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQU0vQyxNQUFNLE9BQU8sNEJBQTRCO0lBRXZDLGdCQUFnQixDQUFDO0lBRWpCLGlCQUFpQixDQUFDLE1BQVcsRUFBQyxZQUFvQjtRQUNoRCxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEVBQUUsYUFBYSxDQUFDO0lBQ2xILENBQUM7SUFFRCxTQUFTLENBQUMsTUFBVztRQUNuQixNQUFNLFNBQVMsR0FBVSxFQUFFLENBQUM7UUFDNUIsS0FBSyxNQUFNLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hFLE1BQU0sWUFBWSxHQUFRO2dCQUN4QixFQUFFLEVBQUUsWUFBWTtnQkFDaEIsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsZUFBZSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUMsWUFBWSxDQUFDO2dCQUM1RCxVQUFVLEVBQUUsTUFBTSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUMsWUFBWSxDQUFDO2FBQ25FLENBQUM7WUFDRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sRUFBQyxZQUFZLENBQUMsQ0FBQyxFQUFFO2dCQUM5RCxZQUFZLENBQUMsc0JBQXNCLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFZLE1BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTthQUNwSTtZQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDOUI7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOytHQXZCVSw0QkFBNEI7NkdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFIeEMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsMEJBQTBCO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lSZXNwb25zZX0gZnJvbSBcIi4uL21vZGVscy9tb2RlbHNcIjtcblxuQFBpcGUoe1xuICBuYW1lOiAnc3VydmV5SnNTZW5kZXJUb1Jlc3BvbnNlJ1xufSlcbmV4cG9ydCBjbGFzcyBTdXJ2ZXlKc1NlbmRlclRvUmVzcG9uc2VQaXBlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIGdldENvcnJlY3RBbnN3ZXJzKHNlbmRlcjogYW55LHF1ZXN0aW9uTmFtZTogc3RyaW5nKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBzZW5kZXIuZ2V0UXVpelF1ZXN0aW9ucygpLmZpbmQoKHF1ZXN0aW9uOiBhbnkpID0+IHF1ZXN0aW9uLmpzb25PYmoubmFtZSA9PT0gcXVlc3Rpb25OYW1lKT8uY29ycmVjdEFuc3dlcjtcbiAgfVxuXG4gIHRyYW5zZm9ybShzZW5kZXI6IGFueSk6IElSZXNwb25zZVtdIHtcbiAgICBjb25zdCByZXNwb25zZXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCBbcXVlc3Rpb25OYW1lLCBhbnN3ZXJdIG9mIE9iamVjdC5lbnRyaWVzKHNlbmRlci5kYXRhKSkge1xuICAgICAgY29uc3QgcmVzcG9uc2VJdGVtOiBhbnkgPSB7XG4gICAgICAgIGlkOiBxdWVzdGlvbk5hbWUsXG4gICAgICAgIGFuc3dlcjogYW5zd2VyLFxuICAgICAgICBjb3JyZWN0ZWRBbnN3ZXI6IHRoaXMuZ2V0Q29ycmVjdEFuc3dlcnMoc2VuZGVyLHF1ZXN0aW9uTmFtZSksXG4gICAgICAgIGlzX2NvcnJlY3Q6IGFuc3dlciA9PT0gdGhpcy5nZXRDb3JyZWN0QW5zd2VycyhzZW5kZXIscXVlc3Rpb25OYW1lKSxcbiAgICAgIH07XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmdldENvcnJlY3RBbnN3ZXJzKHNlbmRlcixxdWVzdGlvbk5hbWUpKSkge1xuICAgICAgICByZXNwb25zZUl0ZW1bJ2lzX3BhcnRpYWxseV9jb3JyZWN0J10gPSB0aGlzLmdldENvcnJlY3RBbnN3ZXJzKHNlbmRlcixxdWVzdGlvbk5hbWUpPy5zb21lKGl0ZW0gPT4gKDxzdHJpbmdbXT5hbnN3ZXIpLmluY2x1ZGVzKGl0ZW0pKVxuICAgICAgfVxuICAgICAgcmVzcG9uc2VzLnB1c2gocmVzcG9uc2VJdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3BvbnNlcztcbiAgfVxufVxuIl19