@caspingus/lt
Version:
A utility library of helpers and extensions useful when working with Learnosity APIs.
78 lines (77 loc) • 2.38 kB
JavaScript
import { n as e } from "./chunk-BPfpcrXh.js";
import t from "./logger.js";
import { a as n, n as r, r as i, t as a } from "./app-22BVhJD9.js";
//#region src/authoring/core/navigation.js
var o = /* @__PURE__ */ e({ routingHash: () => s });
function s() {
r().on("navigate", (e) => {
window.location.hash = "#" + e.data.locationEncoded;
}), r().navigate(window.location.hash.replace(/^#/, "")), window.onhashchange = () => {
r().navigate(window.location.hash.replace(/^#/, ""));
};
}
//#endregion
//#region src/authoring/core/widgets.js
var c = /* @__PURE__ */ e({ type: () => l });
function l() {
return r().getWidget()?.type || null;
}
//#endregion
//#region src/authoring/core.js
var u = null, d = null, f = Object.fromEntries(Object.entries(n).filter(([e]) => !["extensionsListener", "handleEvent"].includes(e))), p = Object.fromEntries(Object.entries(a).filter(([e]) => !["setup"].includes(e))), m = { utils: {
logger: t,
get monitor() {
return u;
}
} };
async function h() {
if (!d) {
let e = await import(
/* webpackChunkName: "lt-memory-monitor" */
"./memoryMonitor-Bl5n5_ar.js"
);
d = e.default || e.MemoryMonitor || e;
}
return d;
}
async function g(e = {}) {
let t = await h();
return u ||= new t(), u.isMonitoring || u.startMonitoring(e.intervalMs ?? 5e3), u;
}
function _() {
u?.stopMonitoring();
}
async function v(e, t = {}) {
i(e);
let { extensions: n = [], security: r, request: a, monitor: o, perf: s = !1, perfLimit: c = 50 } = t, l = (e) => !!(e && e.security && e.request), u = n.find((e) => typeof e == "object" && e.id === "imageUploader") || n.find((e) => e === "imageUploader");
if (u) {
let e = l(typeof u == "object" ? u.args : null), t = l({
security: r,
request: a
});
if (!e && !t) throw TypeError("LT.init: imageUploader extension requires `security` and `request` (provide via extension args or top-level options).");
}
if (o && (Object.assign(m.utils, {
enableMonitoring: g,
disableMonitoring: _
}), await g({ intervalMs: typeof o == "object" && Number.isFinite(o.intervalMs) ? o.intervalMs : void 0 })), n.length) {
let { runExtensions: e } = await import("./initExtensions-BIViJRxw.js");
await e(y, n, "authoring", {
security: r,
request: a,
perf: s,
perfLimit: c
});
}
}
var y = {
init: v,
extensions: {},
...p,
...f,
...o,
...c,
...m
};
//#endregion
export { y as t };