@lxpack/runtime 0.2.0 → 0.2.2

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.
Files changed (49) hide show
  1. package/README.md +1 -1
  2. package/dist/client.js +2091 -1813
  3. package/dist/core/completion-evaluator.d.ts +13 -0
  4. package/dist/core/completion-evaluator.d.ts.map +1 -0
  5. package/dist/core/progress-state.d.ts +20 -0
  6. package/dist/core/progress-state.d.ts.map +1 -0
  7. package/dist/flow-conditions.d.ts +4 -0
  8. package/dist/flow-conditions.d.ts.map +1 -0
  9. package/dist/flow.d.ts +2 -2
  10. package/dist/flow.d.ts.map +1 -1
  11. package/dist/lms/bridge.d.ts +11 -0
  12. package/dist/lms/bridge.d.ts.map +1 -0
  13. package/dist/lms/completion-state.d.ts +10 -0
  14. package/dist/lms/completion-state.d.ts.map +1 -0
  15. package/dist/lms/factory.d.ts +5 -0
  16. package/dist/lms/factory.d.ts.map +1 -0
  17. package/dist/lms/local-bridge.d.ts +15 -0
  18. package/dist/lms/local-bridge.d.ts.map +1 -0
  19. package/dist/lms/scorm12-bridge.d.ts +15 -0
  20. package/dist/lms/scorm12-bridge.d.ts.map +1 -0
  21. package/dist/lms/scorm2004-bridge.d.ts +15 -0
  22. package/dist/lms/scorm2004-bridge.d.ts.map +1 -0
  23. package/dist/{progress-persist.d.ts → progress/codec.d.ts} +2 -3
  24. package/dist/progress/codec.d.ts.map +1 -0
  25. package/dist/progress/constants.d.ts +3 -0
  26. package/dist/progress/constants.d.ts.map +1 -0
  27. package/dist/progress/size-policy.d.ts +4 -0
  28. package/dist/progress/size-policy.d.ts.map +1 -0
  29. package/dist/quiz/host.d.ts +9 -0
  30. package/dist/quiz/host.d.ts.map +1 -0
  31. package/dist/quiz/score.d.ts +6 -0
  32. package/dist/quiz/score.d.ts.map +1 -0
  33. package/dist/quiz/types.d.ts +8 -0
  34. package/dist/quiz/types.d.ts.map +1 -0
  35. package/dist/runtime.d.ts +12 -14
  36. package/dist/runtime.d.ts.map +1 -1
  37. package/dist/runtime.js +292 -562
  38. package/dist/scorm-api.d.ts +1 -1
  39. package/dist/scorm-api.d.ts.map +1 -1
  40. package/dist/scorm12.d.ts +3 -0
  41. package/dist/scorm12.d.ts.map +1 -0
  42. package/dist/scorm12.js +247 -0
  43. package/dist/scorm2004-api.d.ts.map +1 -1
  44. package/dist/scorm2004.d.ts +2 -0
  45. package/dist/scorm2004.d.ts.map +1 -0
  46. package/dist/scorm2004.js +155 -0
  47. package/dist/size-policy-BE1zjEBP.js +137 -0
  48. package/package.json +11 -3
  49. package/dist/progress-persist.d.ts.map +0 -1
@@ -23,7 +23,7 @@ export interface ScormApiLike {
23
23
  LMSGetErrorString(errorCode?: string): string;
24
24
  LMSGetDiagnostic(errorCode?: string): string;
25
25
  }
26
- declare const SCORM_SUSPEND_DATA_MAX = 4096;
26
+ import { SCORM_SUSPEND_DATA_MAX } from "./progress/constants.js";
27
27
  export declare function findLmsApi(maxDepth?: number): ScormApiLike | null;
28
28
  export declare class Scorm12Adapter implements ScormApiLike {
29
29
  private api;
@@ -1 +1 @@
1
- {"version":3,"file":"scorm-api.d.ts","sourceRoot":"","sources":["../src/scorm-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scorm-api.d.ts","sourceRoot":"","sources":["../src/scorm-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { createScormConnection, findLmsApi, Scorm12Adapter, Scorm12Simulator, Scorm12API, installScormAPI, trimSuspendData, } from "./scorm-api.js";
2
+ export { SCORM_SUSPEND_DATA_MAX } from "./progress/constants.js";
3
+ //# sourceMappingURL=scorm12.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorm12.d.ts","sourceRoot":"","sources":["../src/scorm12.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,247 @@
1
+ var u = Object.defineProperty;
2
+ var d = (r, t, e) => t in r ? u(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var s = (r, t, e) => d(r, typeof t != "symbol" ? t + "" : t, e);
4
+ import { t as S } from "./size-policy-BE1zjEBP.js";
5
+ import { S as T } from "./size-policy-BE1zjEBP.js";
6
+ const i = "0", a = "301", n = "302", h = "lxpack_scorm12_preview";
7
+ function m(r = 500) {
8
+ let t = window, e = 0;
9
+ for (; t && e < r; ) {
10
+ try {
11
+ const c = t.API;
12
+ if (c && typeof c.LMSInitialize == "function")
13
+ return c;
14
+ } catch {
15
+ }
16
+ try {
17
+ if (t.parent && t.parent !== t)
18
+ t = t.parent;
19
+ else if (t.opener && !t.opener.closed)
20
+ t = t.opener;
21
+ else
22
+ break;
23
+ } catch {
24
+ break;
25
+ }
26
+ e++;
27
+ }
28
+ return null;
29
+ }
30
+ class f {
31
+ constructor(t) {
32
+ s(this, "api");
33
+ s(this, "initialized", !1);
34
+ s(this, "terminated", !1);
35
+ s(this, "lastError", i);
36
+ this.api = t;
37
+ }
38
+ LMSInitialize() {
39
+ if (this.initialized)
40
+ return this.lastError = a, "false";
41
+ const t = this.api.LMSInitialize("");
42
+ return t === "true" && (this.initialized = !0, this.terminated = !1, this.lastError = i), t;
43
+ }
44
+ LMSFinish() {
45
+ if (!this.initialized || this.terminated)
46
+ return this.lastError = n, "false";
47
+ const t = this.api.LMSFinish("");
48
+ return t === "true" && (this.terminated = !0, this.lastError = i), t;
49
+ }
50
+ LMSGetValue(t) {
51
+ return !this.initialized || this.terminated ? (this.lastError = a, "") : (this.lastError = i, this.api.LMSGetValue(t));
52
+ }
53
+ LMSSetValue(t, e) {
54
+ return !this.initialized || this.terminated ? (this.lastError = a, "false") : (this.lastError = i, this.api.LMSSetValue(t, e));
55
+ }
56
+ LMSCommit() {
57
+ return !this.initialized || this.terminated ? (this.lastError = a, "false") : (this.lastError = i, this.api.LMSCommit(""));
58
+ }
59
+ LMSGetLastError() {
60
+ return this.lastError;
61
+ }
62
+ LMSGetErrorString(t) {
63
+ const e = t ?? this.lastError;
64
+ return e === a ? "Not initialized" : e === n ? "Already terminated" : this.api.LMSGetErrorString(e);
65
+ }
66
+ LMSGetDiagnostic(t) {
67
+ return this.api.LMSGetDiagnostic(t ?? this.lastError);
68
+ }
69
+ setLessonStatus(t) {
70
+ this.LMSSetValue("cmi.core.lesson_status", t);
71
+ }
72
+ setScore(t, e = 100) {
73
+ this.LMSSetValue("cmi.core.score.raw", String(t)), this.LMSSetValue("cmi.core.score.max", String(e)), this.LMSSetValue("cmi.core.score.min", "0");
74
+ }
75
+ setSuspendData(t) {
76
+ const e = l(t);
77
+ this.LMSSetValue("cmi.suspend_data", e);
78
+ }
79
+ setLessonLocation(t) {
80
+ this.LMSSetValue("cmi.core.lesson_location", t);
81
+ }
82
+ }
83
+ class o {
84
+ constructor(t = {}) {
85
+ s(this, "data", {
86
+ lessonStatus: "not attempted",
87
+ scoreRaw: 0,
88
+ scoreMin: 0,
89
+ scoreMax: 100,
90
+ suspendData: "",
91
+ lessonLocation: "",
92
+ entry: "ab-initio",
93
+ exit: "",
94
+ sessionTime: "00:00:00"
95
+ });
96
+ s(this, "initialized", !1);
97
+ s(this, "terminated", !1);
98
+ s(this, "lastError", i);
99
+ s(this, "persistToStorage");
100
+ this.persistToStorage = t.persistToStorage ?? !1, t.initialData && (this.data = { ...this.data, ...t.initialData }), this.persistToStorage && this.loadFromStorage();
101
+ }
102
+ LMSInitialize() {
103
+ return this.initialized ? (this.lastError = a, "false") : (this.initialized = !0, this.terminated = !1, this.lastError = i, "true");
104
+ }
105
+ LMSFinish() {
106
+ return !this.initialized || this.terminated ? (this.lastError = n, "false") : (this.data.exit = "suspend", this.terminated = !0, this.saveToStorage(), this.lastError = i, "true");
107
+ }
108
+ LMSGetValue(t) {
109
+ if (!this.initialized || this.terminated)
110
+ return this.lastError = a, "";
111
+ switch (this.lastError = i, t) {
112
+ case "cmi.core.lesson_status":
113
+ return this.data.lessonStatus;
114
+ case "cmi.core.score.raw":
115
+ return String(this.data.scoreRaw);
116
+ case "cmi.core.score.min":
117
+ return String(this.data.scoreMin);
118
+ case "cmi.core.score.max":
119
+ return String(this.data.scoreMax);
120
+ case "cmi.suspend_data":
121
+ return this.data.suspendData;
122
+ case "cmi.core.lesson_location":
123
+ return this.data.lessonLocation;
124
+ case "cmi.core.student_id":
125
+ return "lxpack-learner";
126
+ case "cmi.core.student_name":
127
+ return "LXPack Learner";
128
+ case "cmi.core.entry":
129
+ return this.data.entry;
130
+ case "cmi.core.exit":
131
+ return this.data.exit;
132
+ case "cmi.core.session_time":
133
+ return this.data.sessionTime;
134
+ default:
135
+ return "";
136
+ }
137
+ }
138
+ LMSSetValue(t, e) {
139
+ if (!this.initialized || this.terminated)
140
+ return this.lastError = a, "false";
141
+ switch (this.lastError = i, t) {
142
+ case "cmi.core.lesson_status":
143
+ this.data.lessonStatus = e;
144
+ break;
145
+ case "cmi.core.score.raw":
146
+ this.data.scoreRaw = Number(e);
147
+ break;
148
+ case "cmi.core.score.min":
149
+ this.data.scoreMin = Number(e);
150
+ break;
151
+ case "cmi.core.score.max":
152
+ this.data.scoreMax = Number(e);
153
+ break;
154
+ case "cmi.suspend_data":
155
+ this.data.suspendData = l(e);
156
+ break;
157
+ case "cmi.core.lesson_location":
158
+ this.data.lessonLocation = e;
159
+ break;
160
+ case "cmi.core.exit":
161
+ this.data.exit = e;
162
+ break;
163
+ case "cmi.core.session_time":
164
+ this.data.sessionTime = e;
165
+ break;
166
+ default:
167
+ return "false";
168
+ }
169
+ return this.saveToStorage(), "true";
170
+ }
171
+ LMSCommit() {
172
+ return !this.initialized || this.terminated ? (this.lastError = a, "false") : (this.saveToStorage(), this.lastError = i, "true");
173
+ }
174
+ LMSGetLastError() {
175
+ return this.lastError;
176
+ }
177
+ LMSGetErrorString(t) {
178
+ const e = t ?? this.lastError;
179
+ return e === a ? "Not initialized" : e === n ? "Already terminated" : "No error";
180
+ }
181
+ LMSGetDiagnostic() {
182
+ return "";
183
+ }
184
+ setLessonStatus(t) {
185
+ this.data.lessonStatus = t, this.saveToStorage();
186
+ }
187
+ setScore(t, e = 100) {
188
+ this.data.scoreRaw = t, this.data.scoreMax = e, this.data.scoreMin = 0, this.saveToStorage();
189
+ }
190
+ setSuspendData(t) {
191
+ this.data.suspendData = l(t), this.saveToStorage();
192
+ }
193
+ setLessonLocation(t) {
194
+ this.data.lessonLocation = t, this.saveToStorage();
195
+ }
196
+ loadFromStorage() {
197
+ try {
198
+ const t = localStorage.getItem(h);
199
+ t && (this.data = { ...this.data, ...JSON.parse(t) });
200
+ } catch {
201
+ }
202
+ }
203
+ saveToStorage() {
204
+ if (this.persistToStorage)
205
+ try {
206
+ localStorage.setItem(h, JSON.stringify(this.data));
207
+ } catch {
208
+ }
209
+ }
210
+ }
211
+ class E extends o {
212
+ constructor() {
213
+ super({ persistToStorage: !0 });
214
+ }
215
+ }
216
+ function l(r) {
217
+ return S(r);
218
+ }
219
+ function p(r) {
220
+ if (r === "preview")
221
+ return new o({ persistToStorage: !0 });
222
+ if (r === "scorm12") {
223
+ const t = m();
224
+ return t ? new f(t) : (console.warn(
225
+ "[lxpack] No LMS SCORM API found; using in-memory simulator (progress will not persist to LMS)"
226
+ ), new o({ persistToStorage: !1 }));
227
+ }
228
+ return new o({ persistToStorage: !1 });
229
+ }
230
+ function g(r = "preview") {
231
+ const t = p(r);
232
+ if (r === "preview") {
233
+ const e = window;
234
+ e.API = t;
235
+ }
236
+ return t;
237
+ }
238
+ export {
239
+ T as SCORM_SUSPEND_DATA_MAX,
240
+ E as Scorm12API,
241
+ f as Scorm12Adapter,
242
+ o as Scorm12Simulator,
243
+ p as createScormConnection,
244
+ m as findLmsApi,
245
+ g as installScormAPI,
246
+ l as trimSuspendData
247
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"scorm2004-api.d.ts","sourceRoot":"","sources":["../src/scorm2004-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,YAAY,IAAI,MAAM,CAAC;IACvB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,gBAAgB,GAAG,IAAI,CA8BxE;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAOV;IACF,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAcpD,OAAO,CAAC,IAAI;IASZ,UAAU,IAAI,MAAM;IAOpB,SAAS,IAAI,MAAM;IAOnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhD,MAAM,IAAI,MAAM;IAMhB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC;AAED,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,OAAO,CAAC,GAAG,CAAmB;gBAElB,GAAG,EAAE,gBAAgB;IAIjC,UAAU,IAAI,MAAM;IAIpB,SAAS,IAAI,MAAM;IAInB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhD,MAAM,IAAI,MAAM;IAIhB,YAAY,IAAI,MAAM;IAItB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAExE,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,GAAG,WAAW,GAC5B,mBAAmB,CAarB"}
1
+ {"version":3,"file":"scorm2004-api.d.ts","sourceRoot":"","sources":["../src/scorm2004-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,YAAY,IAAI,MAAM,CAAC;IACvB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3C;AAKD,wBAAgB,gBAAgB,CAAC,QAAQ,SAAM,GAAG,gBAAgB,GAAG,IAAI,CA8BxE;AAED,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,IAAI,CAOV;IACF,OAAO,CAAC,gBAAgB,CAAU;gBAEtB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE;IAcpD,OAAO,CAAC,IAAI;IASZ,UAAU,IAAI,MAAM;IAOpB,SAAS,IAAI,MAAM;IAOnB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAQhD,MAAM,IAAI,MAAM;IAMhB,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAIvB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC;AAED,qBAAa,gBAAiB,YAAW,gBAAgB;IACvD,OAAO,CAAC,GAAG,CAAmB;gBAElB,GAAG,EAAE,gBAAgB;IAIjC,UAAU,IAAI,MAAM;IAIpB,SAAS,IAAI,MAAM;IAInB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAMhD,MAAM,IAAI,MAAM;IAIhB,YAAY,IAAI,MAAM;IAItB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1C,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAIzC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGrC;AAED,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAExE,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,GAAG,WAAW,GAC5B,mBAAmB,CAarB"}
@@ -0,0 +1,2 @@
1
+ export { createScorm2004Connection, findScorm2004Api, Scorm2004Adapter, Scorm2004Simulator, type Scorm2004ApiLike, type Scorm2004Connection, } from "./scorm2004-api.js";
2
+ //# sourceMappingURL=scorm2004.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scorm2004.d.ts","sourceRoot":"","sources":["../src/scorm2004.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,155 @@
1
+ var c = Object.defineProperty;
2
+ var u = (i, t, e) => t in i ? c(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
+ var a = (i, t, e) => u(i, typeof t != "symbol" ? t + "" : t, e);
4
+ import { t as s } from "./size-policy-BE1zjEBP.js";
5
+ const l = "0", n = "lxpack_scorm2004_preview";
6
+ function m(i = 500) {
7
+ let t = window, e = 0;
8
+ for (; t && e < i; ) {
9
+ try {
10
+ const r = t.API_1484_11;
11
+ if (r && typeof r.Initialize == "function")
12
+ return r;
13
+ } catch {
14
+ }
15
+ try {
16
+ if (t.parent && t.parent !== t)
17
+ t = t.parent;
18
+ else if (t.opener && !t.opener.closed)
19
+ t = t.opener;
20
+ else
21
+ break;
22
+ } catch {
23
+ break;
24
+ }
25
+ e++;
26
+ }
27
+ return null;
28
+ }
29
+ class o {
30
+ constructor(t) {
31
+ a(this, "initialized", !1);
32
+ a(this, "terminated", !1);
33
+ a(this, "data", {
34
+ "cmi.completion_status": "unknown",
35
+ "cmi.success_status": "unknown",
36
+ "cmi.score.scaled": "",
37
+ "cmi.suspend_data": "",
38
+ "cmi.location": "",
39
+ "cmi.entry": "ab-initio"
40
+ });
41
+ a(this, "persistToStorage");
42
+ if (this.persistToStorage = (t == null ? void 0 : t.persistToStorage) ?? !1, this.persistToStorage)
43
+ try {
44
+ const e = localStorage.getItem(n);
45
+ e && (this.data = { ...this.data, ...JSON.parse(e) });
46
+ } catch {
47
+ }
48
+ }
49
+ save() {
50
+ if (this.persistToStorage)
51
+ try {
52
+ localStorage.setItem(n, JSON.stringify(this.data));
53
+ } catch {
54
+ }
55
+ }
56
+ Initialize() {
57
+ return this.initialized ? "false" : (this.initialized = !0, this.terminated = !1, "true");
58
+ }
59
+ Terminate() {
60
+ return !this.initialized || this.terminated ? "false" : (this.terminated = !0, this.save(), "true");
61
+ }
62
+ GetValue(t) {
63
+ return !this.initialized || this.terminated ? "" : this.data[t] ?? "";
64
+ }
65
+ SetValue(t, e) {
66
+ return !this.initialized || this.terminated ? "false" : (this.data[t] = t === "cmi.suspend_data" ? s(e) : e, this.save(), "true");
67
+ }
68
+ Commit() {
69
+ return !this.initialized || this.terminated ? "false" : (this.save(), "true");
70
+ }
71
+ GetLastError() {
72
+ return l;
73
+ }
74
+ GetErrorString() {
75
+ return "No error";
76
+ }
77
+ GetDiagnostic() {
78
+ return "";
79
+ }
80
+ setSuspendData(t) {
81
+ this.data["cmi.suspend_data"] = s(t);
82
+ }
83
+ setLocation(t) {
84
+ this.data["cmi.location"] = t;
85
+ }
86
+ setCompletionStatus(t) {
87
+ this.data["cmi.completion_status"] = t;
88
+ }
89
+ setSuccessStatus(t) {
90
+ this.data["cmi.success_status"] = t;
91
+ }
92
+ setScoreScaled(t) {
93
+ this.data["cmi.score.scaled"] = String(Math.max(0, Math.min(1, t)));
94
+ }
95
+ }
96
+ class d {
97
+ constructor(t) {
98
+ a(this, "api");
99
+ this.api = t;
100
+ }
101
+ Initialize() {
102
+ return this.api.Initialize("");
103
+ }
104
+ Terminate() {
105
+ return this.api.Terminate("");
106
+ }
107
+ GetValue(t) {
108
+ return this.api.GetValue(t);
109
+ }
110
+ SetValue(t, e) {
111
+ const r = t === "cmi.suspend_data" ? s(e) : e;
112
+ return this.api.SetValue(t, r);
113
+ }
114
+ Commit() {
115
+ return this.api.Commit("");
116
+ }
117
+ GetLastError() {
118
+ return this.api.GetLastError();
119
+ }
120
+ GetErrorString(t) {
121
+ return this.api.GetErrorString(t);
122
+ }
123
+ GetDiagnostic(t) {
124
+ return this.api.GetDiagnostic(t);
125
+ }
126
+ setSuspendData(t) {
127
+ this.api.SetValue("cmi.suspend_data", s(t));
128
+ }
129
+ setLocation(t) {
130
+ this.api.SetValue("cmi.location", t);
131
+ }
132
+ setCompletionStatus(t) {
133
+ this.api.SetValue("cmi.completion_status", t);
134
+ }
135
+ setSuccessStatus(t) {
136
+ this.api.SetValue("cmi.success_status", t);
137
+ }
138
+ setScoreScaled(t) {
139
+ this.api.SetValue("cmi.score.scaled", String(Math.max(0, Math.min(1, t))));
140
+ }
141
+ }
142
+ function S(i) {
143
+ if (i === "preview")
144
+ return new o({ persistToStorage: !0 });
145
+ const t = m();
146
+ return t ? new d(t) : (console.warn(
147
+ "[lxpack] No SCORM 2004 API found; using in-memory simulator"
148
+ ), new o({ persistToStorage: !1 }));
149
+ }
150
+ export {
151
+ d as Scorm2004Adapter,
152
+ o as Scorm2004Simulator,
153
+ S as createScorm2004Connection,
154
+ m as findScorm2004Api
155
+ };
@@ -0,0 +1,137 @@
1
+ const y = 4096;
2
+ function c(s) {
3
+ var n;
4
+ const e = {
5
+ c: s.currentLessonId,
6
+ l: s.completedLessons,
7
+ a: s.assessmentScores,
8
+ s: s.suspendData
9
+ };
10
+ return (n = e.l) != null && n.length || delete e.l, (!e.a || !Object.keys(e.a).length) && delete e.a, (!e.s || !Object.keys(e.s).length) && delete e.s, e;
11
+ }
12
+ function u(s, e) {
13
+ return {
14
+ currentLessonId: s.c ?? e.currentLessonId,
15
+ completedLessons: Array.isArray(s.l) ? s.l : e.completedLessons,
16
+ assessmentScores: s.a && typeof s.a == "object" ? s.a : e.assessmentScores,
17
+ suspendData: s.s && typeof s.s == "object" ? s.s : e.suspendData
18
+ };
19
+ }
20
+ function l(s) {
21
+ if (!s || typeof s != "object") return !1;
22
+ const e = s;
23
+ return "currentLessonId" in e || "completedLessons" in e || "assessmentScores" in e;
24
+ }
25
+ function d(s, e) {
26
+ return {
27
+ currentLessonId: s.currentLessonId ?? e.currentLessonId,
28
+ completedLessons: Array.isArray(s.completedLessons) ? s.completedLessons : e.completedLessons,
29
+ assessmentScores: s.assessmentScores && typeof s.assessmentScores == "object" ? s.assessmentScores : e.assessmentScores,
30
+ suspendData: s.suspendData && typeof s.suspendData == "object" ? s.suspendData : e.suspendData
31
+ };
32
+ }
33
+ function f(s, e) {
34
+ try {
35
+ const n = JSON.parse(s);
36
+ return l(n) ? {
37
+ progress: d(n, e),
38
+ parsed: !0
39
+ } : { progress: u(n, e), parsed: !0 };
40
+ } catch {
41
+ return { progress: e, parsed: !1 };
42
+ }
43
+ }
44
+ function r(s, e) {
45
+ return JSON.stringify(c(s)).length <= e;
46
+ }
47
+ function p(s, e) {
48
+ const n = { ...s.suspendData }, o = Object.keys(n).filter((i) => i.startsWith("interaction_")).sort();
49
+ for (const i of o) {
50
+ delete n[i];
51
+ const t = { ...s, suspendData: n };
52
+ if (r(t, e))
53
+ return t;
54
+ }
55
+ return { ...s, suspendData: n };
56
+ }
57
+ function S(s) {
58
+ return s.startsWith("interaction_") || s.startsWith("v:") || s.startsWith("assessment_attempts_") || s.startsWith("assessment_passing_");
59
+ }
60
+ function L(s, e) {
61
+ const n = { ...s.suspendData }, o = Object.keys(n).filter((t) => !S(t)).sort();
62
+ for (const t of o) {
63
+ delete n[t];
64
+ const a = { ...s, suspendData: n };
65
+ if (r(a, e))
66
+ return a;
67
+ }
68
+ const i = Object.keys(n).filter((t) => t.startsWith("v:")).sort();
69
+ for (const t of i) {
70
+ delete n[t];
71
+ const a = { ...s, suspendData: n };
72
+ if (r(a, e))
73
+ return a;
74
+ }
75
+ return { ...s, suspendData: n };
76
+ }
77
+ function g(s, e) {
78
+ let n = {
79
+ currentLessonId: s.currentLessonId,
80
+ completedLessons: [...s.completedLessons],
81
+ assessmentScores: { ...s.assessmentScores },
82
+ suspendData: {}
83
+ };
84
+ if (r(n, e))
85
+ return JSON.stringify(c(n));
86
+ for (; n.completedLessons.length > 0; )
87
+ if (n.completedLessons.pop(), r(n, e))
88
+ return JSON.stringify(c(n));
89
+ const o = Object.keys(n.assessmentScores);
90
+ for (; o.length > 0; )
91
+ if (delete n.assessmentScores[o.pop()], r(n, e))
92
+ return JSON.stringify(c(n));
93
+ n = {
94
+ currentLessonId: s.currentLessonId,
95
+ completedLessons: [],
96
+ assessmentScores: {},
97
+ suspendData: {}
98
+ };
99
+ const i = JSON.stringify(c(n));
100
+ if (i.length <= e)
101
+ return i;
102
+ const t = JSON.stringify({
103
+ c: s.currentLessonId.slice(0, Math.max(0, e - 20))
104
+ });
105
+ return t.length <= e ? t : JSON.stringify({ c: "" });
106
+ }
107
+ function h(s, e = 4096) {
108
+ if (r(s, e))
109
+ return JSON.stringify(c(s));
110
+ let n = p(s, e);
111
+ return r(n, e) || (n = L(n, e), r(n, e)) ? JSON.stringify(c(n)) : (console.warn(
112
+ `[lxpack] suspend_data exceeds ${e} chars; using minimal progress snapshot`
113
+ ), g(s, e));
114
+ }
115
+ function m(s, e = 4096) {
116
+ if (s.length <= e) return s;
117
+ console.warn(
118
+ `[lxpack] suspend_data exceeds ${e} chars; using minimal progress snapshot`
119
+ );
120
+ try {
121
+ const n = {
122
+ currentLessonId: "",
123
+ completedLessons: [],
124
+ assessmentScores: {},
125
+ suspendData: {}
126
+ }, { progress: o } = f(s, n);
127
+ return h(o, e);
128
+ } catch {
129
+ return JSON.stringify({ c: "" });
130
+ }
131
+ }
132
+ export {
133
+ y as S,
134
+ f as p,
135
+ h as s,
136
+ m as t
137
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lxpack/runtime",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Web-native course runtime for LXPack",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -31,7 +31,15 @@
31
31
  "types": "./dist/runtime.d.ts",
32
32
  "import": "./dist/runtime.js"
33
33
  },
34
- "./client": "./dist/client.js"
34
+ "./client": "./dist/client.js",
35
+ "./scorm12": {
36
+ "types": "./dist/scorm12.d.ts",
37
+ "import": "./dist/scorm12.js"
38
+ },
39
+ "./scorm2004": {
40
+ "types": "./dist/scorm2004.d.ts",
41
+ "import": "./dist/scorm2004.js"
42
+ }
35
43
  },
36
44
  "files": [
37
45
  "dist"
@@ -39,7 +47,7 @@
39
47
  "dependencies": {
40
48
  "marked": "^15.0.7",
41
49
  "yaml": "^2.7.0",
42
- "@lxpack/validators": "0.2.0"
50
+ "@lxpack/validators": "0.2.2"
43
51
  },
44
52
  "devDependencies": {
45
53
  "@types/node": "^22.13.10",
@@ -1 +0,0 @@
1
- {"version":3,"file":"progress-persist.d.ts","sourceRoot":"","sources":["../src/progress-persist.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,UAAU,eAAe;IACvB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,eAAe,CAWzE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,GACvB,cAAc,CAahB;AAqBD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAkB5E;AAYD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,EAC9B,QAAQ,EAAE,cAAc,GACvB,cAAc,CAehB;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GACvB;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAa/C"}