@caspingus/lt
Version:
A utility library of helpers and extensions useful when working with Learnosity APIs.
502 lines (501 loc) • 18.5 kB
JavaScript
import { r as e, t } from "../../chunk-BPfpcrXh.js";
import { r as n, t as r } from "../../extensionsFactory-hk5ijx1G.js";
import { n as i } from "../../dom-CpjYEKpq.js";
import { i as a, n as o, r as s, t as c } from "../../isObjectLike--jMIiz6U.js";
import { t as l } from "../../isObject-BMjug7c_.js";
//#region node_modules/lodash-es/_arrayMap.js
function u(e, t) {
for (var n = -1, r = e == null ? 0 : e.length, i = Array(r); ++n < r;) i[n] = t(e[n], n, e);
return i;
}
//#endregion
//#region node_modules/lodash-es/isArray.js
var d = Array.isArray, f = "[object AsyncFunction]", p = "[object Function]", m = "[object GeneratorFunction]", h = "[object Proxy]";
function g(e) {
if (!l(e)) return !1;
var t = o(e);
return t == p || t == m || t == f || t == h;
}
//#endregion
//#region node_modules/lodash-es/_copyArray.js
function _(e, t) {
var n = -1, r = e.length;
for (t ||= Array(r); ++n < r;) t[n] = e[n];
return t;
}
//#endregion
//#region node_modules/lodash-es/_isIndex.js
var v = 9007199254740991, y = /^(?:0|[1-9]\d*)$/;
function b(e, t) {
var n = typeof e;
return t ??= v, !!t && (n == "number" || n != "symbol" && y.test(e)) && e > -1 && e % 1 == 0 && e < t;
}
//#endregion
//#region node_modules/lodash-es/isLength.js
var ee = 9007199254740991;
function x(e) {
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= ee;
}
//#endregion
//#region node_modules/lodash-es/isArrayLike.js
function te(e) {
return e != null && x(e.length) && !g(e);
}
//#endregion
//#region node_modules/lodash-es/_isPrototype.js
var ne = Object.prototype;
function re(e) {
var t = e && e.constructor;
return e === (typeof t == "function" && t.prototype || ne);
}
//#endregion
//#region node_modules/lodash-es/_baseTimes.js
function S(e, t) {
for (var n = -1, r = Array(e); ++n < e;) r[n] = t(n);
return r;
}
//#endregion
//#region node_modules/lodash-es/_baseIsArguments.js
var ie = "[object Arguments]";
function C(e) {
return c(e) && o(e) == ie;
}
//#endregion
//#region node_modules/lodash-es/isArguments.js
var w = Object.prototype, ae = w.hasOwnProperty, oe = w.propertyIsEnumerable, se = C(function() {
return arguments;
}()) ? C : function(e) {
return c(e) && ae.call(e, "callee") && !oe.call(e, "callee");
};
//#endregion
//#region node_modules/lodash-es/stubFalse.js
function ce() {
return !1;
}
//#endregion
//#region node_modules/lodash-es/isBuffer.js
var T = typeof exports == "object" && exports && !exports.nodeType && exports, E = T && typeof module == "object" && module && !module.nodeType && module, D = E && E.exports === T ? s.Buffer : void 0, O = (D ? D.isBuffer : void 0) || ce, k = "[object Arguments]", A = "[object Array]", j = "[object Boolean]", M = "[object Date]", N = "[object Error]", P = "[object Function]", F = "[object Map]", I = "[object Number]", L = "[object Object]", R = "[object RegExp]", z = "[object Set]", B = "[object String]", V = "[object WeakMap]", H = "[object ArrayBuffer]", U = "[object DataView]", W = "[object Float32Array]", G = "[object Float64Array]", le = "[object Int8Array]", ue = "[object Int16Array]", de = "[object Int32Array]", fe = "[object Uint8Array]", pe = "[object Uint8ClampedArray]", me = "[object Uint16Array]", he = "[object Uint32Array]", K = {};
K[W] = K[G] = K[le] = K[ue] = K[de] = K[fe] = K[pe] = K[me] = K[he] = !0, K[k] = K[A] = K[H] = K[j] = K[U] = K[M] = K[N] = K[P] = K[F] = K[I] = K[L] = K[R] = K[z] = K[B] = K[V] = !1;
function ge(e) {
return c(e) && x(e.length) && !!K[o(e)];
}
//#endregion
//#region node_modules/lodash-es/_baseUnary.js
function _e(e) {
return function(t) {
return e(t);
};
}
//#endregion
//#region node_modules/lodash-es/_nodeUtil.js
var q = typeof exports == "object" && exports && !exports.nodeType && exports, J = q && typeof module == "object" && module && !module.nodeType && module, Y = J && J.exports === q && a.process, X = function() {
try {
return J && J.require && J.require("util").types || Y && Y.binding && Y.binding("util");
} catch {}
}(), Z = X && X.isTypedArray, ve = Z ? _e(Z) : ge, ye = Object.prototype.hasOwnProperty;
function be(e, t) {
var n = d(e), r = !n && se(e), i = !n && !r && O(e), a = !n && !r && !i && ve(e), o = n || r || i || a, s = o ? S(e.length, String) : [], c = s.length;
for (var l in e) (t || ye.call(e, l)) && !(o && (l == "length" || i && (l == "offset" || l == "parent") || a && (l == "buffer" || l == "byteLength" || l == "byteOffset") || b(l, c))) && s.push(l);
return s;
}
//#endregion
//#region node_modules/lodash-es/_overArg.js
function xe(e, t) {
return function(n) {
return e(t(n));
};
}
//#endregion
//#region node_modules/lodash-es/_nativeKeys.js
var Se = xe(Object.keys, Object), Ce = Object.prototype.hasOwnProperty;
function we(e) {
if (!re(e)) return Se(e);
var t = [];
for (var n in Object(e)) Ce.call(e, n) && n != "constructor" && t.push(n);
return t;
}
//#endregion
//#region node_modules/lodash-es/keys.js
function Te(e) {
return te(e) ? be(e) : we(e);
}
//#endregion
//#region node_modules/lodash-es/_baseValues.js
function Ee(e, t) {
return u(t, function(t) {
return e[t];
});
}
//#endregion
//#region node_modules/lodash-es/values.js
function De(e) {
return e == null ? [] : Ee(e, Te(e));
}
//#endregion
//#region node_modules/lodash-es/_baseRandom.js
var Oe = Math.floor, ke = Math.random;
function Ae(e, t) {
return e + Oe(ke() * (t - e + 1));
}
//#endregion
//#region node_modules/lodash-es/_shuffleSelf.js
function Q(e, t) {
var n = -1, r = e.length, i = r - 1;
for (t = t === void 0 ? r : t; ++n < t;) {
var a = Ae(n, i), o = e[a];
e[a] = e[n], e[n] = o;
}
return e.length = t, e;
}
//#endregion
//#region node_modules/lodash-es/_arrayShuffle.js
function je(e) {
return Q(_(e));
}
//#endregion
//#region node_modules/lodash-es/_baseShuffle.js
function Me(e) {
return Q(De(e));
}
//#endregion
//#region node_modules/lodash-es/shuffle.js
function Ne(e) {
return (d(e) ? je : Me)(e);
}
//#endregion
//#region node_modules/seedrandom/lib/alea.js
var Pe = /* @__PURE__ */ t(((e, t) => {
(function(e, t, n) {
function r(e) {
var t = this, n = o();
t.next = function() {
var e = 2091639 * t.s0 + t.c * 23283064365386963e-26;
return t.s0 = t.s1, t.s1 = t.s2, t.s2 = e - (t.c = e | 0);
}, t.c = 1, t.s0 = n(" "), t.s1 = n(" "), t.s2 = n(" "), t.s0 -= n(e), t.s0 < 0 && (t.s0 += 1), t.s1 -= n(e), t.s1 < 0 && (t.s1 += 1), t.s2 -= n(e), t.s2 < 0 && (t.s2 += 1), n = null;
}
function i(e, t) {
return t.c = e.c, t.s0 = e.s0, t.s1 = e.s1, t.s2 = e.s2, t;
}
function a(e, t) {
var n = new r(e), a = t && t.state, o = n.next;
return o.int32 = function() {
return n.next() * 4294967296 | 0;
}, o.double = function() {
return o() + (o() * 2097152 | 0) * 11102230246251565e-32;
}, o.quick = o, a && (typeof a == "object" && i(a, n), o.state = function() {
return i(n, {});
}), o;
}
function o() {
var e = 4022871197;
return function(t) {
t = String(t);
for (var n = 0; n < t.length; n++) {
e += t.charCodeAt(n);
var r = .02519603282416938 * e;
e = r >>> 0, r -= e, r *= e, e = r >>> 0, r -= e, e += r * 4294967296;
}
return (e >>> 0) * 23283064365386963e-26;
};
}
t && t.exports ? t.exports = a : n && n.amd ? n(function() {
return a;
}) : this.alea = a;
})(e, typeof t == "object" && t, typeof define == "function" && define);
})), Fe = /* @__PURE__ */ t(((e, t) => {
(function(e, t, n) {
function r(e) {
var t = this, n = "";
t.x = 0, t.y = 0, t.z = 0, t.w = 0, t.next = function() {
var e = t.x ^ t.x << 11;
return t.x = t.y, t.y = t.z, t.z = t.w, t.w ^= t.w >>> 19 ^ e ^ e >>> 8;
}, e === (e | 0) ? t.x = e : n += e;
for (var r = 0; r < n.length + 64; r++) t.x ^= n.charCodeAt(r) | 0, t.next();
}
function i(e, t) {
return t.x = e.x, t.y = e.y, t.z = e.z, t.w = e.w, t;
}
function a(e, t) {
var n = new r(e), a = t && t.state, o = function() {
return (n.next() >>> 0) / 4294967296;
};
return o.double = function() {
do
var e = ((n.next() >>> 11) + (n.next() >>> 0) / 4294967296) / (1 << 21);
while (e === 0);
return e;
}, o.int32 = n.next, o.quick = o, a && (typeof a == "object" && i(a, n), o.state = function() {
return i(n, {});
}), o;
}
t && t.exports ? t.exports = a : n && n.amd ? n(function() {
return a;
}) : this.xor128 = a;
})(e, typeof t == "object" && t, typeof define == "function" && define);
})), Ie = /* @__PURE__ */ t(((e, t) => {
(function(e, t, n) {
function r(e) {
var t = this, n = "";
t.next = function() {
var e = t.x ^ t.x >>> 2;
return t.x = t.y, t.y = t.z, t.z = t.w, t.w = t.v, (t.d = t.d + 362437 | 0) + (t.v = t.v ^ t.v << 4 ^ (e ^ e << 1)) | 0;
}, t.x = 0, t.y = 0, t.z = 0, t.w = 0, t.v = 0, e === (e | 0) ? t.x = e : n += e;
for (var r = 0; r < n.length + 64; r++) t.x ^= n.charCodeAt(r) | 0, r == n.length && (t.d = t.x << 10 ^ t.x >>> 4), t.next();
}
function i(e, t) {
return t.x = e.x, t.y = e.y, t.z = e.z, t.w = e.w, t.v = e.v, t.d = e.d, t;
}
function a(e, t) {
var n = new r(e), a = t && t.state, o = function() {
return (n.next() >>> 0) / 4294967296;
};
return o.double = function() {
do
var e = ((n.next() >>> 11) + (n.next() >>> 0) / 4294967296) / (1 << 21);
while (e === 0);
return e;
}, o.int32 = n.next, o.quick = o, a && (typeof a == "object" && i(a, n), o.state = function() {
return i(n, {});
}), o;
}
t && t.exports ? t.exports = a : n && n.amd ? n(function() {
return a;
}) : this.xorwow = a;
})(e, typeof t == "object" && t, typeof define == "function" && define);
})), Le = /* @__PURE__ */ t(((e, t) => {
(function(e, t, n) {
function r(e) {
var t = this;
t.next = function() {
var e = t.x, n = t.i, r = e[n], i;
return r ^= r >>> 7, i = r ^ r << 24, r = e[n + 1 & 7], i ^= r ^ r >>> 10, r = e[n + 3 & 7], i ^= r ^ r >>> 3, r = e[n + 4 & 7], i ^= r ^ r << 7, r = e[n + 7 & 7], r ^= r << 13, i ^= r ^ r << 9, e[n] = i, t.i = n + 1 & 7, i;
};
function n(e, t) {
var n, r = [];
if (t === (t | 0)) r[0] = t;
else for (t = "" + t, n = 0; n < t.length; ++n) r[n & 7] = r[n & 7] << 15 ^ t.charCodeAt(n) + r[n + 1 & 7] << 13;
for (; r.length < 8;) r.push(0);
for (n = 0; n < 8 && r[n] === 0; ++n);
for (n == 8 ? r[7] = -1 : r[n], e.x = r, e.i = 0, n = 256; n > 0; --n) e.next();
}
n(t, e);
}
function i(e, t) {
return t.x = e.x.slice(), t.i = e.i, t;
}
function a(e, t) {
e ??= +/* @__PURE__ */ new Date();
var n = new r(e), a = t && t.state, o = function() {
return (n.next() >>> 0) / 4294967296;
};
return o.double = function() {
do
var e = ((n.next() >>> 11) + (n.next() >>> 0) / 4294967296) / (1 << 21);
while (e === 0);
return e;
}, o.int32 = n.next, o.quick = o, a && (a.x && i(a, n), o.state = function() {
return i(n, {});
}), o;
}
t && t.exports ? t.exports = a : n && n.amd ? n(function() {
return a;
}) : this.xorshift7 = a;
})(e, typeof t == "object" && t, typeof define == "function" && define);
})), Re = /* @__PURE__ */ t(((e, t) => {
(function(e, t, n) {
function r(e) {
var t = this;
t.next = function() {
var e = t.w, n = t.X, r = t.i, i, a;
return t.w = e = e + 1640531527 | 0, a = n[r + 34 & 127], i = n[r = r + 1 & 127], a ^= a << 13, i ^= i << 17, a ^= a >>> 15, i ^= i >>> 12, a = n[r] = a ^ i, t.i = r, a + (e ^ e >>> 16) | 0;
};
function n(e, t) {
var n, r, i, a, o, s = [], c = 128;
for (t === (t | 0) ? (r = t, t = null) : (t += "\0", r = 0, c = Math.max(c, t.length)), i = 0, a = -32; a < c; ++a) t && (r ^= t.charCodeAt((a + 32) % t.length)), a === 0 && (o = r), r ^= r << 10, r ^= r >>> 15, r ^= r << 4, r ^= r >>> 13, a >= 0 && (o = o + 1640531527 | 0, n = s[a & 127] ^= r + o, i = n == 0 ? i + 1 : 0);
for (i >= 128 && (s[(t && t.length || 0) & 127] = -1), i = 127, a = 512; a > 0; --a) r = s[i + 34 & 127], n = s[i = i + 1 & 127], r ^= r << 13, n ^= n << 17, r ^= r >>> 15, n ^= n >>> 12, s[i] = r ^ n;
e.w = o, e.X = s, e.i = i;
}
n(t, e);
}
function i(e, t) {
return t.i = e.i, t.w = e.w, t.X = e.X.slice(), t;
}
function a(e, t) {
e ??= +/* @__PURE__ */ new Date();
var n = new r(e), a = t && t.state, o = function() {
return (n.next() >>> 0) / 4294967296;
};
return o.double = function() {
do
var e = ((n.next() >>> 11) + (n.next() >>> 0) / 4294967296) / (1 << 21);
while (e === 0);
return e;
}, o.int32 = n.next, o.quick = o, a && (a.X && i(a, n), o.state = function() {
return i(n, {});
}), o;
}
t && t.exports ? t.exports = a : n && n.amd ? n(function() {
return a;
}) : this.xor4096 = a;
})(e, typeof t == "object" && t, typeof define == "function" && define);
})), ze = /* @__PURE__ */ t(((e, t) => {
(function(e, t, n) {
function r(e) {
var t = this, n = "";
t.next = function() {
var e = t.b, n = t.c, r = t.d, i = t.a;
return e = e << 25 ^ e >>> 7 ^ n, n = n - r | 0, r = r << 24 ^ r >>> 8 ^ i, i = i - e | 0, t.b = e = e << 20 ^ e >>> 12 ^ n, t.c = n = n - r | 0, t.d = r << 16 ^ n >>> 16 ^ i, t.a = i - e | 0;
}, t.a = 0, t.b = 0, t.c = -1640531527, t.d = 1367130551, e === Math.floor(e) ? (t.a = e / 4294967296 | 0, t.b = e | 0) : n += e;
for (var r = 0; r < n.length + 20; r++) t.b ^= n.charCodeAt(r) | 0, t.next();
}
function i(e, t) {
return t.a = e.a, t.b = e.b, t.c = e.c, t.d = e.d, t;
}
function a(e, t) {
var n = new r(e), a = t && t.state, o = function() {
return (n.next() >>> 0) / 4294967296;
};
return o.double = function() {
do
var e = ((n.next() >>> 11) + (n.next() >>> 0) / 4294967296) / (1 << 21);
while (e === 0);
return e;
}, o.int32 = n.next, o.quick = o, a && (typeof a == "object" && i(a, n), o.state = function() {
return i(n, {});
}), o;
}
t && t.exports ? t.exports = a : n && n.amd ? n(function() {
return a;
}) : this.tychei = a;
})(e, typeof t == "object" && t, typeof define == "function" && define);
})), Be = /* @__PURE__ */ t(((e, t) => {
t.exports = {};
})), Ve = /* @__PURE__ */ t(((e, t) => {
(function(e, n, r) {
var i = 256, a = 6, o = 52, s = "random", c = r.pow(i, a), l = r.pow(2, o), u = l * 2, d = i - 1, f;
function p(e, t, o) {
var d = [];
t = t == 1 ? { entropy: !0 } : t || {};
var f = _(g(t.entropy ? [e, y(n)] : e ?? v(), 3), d), p = new m(d), b = function() {
for (var e = p.g(a), t = c, n = 0; e < l;) e = (e + n) * i, t *= i, n = p.g(1);
for (; e >= u;) e /= 2, t /= 2, n >>>= 1;
return (e + n) / t;
};
return b.int32 = function() {
return p.g(4) | 0;
}, b.quick = function() {
return p.g(4) / 4294967296;
}, b.double = b, _(y(p.S), n), (t.pass || o || function(e, t, n, i) {
return i && (i.S && h(i, p), e.state = function() {
return h(p, {});
}), n ? (r[s] = e, t) : e;
})(b, f, "global" in t ? t.global : this == r, t.state);
}
function m(e) {
var t, n = e.length, r = this, a = 0, o = r.i = r.j = 0, s = r.S = [];
for (n || (e = [n++]); a < i;) s[a] = a++;
for (a = 0; a < i; a++) s[a] = s[o = d & o + e[a % n] + (t = s[a])], s[o] = t;
(r.g = function(e) {
for (var t, n = 0, a = r.i, o = r.j, s = r.S; e--;) t = s[a = d & a + 1], n = n * i + s[d & (s[a] = s[o = d & o + t]) + (s[o] = t)];
return r.i = a, r.j = o, n;
})(i);
}
function h(e, t) {
return t.i = e.i, t.j = e.j, t.S = e.S.slice(), t;
}
function g(e, t) {
var n = [], r = typeof e, i;
if (t && r == "object") for (i in e) try {
n.push(g(e[i], t - 1));
} catch {}
return n.length ? n : r == "string" ? e : e + "\0";
}
function _(e, t) {
for (var n = e + "", r, i = 0; i < n.length;) t[d & i] = d & (r ^= t[d & i] * 19) + n.charCodeAt(i++);
return y(t);
}
function v() {
try {
var t;
return f && (t = f.randomBytes) ? t = t(i) : (t = new Uint8Array(i), (e.crypto || e.msCrypto).getRandomValues(t)), y(t);
} catch {
var r = e.navigator, a = r && r.plugins;
return [
+/* @__PURE__ */ new Date(),
e,
a,
e.screen,
y(n)
];
}
}
function y(e) {
return String.fromCharCode.apply(0, e);
}
if (_(r.random(), n), typeof t == "object" && t.exports) {
t.exports = p;
try {
f = Be();
} catch {}
} else typeof define == "function" && define.amd ? define(function() {
return p;
}) : r["seed" + s] = p;
})(typeof self < "u" ? self : e, [], Math);
})), $ = /* @__PURE__ */ e((/* @__PURE__ */ t(((e, t) => {
var n = Pe(), r = Fe(), i = Ie(), a = Le(), o = Re(), s = ze(), c = Ve();
c.alea = n, c.xor128 = r, c.xorwow = i, c.xorshift7 = a, c.xor4096 = o, c.tychei = s, t.exports = c;
})))(), 1);
function He(e) {
let { numToHide: t = 1 } = e || {}, n = "LRN Hide Alternatives:";
r.eventBus.on("item:load", () => {
let e = r.questions();
Object.values(e).forEach((e) => {
if (e.type === "mcq") if (Ue(e)) if (We(e, t)) if (Ge(e)) if (Ke(e.validation)) {
let n = [], r = qe(e.validation);
Object.values(r).forEach((t) => {
Object.values(e.options).forEach((e) => {
t !== e.value && n.push(String(e.value));
});
});
let a = [];
for (let r = 0; r < t; r++) a.push(Je(n, e.response_id)[r]);
i(e.response_id, (e) => {
if (!e) return;
let t = e.getElementsByClassName("lrn_mcqgroup");
if (t.length !== 0) for (let e = 0; e < t[0].children.length; e++) {
let n = t[0].children[e].getElementsByClassName("lrn-input");
if (n.length !== 0) for (let r of a) n[0].getAttribute("value") === r && (t[0].children[e].style.display = "none");
}
});
} else r.utils.logger.info(n, "No correct answer found in validation object");
else r.utils.logger.info(n, " No validation object found");
else r.utils.logger.info(n, "Invalid number of options to hide:", t);
else r.utils.logger.info(n, "Only supports single response mode");
});
}, "hideAlternatives");
}
function Ue(e) {
return !e.multiple_responses || e.multiple_responses === !1;
}
function We(e, t) {
return e.options.length - t > 1;
}
function Ge(e) {
return "validation" in e ? e.validation : !1;
}
function Ke(e) {
return !!(e.valid_response.value && e.valid_response.value.length);
}
function qe(e) {
return e.valid_response.value;
}
function Je(e, t) {
let n = (0, $.default)(t);
return Ne(e.map((e) => ({
value: e,
sort: n()
}))).sort((e, t) => e.sort - t.sort).map(({ value: e }) => e);
}
var Ye = n("hideAlternatives", He);
//#endregion
export { Ye as hideAlternatives };