UNPKG

@caspingus/lt

Version:

A utility library of helpers and extensions useful when working with Learnosity APIs.

502 lines (501 loc) 18.5 kB
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 };