@pie-lib/feedback 0.24.2-next.0 → 0.24.3-next.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/CHANGELOG.md +6 -64
- package/lib/__tests__/index.test.js +147 -0
- package/lib/index.js +17 -37
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -7,129 +7,71 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
10
|
# [0.24.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.23.0...@pie-lib/feedback@0.24.0) (2025-10-16)
|
|
15
11
|
|
|
16
12
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
14
|
# [0.23.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.20.0...@pie-lib/feedback@0.23.0) (2025-10-16)
|
|
23
15
|
|
|
24
16
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
25
17
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
18
|
# [0.22.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.20.0...@pie-lib/feedback@0.22.0) (2025-10-16)
|
|
31
19
|
|
|
32
20
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
33
21
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
22
|
# [0.21.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.20.0...@pie-lib/feedback@0.21.0) (2025-10-16)
|
|
39
23
|
|
|
40
24
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
41
25
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
26
|
# [0.20.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.4.43...@pie-lib/feedback@0.20.0) (2025-09-25)
|
|
47
27
|
|
|
48
|
-
|
|
49
28
|
### Bug Fixes
|
|
50
29
|
|
|
51
|
-
|
|
52
|
-
|
|
30
|
+
- fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
|
|
53
31
|
|
|
54
32
|
### Features
|
|
55
33
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
34
|
+
- split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
|
|
61
35
|
|
|
62
36
|
# [0.19.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.18.0...@pie-lib/feedback@0.19.0) (2025-09-18)
|
|
63
37
|
|
|
64
38
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
65
39
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
40
|
# [0.18.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.17.0...@pie-lib/feedback@0.18.0) (2025-09-18)
|
|
71
41
|
|
|
72
42
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
73
43
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
44
|
# [0.17.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.4.43...@pie-lib/feedback@0.17.0) (2025-09-18)
|
|
79
45
|
|
|
80
|
-
|
|
81
46
|
### Bug Fixes
|
|
82
47
|
|
|
83
|
-
|
|
84
|
-
|
|
48
|
+
- fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
|
|
85
49
|
|
|
86
50
|
### Features
|
|
87
51
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
52
|
+
- split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
|
|
93
53
|
|
|
94
54
|
# [0.16.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.15.0...@pie-lib/feedback@0.16.0) (2025-09-17)
|
|
95
55
|
|
|
96
56
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
97
57
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
58
|
# [0.15.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.14.0...@pie-lib/feedback@0.15.0) (2025-09-17)
|
|
103
59
|
|
|
104
60
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
105
61
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
62
|
# [0.14.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.13.1...@pie-lib/feedback@0.14.0) (2025-09-17)
|
|
111
63
|
|
|
112
64
|
**Note:** Version bump only for package @pie-lib/feedback
|
|
113
65
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
66
|
## [0.13.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.4.43...@pie-lib/feedback@0.13.1) (2025-08-11)
|
|
119
67
|
|
|
120
|
-
|
|
121
68
|
### Bug Fixes
|
|
122
69
|
|
|
123
|
-
|
|
124
|
-
|
|
70
|
+
- fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
|
|
125
71
|
|
|
126
72
|
### Features
|
|
127
73
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
74
|
+
- split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
|
|
133
75
|
|
|
134
76
|
# [0.13.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/feedback@0.4.43...@pie-lib/feedback@0.13.0) (2025-08-07)
|
|
135
77
|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _index = require("../index");
|
|
7
|
+
describe('feedback', function () {
|
|
8
|
+
describe('getFeedback', function () {
|
|
9
|
+
var assert = function assert(config, fallback, expected) {
|
|
10
|
+
it("".concat(JSON.stringify(config), " -> ").concat(expected), /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
11
|
+
var result;
|
|
12
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
13
|
+
while (1) switch (_context.prev = _context.next) {
|
|
14
|
+
case 0:
|
|
15
|
+
_context.next = 1;
|
|
16
|
+
return (0, _index.getFeedback)(config, fallback);
|
|
17
|
+
case 1:
|
|
18
|
+
result = _context.sent;
|
|
19
|
+
expect(result).toEqual(expected);
|
|
20
|
+
case 2:
|
|
21
|
+
case "end":
|
|
22
|
+
return _context.stop();
|
|
23
|
+
}
|
|
24
|
+
}, _callee);
|
|
25
|
+
})));
|
|
26
|
+
};
|
|
27
|
+
assert({
|
|
28
|
+
type: 'none'
|
|
29
|
+
}, 'foo', undefined);
|
|
30
|
+
assert({
|
|
31
|
+
type: 'default'
|
|
32
|
+
}, 'foo', 'foo');
|
|
33
|
+
assert({
|
|
34
|
+
type: 'default',
|
|
35
|
+
"default": 'bar'
|
|
36
|
+
}, 'foo', 'bar');
|
|
37
|
+
});
|
|
38
|
+
describe('getFeedbackForCorrectness', function () {
|
|
39
|
+
var assert = function assert(correctness, config, expected) {
|
|
40
|
+
it("".concat(correctness, " + ").concat(JSON.stringify(config), " -> ").concat(expected), /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
41
|
+
var result;
|
|
42
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
43
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
44
|
+
case 0:
|
|
45
|
+
_context2.next = 1;
|
|
46
|
+
return (0, _index.getFeedbackForCorrectness)(correctness, config);
|
|
47
|
+
case 1:
|
|
48
|
+
result = _context2.sent;
|
|
49
|
+
expect(result).toEqual(expected);
|
|
50
|
+
case 2:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context2.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee2);
|
|
55
|
+
})));
|
|
56
|
+
};
|
|
57
|
+
describe('correct', function () {
|
|
58
|
+
assert('correct', null, 'Correct');
|
|
59
|
+
assert('correct', {}, 'Correct');
|
|
60
|
+
assert('correct', {
|
|
61
|
+
correct: {
|
|
62
|
+
type: 'default'
|
|
63
|
+
}
|
|
64
|
+
}, 'Correct');
|
|
65
|
+
assert('correct', {
|
|
66
|
+
correct: {
|
|
67
|
+
type: 'default',
|
|
68
|
+
"default": 'C'
|
|
69
|
+
}
|
|
70
|
+
}, 'C');
|
|
71
|
+
assert('correct', {
|
|
72
|
+
correct: {
|
|
73
|
+
type: 'none',
|
|
74
|
+
"default": 'C'
|
|
75
|
+
}
|
|
76
|
+
}, undefined);
|
|
77
|
+
assert('correct', {
|
|
78
|
+
correct: {
|
|
79
|
+
type: 'custom',
|
|
80
|
+
custom: 'Custom'
|
|
81
|
+
}
|
|
82
|
+
}, 'Custom');
|
|
83
|
+
});
|
|
84
|
+
describe('incorrect', function () {
|
|
85
|
+
assert('incorrect', {}, 'Incorrect');
|
|
86
|
+
assert('incorrect', {
|
|
87
|
+
incorrect: {
|
|
88
|
+
type: 'default'
|
|
89
|
+
}
|
|
90
|
+
}, 'Incorrect');
|
|
91
|
+
assert('incorrect', {
|
|
92
|
+
incorrect: {
|
|
93
|
+
type: 'default',
|
|
94
|
+
"default": 'I'
|
|
95
|
+
}
|
|
96
|
+
}, 'I');
|
|
97
|
+
assert('incorrect', {
|
|
98
|
+
incorrect: {
|
|
99
|
+
type: 'none',
|
|
100
|
+
"default": 'C'
|
|
101
|
+
}
|
|
102
|
+
}, undefined);
|
|
103
|
+
assert('incorrect', {
|
|
104
|
+
incorrect: {
|
|
105
|
+
type: 'custom',
|
|
106
|
+
custom: 'Custom'
|
|
107
|
+
}
|
|
108
|
+
}, 'Custom');
|
|
109
|
+
});
|
|
110
|
+
describe('unanswered', function () {
|
|
111
|
+
assert('unanswered', {}, _index.defaults.unanswered["default"]);
|
|
112
|
+
});
|
|
113
|
+
describe('unknown', function () {
|
|
114
|
+
assert('unknown', {}, undefined);
|
|
115
|
+
});
|
|
116
|
+
describe('partially-correct', function () {
|
|
117
|
+
assert('partially-correct', {}, 'Nearly');
|
|
118
|
+
});
|
|
119
|
+
describe('partial', function () {
|
|
120
|
+
assert('partial', {}, 'Nearly');
|
|
121
|
+
assert('partial', {
|
|
122
|
+
partial: {
|
|
123
|
+
type: 'default'
|
|
124
|
+
}
|
|
125
|
+
}, 'Nearly');
|
|
126
|
+
assert('partial', {
|
|
127
|
+
partial: {
|
|
128
|
+
type: 'default',
|
|
129
|
+
"default": 'I'
|
|
130
|
+
}
|
|
131
|
+
}, 'I');
|
|
132
|
+
assert('partial', {
|
|
133
|
+
partial: {
|
|
134
|
+
type: 'none',
|
|
135
|
+
"default": 'C'
|
|
136
|
+
}
|
|
137
|
+
}, undefined);
|
|
138
|
+
assert('partial', {
|
|
139
|
+
partial: {
|
|
140
|
+
type: 'custom',
|
|
141
|
+
custom: 'Custom'
|
|
142
|
+
}
|
|
143
|
+
}, 'Custom');
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5kZXgiLCJyZXF1aXJlIiwiZGVzY3JpYmUiLCJhc3NlcnQiLCJjb25maWciLCJmYWxsYmFjayIsImV4cGVjdGVkIiwiaXQiLCJjb25jYXQiLCJKU09OIiwic3RyaW5naWZ5IiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJyZXN1bHQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImdldEZlZWRiYWNrIiwic2VudCIsImV4cGVjdCIsInRvRXF1YWwiLCJzdG9wIiwidHlwZSIsInVuZGVmaW5lZCIsImNvcnJlY3RuZXNzIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJnZXRGZWVkYmFja0ZvckNvcnJlY3RuZXNzIiwiY29ycmVjdCIsImN1c3RvbSIsImluY29ycmVjdCIsImRlZmF1bHRzIiwidW5hbnN3ZXJlZCIsInBhcnRpYWwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvX190ZXN0c19fL2luZGV4LnRlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RmVlZGJhY2tGb3JDb3JyZWN0bmVzcywgZ2V0RmVlZGJhY2ssIGRlZmF1bHRzIH0gZnJvbSAnLi4vaW5kZXgnO1xuZGVzY3JpYmUoJ2ZlZWRiYWNrJywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0RmVlZGJhY2snLCAoKSA9PiB7XG4gICAgY29uc3QgYXNzZXJ0ID0gKGNvbmZpZywgZmFsbGJhY2ssIGV4cGVjdGVkKSA9PiB7XG4gICAgICBpdChgJHtKU09OLnN0cmluZ2lmeShjb25maWcpfSAtPiAke2V4cGVjdGVkfWAsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0RmVlZGJhY2soY29uZmlnLCBmYWxsYmFjayk7XG4gICAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIGFzc2VydCh7IHR5cGU6ICdub25lJyB9LCAnZm9vJywgdW5kZWZpbmVkKTtcbiAgICBhc3NlcnQoeyB0eXBlOiAnZGVmYXVsdCcgfSwgJ2ZvbycsICdmb28nKTtcbiAgICBhc3NlcnQoeyB0eXBlOiAnZGVmYXVsdCcsIGRlZmF1bHQ6ICdiYXInIH0sICdmb28nLCAnYmFyJyk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXRGZWVkYmFja0ZvckNvcnJlY3RuZXNzJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydCA9IChjb3JyZWN0bmVzcywgY29uZmlnLCBleHBlY3RlZCkgPT4ge1xuICAgICAgaXQoYCR7Y29ycmVjdG5lc3N9ICsgJHtKU09OLnN0cmluZ2lmeShjb25maWcpfSAtPiAke2V4cGVjdGVkfWAsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0RmVlZGJhY2tGb3JDb3JyZWN0bmVzcyhjb3JyZWN0bmVzcywgY29uZmlnKTtcbiAgICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVzY3JpYmUoJ2NvcnJlY3QnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ2NvcnJlY3QnLCBudWxsLCAnQ29ycmVjdCcpO1xuICAgICAgYXNzZXJ0KCdjb3JyZWN0Jywge30sICdDb3JyZWN0Jyk7XG4gICAgICBhc3NlcnQoJ2NvcnJlY3QnLCB7IGNvcnJlY3Q6IHsgdHlwZTogJ2RlZmF1bHQnIH0gfSwgJ0NvcnJlY3QnKTtcbiAgICAgIGFzc2VydCgnY29ycmVjdCcsIHsgY29ycmVjdDogeyB0eXBlOiAnZGVmYXVsdCcsIGRlZmF1bHQ6ICdDJyB9IH0sICdDJyk7XG4gICAgICBhc3NlcnQoJ2NvcnJlY3QnLCB7IGNvcnJlY3Q6IHsgdHlwZTogJ25vbmUnLCBkZWZhdWx0OiAnQycgfSB9LCB1bmRlZmluZWQpO1xuICAgICAgYXNzZXJ0KCdjb3JyZWN0JywgeyBjb3JyZWN0OiB7IHR5cGU6ICdjdXN0b20nLCBjdXN0b206ICdDdXN0b20nIH0gfSwgJ0N1c3RvbScpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2luY29ycmVjdCcsICgpID0+IHtcbiAgICAgIGFzc2VydCgnaW5jb3JyZWN0Jywge30sICdJbmNvcnJlY3QnKTtcbiAgICAgIGFzc2VydCgnaW5jb3JyZWN0JywgeyBpbmNvcnJlY3Q6IHsgdHlwZTogJ2RlZmF1bHQnIH0gfSwgJ0luY29ycmVjdCcpO1xuICAgICAgYXNzZXJ0KCdpbmNvcnJlY3QnLCB7IGluY29ycmVjdDogeyB0eXBlOiAnZGVmYXVsdCcsIGRlZmF1bHQ6ICdJJyB9IH0sICdJJyk7XG4gICAgICBhc3NlcnQoJ2luY29ycmVjdCcsIHsgaW5jb3JyZWN0OiB7IHR5cGU6ICdub25lJywgZGVmYXVsdDogJ0MnIH0gfSwgdW5kZWZpbmVkKTtcbiAgICAgIGFzc2VydCgnaW5jb3JyZWN0JywgeyBpbmNvcnJlY3Q6IHsgdHlwZTogJ2N1c3RvbScsIGN1c3RvbTogJ0N1c3RvbScgfSB9LCAnQ3VzdG9tJyk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgndW5hbnN3ZXJlZCcsICgpID0+IHtcbiAgICAgIGFzc2VydCgndW5hbnN3ZXJlZCcsIHt9LCBkZWZhdWx0cy51bmFuc3dlcmVkLmRlZmF1bHQpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3Vua25vd24nLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ3Vua25vd24nLCB7fSwgdW5kZWZpbmVkKTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdwYXJ0aWFsbHktY29ycmVjdCcsICgpID0+IHtcbiAgICAgIGFzc2VydCgncGFydGlhbGx5LWNvcnJlY3QnLCB7fSwgJ05lYXJseScpO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3BhcnRpYWwnLCAoKSA9PiB7XG4gICAgICBhc3NlcnQoJ3BhcnRpYWwnLCB7fSwgJ05lYXJseScpO1xuICAgICAgYXNzZXJ0KCdwYXJ0aWFsJywgeyBwYXJ0aWFsOiB7IHR5cGU6ICdkZWZhdWx0JyB9IH0sICdOZWFybHknKTtcbiAgICAgIGFzc2VydCgncGFydGlhbCcsIHsgcGFydGlhbDogeyB0eXBlOiAnZGVmYXVsdCcsIGRlZmF1bHQ6ICdJJyB9IH0sICdJJyk7XG4gICAgICBhc3NlcnQoJ3BhcnRpYWwnLCB7IHBhcnRpYWw6IHsgdHlwZTogJ25vbmUnLCBkZWZhdWx0OiAnQycgfSB9LCB1bmRlZmluZWQpO1xuICAgICAgYXNzZXJ0KCdwYXJ0aWFsJywgeyBwYXJ0aWFsOiB7IHR5cGU6ICdjdXN0b20nLCBjdXN0b206ICdDdXN0b20nIH0gfSwgJ0N1c3RvbScpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFlBQU07RUFDekJBLFFBQVEsQ0FBQyxhQUFhLEVBQUUsWUFBTTtJQUM1QixJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBTUEsQ0FBSUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFFBQVEsRUFBSztNQUM3Q0MsRUFBRSxJQUFBQyxNQUFBLENBQUlDLElBQUksQ0FBQ0MsU0FBUyxDQUFDTixNQUFNLENBQUMsVUFBQUksTUFBQSxDQUFPRixRQUFRLG9CQUFBSyxrQkFBQSwwQkFBQUMsWUFBQSxZQUFBQyxJQUFBLENBQUksU0FBQUMsUUFBQTtRQUFBLElBQUFDLE1BQUE7UUFBQSxPQUFBSCxZQUFBLFlBQUFJLElBQUEsV0FBQUMsUUFBQTtVQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1lBQUE7Y0FBQUYsUUFBQSxDQUFBRSxJQUFBO2NBQUEsT0FDeEIsSUFBQUMsa0JBQVcsRUFBQ2hCLE1BQU0sRUFBRUMsUUFBUSxDQUFDO1lBQUE7Y0FBNUNVLE1BQU0sR0FBQUUsUUFBQSxDQUFBSSxJQUFBO2NBQ1pDLE1BQU0sQ0FBQ1AsTUFBTSxDQUFDLENBQUNRLE9BQU8sQ0FBQ2pCLFFBQVEsQ0FBQztZQUFDO1lBQUE7Y0FBQSxPQUFBVyxRQUFBLENBQUFPLElBQUE7VUFBQTtRQUFB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SUFBSSxFQUFFLE1BQU07VUFBRSxXQUFTO1FBQUk7TUFBRSxDQUFDLEVBQUVDLFNBQVMsQ0FBQztNQUM3RXZCLE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFBRThCLFNBQVMsRUFBRTtVQUFFUixJQUFJLEVBQUUsUUFBUTtVQUFFTyxNQUFNLEVBQUU7UUFBUztNQUFFLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDcEYsQ0FBQyxDQUFDO0lBRUY5QixRQUFRLENBQUMsWUFBWSxFQUFFLFlBQU07TUFDM0JDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEVBQUUrQixlQUFRLENBQUNDLFVBQVUsV0FBUSxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGakMsUUFBUSxDQUFDLFNBQVMsRUFBRSxZQUFNO01BQ3hCQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFdUIsU0FBUyxDQUFDO0lBQ2xDLENBQUMsQ0FBQztJQUVGeEIsUUFBUSxDQUFDLG1CQUFtQixFQUFFLFlBQU07TUFDbENDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUZELFFBQVEsQ0FBQyxTQUFTLEVBQUUsWUFBTTtNQUN4QkMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUM7TUFDL0JBLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFBRWlDLE9BQU8sRUFBRTtVQUFFWCxJQUFJLEVBQUU7UUFBVTtNQUFFLENBQUMsRUFBRSxRQUFRLENBQUM7TUFDN0R0QixNQUFNLENBQUMsU0FBUyxFQUFFO1FBQUVpQyxPQUFPLEVBQUU7VUFBRVgsSUFBSSxFQUFFLFNBQVM7VUFBRSxXQUFTO1FBQUk7TUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO01BQ3RFdEIsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUFFaUMsT0FBTyxFQUFFO1VBQUVYLElBQUksRUFBRSxNQUFNO1VBQUUsV0FBUztRQUFJO01BQUUsQ0FBQyxFQUFFQyxTQUFTLENBQUM7TUFDekV2QixNQUFNLENBQUMsU0FBUyxFQUFFO1FBQUVpQyxPQUFPLEVBQUU7VUFBRVgsSUFBSSxFQUFFLFFBQVE7VUFBRU8sTUFBTSxFQUFFO1FBQVM7TUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ2hGLENBQUMsQ0FBQztFQUNKLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
package/lib/index.js
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.getFeedbackForCorrectness = exports.getFeedback = exports.getActualFeedbackForCorrectness = exports.getActualFeedback = exports.defaults = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
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) { (0, _defineProperty2["default"])(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; }
|
|
15
|
-
|
|
16
|
-
var defaults = {
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
var defaults = exports.defaults = {
|
|
17
12
|
correct: {
|
|
18
13
|
type: 'default',
|
|
19
14
|
"default": 'Correct',
|
|
@@ -35,6 +30,7 @@ var defaults = {
|
|
|
35
30
|
custom: 'You have not entered a response'
|
|
36
31
|
}
|
|
37
32
|
};
|
|
33
|
+
|
|
38
34
|
/**
|
|
39
35
|
* @typedef {Object} FeedbackConfig
|
|
40
36
|
* @property {'default'|'none'|'custom'} type
|
|
@@ -47,24 +43,20 @@ var defaults = {
|
|
|
47
43
|
* @property {FeedbackConfig} partial
|
|
48
44
|
*/
|
|
49
45
|
|
|
50
|
-
exports.defaults = defaults;
|
|
51
|
-
|
|
52
46
|
var normalizeCorrectness = function normalizeCorrectness(c) {
|
|
53
47
|
if (c === 'partially-correct') {
|
|
54
48
|
return 'partial';
|
|
55
49
|
}
|
|
56
|
-
|
|
57
50
|
return c;
|
|
58
51
|
};
|
|
52
|
+
|
|
59
53
|
/**
|
|
60
54
|
* Get the feedback for the correctness
|
|
61
55
|
*
|
|
62
56
|
* @param {'correct'|'incorrect'|'partial'} correctness
|
|
63
57
|
* @param {Feedback} feedback
|
|
64
58
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
var getFeedbackForCorrectness = function getFeedbackForCorrectness(correctness, feedback) {
|
|
59
|
+
var getFeedbackForCorrectness = exports.getFeedbackForCorrectness = function getFeedbackForCorrectness(correctness, feedback) {
|
|
68
60
|
return new Promise(function (resolve) {
|
|
69
61
|
feedback = _objectSpread(_objectSpread({}, defaults), feedback);
|
|
70
62
|
correctness = normalizeCorrectness(correctness);
|
|
@@ -75,63 +67,51 @@ var getFeedbackForCorrectness = function getFeedbackForCorrectness(correctness,
|
|
|
75
67
|
});
|
|
76
68
|
});
|
|
77
69
|
};
|
|
70
|
+
|
|
78
71
|
/**
|
|
79
72
|
* Get the feedback from a {FeedbackConfig}
|
|
80
73
|
*
|
|
81
74
|
* @param {FeedbackConfig} feedback
|
|
82
75
|
* @param {string} fallback
|
|
83
76
|
*/
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
exports.getFeedbackForCorrectness = getFeedbackForCorrectness;
|
|
87
|
-
|
|
88
|
-
var getFeedback = function getFeedback(feedback, fallback) {
|
|
77
|
+
var getFeedback = exports.getFeedback = function getFeedback(feedback, fallback) {
|
|
89
78
|
return new Promise(function (resolve) {
|
|
90
79
|
if (!feedback || feedback.type === 'none') {
|
|
91
80
|
resolve(undefined);
|
|
92
81
|
return;
|
|
93
82
|
}
|
|
94
|
-
|
|
95
83
|
feedback = feedback || {};
|
|
96
84
|
var out = feedback[feedback.type] || fallback;
|
|
97
85
|
resolve(out);
|
|
98
86
|
});
|
|
99
|
-
};
|
|
87
|
+
};
|
|
100
88
|
|
|
89
|
+
// TODO: should replace getFeedbackForCorrectness
|
|
101
90
|
/**
|
|
102
91
|
* Get feedback for correctness
|
|
103
92
|
* @param {'correct'|'incorrect'|'partial'} correctness
|
|
104
93
|
* @param {Feedback} feedback
|
|
105
94
|
*/
|
|
95
|
+
var getActualFeedbackForCorrectness = exports.getActualFeedbackForCorrectness = function getActualFeedbackForCorrectness(correctness, feedback) {
|
|
96
|
+
feedback = _objectSpread(_objectSpread({}, defaults), feedback);
|
|
106
97
|
|
|
107
|
-
|
|
108
|
-
exports.getFeedback = getFeedback;
|
|
109
|
-
|
|
110
|
-
var getActualFeedbackForCorrectness = function getActualFeedbackForCorrectness(correctness, feedback) {
|
|
111
|
-
feedback = _objectSpread(_objectSpread({}, defaults), feedback); // normalize correctness
|
|
112
|
-
|
|
98
|
+
// normalize correctness
|
|
113
99
|
correctness = correctness === 'partially-correct' ? 'partial' : correctness;
|
|
114
100
|
var defaultFeedback = defaults[correctness] || {};
|
|
115
101
|
var fb = feedback[correctness] || defaultFeedback;
|
|
116
102
|
return getActualFeedback(fb, defaultFeedback[fb.type || 'default']);
|
|
117
|
-
};
|
|
103
|
+
};
|
|
118
104
|
|
|
105
|
+
// TODO: should replace getFeedback
|
|
119
106
|
/**
|
|
120
107
|
* Get the feedback from a {FeedbackConfig}
|
|
121
108
|
* @param {FeedbackConfig} feedback
|
|
122
109
|
* @param {string} fallback
|
|
123
110
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
exports.getActualFeedbackForCorrectness = getActualFeedbackForCorrectness;
|
|
127
|
-
|
|
128
|
-
var getActualFeedback = function getActualFeedback(feedback, fallback) {
|
|
111
|
+
var getActualFeedback = exports.getActualFeedback = function getActualFeedback(feedback, fallback) {
|
|
129
112
|
if (!feedback || feedback.type === 'none') {
|
|
130
113
|
return undefined;
|
|
131
114
|
}
|
|
132
|
-
|
|
133
115
|
return feedback[feedback.type] || fallback;
|
|
134
116
|
};
|
|
135
|
-
|
|
136
|
-
exports.getActualFeedback = getActualFeedback;
|
|
137
|
-
//# sourceMappingURL=index.js.map
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWZhdWx0cyIsImV4cG9ydHMiLCJjb3JyZWN0IiwidHlwZSIsImN1c3RvbSIsImluY29ycmVjdCIsInBhcnRpYWwiLCJ1bmFuc3dlcmVkIiwibm9ybWFsaXplQ29ycmVjdG5lc3MiLCJjIiwiZ2V0RmVlZGJhY2tGb3JDb3JyZWN0bmVzcyIsImNvcnJlY3RuZXNzIiwiZmVlZGJhY2siLCJQcm9taXNlIiwicmVzb2x2ZSIsIl9vYmplY3RTcHJlYWQiLCJmYiIsImQiLCJnZXRGZWVkYmFjayIsInRoZW4iLCJyZXN1bHQiLCJmYWxsYmFjayIsInVuZGVmaW5lZCIsIm91dCIsImdldEFjdHVhbEZlZWRiYWNrRm9yQ29ycmVjdG5lc3MiLCJkZWZhdWx0RmVlZGJhY2siLCJnZXRBY3R1YWxGZWVkYmFjayJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZGVmYXVsdHMgPSB7XG4gIGNvcnJlY3Q6IHsgdHlwZTogJ2RlZmF1bHQnLCBkZWZhdWx0OiAnQ29ycmVjdCcsIGN1c3RvbTogJ0NvcnJlY3QnIH0sXG4gIGluY29ycmVjdDogeyB0eXBlOiAnZGVmYXVsdCcsIGRlZmF1bHQ6ICdJbmNvcnJlY3QnLCBjdXN0b206ICdJbmNvcnJlY3QnIH0sXG4gIHBhcnRpYWw6IHsgdHlwZTogJ2RlZmF1bHQnLCBkZWZhdWx0OiAnTmVhcmx5JywgY3VzdG9tOiAnTmVhcmx5JyB9LFxuICB1bmFuc3dlcmVkOiB7XG4gICAgdHlwZTogJ2RlZmF1bHQnLFxuICAgIGRlZmF1bHQ6ICdZb3UgaGF2ZSBub3QgZW50ZXJlZCBhIHJlc3BvbnNlJyxcbiAgICBjdXN0b206ICdZb3UgaGF2ZSBub3QgZW50ZXJlZCBhIHJlc3BvbnNlJyxcbiAgfSxcbn07XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRmVlZGJhY2tDb25maWdcbiAqIEBwcm9wZXJ0eSB7J2RlZmF1bHQnfCdub25lJ3wnY3VzdG9tJ30gdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IGRlZmF1bHRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjdXN0b21cbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBGZWVkYmFja1xuICogIEBwcm9wZXJ0eSB7RmVlZGJhY2tDb25maWd9IGNvcnJlY3RcbiAqICBAcHJvcGVydHkge0ZlZWRiYWNrQ29uZmlnfSBpbmNvcnJlY3RcbiAqICBAcHJvcGVydHkge0ZlZWRiYWNrQ29uZmlnfSBwYXJ0aWFsXG4gKi9cblxuY29uc3Qgbm9ybWFsaXplQ29ycmVjdG5lc3MgPSAoYykgPT4ge1xuICBpZiAoYyA9PT0gJ3BhcnRpYWxseS1jb3JyZWN0Jykge1xuICAgIHJldHVybiAncGFydGlhbCc7XG4gIH1cbiAgcmV0dXJuIGM7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgZmVlZGJhY2sgZm9yIHRoZSBjb3JyZWN0bmVzc1xuICpcbiAqIEBwYXJhbSB7J2NvcnJlY3QnfCdpbmNvcnJlY3QnfCdwYXJ0aWFsJ30gY29ycmVjdG5lc3NcbiAqIEBwYXJhbSB7RmVlZGJhY2t9IGZlZWRiYWNrXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGZWVkYmFja0ZvckNvcnJlY3RuZXNzID0gKGNvcnJlY3RuZXNzLCBmZWVkYmFjaykgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBmZWVkYmFjayA9IHsgLi4uZGVmYXVsdHMsIC4uLmZlZWRiYWNrIH07XG4gICAgY29ycmVjdG5lc3MgPSBub3JtYWxpemVDb3JyZWN0bmVzcyhjb3JyZWN0bmVzcyk7XG4gICAgY29uc3QgZmIgPSBmZWVkYmFja1tjb3JyZWN0bmVzc10gfHwgZGVmYXVsdHNbY29ycmVjdG5lc3NdIHx8IHt9O1xuICAgIGNvbnN0IGQgPSBkZWZhdWx0c1tjb3JyZWN0bmVzc10gfHwge307XG4gICAgZ2V0RmVlZGJhY2soZmIsIGRbZmIudHlwZSB8fCAnZGVmYXVsdCddKS50aGVuKChyZXN1bHQpID0+IHJlc29sdmUocmVzdWx0KSk7XG4gIH0pO1xuXG4vKipcbiAqIEdldCB0aGUgZmVlZGJhY2sgZnJvbSBhIHtGZWVkYmFja0NvbmZpZ31cbiAqXG4gKiBAcGFyYW0ge0ZlZWRiYWNrQ29uZmlnfSBmZWVkYmFja1xuICogQHBhcmFtIHtzdHJpbmd9IGZhbGxiYWNrXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGZWVkYmFjayA9IChmZWVkYmFjaywgZmFsbGJhY2spID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKCFmZWVkYmFjayB8fCBmZWVkYmFjay50eXBlID09PSAnbm9uZScpIHtcbiAgICAgIHJlc29sdmUodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZmVlZGJhY2sgPSBmZWVkYmFjayB8fCB7fTtcbiAgICBjb25zdCBvdXQgPSBmZWVkYmFja1tmZWVkYmFjay50eXBlXSB8fCBmYWxsYmFjaztcbiAgICByZXNvbHZlKG91dCk7XG4gIH0pO1xuXG4vLyBUT0RPOiBzaG91bGQgcmVwbGFjZSBnZXRGZWVkYmFja0ZvckNvcnJlY3RuZXNzXG4vKipcbiAqIEdldCBmZWVkYmFjayBmb3IgY29ycmVjdG5lc3NcbiAqIEBwYXJhbSB7J2NvcnJlY3QnfCdpbmNvcnJlY3QnfCdwYXJ0aWFsJ30gY29ycmVjdG5lc3NcbiAqIEBwYXJhbSB7RmVlZGJhY2t9IGZlZWRiYWNrXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBY3R1YWxGZWVkYmFja0ZvckNvcnJlY3RuZXNzID0gKGNvcnJlY3RuZXNzLCBmZWVkYmFjaykgPT4ge1xuICBmZWVkYmFjayA9IHsgLi4uZGVmYXVsdHMsIC4uLmZlZWRiYWNrIH07XG5cbiAgLy8gbm9ybWFsaXplIGNvcnJlY3RuZXNzXG4gIGNvcnJlY3RuZXNzID0gY29ycmVjdG5lc3MgPT09ICdwYXJ0aWFsbHktY29ycmVjdCcgPyAncGFydGlhbCcgOiBjb3JyZWN0bmVzcztcblxuICBjb25zdCBkZWZhdWx0RmVlZGJhY2sgPSBkZWZhdWx0c1tjb3JyZWN0bmVzc10gfHwge307XG4gIGNvbnN0IGZiID0gZmVlZGJhY2tbY29ycmVjdG5lc3NdIHx8IGRlZmF1bHRGZWVkYmFjaztcblxuICByZXR1cm4gZ2V0QWN0dWFsRmVlZGJhY2soZmIsIGRlZmF1bHRGZWVkYmFja1tmYi50eXBlIHx8ICdkZWZhdWx0J10pO1xufTtcblxuLy8gVE9ETzogc2hvdWxkIHJlcGxhY2UgZ2V0RmVlZGJhY2tcbi8qKlxuICogR2V0IHRoZSBmZWVkYmFjayBmcm9tIGEge0ZlZWRiYWNrQ29uZmlnfVxuICogQHBhcmFtIHtGZWVkYmFja0NvbmZpZ30gZmVlZGJhY2tcbiAqIEBwYXJhbSB7c3RyaW5nfSBmYWxsYmFja1xuICovXG5leHBvcnQgY29uc3QgZ2V0QWN0dWFsRmVlZGJhY2sgPSAoZmVlZGJhY2ssIGZhbGxiYWNrKSA9PiB7XG4gIGlmICghZmVlZGJhY2sgfHwgZmVlZGJhY2sudHlwZSA9PT0gJ25vbmUnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiBmZWVkYmFja1tmZWVkYmFjay50eXBlXSB8fCBmYWxsYmFjaztcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBTyxJQUFNQSxRQUFRLEdBQUFDLE9BQUEsQ0FBQUQsUUFBQSxHQUFHO0VBQ3RCRSxPQUFPLEVBQUU7SUFBRUMsSUFBSSxFQUFFLFNBQVM7SUFBRSxXQUFTLFNBQVM7SUFBRUMsTUFBTSxFQUFFO0VBQVUsQ0FBQztFQUNuRUMsU0FBUyxFQUFFO0lBQUVGLElBQUksRUFBRSxTQUFTO0lBQUUsV0FBUyxXQUFXO0lBQUVDLE1BQU0sRUFBRTtFQUFZLENBQUM7RUFDekVFLE9BQU8sRUFBRTtJQUFFSCxJQUFJLEVBQUUsU0FBUztJQUFFLFdBQVMsUUFBUTtJQUFFQyxNQUFNLEVBQUU7RUFBUyxDQUFDO0VBQ2pFRyxVQUFVLEVBQUU7SUFDVkosSUFBSSxFQUFFLFNBQVM7SUFDZixXQUFTLGlDQUFpQztJQUMxQ0MsTUFBTSxFQUFFO0VBQ1Y7QUFDRixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["defaults","exports","correct","type","custom","incorrect","partial","unanswered","normalizeCorrectness","c","getFeedbackForCorrectness","correctness","feedback","Promise","resolve","_objectSpread","fb","d","getFeedback","then","result","fallback","undefined","out","getActualFeedbackForCorrectness","defaultFeedback","getActualFeedback"],"sources":["../src/index.js"],"sourcesContent":["export const defaults = {\n correct: { type: 'default', default: 'Correct', custom: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect', custom: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly', custom: 'Nearly' },\n unanswered: {\n type: 'default',\n default: 'You have not entered a response',\n custom: 'You have not entered a response',\n },\n};\n\n/**\n * @typedef {Object} FeedbackConfig\n * @property {'default'|'none'|'custom'} type\n * @property {string} default\n * @property {string} custom\n *\n * @typedef {Object} Feedback\n * @property {FeedbackConfig} correct\n * @property {FeedbackConfig} incorrect\n * @property {FeedbackConfig} partial\n */\n\nconst normalizeCorrectness = (c) => {\n if (c === 'partially-correct') {\n return 'partial';\n }\n return c;\n};\n\n/**\n * Get the feedback for the correctness\n *\n * @param {'correct'|'incorrect'|'partial'} correctness\n * @param {Feedback} feedback\n */\nexport const getFeedbackForCorrectness = (correctness, feedback) =>\n new Promise((resolve) => {\n feedback = { ...defaults, ...feedback };\n correctness = normalizeCorrectness(correctness);\n const fb = feedback[correctness] || defaults[correctness] || {};\n const d = defaults[correctness] || {};\n getFeedback(fb, d[fb.type || 'default']).then((result) => resolve(result));\n });\n\n/**\n * Get the feedback from a {FeedbackConfig}\n *\n * @param {FeedbackConfig} feedback\n * @param {string} fallback\n */\nexport const getFeedback = (feedback, fallback) =>\n new Promise((resolve) => {\n if (!feedback || feedback.type === 'none') {\n resolve(undefined);\n return;\n }\n feedback = feedback || {};\n const out = feedback[feedback.type] || fallback;\n resolve(out);\n });\n\n// TODO: should replace getFeedbackForCorrectness\n/**\n * Get feedback for correctness\n * @param {'correct'|'incorrect'|'partial'} correctness\n * @param {Feedback} feedback\n */\nexport const getActualFeedbackForCorrectness = (correctness, feedback) => {\n feedback = { ...defaults, ...feedback };\n\n // normalize correctness\n correctness = correctness === 'partially-correct' ? 'partial' : correctness;\n\n const defaultFeedback = defaults[correctness] || {};\n const fb = feedback[correctness] || defaultFeedback;\n\n return getActualFeedback(fb, defaultFeedback[fb.type || 'default']);\n};\n\n// TODO: should replace getFeedback\n/**\n * Get the feedback from a {FeedbackConfig}\n * @param {FeedbackConfig} feedback\n * @param {string} fallback\n */\nexport const getActualFeedback = (feedback, fallback) => {\n if (!feedback || feedback.type === 'none') {\n return undefined;\n }\n\n return feedback[feedback.type] || fallback;\n};\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/feedback",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.3-next.0",
|
|
4
4
|
"description": "Feedback utilities",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -10,5 +10,5 @@
|
|
|
10
10
|
"scripts": {},
|
|
11
11
|
"author": "",
|
|
12
12
|
"license": "ISC",
|
|
13
|
-
"gitHead": "
|
|
13
|
+
"gitHead": "31368da9311d16744eb1293ff5f8495551427037"
|
|
14
14
|
}
|