@pie-element/categorize 13.1.2-next.0 → 13.1.2-next.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/dist/author/design/builder.js +1 -1
- package/dist/browser/author/index.js +361 -367
- package/dist/browser/author/index.js.map +1 -1
- package/dist/browser/controller/index.js +1 -1
- package/dist/browser/controller/index.js.map +1 -1
- package/dist/browser/delivery/index.js +4 -4
- package/dist/browser/{dist-BsrA0RFp.js → dist-BINEJ0Vp.js} +277 -1261
- package/dist/browser/dist-BINEJ0Vp.js.map +1 -0
- package/dist/browser/{dist-BaJrqHFp.js → dist-C19vRASu.js} +11284 -11672
- package/dist/browser/dist-C19vRASu.js.map +1 -0
- package/dist/controller/index.js +34 -34
- package/dist/index.iife.js +1 -1
- package/dist/runtime-support.d.ts +12 -0
- package/dist/runtime-support.js +12 -0
- package/package.json +13 -9
- package/dist/browser/dist-BaJrqHFp.js.map +0 -1
- package/dist/browser/dist-BsrA0RFp.js.map +0 -1
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +0 -15
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +0 -12
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +0 -57
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +0 -12
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +0 -4
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +0 -14
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +0 -23
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +0 -33
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +0 -13
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +0 -5
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +0 -16
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +0 -15
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +0 -10
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +0 -4
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +0 -8
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +0 -21
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +0 -11
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +0 -7
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +0 -9
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +0 -6
- package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +0 -6
package/dist/controller/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import e from "
|
|
2
|
-
import
|
|
3
|
-
import i from "
|
|
4
|
-
import
|
|
5
|
-
import s from "@pie-
|
|
1
|
+
import { getCompleteResponseDetails as e, isAlternateDuplicated as t, isCorrectResponseDuplicated as n } from "./utils.js";
|
|
2
|
+
import r from "./defaults.js";
|
|
3
|
+
import { buildState as i, score as a } from "@pie-lib/categorize";
|
|
4
|
+
import o from "@pie-lib/translator";
|
|
5
|
+
import { isEmpty as s } from "@pie-element/shared-lodash";
|
|
6
6
|
import { getFeedbackForCorrectness as c } from "@pie-element/shared-feedback";
|
|
7
7
|
import { getShuffledChoices as l, lockChoices as u, partialScoring as d } from "@pie-element/shared-controller-utils";
|
|
8
8
|
//#region src/controller/index.ts
|
|
9
|
-
var { translator: f } =
|
|
9
|
+
var { translator: f } = o, p = (e, t) => {
|
|
10
10
|
let { placements: n, score: r } = t.reduce((e, { choices: t = [] }) => ({
|
|
11
11
|
placements: e.placements + t.length,
|
|
12
12
|
score: e.score + t.filter((e) => e.correct).length
|
|
@@ -17,9 +17,9 @@ var { translator: f } = s, p = (e, t) => {
|
|
|
17
17
|
return a < 0 ? 0 : parseFloat(a.toFixed(2));
|
|
18
18
|
}, m = (e) => e.map((e) => e.alternateResponses).filter((e) => e), h = (e, t, n) => {
|
|
19
19
|
if (!t || Object.keys(t).length === 0) return 0;
|
|
20
|
-
let { categories: r, choices:
|
|
20
|
+
let { categories: r, choices: a } = e || {}, { correctResponse: o } = e || {}, { answers: s } = t || {};
|
|
21
21
|
s ||= [], o ||= [];
|
|
22
|
-
let { categories: c, correct: l } =
|
|
22
|
+
let { categories: c, correct: l } = i(r, a, s, o), u = m(o);
|
|
23
23
|
return d.enabled(e, n) && !u.length ? p(o, c) : +!!l;
|
|
24
24
|
}, g = (e, t, n) => new Promise((r) => {
|
|
25
25
|
if (n.mode === "evaluate") {
|
|
@@ -28,14 +28,14 @@ var { translator: f } = s, p = (e, t) => {
|
|
|
28
28
|
} else r(void 0);
|
|
29
29
|
}), _ = (e = {}) => new Promise((t) => {
|
|
30
30
|
t({
|
|
31
|
-
...
|
|
31
|
+
...r,
|
|
32
32
|
...e
|
|
33
33
|
});
|
|
34
34
|
}), v = (e) => ({
|
|
35
|
-
...
|
|
35
|
+
...r,
|
|
36
36
|
...e
|
|
37
|
-
}), y = async (
|
|
38
|
-
let a = v(
|
|
37
|
+
}), y = async (t, n, r, i) => {
|
|
38
|
+
let a = v(t), o = await g(a, n, r), { mode: s, role: d } = r || {}, { categories: p, categoriesPerRow: h, choicesLabel: _, choicesPosition: y, correctResponse: b, feedback: x, feedbackEnabled: S, promptEnabled: C, prompt: w, rowLabels: T, rationaleEnabled: E, rationale: D, teacherInstructionsEnabled: O, teacherInstructions: k, language: A, maxChoicesPerCategory: j, extraCSSRules: M, minRowHeight: N, fontSizeFactor: P, autoplayAudioEnabled: F, completeAudioEnabled: I, customAudioButton: L } = a, { choices: R, note: z } = a, B, V = u(a, n, r), H = b.map((e) => {
|
|
39
39
|
let t = (e.choices || []).filter((e) => e !== "null");
|
|
40
40
|
return {
|
|
41
41
|
...e,
|
|
@@ -43,7 +43,7 @@ var { translator: f } = s, p = (e, t) => {
|
|
|
43
43
|
};
|
|
44
44
|
});
|
|
45
45
|
s === "evaluate" && S && (B = await c(o, x)), V || (R = await l(R, n, i, "id")), z ||= f.t("common:commonCorrectAnswerWithAlternates", { lng: A });
|
|
46
|
-
let U = m(H), { responseAreasToBeFilled: W, possibleResponses: G, hasUnplacedChoices: K } =
|
|
46
|
+
let U = m(H), { responseAreasToBeFilled: W, possibleResponses: G, hasUnplacedChoices: K } = e(H, a.allowAlternateEnabled ? U : [], a.choices), q = {
|
|
47
47
|
categories: p || [],
|
|
48
48
|
categoriesPerRow: h || 2,
|
|
49
49
|
maxChoicesPerCategory: j,
|
|
@@ -73,7 +73,7 @@ var { translator: f } = s, p = (e, t) => {
|
|
|
73
73
|
};
|
|
74
74
|
return d === "instructor" && (s === "view" || s === "evaluate") ? (q.rationale = E ? D : null, q.teacherInstructions = O ? k : null) : (q.rationale = null, q.teacherInstructions = null), q;
|
|
75
75
|
}, b = (e, t, n) => {
|
|
76
|
-
let r = [], { answers:
|
|
76
|
+
let r = [], { answers: a } = t || {}, { categories: o, choices: s, correctResponse: c } = e || {}, l = a.reduce((e, t) => e + (t.choices?.length || 0), 0), u = m(c).length > 0, f = d.enabled(e, n), p = (l > 0 ? i(o, s, a, c) : null)?.categories || [];
|
|
77
77
|
if (l > 0 ? (r.push(`Student placed ${l} choice(s) into categories.`), (o || []).forEach((e, t) => {
|
|
78
78
|
let n = e.id, i = p.find((e) => e.id === n), a = i && i.choices || [], o = (c || []).find((e) => e.category === n), s = o && o.choices || [];
|
|
79
79
|
if (s.length > 0) if (a.length === 0) r.push(`Category ${n}: student left empty (should contain ${s.length} choice(s)).`);
|
|
@@ -93,18 +93,18 @@ var { translator: f } = s, p = (e, t) => {
|
|
|
93
93
|
} else r.push("Score calculated using all-or-nothing scoring."), r.push("Student must get all categories completely correct to receive full credit.");
|
|
94
94
|
let g = h(e, t, n);
|
|
95
95
|
return r.push(`Final score: ${g}.`), r;
|
|
96
|
-
}, x = (t, n
|
|
97
|
-
if (!
|
|
96
|
+
}, x = (e, t, n) => n.mode === "evaluate" ? new Promise((r) => {
|
|
97
|
+
if (!t || s(t)) r({
|
|
98
98
|
score: 0,
|
|
99
99
|
empty: !0,
|
|
100
100
|
traceLog: ["Student did not place any choices into categories. Score is 0."]
|
|
101
101
|
});
|
|
102
102
|
else {
|
|
103
|
-
let
|
|
104
|
-
|
|
105
|
-
score: h(t, n
|
|
103
|
+
let i = b(e, t, n);
|
|
104
|
+
r({
|
|
105
|
+
score: h(e, t, n),
|
|
106
106
|
empty: !1,
|
|
107
|
-
traceLog:
|
|
107
|
+
traceLog: i
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
}) : Promise.reject(/* @__PURE__ */ Error("Can not call outcome when mode is not evaluate")), S = (e, t) => new Promise((n) => {
|
|
@@ -116,40 +116,40 @@ var { translator: f } = s, p = (e, t) => {
|
|
|
116
116
|
id: 1
|
|
117
117
|
});
|
|
118
118
|
} else return n(null);
|
|
119
|
-
}), C = (e) => (e || "").replaceAll(/<[^>]*>/g, ""), w = (e) => (e || "").replace(/(<(?!img|iframe|source)([^>]+)>)/gi, ""), T = (
|
|
120
|
-
let { categories:
|
|
119
|
+
}), C = (e) => (e || "").replaceAll(/<[^>]*>/g, ""), w = (e) => (e || "").replace(/(<(?!img|iframe|source)([^>]+)>)/gi, ""), T = (e = {}, r = {}) => {
|
|
120
|
+
let { categories: i, choices: a, correctResponse: o, maxAnswerChoices: c } = e, { minChoices: l = 1, minCategories: u = 1, maxCategories: d = 12, maxLengthPerChoice: f = 300, maxLengthPerCategory: p = 150 } = r, m = [...a || []].reverse(), h = {}, g = {}, _ = {};
|
|
121
121
|
[
|
|
122
122
|
"teacherInstructions",
|
|
123
123
|
"prompt",
|
|
124
124
|
"rationale"
|
|
125
|
-
].forEach((
|
|
126
|
-
|
|
127
|
-
}), (
|
|
125
|
+
].forEach((t) => {
|
|
126
|
+
r[t]?.required && !w(e[t]) && (h[t] = "This field is required.");
|
|
127
|
+
}), (i || []).forEach((e) => {
|
|
128
128
|
let { id: t, label: n } = e;
|
|
129
129
|
C(n).length > p && (_[t] = `Category labels should be no more than ${p} characters long.`);
|
|
130
130
|
}), (m || []).forEach((e, t) => {
|
|
131
131
|
let { id: n, content: r } = e;
|
|
132
132
|
C(r).length > f && (g[n] = `Tokens should be no more than ${f} characters long.`), w(r) ? m.slice(t + 1).some((e) => e.content === r) && (g[n] = "Tokens content should be unique.") : g[n] = "Tokens should not be empty.";
|
|
133
133
|
});
|
|
134
|
-
let v = (
|
|
134
|
+
let v = (i || []).length, y = (a || []).length;
|
|
135
135
|
if (v > d ? h.categoriesError = `No more than ${d} categories should be defined.` : v < u && (h.categoriesError = `There should be at least ${u} category defined.`), y < l ? h.choicesError = `There should be at least ${l} choices defined.` : y > c && (h.choicesError = `No more than ${c} choices should be defined.`), y && v) {
|
|
136
136
|
let e = !1;
|
|
137
|
-
(
|
|
137
|
+
(o || []).forEach((t) => {
|
|
138
138
|
let { choices: n = [], alternateResponses: r = [] } = t;
|
|
139
139
|
n.length ? e = !0 : r.forEach((t) => {
|
|
140
140
|
(t || []).length && (e = !0);
|
|
141
141
|
});
|
|
142
142
|
});
|
|
143
|
-
let
|
|
144
|
-
(
|
|
143
|
+
let r = -1, i = "";
|
|
144
|
+
(o || []).forEach((e) => {
|
|
145
145
|
let { choices: a = [], alternateResponses: o = [], category: s } = e;
|
|
146
|
-
|
|
147
|
-
}),
|
|
148
|
-
index:
|
|
146
|
+
r === -1 && (r = n(a, o), r === -1 && (r = t(o)), i = s);
|
|
147
|
+
}), r > -1 && (h.duplicateAlternate = {
|
|
148
|
+
index: r,
|
|
149
149
|
category: i
|
|
150
150
|
}), e || (h.associationError = "At least one token should be assigned to at least one category.");
|
|
151
151
|
}
|
|
152
|
-
return
|
|
152
|
+
return s(g) || (h.choicesErrors = g), s(_) || (h.categoriesErrors = _), h;
|
|
153
153
|
};
|
|
154
154
|
//#endregion
|
|
155
|
-
export { S as createCorrectResponseSession, _ as createDefaultModel, g as getCorrectness, b as getLogTrace, p as getPartialScore, h as getTotalScore, y as model, v as normalize, x as outcome,
|
|
155
|
+
export { S as createCorrectResponseSession, _ as createDefaultModel, g as getCorrectness, b as getLogTrace, p as getPartialScore, h as getTotalScore, y as model, v as normalize, x as outcome, a as score, T as validate };
|