@pie-element/matrix 2.0.1 → 11.0.3-esm.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 CHANGED
@@ -1,54 +1,21 @@
1
1
  import isEmpty from 'lodash/isEmpty';
2
2
 
3
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
4
- try {
5
- var info = gen[key](arg);
6
- var value = info.value;
7
- } catch (error) {
8
- reject(error);
9
- return;
10
- }
11
-
12
- if (info.done) {
13
- resolve(value);
14
- } else {
15
- Promise.resolve(value).then(_next, _throw);
16
- }
17
- }
18
-
19
- function _asyncToGenerator(fn) {
20
- return function () {
21
- var self = this,
22
- args = arguments;
23
- return new Promise(function (resolve, reject) {
24
- var gen = fn.apply(self, args);
25
-
26
- function _next(value) {
27
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
28
- }
29
-
30
- function _throw(err) {
31
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
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
+ }
32
12
  }
13
+ }
33
14
 
34
- _next(undefined);
35
- });
15
+ return target;
36
16
  };
37
- }
38
-
39
- function _defineProperty(obj, key, value) {
40
- if (key in obj) {
41
- Object.defineProperty(obj, key, {
42
- value: value,
43
- enumerable: true,
44
- configurable: true,
45
- writable: true
46
- });
47
- } else {
48
- obj[key] = value;
49
- }
50
17
 
51
- return obj;
18
+ return _extends.apply(this, arguments);
52
19
  }
53
20
 
54
21
  var defaults = {
@@ -62,13 +29,7 @@ var defaults = {
62
29
  teacherInstructionsEnabled: true
63
30
  };
64
31
 
65
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
66
-
67
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
68
- var createDefaultModel = function createDefaultModel() {
69
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
70
- return new Promise(resolve => resolve(_objectSpread(_objectSpread({}, defaults), model)));
71
- };
32
+ const createDefaultModel = (model = {}) => new Promise(resolve => resolve(_extends({}, defaults, model)));
72
33
  /**
73
34
  *
74
35
  * @param {*} question
@@ -76,35 +37,27 @@ var createDefaultModel = function createDefaultModel() {
76
37
  * @param {*} env
77
38
  */
78
39
 
79
- function model(_x, _x2, _x3) {
80
- return _model.apply(this, arguments);
81
- }
82
-
83
- function _model() {
84
- _model = _asyncToGenerator(function* (question, session, env) {
85
- var normalizedQuestion = _objectSpread(_objectSpread({}, defaults), question);
40
+ async function model(question, session, env) {
41
+ const normalizedQuestion = _extends({}, defaults, question);
86
42
 
87
- var out = _objectSpread(_objectSpread({}, normalizedQuestion), {}, {
88
- disabled: env.mode !== 'gather',
89
- mode: env.mode
90
- });
43
+ const out = _extends({}, normalizedQuestion, {
44
+ disabled: env.mode !== 'gather',
45
+ mode: env.mode
46
+ });
91
47
 
92
- var {
93
- role,
94
- mode
95
- } = env || {};
48
+ const {
49
+ role,
50
+ mode
51
+ } = env || {};
96
52
 
97
- if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
98
- out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
99
- } else {
100
- out.teacherInstructions = null;
101
- }
53
+ if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
54
+ out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
55
+ } else {
56
+ out.teacherInstructions = null;
57
+ }
102
58
 
103
- return out;
104
- });
105
- return _model.apply(this, arguments);
59
+ return out;
106
60
  }
107
-
108
61
  function outcome(model, session) {
109
62
  return new Promise(resolve => {
110
63
  if (!session || isEmpty(session)) {
@@ -114,8 +67,8 @@ function outcome(model, session) {
114
67
  });
115
68
  }
116
69
 
117
- var score = Object.keys(session.value).reduce((acc, key) => {
118
- var matrixValue = model.matrixValues[key];
70
+ const score = Object.keys(session.value).reduce((acc, key) => {
71
+ const matrixValue = model.matrixValues[key];
119
72
  return acc + (matrixValue || 0);
120
73
  }, 0);
121
74
  resolve({
@@ -124,10 +77,10 @@ function outcome(model, session) {
124
77
  });
125
78
  });
126
79
  }
127
- var createCorrectResponseSession = (question, env) => {
80
+ const createCorrectResponseSession = (question, env) => {
128
81
  return new Promise(resolve => {
129
82
  if (env.mode !== 'evaluate' && env.role === 'instructor') {
130
- var {
83
+ const {
131
84
  matrixValues
132
85
  } = question || [];
133
86
  resolve({
@@ -141,16 +94,14 @@ var createCorrectResponseSession = (question, env) => {
141
94
  }; // remove all html tags
142
95
 
143
96
 
144
- var getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
97
+ const getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
145
98
 
146
- var validate = function validate() {
147
- var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
148
- var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
149
- var errors = {};
99
+ const validate = (model = {}, config = {}) => {
100
+ const errors = {};
150
101
  ['teacherInstructions', 'prompt'].forEach(field => {
151
102
  var _config$field;
152
103
 
153
- if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
104
+ if ((_config$field = config[field]) != null && _config$field.required && !getContent(model[field])) {
154
105
  errors[field] = 'This field is required.';
155
106
  }
156
107
  });
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../../../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default {\n columnLabels: ['COLUMN 1', 'COLUMN 2', 'COLUMN 3'],\n labelType: 'agreement',\n matrixValues: {},\n prompt: '',\n promptEnabled: true,\n rowLabels: ['STATEMENT 1', 'STATEMENT 2'],\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n};\n","import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise((resolve) => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome(model, session) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key) => {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues,\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"names":["columnLabels","labelType","matrixValues","prompt","promptEnabled","rowLabels","teacherInstructions","teacherInstructionsEnabled","createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","outcome","isEmpty","score","empty","Object","keys","value","reduce","acc","key","matrixValue","createCorrectResponseSession","id","getContent","html","replace","validate","config","errors","forEach","field","required"],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sources":["../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["export default {\n columnLabels: ['COLUMN 1', 'COLUMN 2', 'COLUMN 3'],\n labelType: 'agreement',\n matrixValues: {},\n prompt: '',\n promptEnabled: true,\n rowLabels: ['STATEMENT 1', 'STATEMENT 2'],\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n};\n","import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise((resolve) => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome(model, session) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key) => {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues,\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"names":["columnLabels","labelType","matrixValues","prompt","promptEnabled","rowLabels","teacherInstructions","teacherInstructionsEnabled","createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","outcome","isEmpty","score","empty","Object","keys","value","reduce","acc","key","matrixValue","createCorrectResponseSession","id","getContent","html","replace","validate","config","errors","forEach","field","required"],"mappings":"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"}