@pie-element/simple-cloze 0.1.0
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/index.d.ts +11 -0
- package/dist/author/index.d.ts.map +1 -0
- package/dist/author/index.js +35101 -0
- package/dist/author/index.js.map +1 -0
- package/dist/controller/defaults.d.ts +15 -0
- package/dist/controller/defaults.d.ts.map +1 -0
- package/dist/controller/index.d.ts +9 -0
- package/dist/controller/index.d.ts.map +1 -0
- package/dist/controller/index.js +82 -0
- package/dist/controller/index.js.map +1 -0
- package/dist/delivery/index.d.ts +10 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +4524 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.iife.d.ts +7 -0
- package/dist/index.iife.d.ts.map +1 -0
- package/dist/index.iife.js +3 -0
- package/dist/index.js +4524 -0
- package/dist/index.js.map +1 -0
- package/dist/print/index.d.ts +8 -0
- package/dist/print/index.d.ts.map +1 -0
- package/dist/print/index.js +4149 -0
- package/dist/print/index.js.map +1 -0
- package/package.json +64 -0
- package/src/author/Author.svelte +102 -0
- package/src/author/index.ts +28 -0
- package/src/controller/defaults.ts +13 -0
- package/src/controller/index.ts +98 -0
- package/src/delivery/SimpleCloze.svelte +171 -0
- package/src/delivery/index.ts +37 -0
- package/src/index.iife.ts +11 -0
- package/src/index.ts +1 -0
- package/src/print/Print.svelte +49 -0
- package/src/print/index.ts +18 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
model: {
|
|
3
|
+
prompt: string;
|
|
4
|
+
promptEnabled: boolean;
|
|
5
|
+
correctAnswer: string;
|
|
6
|
+
};
|
|
7
|
+
configuration: {
|
|
8
|
+
prompt: {
|
|
9
|
+
label: string;
|
|
10
|
+
settings: boolean;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default _default;
|
|
15
|
+
//# sourceMappingURL=defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/controller/defaults.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,wBAYE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const getCorrectness: (question: any, session: any) => "unanswered" | "correct" | "incorrect";
|
|
2
|
+
export declare const getPartialScore: (_question: any, session: any) => 0 | 1;
|
|
3
|
+
export declare const outcome: (question: any, session: any, env: any) => Promise<unknown>;
|
|
4
|
+
export declare const createDefaultModel: (model?: any) => any;
|
|
5
|
+
export declare const normalizeSession: (s: any) => any;
|
|
6
|
+
export declare const model: (question: any, session: any, env: any) => Promise<unknown>;
|
|
7
|
+
export declare const createCorrectResponseSession: (question: any, env: any) => Promise<unknown>;
|
|
8
|
+
export declare const validate: (model?: any, _config?: any) => any;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc,GAAI,UAAU,GAAG,EAAE,SAAS,GAAG,2CAczD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,GAAG,EAAE,SAAS,GAAG,UAM3D,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,UAAU,GAAG,EAAE,SAAS,GAAG,EAAE,KAAK,GAAG,qBAgBzD,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAAI,QAAO,GAAQ,QAAsC,CAAC;AAEzF,eAAO,MAAM,gBAAgB,GAAI,GAAG,GAAG,QAAe,CAAC;AAEvD,eAAO,MAAM,KAAK,GAAI,UAAU,GAAG,EAAE,SAAS,GAAG,EAAE,KAAK,GAAG,qBA4B1D,CAAC;AAEF,eAAO,MAAM,4BAA4B,GAAI,UAAU,GAAG,EAAE,KAAK,GAAG,qBAQnE,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,QAAO,GAAQ,EAAE,UAAS,GAAQ,QAQ1D,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { isEmpty } from "lodash-es";
|
|
2
|
+
//#region src/controller/defaults.ts
|
|
3
|
+
var defaults_default = {
|
|
4
|
+
model: {
|
|
5
|
+
prompt: "<p>Enter your answer:</p>",
|
|
6
|
+
promptEnabled: true,
|
|
7
|
+
correctAnswer: ""
|
|
8
|
+
},
|
|
9
|
+
configuration: { prompt: {
|
|
10
|
+
label: "Prompt",
|
|
11
|
+
settings: true
|
|
12
|
+
} }
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/controller/index.ts
|
|
16
|
+
var getCorrectness = (question, session) => {
|
|
17
|
+
if (!session || !session.response) return "unanswered";
|
|
18
|
+
const correctAnswer = question?.correctAnswer || "";
|
|
19
|
+
if ((session.response || "").trim().toLowerCase() === correctAnswer.trim().toLowerCase()) return "correct";
|
|
20
|
+
return "incorrect";
|
|
21
|
+
};
|
|
22
|
+
var getPartialScore = (_question, session) => {
|
|
23
|
+
if (!session || isEmpty(session)) return 0;
|
|
24
|
+
return 1;
|
|
25
|
+
};
|
|
26
|
+
var outcome = (question, session, env) => new Promise((resolve) => {
|
|
27
|
+
if (!session || isEmpty(session)) {
|
|
28
|
+
resolve({
|
|
29
|
+
score: 0,
|
|
30
|
+
empty: true
|
|
31
|
+
});
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
session = normalizeSession(session);
|
|
35
|
+
if (env.mode !== "evaluate") resolve({
|
|
36
|
+
score: void 0,
|
|
37
|
+
completed: void 0
|
|
38
|
+
});
|
|
39
|
+
else resolve({ score: getCorrectness(question, session) === "correct" ? 1 : 0 });
|
|
40
|
+
});
|
|
41
|
+
var createDefaultModel = (model = {}) => ({
|
|
42
|
+
...defaults_default.model,
|
|
43
|
+
...model
|
|
44
|
+
});
|
|
45
|
+
var normalizeSession = (s) => ({ ...s });
|
|
46
|
+
var model = (question, session, env) => {
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
session = session || {};
|
|
49
|
+
const normalizedQuestion = createDefaultModel(question);
|
|
50
|
+
const out = {
|
|
51
|
+
prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,
|
|
52
|
+
disabled: env.mode !== "gather",
|
|
53
|
+
view: env.mode === "view",
|
|
54
|
+
env
|
|
55
|
+
};
|
|
56
|
+
if (env.mode === "evaluate") {
|
|
57
|
+
out.correctness = getCorrectness(normalizedQuestion, session);
|
|
58
|
+
out.correctAnswer = normalizedQuestion.correctAnswer;
|
|
59
|
+
}
|
|
60
|
+
if (env.role === "instructor" && (env.mode === "view" || env.mode === "evaluate")) out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
61
|
+
else out.teacherInstructions = null;
|
|
62
|
+
resolve(out);
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
var createCorrectResponseSession = (question, env) => {
|
|
66
|
+
return new Promise((resolve) => {
|
|
67
|
+
if (env.mode !== "evaluate" && env.role === "instructor") resolve({
|
|
68
|
+
id: "1",
|
|
69
|
+
response: question.correctAnswer || ""
|
|
70
|
+
});
|
|
71
|
+
else resolve(null);
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
var validate = (model = {}, _config = {}) => {
|
|
75
|
+
const errors = {};
|
|
76
|
+
if (!model.prompt || model.prompt.trim() === "" || model.prompt === "<p></p>") errors.prompt = "Prompt is required";
|
|
77
|
+
return errors;
|
|
78
|
+
};
|
|
79
|
+
//#endregion
|
|
80
|
+
export { createCorrectResponseSession, createDefaultModel, getCorrectness, getPartialScore, model, normalizeSession, outcome, validate };
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/controller/defaults.ts","../../src/controller/index.ts"],"sourcesContent":["export default {\n model: {\n prompt: '<p>Enter your answer:</p>',\n promptEnabled: true,\n correctAnswer: '',\n },\n configuration: {\n prompt: {\n label: 'Prompt',\n settings: true,\n },\n },\n};\n","import { isEmpty } from 'lodash-es';\nimport defaults from './defaults';\n\nexport const getCorrectness = (question: any, session: any) => {\n if (!session || !session.response) {\n return 'unanswered';\n }\n\n const correctAnswer = question?.correctAnswer || '';\n const userAnswer = session.response || '';\n\n // Simple string comparison for now\n if (userAnswer.trim().toLowerCase() === correctAnswer.trim().toLowerCase()) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\nexport const getPartialScore = (_question: any, session: any) => {\n if (!session || isEmpty(session)) {\n return 0;\n }\n\n return 1;\n};\n\nexport const outcome = (question: any, session: any, env: any) =>\n new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n return;\n }\n\n session = normalizeSession(session);\n\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n const correctness = getCorrectness(question, session);\n const score = correctness === 'correct' ? 1 : 0;\n resolve({ score });\n }\n });\n\nexport const createDefaultModel = (model: any = {}) => ({ ...defaults.model, ...model });\n\nexport const normalizeSession = (s: any) => ({ ...s });\n\nexport const model = (question: any, session: any, env: any) => {\n return new Promise((resolve) => {\n session = session || {};\n const normalizedQuestion = createDefaultModel(question);\n\n const out: any = {\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : null,\n disabled: env.mode !== 'gather',\n view: env.mode === 'view',\n env,\n };\n\n if (env.mode === 'evaluate') {\n const correctness = getCorrectness(normalizedQuestion, session);\n out.correctness = correctness;\n out.correctAnswer = normalizedQuestion.correctAnswer;\n }\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n resolve(out);\n });\n};\n\nexport const createCorrectResponseSession = (question: any, env: any) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n resolve({ id: '1', response: question.correctAnswer || '' });\n } else {\n resolve(null);\n }\n });\n};\n\nexport const validate = (model: any = {}, _config: any = {}) => {\n const errors: any = {};\n\n if (!model.prompt || model.prompt.trim() === '' || model.prompt === '<p></p>') {\n errors.prompt = 'Prompt is required';\n }\n\n return errors;\n};\n"],"mappings":";;AAAA,IAAA,mBAAe;CACb,OAAO;EACL,QAAQ;EACR,eAAe;EACf,eAAe;EAChB;CACD,eAAe,EACb,QAAQ;EACN,OAAO;EACP,UAAU;EACX,EACF;CACF;;;ACTD,IAAa,kBAAkB,UAAe,YAAiB;AAC7D,KAAI,CAAC,WAAW,CAAC,QAAQ,SACvB,QAAO;CAGT,MAAM,gBAAgB,UAAU,iBAAiB;AAIjD,MAHmB,QAAQ,YAAY,IAGxB,MAAM,CAAC,aAAa,KAAK,cAAc,MAAM,CAAC,aAAa,CACxE,QAAO;AAGT,QAAO;;AAGT,IAAa,mBAAmB,WAAgB,YAAiB;AAC/D,KAAI,CAAC,WAAW,QAAQ,QAAQ,CAC9B,QAAO;AAGT,QAAO;;AAGT,IAAa,WAAW,UAAe,SAAc,QACnD,IAAI,SAAS,YAAY;AACvB,KAAI,CAAC,WAAW,QAAQ,QAAQ,EAAE;AAChC,UAAQ;GAAE,OAAO;GAAG,OAAO;GAAM,CAAC;AAClC;;AAGF,WAAU,iBAAiB,QAAQ;AAEnC,KAAI,IAAI,SAAS,WACf,SAAQ;EAAE,OAAO,KAAA;EAAW,WAAW,KAAA;EAAW,CAAC;KAInD,SAAQ,EAAE,OAFU,eAAe,UAAU,QAAQ,KACvB,YAAY,IAAI,GAC7B,CAAC;EAEpB;AAEJ,IAAa,sBAAsB,QAAa,EAAE,MAAM;CAAE,GAAG,iBAAS;CAAO,GAAG;CAAO;AAEvF,IAAa,oBAAoB,OAAY,EAAE,GAAG,GAAG;AAErD,IAAa,SAAS,UAAe,SAAc,QAAa;AAC9D,QAAO,IAAI,SAAS,YAAY;AAC9B,YAAU,WAAW,EAAE;EACvB,MAAM,qBAAqB,mBAAmB,SAAS;EAEvD,MAAM,MAAW;GACf,QAAQ,mBAAmB,gBAAgB,mBAAmB,SAAS;GACvE,UAAU,IAAI,SAAS;GACvB,MAAM,IAAI,SAAS;GACnB;GACD;AAED,MAAI,IAAI,SAAS,YAAY;AAE3B,OAAI,cADgB,eAAe,oBAAoB,QAAQ;AAE/D,OAAI,gBAAgB,mBAAmB;;AAGzC,MAAI,IAAI,SAAS,iBAAiB,IAAI,SAAS,UAAU,IAAI,SAAS,YACpE,KAAI,sBAAsB,mBAAmB,6BACzC,mBAAmB,sBACnB;MAEJ,KAAI,sBAAsB;AAG5B,UAAQ,IAAI;GACZ;;AAGJ,IAAa,gCAAgC,UAAe,QAAa;AACvE,QAAO,IAAI,SAAS,YAAY;AAC9B,MAAI,IAAI,SAAS,cAAc,IAAI,SAAS,aAC1C,SAAQ;GAAE,IAAI;GAAK,UAAU,SAAS,iBAAiB;GAAI,CAAC;MAE5D,SAAQ,KAAK;GAEf;;AAGJ,IAAa,YAAY,QAAa,EAAE,EAAE,UAAe,EAAE,KAAK;CAC9D,MAAM,SAAc,EAAE;AAEtB,KAAI,CAAC,MAAM,UAAU,MAAM,OAAO,MAAM,KAAK,MAAM,MAAM,WAAW,UAClE,QAAO,SAAS;AAGlB,QAAO"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const SvelteElementClass: any;
|
|
2
|
+
declare class SimpleClozeElement extends SvelteElementClass {
|
|
3
|
+
_internalSession: any;
|
|
4
|
+
set session(s: any);
|
|
5
|
+
get session(): any;
|
|
6
|
+
onSessionChange: (updatedSession: any) => void;
|
|
7
|
+
connectedCallback(): void;
|
|
8
|
+
}
|
|
9
|
+
export default SimpleClozeElement;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/delivery/index.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,kBAAkB,KAAwC,CAAC;AAGjE,cAAM,kBAAmB,SAAQ,kBAAkB;IACjD,gBAAgB,EAAE,GAAG,CAAQ;IAG7B,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,EAIjB;IAGD,IAAI,OAAO,IAPI,GAAG,CASjB;IAGD,eAAe,GAAI,gBAAgB,GAAG,UAEpC;IAEF,iBAAiB;CAKlB;AAID,eAAe,kBAAkB,CAAC"}
|