@quesmed/types-rn 2.6.272 → 2.6.274
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/package.json
CHANGED
|
@@ -42,6 +42,10 @@ export interface IChangeOsceRoleVar {
|
|
|
42
42
|
}
|
|
43
43
|
export type IChangeOsceRoleData = RestrictedData<graphqlNormalize & IOsceMarksheet, 'changeOsceRole'>;
|
|
44
44
|
export declare const MARK_OSCE_MARKSHEET_MARK: import("@apollo/client").DocumentNode;
|
|
45
|
+
export declare const getStationScore: (marks: IOsceMarksheetMark[]) => {
|
|
46
|
+
total: number;
|
|
47
|
+
userScore: number;
|
|
48
|
+
};
|
|
45
49
|
export interface IMarkOsceMarksheetMarkVar {
|
|
46
50
|
osceMarksheetMarkId: Id;
|
|
47
51
|
mark: number | EPaceMarkType;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.END_VOICE_SESSION = exports.CREATE_VOICE_SESSION = exports.optimisticSetOsceMarksheetFeedback = exports.updateCacheOnSetOsceMarksheetFeedback = exports.SET_OSCE_MARKSHEET_FEEDBACK = exports.updateCacheOnAutoMarkOsceMarksheet = exports.AUTO_MARK_OSCE_MARKSHEET = exports.STREAM_OSCE_CHAT_MESSAGE = exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.updateCacheOnSaveOsceMarksheet = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.updateCacheOnMarkOsceMarksheetMark = exports.optimisticMarkOsceMarksheetMark = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
|
|
3
|
+
exports.END_VOICE_SESSION = exports.CREATE_VOICE_SESSION = exports.optimisticSetOsceMarksheetFeedback = exports.updateCacheOnSetOsceMarksheetFeedback = exports.SET_OSCE_MARKSHEET_FEEDBACK = exports.updateCacheOnAutoMarkOsceMarksheet = exports.AUTO_MARK_OSCE_MARKSHEET = exports.STREAM_OSCE_CHAT_MESSAGE = exports.LEAVE_OSCE_MARKSHEET = exports.optimisticEndOsceMarksheet = exports.updateCacheOnEndOsceMarksheet = exports.END_OSCE_MARKSHEET = exports.MODIFY_OSCE_MARKSHEET = exports.updateCacheOnSaveOsceMarksheet = exports.SAVE_OSCE_MARKSHEET = exports.PRESTART_OSCE_MARKSHEET = exports.START_OSCE_TIMER = exports.START_OSCE_MARKSHEET = exports.SELECT_OSCE_STATION = exports.updateCacheOnMarkOsceMarksheetMark = exports.optimisticMarkOsceMarksheetMark = exports.getStationScore = exports.MARK_OSCE_MARKSHEET_MARK = exports.CHANGE_OSCE_ROLE = exports.BUILD_OSCE_MARKSHEET = exports.CREATE_OR_JOIN_OSCE_MARKSHEET = exports.CANCEL_OSCE_MATCHMAKING = exports.CHECK_OSCE_MATCHMAKING = exports.ACCEPT_OSCE_MATCHMAKING = exports.START_OSCE_MATCHMAKING = void 0;
|
|
4
4
|
const client_1 = require("@apollo/client");
|
|
5
5
|
const models_1 = require("../../../models");
|
|
6
6
|
const fragments_1 = require("../../fragments");
|
|
@@ -101,6 +101,44 @@ exports.MARK_OSCE_MARKSHEET_MARK = (0, client_1.gql) `
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
`;
|
|
104
|
+
const getStationScore = (marks) => {
|
|
105
|
+
const MarkMap = {
|
|
106
|
+
[models_1.EPaceMarkType.SATISFACTORY]: 2,
|
|
107
|
+
[models_1.EPaceMarkType.BORDERLINE]: 1,
|
|
108
|
+
[models_1.EPaceMarkType.UN_SATISFACTORY]: 0,
|
|
109
|
+
};
|
|
110
|
+
if (!marks?.length) {
|
|
111
|
+
return {
|
|
112
|
+
total: 0,
|
|
113
|
+
userScore: 0,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
const { total, userScore } = marks.reduce((acc, mark) => {
|
|
117
|
+
const choices = mark.osceStationMark?.choices;
|
|
118
|
+
const multiplier = mark.secondaryMark ? 2 : 1;
|
|
119
|
+
// Maximum possible score
|
|
120
|
+
acc.total += multiplier ? 4 : choices?.length ? 2 : 1;
|
|
121
|
+
if (choices) {
|
|
122
|
+
// paces product
|
|
123
|
+
acc.userScore += MarkMap[mark.mark] ?? 0;
|
|
124
|
+
if (mark.secondaryMark) {
|
|
125
|
+
acc.userScore += MarkMap[mark.secondaryMark] ?? 0;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
acc.userScore += mark.mark ? 1 : 0;
|
|
130
|
+
}
|
|
131
|
+
return acc;
|
|
132
|
+
}, {
|
|
133
|
+
total: 0,
|
|
134
|
+
userScore: 0,
|
|
135
|
+
});
|
|
136
|
+
return {
|
|
137
|
+
total,
|
|
138
|
+
userScore,
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
exports.getStationScore = getStationScore;
|
|
104
142
|
const optimisticMarkOsceMarksheetMark = (variables, productType) => {
|
|
105
143
|
const data = {};
|
|
106
144
|
if (productType === models_1.EProductType.PACES) {
|
|
@@ -169,6 +207,13 @@ const updateCacheOnMarkOsceMarksheetMark = (cache, result, options) => {
|
|
|
169
207
|
mark
|
|
170
208
|
score
|
|
171
209
|
secondaryMark
|
|
210
|
+
selectedChoice
|
|
211
|
+
osceStationMark {
|
|
212
|
+
id
|
|
213
|
+
choices {
|
|
214
|
+
score
|
|
215
|
+
}
|
|
216
|
+
}
|
|
172
217
|
}
|
|
173
218
|
}
|
|
174
219
|
`,
|
|
@@ -176,10 +221,7 @@ const updateCacheOnMarkOsceMarksheetMark = (cache, result, options) => {
|
|
|
176
221
|
if (!marksheet?.marks?.length) {
|
|
177
222
|
return;
|
|
178
223
|
}
|
|
179
|
-
const
|
|
180
|
-
const total = hasSecondaryMarks ? 2 * marksheet.marks.length : marksheet.marks.length;
|
|
181
|
-
// const scored = marksheet.marks.filter(({ mark }) => Boolean(mark)).length;
|
|
182
|
-
const userScore = marksheet.marks.reduce((sum, m) => sum + Number(m.score), 0);
|
|
224
|
+
const { total, userScore } = (0, exports.getStationScore)(marksheet.marks);
|
|
183
225
|
cache.modify({
|
|
184
226
|
id: cache.identify({ id: marksheetId, __typename: 'OsceMarksheet' }),
|
|
185
227
|
fields: {
|