@pie-element/passage 5.0.2-esm.0 → 5.2.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/esm/controller.js DELETED
@@ -1,111 +0,0 @@
1
- import isEmpty from 'lodash/isEmpty';
2
-
3
- function _extends() {
4
- _extends = Object.assign || function (target) {
5
- for (var i = 1; i < arguments.length; i++) {
6
- var source = arguments[i];
7
-
8
- for (var key in source) {
9
- if (Object.prototype.hasOwnProperty.call(source, key)) {
10
- target[key] = source[key];
11
- }
12
- }
13
- }
14
-
15
- return target;
16
- };
17
-
18
- return _extends.apply(this, arguments);
19
- }
20
-
21
- // TODO: also update '../../configure/src/defaults.js' and '../../src/print.js' when updating defaults
22
- var defaults = {
23
- authorEnabled: false,
24
- // TODO: should be set to true when all Studio content is updated
25
- passages: [{
26
- teacherInstructions: '',
27
- title: '',
28
- subtitle: '',
29
- author: '',
30
- text: ''
31
- }],
32
- subtitleEnabled: true,
33
- teacherInstructionsEnabled: true,
34
- textEnabled: true,
35
- titleEnabled: true
36
- };
37
-
38
- const getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
39
-
40
- const checkNullish = value => value !== null && value !== undefined;
41
-
42
- const isEnabled = (value, defaultValue) => checkNullish(value) ? value : defaultValue;
43
-
44
- function createDefaultModel(model = {}) {
45
- return new Promise(resolve => {
46
- resolve(_extends({}, defaults, model));
47
- });
48
- }
49
- const normalize = question => _extends({}, defaults, question);
50
-
51
- const normalizeTeacherInstructions = (instructions, env) => {
52
- const {
53
- role,
54
- mode
55
- } = env;
56
-
57
- if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
58
- return instructions || '';
59
- }
60
-
61
- return '';
62
- };
63
- /**
64
- *
65
- * @param {*} question
66
- * @param {*} session
67
- * @param {*} env
68
- */
69
-
70
-
71
- async function model(question, session, env) {
72
- const normalizedQuestion = normalize(question);
73
- const normalizedPassages = normalizedQuestion.passages.map((passage, index) => ({
74
- teacherInstructions: isEnabled(passage.teacherInstructionsEnabled, normalizedQuestion.teacherInstructionsEnabled) ? normalizeTeacherInstructions(passage.teacherInstructions, env) : '',
75
- label: getContent(passage.title) ? passage.title : `Passage ${index + 1}`,
76
- title: isEnabled(passage.titleEnabled, normalizedQuestion.titleEnabled) ? passage.title || '' : '',
77
- subtitle: isEnabled(passage.subtitleEnabled, normalizedQuestion.subtitleEnabled) ? passage.subtitle || '' : '',
78
- author: isEnabled(passage.authorEnabled, normalizedQuestion.authorEnabled) ? passage.author || '' : '',
79
- text: isEnabled(passage.textEnabled, normalizedQuestion.textEnabled) ? passage.text || '' : ''
80
- }));
81
- return _extends({}, normalizedQuestion, {
82
- passages: normalizedPassages
83
- });
84
- }
85
- const validate = (model = {}, config = {}) => {
86
- const errors = {};
87
- const passagesErrors = {};
88
- (model.passages || []).forEach((passage, index) => {
89
- const err = {};
90
- ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach(field => {
91
- var _config$field;
92
-
93
- if ((_config$field = config[field]) != null && _config$field.required && !getContent(passage[field])) {
94
- err[field] = 'This field is required.';
95
- }
96
- });
97
-
98
- if (!isEmpty(err)) {
99
- passagesErrors[index] = err;
100
- }
101
- });
102
-
103
- if (!isEmpty(passagesErrors)) {
104
- errors.passages = passagesErrors;
105
- }
106
-
107
- return errors;
108
- };
109
-
110
- export { createDefaultModel, model, normalize, validate };
111
- //# sourceMappingURL=controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"controller.js","sources":["../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["// TODO: also update '../../configure/src/defaults.js' and '../../src/print.js' when updating defaults\nexport default {\n authorEnabled: false, // TODO: should be set to true when all Studio content is updated\n passages: [\n {\n teacherInstructions: '',\n title: '',\n subtitle: '',\n author: '',\n text: '',\n },\n ],\n subtitleEnabled: true,\n teacherInstructionsEnabled: true,\n textEnabled: true,\n titleEnabled: true,\n};\n","import isEmpty from 'lodash/isEmpty';\n\nimport defaults from './defaults';\n\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nconst checkNullish = (value) => value !== null && value !== undefined;\n\nconst isEnabled = (value, defaultValue) => (checkNullish(value) ? value : defaultValue);\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({ ...defaults, ...model });\n });\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\nconst normalizeTeacherInstructions = (instructions, env) => {\n const { role, mode } = env;\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n return instructions || '';\n }\n\n return '';\n};\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n const normalizedPassages = normalizedQuestion.passages.map((passage, index) => ({\n teacherInstructions: isEnabled(passage.teacherInstructionsEnabled, normalizedQuestion.teacherInstructionsEnabled)\n ? normalizeTeacherInstructions(passage.teacherInstructions, env)\n : '',\n label: getContent(passage.title) ? passage.title : `Passage ${index + 1}`,\n title: isEnabled(passage.titleEnabled, normalizedQuestion.titleEnabled) ? passage.title || '' : '',\n subtitle: isEnabled(passage.subtitleEnabled, normalizedQuestion.subtitleEnabled) ? passage.subtitle || '' : '',\n author: isEnabled(passage.authorEnabled, normalizedQuestion.authorEnabled) ? passage.author || '' : '',\n text: isEnabled(passage.textEnabled, normalizedQuestion.textEnabled) ? passage.text || '' : '',\n }));\n\n return {\n ...normalizedQuestion,\n passages: normalizedPassages,\n };\n}\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n const passagesErrors = {};\n\n (model.passages || []).forEach((passage, index) => {\n const err = {};\n\n ['teacherInstructions', 'title', 'subtitle', 'author', 'text'].forEach((field) => {\n if (config[field]?.required && !getContent(passage[field])) {\n err[field] = 'This field is required.';\n }\n });\n\n if (!isEmpty(err)) {\n passagesErrors[index] = err;\n }\n });\n\n if (!isEmpty(passagesErrors)) {\n errors.passages = passagesErrors;\n }\n\n return errors;\n};\n"],"names":["authorEnabled","passages","teacherInstructions","title","subtitle","author","text","subtitleEnabled","teacherInstructionsEnabled","textEnabled","titleEnabled","getContent","html","replace","checkNullish","value","undefined","isEnabled","defaultValue","createDefaultModel","model","Promise","resolve","defaults","normalize","question","normalizeTeacherInstructions","instructions","env","role","mode","session","normalizedQuestion","normalizedPassages","map","passage","index","label","validate","config","errors","passagesErrors","forEach","err","field","required","isEmpty"],"mappings":"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"}