@pie-element/match-list 5.3.4-next.3 → 6.0.0-beta.1
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/CHANGELOG.md +0 -11
- package/controller/CHANGELOG.md +0 -11
- package/controller/lib/defaults.js +2 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +103 -181
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +5 -5
- package/lib/answer-area.js +128 -196
- package/lib/answer-area.js.map +1 -1
- package/lib/answer.js +228 -275
- package/lib/answer.js.map +1 -1
- package/lib/arrow.js +44 -88
- package/lib/arrow.js.map +1 -1
- package/lib/choices-list.js +54 -112
- package/lib/choices-list.js.map +1 -1
- package/lib/index.js +54 -100
- package/lib/index.js.map +1 -1
- package/lib/main.js +119 -164
- package/lib/main.js.map +1 -1
- package/package.json +13 -12
- package/esm/controller.js +0 -1790
- package/esm/controller.js.map +0 -1
- package/esm/element.js +0 -16925
- package/esm/element.js.map +0 -1
- package/esm/package.json +0 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,17 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [5.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@5.3.2...@pie-element/match-list@5.3.3) (2025-11-27)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
6
|
## [5.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@5.3.1...@pie-element/match-list@5.3.2) (2025-10-22)
|
|
18
7
|
|
|
19
8
|
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,17 +3,6 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [4.3.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@4.3.2...@pie-element/match-list-controller@4.3.3) (2025-11-27)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Bug Fixes
|
|
10
|
-
|
|
11
|
-
* bump libs PD-5274, PD-5211, PD-5248 ([7610b25](https://github.com/pie-framework/pie-elements/commit/7610b25423956b6492f33322513b3430051fca77))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
6
|
## [4.3.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@4.3.1...@pie-element/match-list-controller@4.3.2) (2025-10-22)
|
|
18
7
|
|
|
19
8
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
7
|
-
var _default = {
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _default = exports.default = {
|
|
8
8
|
config: {
|
|
9
9
|
answers: [],
|
|
10
10
|
prompt: '',
|
|
@@ -12,5 +12,4 @@ var _default = {
|
|
|
12
12
|
shuffled: false
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
|
-
exports["default"] = _default;
|
|
16
15
|
//# sourceMappingURL=defaults.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["config","answers","prompt","prompts","shuffled"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n config: {\n answers: [],\n prompt: '',\n prompts: [],\n shuffled: false,\n },\n};\n"],"mappings":";;;;;;iCAAe;EACbA,MAAM,EAAE;IACNC,OAAO,EAAE,EAAE;IACXC,MAAM,EAAE,EAAE;IACVC,OAAO,EAAE,EAAE;IACXC,QAAQ,EAAE;EACZ;AACF,CAAC","ignoreList":[]}
|
package/controller/lib/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
@@ -9,41 +8,20 @@ exports.createCorrectResponseSession = void 0;
|
|
|
9
8
|
exports.createDefaultModel = createDefaultModel;
|
|
10
9
|
exports.model = model;
|
|
11
10
|
exports.outcome = exports.normalize = void 0;
|
|
12
|
-
|
|
13
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
-
|
|
15
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
-
|
|
17
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
-
|
|
19
11
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
20
|
-
|
|
21
12
|
var _feedback = require("@pie-lib/feedback");
|
|
22
|
-
|
|
23
13
|
var _controllerUtils = require("@pie-lib/controller-utils");
|
|
24
|
-
|
|
25
14
|
var _debug = _interopRequireDefault(require("debug"));
|
|
26
|
-
|
|
27
15
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var log = (0, _debug["default"])('@pie-element:match-list:controller');
|
|
34
|
-
|
|
35
|
-
var getResponseCorrectness = function getResponseCorrectness(model, answers, env) {
|
|
36
|
-
var isPartialScoring = _controllerUtils.partialScoring.enabled(model, env);
|
|
37
|
-
|
|
38
|
-
var prompts = model.prompts;
|
|
39
|
-
|
|
16
|
+
const log = (0, _debug.default)('@pie-element:match-list:controller');
|
|
17
|
+
const getResponseCorrectness = (model, answers, env) => {
|
|
18
|
+
const isPartialScoring = _controllerUtils.partialScoring.enabled(model, env);
|
|
19
|
+
const prompts = model.prompts;
|
|
40
20
|
if (!answers || Object.keys(answers).length === 0) {
|
|
41
21
|
return 'unanswered';
|
|
42
22
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var correctAnswers = getCorrectSelected(prompts, answers);
|
|
46
|
-
|
|
23
|
+
const totalCorrectAnswers = getTotalCorrect(model);
|
|
24
|
+
const correctAnswers = getCorrectSelected(prompts, answers);
|
|
47
25
|
if (totalCorrectAnswers === correctAnswers) {
|
|
48
26
|
return 'correct';
|
|
49
27
|
} else if (correctAnswers === 0) {
|
|
@@ -51,58 +29,49 @@ var getResponseCorrectness = function getResponseCorrectness(model, answers, env
|
|
|
51
29
|
} else if (isPartialScoring) {
|
|
52
30
|
return 'partial';
|
|
53
31
|
}
|
|
54
|
-
|
|
55
32
|
return 'incorrect';
|
|
56
33
|
};
|
|
57
|
-
|
|
58
|
-
var getCorrectness = function getCorrectness(question, env, answers) {
|
|
34
|
+
const getCorrectness = (question, env, answers) => {
|
|
59
35
|
if (env.mode === 'evaluate') {
|
|
60
36
|
return getResponseCorrectness(question, answers, env);
|
|
61
37
|
}
|
|
62
38
|
};
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
var answers = arguments.length > 1 ? arguments[1] : undefined;
|
|
67
|
-
var correctAnswers = 0;
|
|
68
|
-
prompts.forEach(function (p) {
|
|
39
|
+
const getCorrectSelected = (prompts = [], answers) => {
|
|
40
|
+
let correctAnswers = 0;
|
|
41
|
+
prompts.forEach(p => {
|
|
69
42
|
if (p.relatedAnswer === answers[p.id]) {
|
|
70
43
|
correctAnswers += 1;
|
|
71
44
|
}
|
|
72
45
|
});
|
|
73
46
|
return correctAnswers;
|
|
74
47
|
};
|
|
75
|
-
|
|
76
|
-
var getTotalCorrect = function getTotalCorrect(question) {
|
|
48
|
+
const getTotalCorrect = question => {
|
|
77
49
|
return question && question.prompts ? question.prompts.length : 0;
|
|
78
50
|
};
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
var totalCorrect = getTotalCorrect(question);
|
|
51
|
+
const getPartialScore = (question, answers) => {
|
|
52
|
+
const count = getCorrectSelected(question && question.prompts, answers);
|
|
53
|
+
const totalCorrect = getTotalCorrect(question);
|
|
83
54
|
return parseFloat((count / totalCorrect).toFixed(2));
|
|
84
55
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var correctness = getCorrectness(question, env, answers);
|
|
56
|
+
const getOutComeScore = (question, env, answers) => {
|
|
57
|
+
const correctness = getCorrectness(question, env, answers);
|
|
88
58
|
return correctness === 'correct' ? 1 : correctness === 'partial' && true ? getPartialScore(question, answers) : 0;
|
|
89
59
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return new Promise(function (resolve) {
|
|
60
|
+
const outcome = (question, session, env) => {
|
|
61
|
+
return new Promise(resolve => {
|
|
93
62
|
if (env.mode !== 'evaluate') {
|
|
94
63
|
resolve({
|
|
95
64
|
score: undefined,
|
|
96
65
|
completed: undefined
|
|
97
66
|
});
|
|
98
67
|
} else {
|
|
99
|
-
if (!session || (0, _isEmpty
|
|
68
|
+
if (!session || (0, _isEmpty.default)(session)) {
|
|
100
69
|
resolve({
|
|
101
70
|
score: 0,
|
|
102
71
|
empty: true
|
|
103
72
|
});
|
|
104
73
|
} else {
|
|
105
|
-
|
|
74
|
+
const out = {
|
|
106
75
|
score: getOutComeScore(question, env, session.value)
|
|
107
76
|
};
|
|
108
77
|
resolve(out);
|
|
@@ -110,19 +79,20 @@ var outcome = function outcome(question, session, env) {
|
|
|
110
79
|
}
|
|
111
80
|
});
|
|
112
81
|
};
|
|
113
|
-
|
|
114
82
|
exports.outcome = outcome;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
83
|
+
function createDefaultModel(model = {}) {
|
|
84
|
+
return new Promise(resolve => {
|
|
85
|
+
resolve({
|
|
86
|
+
..._defaults.default,
|
|
87
|
+
...model
|
|
88
|
+
});
|
|
120
89
|
});
|
|
121
90
|
}
|
|
91
|
+
const normalize = model => ({
|
|
92
|
+
..._defaults.default,
|
|
93
|
+
...model
|
|
94
|
+
});
|
|
122
95
|
|
|
123
|
-
var normalize = function normalize(model) {
|
|
124
|
-
return _objectSpread(_objectSpread({}, _defaults["default"]), model);
|
|
125
|
-
};
|
|
126
96
|
/**
|
|
127
97
|
*
|
|
128
98
|
* @param {*} question
|
|
@@ -130,133 +100,86 @@ var normalize = function normalize(model) {
|
|
|
130
100
|
* @param {*} env
|
|
131
101
|
* @param {*} updateSession - optional - a function that will set the properties passed into it on the session.
|
|
132
102
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
103
|
exports.normalize = normalize;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
if (question && prompts) {
|
|
201
|
-
prompts.forEach(function (prompt) {
|
|
202
|
-
correctResponse[prompt.id] = prompt.relatedAnswer;
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
fb = env.mode === 'evaluate' ? (0, _feedback.getFeedbackForCorrectness)(correctInfo.correctness, question.feedback) : Promise.resolve(undefined);
|
|
207
|
-
fb.then(function (feedback) {
|
|
208
|
-
var base = {
|
|
209
|
-
config: _objectSpread(_objectSpread({}, question), {}, {
|
|
210
|
-
prompts: prompts,
|
|
211
|
-
answers: answers
|
|
212
|
-
}),
|
|
213
|
-
correctness: correctInfo,
|
|
214
|
-
feedback: feedback,
|
|
215
|
-
mode: env.mode
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
|
|
219
|
-
base.rationale = question.rationale;
|
|
220
|
-
} else {
|
|
221
|
-
base.rationale = null;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
var out = Object.assign(base, {
|
|
225
|
-
correctResponse: correctResponse
|
|
226
|
-
});
|
|
227
|
-
log('out: ', out);
|
|
228
|
-
resolve(out);
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
case 21:
|
|
232
|
-
case "end":
|
|
233
|
-
return _context.stop();
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
}, _callee);
|
|
237
|
-
}));
|
|
238
|
-
|
|
239
|
-
return function (_x) {
|
|
240
|
-
return _ref.apply(this, arguments);
|
|
241
|
-
};
|
|
242
|
-
}());
|
|
104
|
+
async function model(question, session, env, updateSession) {
|
|
105
|
+
question = normalize(question);
|
|
106
|
+
const correctness = getCorrectness(question, env, session && session.value);
|
|
107
|
+
const correctResponse = {};
|
|
108
|
+
const score = `${getOutComeScore(question, env, session && session.value) * 100}%`;
|
|
109
|
+
const correctInfo = {
|
|
110
|
+
score,
|
|
111
|
+
correctness
|
|
112
|
+
};
|
|
113
|
+
const shuffledValues = {};
|
|
114
|
+
let prompts = question.prompts;
|
|
115
|
+
let answers = question.answers;
|
|
116
|
+
const us = part => (id, element, update) => {
|
|
117
|
+
return new Promise(resolve => {
|
|
118
|
+
shuffledValues[part] = update.shuffledValues;
|
|
119
|
+
resolve();
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
const lockChoiceOrder = (0, _controllerUtils.lockChoices)(question, session, env);
|
|
123
|
+
if (!lockChoiceOrder) {
|
|
124
|
+
prompts = await (0, _controllerUtils.getShuffledChoices)(prompts, {
|
|
125
|
+
shuffledValues: (session && session.shuffledValues || {}).prompts
|
|
126
|
+
}, us('prompts'), 'id');
|
|
127
|
+
answers = await (0, _controllerUtils.getShuffledChoices)(answers, {
|
|
128
|
+
shuffledValues: (session && session.shuffledValues || {}).answers
|
|
129
|
+
}, us('answers'), 'id');
|
|
130
|
+
}
|
|
131
|
+
if (!(0, _isEmpty.default)(shuffledValues)) {
|
|
132
|
+
if (updateSession && typeof updateSession === 'function') {
|
|
133
|
+
updateSession(session.id, session.element, {
|
|
134
|
+
shuffledValues
|
|
135
|
+
}).catch(e => {
|
|
136
|
+
// eslint-disable-next-line no-console
|
|
137
|
+
console.error('update session failed', e);
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (question && prompts) {
|
|
142
|
+
prompts.forEach(prompt => {
|
|
143
|
+
correctResponse[prompt.id] = prompt.relatedAnswer;
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
const feedback = env.mode === 'evaluate' ? await (0, _feedback.getFeedbackForCorrectness)(correctInfo.correctness, question.feedback) : undefined;
|
|
147
|
+
const base = {
|
|
148
|
+
config: {
|
|
149
|
+
...question,
|
|
150
|
+
prompts,
|
|
151
|
+
answers
|
|
152
|
+
},
|
|
153
|
+
correctness: correctInfo,
|
|
154
|
+
feedback,
|
|
155
|
+
mode: env.mode
|
|
156
|
+
};
|
|
157
|
+
if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
|
|
158
|
+
base.rationale = question.rationale;
|
|
159
|
+
} else {
|
|
160
|
+
base.rationale = null;
|
|
161
|
+
}
|
|
162
|
+
const out = Object.assign(base, {
|
|
163
|
+
correctResponse
|
|
164
|
+
});
|
|
165
|
+
log('out: ', out);
|
|
166
|
+
return out;
|
|
243
167
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
return new Promise(function (resolve) {
|
|
168
|
+
const createCorrectResponseSession = (question, env) => {
|
|
169
|
+
return new Promise(resolve => {
|
|
247
170
|
if (env.mode !== 'evaluate' && env.role === 'instructor') {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
171
|
+
const {
|
|
172
|
+
prompts,
|
|
173
|
+
answers
|
|
174
|
+
} = question;
|
|
175
|
+
const value = {};
|
|
176
|
+
prompts.forEach(p => {
|
|
177
|
+
if (answers.filter(a => a.id === p.relatedAnswer).length) {
|
|
255
178
|
value[p.id] = p.relatedAnswer;
|
|
256
179
|
}
|
|
257
180
|
});
|
|
258
181
|
resolve({
|
|
259
|
-
value
|
|
182
|
+
value,
|
|
260
183
|
id: '1'
|
|
261
184
|
});
|
|
262
185
|
} else {
|
|
@@ -264,6 +187,5 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
|
|
|
264
187
|
}
|
|
265
188
|
});
|
|
266
189
|
};
|
|
267
|
-
|
|
268
190
|
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
269
191
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","getResponseCorrectness","model","answers","env","isPartialScoring","partialScoring","enabled","prompts","Object","keys","length","totalCorrectAnswers","getTotalCorrect","correctAnswers","getCorrectSelected","getCorrectness","question","mode","forEach","p","relatedAnswer","id","getPartialScore","count","totalCorrect","parseFloat","toFixed","getOutComeScore","correctness","outcome","session","Promise","resolve","score","undefined","completed","empty","out","value","createDefaultModel","defaults","normalize","updateSession","correctResponse","correctInfo","shuffledValues","us","part","element","update","lockChoiceOrder","e","console","error","prompt","fb","feedback","then","base","config","role","rationale","assign","createCorrectResponseSession","filter","a"],"mappings":"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","sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/controller-utils';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:match-list:controller');\n\nimport defaults from './defaults';\n\nconst getResponseCorrectness = (model, answers, env) => {\n const isPartialScoring = partialScoring.enabled(model, env);\n const prompts = model.prompts;\n\n if (!answers || Object.keys(answers).length === 0) {\n return 'unanswered';\n }\n\n const totalCorrectAnswers = getTotalCorrect(model);\n const correctAnswers = getCorrectSelected(prompts, answers);\n\n if (totalCorrectAnswers === correctAnswers) {\n return 'correct';\n } else if (correctAnswers === 0) {\n return 'incorrect';\n } else if (isPartialScoring) {\n return 'partial';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectness = (question, env, answers) => {\n if (env.mode === 'evaluate') {\n return getResponseCorrectness(question, answers, env);\n }\n};\n\nconst getCorrectSelected = (prompts = [], answers) => {\n let correctAnswers = 0;\n\n prompts.forEach((p) => {\n if (p.relatedAnswer === answers[p.id]) {\n correctAnswers += 1;\n }\n });\n\n return correctAnswers;\n};\n\nconst getTotalCorrect = (question) => {\n return question && question.prompts ? question.prompts.length : 0;\n};\n\nconst getPartialScore = (question, answers) => {\n const count = getCorrectSelected(question && question.prompts, answers);\n const totalCorrect = getTotalCorrect(question);\n\n return parseFloat((count / totalCorrect).toFixed(2));\n};\n\nconst getOutComeScore = (question, env, answers) => {\n const correctness = getCorrectness(question, env, answers);\n\n return correctness === 'correct' ? 1 : correctness === 'partial' && true ? getPartialScore(question, answers) : 0;\n};\n\nexport const outcome = (question, session, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n } else {\n const out = {\n score: getOutComeScore(question, env, session.value),\n };\n\n resolve(out);\n }\n }\n });\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalize = (model) => ({ ...defaults, ...model });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n question = normalize(question);\n const correctness = getCorrectness(question, env, session && session.value);\n const correctResponse = {};\n const score = `${getOutComeScore(question, env, session && session.value) * 100}%`;\n const correctInfo = {\n score,\n correctness,\n };\n\n const shuffledValues = {};\n let prompts = question.prompts;\n let answers = question.answers;\n\n const us = (part) => (id, element, update) => {\n return new Promise((resolve) => {\n shuffledValues[part] = update.shuffledValues;\n resolve();\n });\n };\n\n const lockChoiceOrder = lockChoices(question, session, env);\n\n if (!lockChoiceOrder) {\n prompts = await getShuffledChoices(\n prompts,\n { shuffledValues: ((session && session.shuffledValues) || {}).prompts },\n us('prompts'),\n 'id',\n );\n answers = await getShuffledChoices(\n answers,\n { shuffledValues: ((session && session.shuffledValues) || {}).answers },\n us('answers'),\n 'id',\n );\n }\n\n if (!isEmpty(shuffledValues)) {\n if (updateSession && typeof updateSession === 'function') {\n updateSession(session.id, session.element, {\n shuffledValues,\n }).catch((e) => {\n // eslint-disable-next-line no-console\n console.error('update session failed', e);\n });\n }\n }\n\n if (question && prompts) {\n prompts.forEach((prompt) => {\n correctResponse[prompt.id] = prompt.relatedAnswer;\n });\n }\n\n const fb =\n env.mode === 'evaluate'\n ? getFeedbackForCorrectness(correctInfo.correctness, question.feedback)\n : Promise.resolve(undefined);\n\n fb.then((feedback) => {\n const base = {\n config: {\n ...question,\n prompts,\n answers,\n },\n correctness: correctInfo,\n feedback,\n mode: env.mode,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n base.rationale = question.rationale;\n } else {\n base.rationale = null;\n }\n\n const out = Object.assign(base, {\n correctResponse,\n });\n\n log('out: ', out);\n resolve(out);\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { prompts, answers } = question;\n const value = {};\n\n prompts.forEach((p) => {\n if (answers.filter((a) => a.id === p.relatedAnswer).length) {\n value[p.id] = p.relatedAnswer;\n }\n });\n\n resolve({\n value,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_isEmpty","_interopRequireDefault","require","_feedback","_controllerUtils","_debug","_defaults","log","debug","getResponseCorrectness","model","answers","env","isPartialScoring","partialScoring","enabled","prompts","Object","keys","length","totalCorrectAnswers","getTotalCorrect","correctAnswers","getCorrectSelected","getCorrectness","question","mode","forEach","p","relatedAnswer","id","getPartialScore","count","totalCorrect","parseFloat","toFixed","getOutComeScore","correctness","outcome","session","Promise","resolve","score","undefined","completed","isEmpty","empty","out","value","exports","createDefaultModel","defaults","normalize","updateSession","correctResponse","correctInfo","shuffledValues","us","part","element","update","lockChoiceOrder","lockChoices","getShuffledChoices","catch","e","console","error","prompt","feedback","getFeedbackForCorrectness","base","config","role","rationale","assign","createCorrectResponseSession","filter","a"],"sources":["../src/index.js"],"sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport { lockChoices, getShuffledChoices, partialScoring } from '@pie-lib/controller-utils';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:match-list:controller');\n\nimport defaults from './defaults';\n\nconst getResponseCorrectness = (model, answers, env) => {\n const isPartialScoring = partialScoring.enabled(model, env);\n const prompts = model.prompts;\n\n if (!answers || Object.keys(answers).length === 0) {\n return 'unanswered';\n }\n\n const totalCorrectAnswers = getTotalCorrect(model);\n const correctAnswers = getCorrectSelected(prompts, answers);\n\n if (totalCorrectAnswers === correctAnswers) {\n return 'correct';\n } else if (correctAnswers === 0) {\n return 'incorrect';\n } else if (isPartialScoring) {\n return 'partial';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectness = (question, env, answers) => {\n if (env.mode === 'evaluate') {\n return getResponseCorrectness(question, answers, env);\n }\n};\n\nconst getCorrectSelected = (prompts = [], answers) => {\n let correctAnswers = 0;\n\n prompts.forEach((p) => {\n if (p.relatedAnswer === answers[p.id]) {\n correctAnswers += 1;\n }\n });\n\n return correctAnswers;\n};\n\nconst getTotalCorrect = (question) => {\n return question && question.prompts ? question.prompts.length : 0;\n};\n\nconst getPartialScore = (question, answers) => {\n const count = getCorrectSelected(question && question.prompts, answers);\n const totalCorrect = getTotalCorrect(question);\n\n return parseFloat((count / totalCorrect).toFixed(2));\n};\n\nconst getOutComeScore = (question, env, answers) => {\n const correctness = getCorrectness(question, env, answers);\n\n return correctness === 'correct' ? 1 : correctness === 'partial' && true ? getPartialScore(question, answers) : 0;\n};\n\nexport const outcome = (question, session, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n } else {\n const out = {\n score: getOutComeScore(question, env, session.value),\n };\n\n resolve(out);\n }\n }\n });\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\nexport const normalize = (model) => ({ ...defaults, ...model });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport async function model(question, session, env, updateSession) {\n question = normalize(question);\n const correctness = getCorrectness(question, env, session && session.value);\n const correctResponse = {};\n const score = `${getOutComeScore(question, env, session && session.value) * 100}%`;\n const correctInfo = {\n score,\n correctness,\n };\n\n const shuffledValues = {};\n let prompts = question.prompts;\n let answers = question.answers;\n\n const us = (part) => (id, element, update) => {\n return new Promise((resolve) => {\n shuffledValues[part] = update.shuffledValues;\n resolve();\n });\n };\n\n const lockChoiceOrder = lockChoices(question, session, env);\n\n if (!lockChoiceOrder) {\n prompts = await getShuffledChoices(\n prompts,\n { shuffledValues: ((session && session.shuffledValues) || {}).prompts },\n us('prompts'),\n 'id',\n );\n answers = await getShuffledChoices(\n answers,\n { shuffledValues: ((session && session.shuffledValues) || {}).answers },\n us('answers'),\n 'id',\n );\n }\n\n if (!isEmpty(shuffledValues)) {\n if (updateSession && typeof updateSession === 'function') {\n updateSession(session.id, session.element, {\n shuffledValues,\n }).catch((e) => {\n // eslint-disable-next-line no-console\n console.error('update session failed', e);\n });\n }\n }\n\n if (question && prompts) {\n prompts.forEach((prompt) => {\n correctResponse[prompt.id] = prompt.relatedAnswer;\n });\n }\n\n const feedback =\n env.mode === 'evaluate'\n ? await getFeedbackForCorrectness(correctInfo.correctness, question.feedback)\n : undefined;\n\n const base = {\n config: {\n ...question,\n prompts,\n answers,\n },\n correctness: correctInfo,\n feedback,\n mode: env.mode,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n base.rationale = question.rationale;\n } else {\n base.rationale = null;\n }\n\n const out = Object.assign(base, {\n correctResponse,\n });\n\n log('out: ', out);\n return out;\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { prompts, answers } = question;\n const value = {};\n\n prompts.forEach((p) => {\n if (answers.filter((a) => a.id === p.relatedAnswer).length) {\n value[p.id] = p.relatedAnswer;\n }\n });\n\n resolve({\n value,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAIA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AAFA,MAAMK,GAAG,GAAG,IAAAC,cAAK,EAAC,oCAAoC,CAAC;AAIvD,MAAMC,sBAAsB,GAAGA,CAACC,KAAK,EAAEC,OAAO,EAAEC,GAAG,KAAK;EACtD,MAAMC,gBAAgB,GAAGC,+BAAc,CAACC,OAAO,CAACL,KAAK,EAAEE,GAAG,CAAC;EAC3D,MAAMI,OAAO,GAAGN,KAAK,CAACM,OAAO;EAE7B,IAAI,CAACL,OAAO,IAAIM,MAAM,CAACC,IAAI,CAACP,OAAO,CAAC,CAACQ,MAAM,KAAK,CAAC,EAAE;IACjD,OAAO,YAAY;EACrB;EAEA,MAAMC,mBAAmB,GAAGC,eAAe,CAACX,KAAK,CAAC;EAClD,MAAMY,cAAc,GAAGC,kBAAkB,CAACP,OAAO,EAAEL,OAAO,CAAC;EAE3D,IAAIS,mBAAmB,KAAKE,cAAc,EAAE;IAC1C,OAAO,SAAS;EAClB,CAAC,MAAM,IAAIA,cAAc,KAAK,CAAC,EAAE;IAC/B,OAAO,WAAW;EACpB,CAAC,MAAM,IAAIT,gBAAgB,EAAE;IAC3B,OAAO,SAAS;EAClB;EAEA,OAAO,WAAW;AACpB,CAAC;AAED,MAAMW,cAAc,GAAGA,CAACC,QAAQ,EAAEb,GAAG,EAAED,OAAO,KAAK;EACjD,IAAIC,GAAG,CAACc,IAAI,KAAK,UAAU,EAAE;IAC3B,OAAOjB,sBAAsB,CAACgB,QAAQ,EAAEd,OAAO,EAAEC,GAAG,CAAC;EACvD;AACF,CAAC;AAED,MAAMW,kBAAkB,GAAGA,CAACP,OAAO,GAAG,EAAE,EAAEL,OAAO,KAAK;EACpD,IAAIW,cAAc,GAAG,CAAC;EAEtBN,OAAO,CAACW,OAAO,CAAEC,CAAC,IAAK;IACrB,IAAIA,CAAC,CAACC,aAAa,KAAKlB,OAAO,CAACiB,CAAC,CAACE,EAAE,CAAC,EAAE;MACrCR,cAAc,IAAI,CAAC;IACrB;EACF,CAAC,CAAC;EAEF,OAAOA,cAAc;AACvB,CAAC;AAED,MAAMD,eAAe,GAAII,QAAQ,IAAK;EACpC,OAAOA,QAAQ,IAAIA,QAAQ,CAACT,OAAO,GAAGS,QAAQ,CAACT,OAAO,CAACG,MAAM,GAAG,CAAC;AACnE,CAAC;AAED,MAAMY,eAAe,GAAGA,CAACN,QAAQ,EAAEd,OAAO,KAAK;EAC7C,MAAMqB,KAAK,GAAGT,kBAAkB,CAACE,QAAQ,IAAIA,QAAQ,CAACT,OAAO,EAAEL,OAAO,CAAC;EACvE,MAAMsB,YAAY,GAAGZ,eAAe,CAACI,QAAQ,CAAC;EAE9C,OAAOS,UAAU,CAAC,CAACF,KAAK,GAAGC,YAAY,EAAEE,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAMC,eAAe,GAAGA,CAACX,QAAQ,EAAEb,GAAG,EAAED,OAAO,KAAK;EAClD,MAAM0B,WAAW,GAAGb,cAAc,CAACC,QAAQ,EAAEb,GAAG,EAAED,OAAO,CAAC;EAE1D,OAAO0B,WAAW,KAAK,SAAS,GAAG,CAAC,GAAGA,WAAW,KAAK,SAAS,IAAI,IAAI,GAAGN,eAAe,CAACN,QAAQ,EAAEd,OAAO,CAAC,GAAG,CAAC;AACnH,CAAC;AAEM,MAAM2B,OAAO,GAAGA,CAACb,QAAQ,EAAEc,OAAO,EAAE3B,GAAG,KAAK;EACjD,OAAO,IAAI4B,OAAO,CAAEC,OAAO,IAAK;IAC9B,IAAI7B,GAAG,CAACc,IAAI,KAAK,UAAU,EAAE;MAC3Be,OAAO,CAAC;QAAEC,KAAK,EAAEC,SAAS;QAAEC,SAAS,EAAED;MAAU,CAAC,CAAC;IACrD,CAAC,MAAM;MACL,IAAI,CAACJ,OAAO,IAAI,IAAAM,gBAAO,EAACN,OAAO,CAAC,EAAE;QAChCE,OAAO,CAAC;UAAEC,KAAK,EAAE,CAAC;UAAEI,KAAK,EAAE;QAAK,CAAC,CAAC;MACpC,CAAC,MAAM;QACL,MAAMC,GAAG,GAAG;UACVL,KAAK,EAAEN,eAAe,CAACX,QAAQ,EAAEb,GAAG,EAAE2B,OAAO,CAACS,KAAK;QACrD,CAAC;QAEDP,OAAO,CAACM,GAAG,CAAC;MACd;IACF;EACF,CAAC,CAAC;AACJ,CAAC;AAACE,OAAA,CAAAX,OAAA,GAAAA,OAAA;AAEK,SAASY,kBAAkBA,CAACxC,KAAK,GAAG,CAAC,CAAC,EAAE;EAC7C,OAAO,IAAI8B,OAAO,CAAEC,OAAO,IAAK;IAC9BA,OAAO,CAAC;MACN,GAAGU,iBAAQ;MACX,GAAGzC;IACL,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEO,MAAM0C,SAAS,GAAI1C,KAAK,KAAM;EAAE,GAAGyC,iBAAQ;EAAE,GAAGzC;AAAM,CAAC,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AANAuC,OAAA,CAAAG,SAAA,GAAAA,SAAA;AAOO,eAAe1C,KAAKA,CAACe,QAAQ,EAAEc,OAAO,EAAE3B,GAAG,EAAEyC,aAAa,EAAE;EACjE5B,QAAQ,GAAG2B,SAAS,CAAC3B,QAAQ,CAAC;EAC9B,MAAMY,WAAW,GAAGb,cAAc,CAACC,QAAQ,EAAEb,GAAG,EAAE2B,OAAO,IAAIA,OAAO,CAACS,KAAK,CAAC;EAC3E,MAAMM,eAAe,GAAG,CAAC,CAAC;EAC1B,MAAMZ,KAAK,GAAG,GAAGN,eAAe,CAACX,QAAQ,EAAEb,GAAG,EAAE2B,OAAO,IAAIA,OAAO,CAACS,KAAK,CAAC,GAAG,GAAG,GAAG;EAClF,MAAMO,WAAW,GAAG;IAClBb,KAAK;IACLL;EACF,CAAC;EAED,MAAMmB,cAAc,GAAG,CAAC,CAAC;EACzB,IAAIxC,OAAO,GAAGS,QAAQ,CAACT,OAAO;EAC9B,IAAIL,OAAO,GAAGc,QAAQ,CAACd,OAAO;EAE9B,MAAM8C,EAAE,GAAIC,IAAI,IAAK,CAAC5B,EAAE,EAAE6B,OAAO,EAAEC,MAAM,KAAK;IAC5C,OAAO,IAAIpB,OAAO,CAAEC,OAAO,IAAK;MAC9Be,cAAc,CAACE,IAAI,CAAC,GAAGE,MAAM,CAACJ,cAAc;MAC5Cf,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;EACJ,CAAC;EAED,MAAMoB,eAAe,GAAG,IAAAC,4BAAW,EAACrC,QAAQ,EAAEc,OAAO,EAAE3B,GAAG,CAAC;EAE3D,IAAI,CAACiD,eAAe,EAAE;IACpB7C,OAAO,GAAG,MAAM,IAAA+C,mCAAkB,EAChC/C,OAAO,EACP;MAAEwC,cAAc,EAAE,CAAEjB,OAAO,IAAIA,OAAO,CAACiB,cAAc,IAAK,CAAC,CAAC,EAAExC;IAAQ,CAAC,EACvEyC,EAAE,CAAC,SAAS,CAAC,EACb,IACF,CAAC;IACD9C,OAAO,GAAG,MAAM,IAAAoD,mCAAkB,EAChCpD,OAAO,EACP;MAAE6C,cAAc,EAAE,CAAEjB,OAAO,IAAIA,OAAO,CAACiB,cAAc,IAAK,CAAC,CAAC,EAAE7C;IAAQ,CAAC,EACvE8C,EAAE,CAAC,SAAS,CAAC,EACb,IACF,CAAC;EACH;EAEA,IAAI,CAAC,IAAAZ,gBAAO,EAACW,cAAc,CAAC,EAAE;IAC5B,IAAIH,aAAa,IAAI,OAAOA,aAAa,KAAK,UAAU,EAAE;MACxDA,aAAa,CAACd,OAAO,CAACT,EAAE,EAAES,OAAO,CAACoB,OAAO,EAAE;QACzCH;MACF,CAAC,CAAC,CAACQ,KAAK,CAAEC,CAAC,IAAK;QACd;QACAC,OAAO,CAACC,KAAK,CAAC,uBAAuB,EAAEF,CAAC,CAAC;MAC3C,CAAC,CAAC;IACJ;EACF;EAEA,IAAIxC,QAAQ,IAAIT,OAAO,EAAE;IACvBA,OAAO,CAACW,OAAO,CAAEyC,MAAM,IAAK;MAC1Bd,eAAe,CAACc,MAAM,CAACtC,EAAE,CAAC,GAAGsC,MAAM,CAACvC,aAAa;IACnD,CAAC,CAAC;EACJ;EAEA,MAAMwC,QAAQ,GACZzD,GAAG,CAACc,IAAI,KAAK,UAAU,GACnB,MAAM,IAAA4C,mCAAyB,EAACf,WAAW,CAAClB,WAAW,EAAEZ,QAAQ,CAAC4C,QAAQ,CAAC,GAC3E1B,SAAS;EAEf,MAAM4B,IAAI,GAAG;IACXC,MAAM,EAAE;MACN,GAAG/C,QAAQ;MACXT,OAAO;MACPL;IACF,CAAC;IACD0B,WAAW,EAAEkB,WAAW;IACxBc,QAAQ;IACR3C,IAAI,EAAEd,GAAG,CAACc;EACZ,CAAC;EAED,IAAId,GAAG,CAAC6D,IAAI,KAAK,YAAY,KAAK7D,GAAG,CAACc,IAAI,KAAK,MAAM,IAAId,GAAG,CAACc,IAAI,KAAK,UAAU,CAAC,EAAE;IACjF6C,IAAI,CAACG,SAAS,GAAGjD,QAAQ,CAACiD,SAAS;EACrC,CAAC,MAAM;IACLH,IAAI,CAACG,SAAS,GAAG,IAAI;EACvB;EAEA,MAAM3B,GAAG,GAAG9B,MAAM,CAAC0D,MAAM,CAACJ,IAAI,EAAE;IAC9BjB;EACF,CAAC,CAAC;EAEF/C,GAAG,CAAC,OAAO,EAAEwC,GAAG,CAAC;EACjB,OAAOA,GAAG;AACZ;AAEO,MAAM6B,4BAA4B,GAAGA,CAACnD,QAAQ,EAAEb,GAAG,KAAK;EAC7D,OAAO,IAAI4B,OAAO,CAAEC,OAAO,IAAK;IAC9B,IAAI7B,GAAG,CAACc,IAAI,KAAK,UAAU,IAAId,GAAG,CAAC6D,IAAI,KAAK,YAAY,EAAE;MACxD,MAAM;QAAEzD,OAAO;QAAEL;MAAQ,CAAC,GAAGc,QAAQ;MACrC,MAAMuB,KAAK,GAAG,CAAC,CAAC;MAEhBhC,OAAO,CAACW,OAAO,CAAEC,CAAC,IAAK;QACrB,IAAIjB,OAAO,CAACkE,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAAChD,EAAE,KAAKF,CAAC,CAACC,aAAa,CAAC,CAACV,MAAM,EAAE;UAC1D6B,KAAK,CAACpB,CAAC,CAACE,EAAE,CAAC,GAAGF,CAAC,CAACC,aAAa;QAC/B;MACF,CAAC,CAAC;MAEFY,OAAO,CAAC;QACNO,KAAK;QACLlB,EAAE,EAAE;MACN,CAAC,CAAC;IACJ,CAAC,MAAM;MACLW,OAAO,CAAC,IAAI,CAAC;IACf;EACF,CAAC,CAAC;AACJ,CAAC;AAACQ,OAAA,CAAA2B,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
package/controller/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/match-list-controller",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.0-beta.1",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
"test": "./node_modules/.bin/jest"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@pie-lib/controller-utils": "0.
|
|
13
|
-
"@pie-lib/feedback": "0.
|
|
12
|
+
"@pie-lib/controller-utils": "1.1.0-next.4",
|
|
13
|
+
"@pie-lib/feedback": "1.1.0-next.4",
|
|
14
14
|
"debug": "^3.1.0",
|
|
15
15
|
"lodash": "^4.17.15"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
-
"babel-jest": "^
|
|
18
|
+
"babel-jest": "^29.7.0",
|
|
19
19
|
"babel-preset-env": "^1.6.1",
|
|
20
20
|
"babel-preset-stage-0": "^6.24.1",
|
|
21
|
-
"jest": "^
|
|
21
|
+
"jest": "^29.7.0"
|
|
22
22
|
},
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "ISC"
|