@pie-lib/controller-utils 0.22.3-next.0 → 0.22.4-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 CHANGED
@@ -5,142 +5,79 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
5
5
 
6
6
  ## [0.22.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.22.1...@pie-lib/controller-utils@0.22.2) (2025-11-27)
7
7
 
8
-
9
8
  ### Bug Fixes
10
9
 
11
- * **controller-utils:** update debug PD-5248 ([b238a16](https://github.com/pie-framework/pie-lib/commit/b238a16acf55cc7b9316965a10a27a4f9ab4c220))
12
-
13
-
14
-
15
-
10
+ - **controller-utils:** update debug PD-5248 ([b238a16](https://github.com/pie-framework/pie-lib/commit/b238a16acf55cc7b9316965a10a27a4f9ab4c220))
16
11
 
17
12
  ## [0.22.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.18.0...@pie-lib/controller-utils@0.22.1) (2025-10-22)
18
13
 
19
14
  **Note:** Version bump only for package @pie-lib/controller-utils
20
15
 
21
-
22
-
23
-
24
-
25
16
  # [0.22.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.21.0...@pie-lib/controller-utils@0.22.0) (2025-10-16)
26
17
 
27
18
  **Note:** Version bump only for package @pie-lib/controller-utils
28
19
 
29
-
30
-
31
-
32
-
33
20
  # [0.21.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.18.0...@pie-lib/controller-utils@0.21.0) (2025-10-16)
34
21
 
35
22
  **Note:** Version bump only for package @pie-lib/controller-utils
36
23
 
37
-
38
-
39
-
40
-
41
24
  # [0.20.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.18.0...@pie-lib/controller-utils@0.20.0) (2025-10-16)
42
25
 
43
26
  **Note:** Version bump only for package @pie-lib/controller-utils
44
27
 
45
-
46
-
47
-
48
-
49
28
  # [0.19.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.18.0...@pie-lib/controller-utils@0.19.0) (2025-10-16)
50
29
 
51
30
  **Note:** Version bump only for package @pie-lib/controller-utils
52
31
 
53
-
54
-
55
-
56
-
57
32
  # [0.18.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.2.44...@pie-lib/controller-utils@0.18.0) (2025-09-25)
58
33
 
59
-
60
34
  ### Bug Fixes
61
35
 
62
- * fixed pie-lib/icons import [PD-5126] ([dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f))
63
-
36
+ - fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
64
37
 
65
38
  ### Features
66
39
 
67
- * split pie-toolbox into multiple packages [PD-5126] ([7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2))
68
-
69
-
70
-
71
-
40
+ - split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
72
41
 
73
42
  # [0.17.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.16.0...@pie-lib/controller-utils@0.17.0) (2025-09-18)
74
43
 
75
44
  **Note:** Version bump only for package @pie-lib/controller-utils
76
45
 
77
-
78
-
79
-
80
-
81
46
  # [0.16.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.15.0...@pie-lib/controller-utils@0.16.0) (2025-09-18)
82
47
 
83
48
  **Note:** Version bump only for package @pie-lib/controller-utils
84
49
 
85
-
86
-
87
-
88
-
89
50
  # [0.15.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.2.44...@pie-lib/controller-utils@0.15.0) (2025-09-18)
90
51
 
91
-
92
52
  ### Bug Fixes
93
53
 
94
- * fixed pie-lib/icons import [PD-5126] ([dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f))
95
-
54
+ - fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
96
55
 
97
56
  ### Features
98
57
 
99
- * split pie-toolbox into multiple packages [PD-5126] ([7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2))
100
-
101
-
102
-
103
-
58
+ - split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
104
59
 
105
60
  # [0.14.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.13.0...@pie-lib/controller-utils@0.14.0) (2025-09-17)
106
61
 
107
62
  **Note:** Version bump only for package @pie-lib/controller-utils
108
63
 
109
-
110
-
111
-
112
-
113
64
  # [0.13.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.12.0...@pie-lib/controller-utils@0.13.0) (2025-09-17)
114
65
 
115
66
  **Note:** Version bump only for package @pie-lib/controller-utils
116
67
 
117
-
118
-
119
-
120
-
121
68
  # [0.12.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.11.1...@pie-lib/controller-utils@0.12.0) (2025-09-17)
122
69
 
123
70
  **Note:** Version bump only for package @pie-lib/controller-utils
124
71
 
125
-
126
-
127
-
128
-
129
72
  ## [0.11.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.2.44...@pie-lib/controller-utils@0.11.1) (2025-08-11)
130
73
 
131
-
132
74
  ### Bug Fixes
133
75
 
134
- * fixed pie-lib/icons import [PD-5126] ([dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f))
135
-
76
+ - fixed pie-lib/icons import [PD-5126](<[dcb506c](https://github.com/pie-framework/pie-lib/commit/dcb506c914a177f6d88bf73247a023bfe71dac1f)>)
136
77
 
137
78
  ### Features
138
79
 
139
- * split pie-toolbox into multiple packages [PD-5126] ([7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2))
140
-
141
-
142
-
143
-
80
+ - split pie-toolbox into multiple packages [PD-5126](<[7d55a25](https://github.com/pie-framework/pie-lib/commit/7d55a2552d084cd3d0d5c00dc77411b2ced2f5e2)>)
144
81
 
145
82
  # [0.11.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/controller-utils@0.2.44...@pie-lib/controller-utils@0.11.0) (2025-08-07)
146
83
 
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _partialScoring = require("../partial-scoring");
4
+ describe('enabled', function () {
5
+ var assertEnabled = function assertEnabled(config, env, expected) {
6
+ it("returns ".concat(expected, " for: config: ").concat(config.partialScoring, ", env:").concat(env.partialScoring), function () {
7
+ var result = (0, _partialScoring.enabled)(config, env);
8
+ expect(result).toEqual(expected);
9
+ });
10
+ };
11
+ var config = function config(v) {
12
+ return {
13
+ partialScoring: v
14
+ };
15
+ };
16
+ var env = function env(v) {
17
+ return {
18
+ partialScoring: v
19
+ };
20
+ };
21
+ assertEnabled(config(undefined), env(undefined), true);
22
+ assertEnabled(config(undefined), env(true), true);
23
+ assertEnabled(config(undefined), env(false), false);
24
+ assertEnabled(config(false), env(undefined), false);
25
+ assertEnabled(config(false), env(true), false);
26
+ assertEnabled(config(false), env(false), false);
27
+ assertEnabled(config(true), env(undefined), true);
28
+ assertEnabled(config(true), env(true), true);
29
+ assertEnabled(config(true), env(false), false);
30
+ });
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGFydGlhbFNjb3JpbmciLCJyZXF1aXJlIiwiZGVzY3JpYmUiLCJhc3NlcnRFbmFibGVkIiwiY29uZmlnIiwiZW52IiwiZXhwZWN0ZWQiLCJpdCIsImNvbmNhdCIsInBhcnRpYWxTY29yaW5nIiwicmVzdWx0IiwiZW5hYmxlZCIsImV4cGVjdCIsInRvRXF1YWwiLCJ2IiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9wYXJ0aWFsLXNjb3JpbmcudGVzdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmFibGVkIH0gZnJvbSAnLi4vcGFydGlhbC1zY29yaW5nJztcblxuZGVzY3JpYmUoJ2VuYWJsZWQnLCAoKSA9PiB7XG4gIGNvbnN0IGFzc2VydEVuYWJsZWQgPSAoY29uZmlnLCBlbnYsIGV4cGVjdGVkKSA9PiB7XG4gICAgaXQoYHJldHVybnMgJHtleHBlY3RlZH0gZm9yOiBjb25maWc6ICR7Y29uZmlnLnBhcnRpYWxTY29yaW5nfSwgZW52OiR7ZW52LnBhcnRpYWxTY29yaW5nfWAsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGVuYWJsZWQoY29uZmlnLCBlbnYpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgY29uZmlnID0gKHYpID0+ICh7IHBhcnRpYWxTY29yaW5nOiB2IH0pO1xuICBjb25zdCBlbnYgPSAodikgPT4gKHsgcGFydGlhbFNjb3Jpbmc6IHYgfSk7XG5cbiAgYXNzZXJ0RW5hYmxlZChjb25maWcodW5kZWZpbmVkKSwgZW52KHVuZGVmaW5lZCksIHRydWUpO1xuICBhc3NlcnRFbmFibGVkKGNvbmZpZyh1bmRlZmluZWQpLCBlbnYodHJ1ZSksIHRydWUpO1xuICBhc3NlcnRFbmFibGVkKGNvbmZpZyh1bmRlZmluZWQpLCBlbnYoZmFsc2UpLCBmYWxzZSk7XG5cbiAgYXNzZXJ0RW5hYmxlZChjb25maWcoZmFsc2UpLCBlbnYodW5kZWZpbmVkKSwgZmFsc2UpO1xuICBhc3NlcnRFbmFibGVkKGNvbmZpZyhmYWxzZSksIGVudih0cnVlKSwgZmFsc2UpO1xuICBhc3NlcnRFbmFibGVkKGNvbmZpZyhmYWxzZSksIGVudihmYWxzZSksIGZhbHNlKTtcblxuICBhc3NlcnRFbmFibGVkKGNvbmZpZyh0cnVlKSwgZW52KHVuZGVmaW5lZCksIHRydWUpO1xuICBhc3NlcnRFbmFibGVkKGNvbmZpZyh0cnVlKSwgZW52KHRydWUpLCB0cnVlKTtcbiAgYXNzZXJ0RW5hYmxlZChjb25maWcodHJ1ZSksIGVudihmYWxzZSksIGZhbHNlKTtcbn0pO1xuIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUFBLGVBQUEsR0FBQUMsT0FBQTtBQUVBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFlBQU07RUFDeEIsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJQyxNQUFNLEVBQUVDLEdBQUcsRUFBRUMsUUFBUSxFQUFLO0lBQy9DQyxFQUFFLFlBQUFDLE1BQUEsQ0FBWUYsUUFBUSxvQkFBQUUsTUFBQSxDQUFpQkosTUFBTSxDQUFDSyxjQUFjLFlBQUFELE1BQUEsQ0FBU0gsR0FBRyxDQUFDSSxjQUFjLEdBQUksWUFBTTtNQUMvRixJQUFNQyxNQUFNLEdBQUcsSUFBQUMsdUJBQU8sRUFBQ1AsTUFBTSxFQUFFQyxHQUFHLENBQUM7TUFDbkNPLE1BQU0sQ0FBQ0YsTUFBTSxDQUFDLENBQUNHLE9BQU8sQ0FBQ1AsUUFBUSxDQUFDO0lBQ2xDLENBQUMsQ0FBQztFQUNKLENBQUM7RUFFRCxJQUFNRixNQUFNLEdBQUcsU0FBVEEsTUFBTUEsQ0FBSVUsQ0FBQztJQUFBLE9BQU07TUFBRUwsY0FBYyxFQUFFSztJQUFFLENBQUM7RUFBQSxDQUFDO0VBQzdDLElBQU1ULEdBQUcsR0FBRyxTQUFOQSxHQUFHQSxDQUFJUyxDQUFDO0lBQUEsT0FBTTtNQUFFTCxjQUFjLEVBQUVLO0lBQUUsQ0FBQztFQUFBLENBQUM7RUFFMUNYLGFBQWEsQ0FBQ0MsTUFBTSxDQUFDVyxTQUFTLENBQUMsRUFBRVYsR0FBRyxDQUFDVSxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUM7RUFDdERaLGFBQWEsQ0FBQ0MsTUFBTSxDQUFDVyxTQUFTLENBQUMsRUFBRVYsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztFQUNqREYsYUFBYSxDQUFDQyxNQUFNLENBQUNXLFNBQVMsQ0FBQyxFQUFFVixHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDO0VBRW5ERixhQUFhLENBQUNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRUMsR0FBRyxDQUFDVSxTQUFTLENBQUMsRUFBRSxLQUFLLENBQUM7RUFDbkRaLGFBQWEsQ0FBQ0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDO0VBQzlDRixhQUFhLENBQUNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQztFQUUvQ0YsYUFBYSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUVDLEdBQUcsQ0FBQ1UsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDO0VBQ2pEWixhQUFhLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQztFQUM1Q0YsYUFBYSxDQUFDQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUVDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUM7QUFDaEQsQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,256 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
5
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
+ var _persistence = require("../persistence");
9
+ var _templateObject, _templateObject2, _templateObject3;
10
+ 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; }
11
+ 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; }
12
+ describe('getShuffledChoices', function () {
13
+ var choices, session, updateSession, key;
14
+ beforeEach(function () {
15
+ updateSession = jest.fn().mockResolvedValue([]);
16
+ session = {
17
+ id: '1',
18
+ element: 'element'
19
+ };
20
+ choices = [{
21
+ value: 1
22
+ }, {
23
+ value: 2
24
+ }];
25
+ key = 'value';
26
+ });
27
+ describe('0 key', function () {
28
+ it('calls update session w/ 0 as a key', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
29
+ var result;
30
+ return _regenerator["default"].wrap(function (_context) {
31
+ while (1) switch (_context.prev = _context.next) {
32
+ case 0:
33
+ _context.next = 1;
34
+ return (0, _persistence.getShuffledChoices)([{
35
+ value: 0
36
+ }, {
37
+ value: 1
38
+ }], session, updateSession, 'value');
39
+ case 1:
40
+ result = _context.sent;
41
+ expect(updateSession).toHaveBeenCalledWith(session.id, session.element, {
42
+ shuffledValues: expect.arrayContaining([0, 1])
43
+ });
44
+ case 2:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }, _callee);
49
+ })));
50
+ });
51
+ describe('handles null values in session', function () {
52
+ beforeEach(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
53
+ var result;
54
+ return _regenerator["default"].wrap(function (_context2) {
55
+ while (1) switch (_context2.prev = _context2.next) {
56
+ case 0:
57
+ _context2.next = 1;
58
+ return (0, _persistence.getShuffledChoices)(choices, _objectSpread(_objectSpread({}, session), {}, {
59
+ shuffledValues: [null]
60
+ }), updateSession, 'value');
61
+ case 1:
62
+ result = _context2.sent;
63
+ case 2:
64
+ case "end":
65
+ return _context2.stop();
66
+ }
67
+ }, _callee2);
68
+ })));
69
+ it('calls updateSession w/ new shuffle cos [null] is treated as empty', function () {
70
+ expect(updateSession).toHaveBeenCalledWith(session.id, session.element, {
71
+ shuffledValues: expect.arrayContaining([1, 2])
72
+ });
73
+ });
74
+ });
75
+ describe('bad shuffle generation does not call updateSession', function () {
76
+ beforeEach(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
77
+ var result;
78
+ return _regenerator["default"].wrap(function (_context3) {
79
+ while (1) switch (_context3.prev = _context3.next) {
80
+ case 0:
81
+ _context3.next = 1;
82
+ return (0, _persistence.getShuffledChoices)(choices, {}, updateSession, 'foo');
83
+ case 1:
84
+ result = _context3.sent;
85
+ case 2:
86
+ case "end":
87
+ return _context3.stop();
88
+ }
89
+ }, _callee3);
90
+ })));
91
+ it('does not call update session', function () {
92
+ expect(updateSession).not.toHaveBeenCalled();
93
+ });
94
+ });
95
+ describe('session does not exist', function () {
96
+ it('returns undefined for empty session', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
97
+ var result;
98
+ return _regenerator["default"].wrap(function (_context4) {
99
+ while (1) switch (_context4.prev = _context4.next) {
100
+ case 0:
101
+ _context4.next = 1;
102
+ return (0, _persistence.getShuffledChoices)(choices, undefined, updateSession, key);
103
+ case 1:
104
+ result = _context4.sent;
105
+ expect(result).toEqual(undefined);
106
+ case 2:
107
+ case "end":
108
+ return _context4.stop();
109
+ }
110
+ }, _callee4);
111
+ })));
112
+ });
113
+ describe('session exists', function () {
114
+ it('returns compact choices if session has shuffledValues', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
115
+ var result;
116
+ return _regenerator["default"].wrap(function (_context5) {
117
+ while (1) switch (_context5.prev = _context5.next) {
118
+ case 0:
119
+ session = {
120
+ shuffledValues: [2, 1]
121
+ };
122
+ _context5.next = 1;
123
+ return (0, _persistence.getShuffledChoices)(choices, session, updateSession, key);
124
+ case 1:
125
+ result = _context5.sent;
126
+ expect(result).toEqual(expect.arrayContaining(choices));
127
+ case 2:
128
+ case "end":
129
+ return _context5.stop();
130
+ }
131
+ }, _callee5);
132
+ })));
133
+ it('returns shuffled choices if updateSession is a function', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
134
+ var result;
135
+ return _regenerator["default"].wrap(function (_context6) {
136
+ while (1) switch (_context6.prev = _context6.next) {
137
+ case 0:
138
+ session = {};
139
+ updateSession = jest.fn().mockResolvedValue();
140
+ _context6.next = 1;
141
+ return (0, _persistence.getShuffledChoices)(choices, session, updateSession, key);
142
+ case 1:
143
+ result = _context6.sent;
144
+ expect(result).toEqual(expect.arrayContaining(choices));
145
+ case 2:
146
+ case "end":
147
+ return _context6.stop();
148
+ }
149
+ }, _callee6);
150
+ })));
151
+ it('calls updateSession as expected if updateSession is a function', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
152
+ return _regenerator["default"].wrap(function (_context7) {
153
+ while (1) switch (_context7.prev = _context7.next) {
154
+ case 0:
155
+ session = {
156
+ id: '1',
157
+ element: 'pie-element'
158
+ };
159
+ _context7.next = 1;
160
+ return (0, _persistence.getShuffledChoices)(choices, session, updateSession, key);
161
+ case 1:
162
+ expect(updateSession).toHaveBeenCalledWith('1', 'pie-element', {
163
+ shuffledValues: expect.arrayContaining([1, 2])
164
+ });
165
+ case 2:
166
+ case "end":
167
+ return _context7.stop();
168
+ }
169
+ }, _callee7);
170
+ })));
171
+ });
172
+ });
173
+ describe('lockChoices', function () {
174
+ var env = function env(lockChoiceOrder) {
175
+ var role = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'student';
176
+ return {
177
+ '@pie-element': {
178
+ lockChoiceOrder: lockChoiceOrder
179
+ },
180
+ role: role
181
+ };
182
+ };
183
+ var session = function session(shuffledValues) {
184
+ return {
185
+ shuffledValues: shuffledValues
186
+ };
187
+ };
188
+ it.each(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n modelLock | session | env | expected\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), true, session(), env(true), true, true, session(), env(false), true, false, session(), env(true), true, false, session(), env(false), false, false, session(), undefined, false, false, undefined, undefined, false, undefined, session(), env(false), false, undefined, session(), env(undefined), false, false, session(), env(false, 'instructor'), true, false, session([0, 1]), env(false, 'instructor'), true, false, undefined, env(false, 'instructor'), true)('1. model.lockChoiceOrder: $modelLock, $session, $env => $expected', function (_ref8) {
189
+ var modelLock = _ref8.modelLock,
190
+ session = _ref8.session,
191
+ env = _ref8.env,
192
+ expected = _ref8.expected;
193
+ var model = {
194
+ lockChoiceOrder: modelLock
195
+ };
196
+ var result = (0, _persistence.lockChoices)(model, session, env);
197
+ expect(result).toEqual(expected);
198
+ });
199
+ });
200
+ describe('lockChoices mod', function () {
201
+ var env = function env(lockChoiceOrder) {
202
+ var role = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'student';
203
+ return {
204
+ '@pie-element': {
205
+ lockChoiceOrder: lockChoiceOrder
206
+ },
207
+ role: role
208
+ };
209
+ };
210
+ var session = function session() {
211
+ var answers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['foo', 'bar'];
212
+ return {
213
+ answers: answers
214
+ };
215
+ };
216
+ it.each(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n modelLock | session | env | expected\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), true, session(), env(true), true, true, session(), env(false), true, false, session(), env(true), true, false, session(), env(false), false, undefined, session(), env(true), true, undefined, session(), env(undefined), false, undefined, session(), env(undefined, 'instructor'), true)('2. model.lockChoiceOrder: $modelLock, $session, $env => $expected', function (_ref9) {
217
+ var modelLock = _ref9.modelLock,
218
+ session = _ref9.session,
219
+ env = _ref9.env,
220
+ expected = _ref9.expected;
221
+ var model = {
222
+ lockChoiceOrder: modelLock
223
+ };
224
+ var result = (0, _persistence.lockChoices)(model, session, env);
225
+ expect(result).toEqual(expected);
226
+ });
227
+ });
228
+ describe('lockChoices', function () {
229
+ var env = function env(lockChoiceOrder) {
230
+ var role = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'student';
231
+ return {
232
+ '@pie-element': {
233
+ lockChoiceOrder: lockChoiceOrder
234
+ },
235
+ role: role
236
+ };
237
+ };
238
+ var session = function session(shuffledValues) {
239
+ return {
240
+ shuffledValues: shuffledValues,
241
+ answers: ['foo', 'bar']
242
+ };
243
+ };
244
+ it.each(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n modelLock | session | env | expected\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n ", " | ", " | ", " | ", "\n "])), true, session(), env(true), true, true, session(), env(false), true, false, session(), env(true), true, false, session(), env(false), false, undefined, session(), env(true), true, undefined, session(), env(undefined), false, undefined, session(), env(undefined, 'instructor'), true)('3. model.lockChoiceOrder: $modelLock, $env => $expected', function (_ref0) {
245
+ var modelLock = _ref0.modelLock,
246
+ session = _ref0.session,
247
+ env = _ref0.env,
248
+ expected = _ref0.expected;
249
+ var model = {
250
+ lockChoiceOrder: modelLock
251
+ };
252
+ var result = (0, _persistence.lockChoices)(model, session, env);
253
+ expect(result).toEqual(expected);
254
+ });
255
+ });
256
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcGVyc2lzdGVuY2UiLCJyZXF1aXJlIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImRlc2NyaWJlIiwiY2hvaWNlcyIsInNlc3Npb24iLCJ1cGRhdGVTZXNzaW9uIiwia2V5IiwiYmVmb3JlRWFjaCIsImplc3QiLCJmbiIsIm1vY2tSZXNvbHZlZFZhbHVlIiwiaWQiLCJlbGVtZW50IiwidmFsdWUiLCJpdCIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwicmVzdWx0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJnZXRTaHVmZmxlZENob2ljZXMiLCJzZW50IiwiZXhwZWN0IiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJzaHVmZmxlZFZhbHVlcyIsImFycmF5Q29udGFpbmluZyIsInN0b3AiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsIl9jYWxsZWUzIiwiX2NvbnRleHQzIiwibm90IiwidG9IYXZlQmVlbkNhbGxlZCIsIl9jYWxsZWU0IiwiX2NvbnRleHQ0IiwidW5kZWZpbmVkIiwidG9FcXVhbCIsIl9jYWxsZWU1IiwiX2NvbnRleHQ1IiwiX2NhbGxlZTYiLCJfY29udGV4dDYiLCJfY2FsbGVlNyIsIl9jb250ZXh0NyIsImVudiIsImxvY2tDaG9pY2VPcmRlciIsInJvbGUiLCJlYWNoIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJfcmVmOCIsIm1vZGVsTG9jayIsImV4cGVjdGVkIiwibW9kZWwiLCJsb2NrQ2hvaWNlcyIsImFuc3dlcnMiLCJfcmVmOSIsIl9yZWYwIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL19fdGVzdHNfXy9wZXJzaXN0ZW5jZS50ZXN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNodWZmbGVkQ2hvaWNlcywgbG9ja0Nob2ljZXMgfSBmcm9tICcuLi9wZXJzaXN0ZW5jZSc7XG5cbmRlc2NyaWJlKCdnZXRTaHVmZmxlZENob2ljZXMnLCAoKSA9PiB7XG4gIGxldCBjaG9pY2VzLCBzZXNzaW9uLCB1cGRhdGVTZXNzaW9uLCBrZXk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgdXBkYXRlU2Vzc2lvbiA9IGplc3QuZm4oKS5tb2NrUmVzb2x2ZWRWYWx1ZShbXSk7XG4gICAgc2Vzc2lvbiA9IHtcbiAgICAgIGlkOiAnMScsXG4gICAgICBlbGVtZW50OiAnZWxlbWVudCcsXG4gICAgfTtcbiAgICBjaG9pY2VzID0gW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogMSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiAyLFxuICAgICAgfSxcbiAgICBdO1xuICAgIGtleSA9ICd2YWx1ZSc7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCcwIGtleScsICgpID0+IHtcbiAgICBpdCgnY2FsbHMgdXBkYXRlIHNlc3Npb24gdy8gMCBhcyBhIGtleScsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldFNodWZmbGVkQ2hvaWNlcyhbeyB2YWx1ZTogMCB9LCB7IHZhbHVlOiAxIH1dLCBzZXNzaW9uLCB1cGRhdGVTZXNzaW9uLCAndmFsdWUnKTtcbiAgICAgIGV4cGVjdCh1cGRhdGVTZXNzaW9uKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChzZXNzaW9uLmlkLCBzZXNzaW9uLmVsZW1lbnQsIHtcbiAgICAgICAgc2h1ZmZsZWRWYWx1ZXM6IGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoWzAsIDFdKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnaGFuZGxlcyBudWxsIHZhbHVlcyBpbiBzZXNzaW9uJywgKCkgPT4ge1xuICAgIGJlZm9yZUVhY2goYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHsgLi4uc2Vzc2lvbiwgc2h1ZmZsZWRWYWx1ZXM6IFtudWxsXSB9LCB1cGRhdGVTZXNzaW9uLCAndmFsdWUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyB1cGRhdGVTZXNzaW9uIHcvIG5ldyBzaHVmZmxlIGNvcyBbbnVsbF0gaXMgdHJlYXRlZCBhcyBlbXB0eScsICgpID0+IHtcbiAgICAgIGV4cGVjdCh1cGRhdGVTZXNzaW9uKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChzZXNzaW9uLmlkLCBzZXNzaW9uLmVsZW1lbnQsIHtcbiAgICAgICAgc2h1ZmZsZWRWYWx1ZXM6IGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoWzEsIDJdKSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbiAgZGVzY3JpYmUoJ2JhZCBzaHVmZmxlIGdlbmVyYXRpb24gZG9lcyBub3QgY2FsbCB1cGRhdGVTZXNzaW9uJywgKCkgPT4ge1xuICAgIGJlZm9yZUVhY2goYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHt9LCB1cGRhdGVTZXNzaW9uLCAnZm9vJyk7XG4gICAgfSk7XG4gICAgaXQoJ2RvZXMgbm90IGNhbGwgdXBkYXRlIHNlc3Npb24nLCAoKSA9PiB7XG4gICAgICBleHBlY3QodXBkYXRlU2Vzc2lvbikubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nlc3Npb24gZG9lcyBub3QgZXhpc3QnLCAoKSA9PiB7XG4gICAgaXQoJ3JldHVybnMgdW5kZWZpbmVkIGZvciBlbXB0eSBzZXNzaW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHVuZGVmaW5lZCwgdXBkYXRlU2Vzc2lvbiwga2V5KTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3Nlc3Npb24gZXhpc3RzJywgKCkgPT4ge1xuICAgIGl0KCdyZXR1cm5zIGNvbXBhY3QgY2hvaWNlcyBpZiBzZXNzaW9uIGhhcyBzaHVmZmxlZFZhbHVlcycsIGFzeW5jICgpID0+IHtcbiAgICAgIHNlc3Npb24gPSB7IHNodWZmbGVkVmFsdWVzOiBbMiwgMV0gfTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldFNodWZmbGVkQ2hvaWNlcyhjaG9pY2VzLCBzZXNzaW9uLCB1cGRhdGVTZXNzaW9uLCBrZXkpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9FcXVhbChleHBlY3QuYXJyYXlDb250YWluaW5nKGNob2ljZXMpKTtcbiAgICB9KTtcblxuICAgIGl0KCdyZXR1cm5zIHNodWZmbGVkIGNob2ljZXMgaWYgdXBkYXRlU2Vzc2lvbiBpcyBhIGZ1bmN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgc2Vzc2lvbiA9IHt9O1xuICAgICAgdXBkYXRlU2Vzc2lvbiA9IGplc3QuZm4oKS5tb2NrUmVzb2x2ZWRWYWx1ZSgpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHNlc3Npb24sIHVwZGF0ZVNlc3Npb24sIGtleSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoY2hvaWNlcykpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NhbGxzIHVwZGF0ZVNlc3Npb24gYXMgZXhwZWN0ZWQgaWYgdXBkYXRlU2Vzc2lvbiBpcyBhIGZ1bmN0aW9uJywgYXN5bmMgKCkgPT4ge1xuICAgICAgc2Vzc2lvbiA9IHsgaWQ6ICcxJywgZWxlbWVudDogJ3BpZS1lbGVtZW50JyB9O1xuICAgICAgYXdhaXQgZ2V0U2h1ZmZsZWRDaG9pY2VzKGNob2ljZXMsIHNlc3Npb24sIHVwZGF0ZVNlc3Npb24sIGtleSk7XG4gICAgICBleHBlY3QodXBkYXRlU2Vzc2lvbikudG9IYXZlQmVlbkNhbGxlZFdpdGgoJzEnLCAncGllLWVsZW1lbnQnLCB7XG4gICAgICAgIHNodWZmbGVkVmFsdWVzOiBleHBlY3QuYXJyYXlDb250YWluaW5nKFsxLCAyXSksXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2xvY2tDaG9pY2VzJywgKCkgPT4ge1xuICBjb25zdCBlbnYgPSAobG9ja0Nob2ljZU9yZGVyLCByb2xlID0gJ3N0dWRlbnQnKSA9PiAoe1xuICAgICdAcGllLWVsZW1lbnQnOiB7IGxvY2tDaG9pY2VPcmRlciB9LFxuICAgIHJvbGUsXG4gIH0pO1xuICBjb25zdCBzZXNzaW9uID0gKHNodWZmbGVkVmFsdWVzKSA9PiAoeyBzaHVmZmxlZFZhbHVlcyB9KTtcbiAgaXQuZWFjaGBcbiAgICBtb2RlbExvY2sgICAgfCBzZXNzaW9uICAgICAgICAgICAgfCBlbnYgICAgICAgICAgICAgICAgICAgICAgICAgfCBleHBlY3RlZFxuICAgICR7dHJ1ZX0gICAgICB8ICR7c2Vzc2lvbigpfSAgICAgICB8ICR7ZW52KHRydWUpfSAgICAgICAgICAgICAgICB8ICR7dHJ1ZX1cbiAgICAke3RydWV9ICAgICAgfCAke3Nlc3Npb24oKX0gICAgICAgfCAke2VudihmYWxzZSl9ICAgICAgICAgICAgICAgfCAke3RydWV9XG4gICAgJHtmYWxzZX0gICAgIHwgJHtzZXNzaW9uKCl9ICAgICAgIHwgJHtlbnYodHJ1ZSl9ICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7ZmFsc2V9ICAgICB8ICR7c2Vzc2lvbigpfSAgICAgICB8ICR7ZW52KGZhbHNlKX0gICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHtmYWxzZX0gICAgIHwgJHtzZXNzaW9uKCl9ICAgICAgIHwgJHt1bmRlZmluZWR9ICAgICAgICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke2ZhbHNlfSAgICAgfCAke3VuZGVmaW5lZH0gICAgICAgfCAke3VuZGVmaW5lZH0gICAgICAgICAgICAgICAgfCAke2ZhbHNlfVxuICAgICR7dW5kZWZpbmVkfSB8ICR7c2Vzc2lvbigpfSAgICAgICB8ICR7ZW52KGZhbHNlKX0gICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHt1bmRlZmluZWR9IHwgJHtzZXNzaW9uKCl9ICAgICAgIHwgJHtlbnYodW5kZWZpbmVkKX0gICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke2ZhbHNlfSAgICAgfCAke3Nlc3Npb24oKX0gICAgICAgfCAke2VudihmYWxzZSwgJ2luc3RydWN0b3InKX0gfCAke3RydWV9XG4gICAgJHtmYWxzZX0gICAgIHwgJHtzZXNzaW9uKFswLCAxXSl9IHwgJHtlbnYoZmFsc2UsICdpbnN0cnVjdG9yJyl9IHwgJHt0cnVlfVxuICAgICR7ZmFsc2V9ICAgICB8ICR7dW5kZWZpbmVkfSAgICAgICB8ICR7ZW52KGZhbHNlLCAnaW5zdHJ1Y3RvcicpfSB8ICR7dHJ1ZX1cbiAgYCgnMS4gbW9kZWwubG9ja0Nob2ljZU9yZGVyOiAkbW9kZWxMb2NrLCAkc2Vzc2lvbiwgJGVudiA9PiAkZXhwZWN0ZWQnLCAoeyBtb2RlbExvY2ssIHNlc3Npb24sIGVudiwgZXhwZWN0ZWQgfSkgPT4ge1xuICAgIGNvbnN0IG1vZGVsID0geyBsb2NrQ2hvaWNlT3JkZXI6IG1vZGVsTG9jayB9O1xuICAgIGNvbnN0IHJlc3VsdCA9IGxvY2tDaG9pY2VzKG1vZGVsLCBzZXNzaW9uLCBlbnYpO1xuICAgIGV4cGVjdChyZXN1bHQpLnRvRXF1YWwoZXhwZWN0ZWQpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZSgnbG9ja0Nob2ljZXMgbW9kJywgKCkgPT4ge1xuICBjb25zdCBlbnYgPSAobG9ja0Nob2ljZU9yZGVyLCByb2xlID0gJ3N0dWRlbnQnKSA9PiAoe1xuICAgICdAcGllLWVsZW1lbnQnOiB7IGxvY2tDaG9pY2VPcmRlciB9LFxuICAgIHJvbGUsXG4gIH0pO1xuICBjb25zdCBzZXNzaW9uID0gKGFuc3dlcnMgPSBbJ2ZvbycsICdiYXInXSkgPT4gKHsgYW5zd2VycyB9KTtcbiAgaXQuZWFjaGBcbiAgICBtb2RlbExvY2sgICAgfCBzZXNzaW9uICAgICAgfCBlbnYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgZXhwZWN0ZWRcbiAgICAke3RydWV9ICAgICAgfCAke3Nlc3Npb24oKX0gfCAke2Vudih0cnVlKX0gICAgICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7dHJ1ZX0gICAgICB8ICR7c2Vzc2lvbigpfSB8ICR7ZW52KGZhbHNlKX0gICAgICAgICAgICAgICAgICAgfCAke3RydWV9XG4gICAgJHtmYWxzZX0gICAgIHwgJHtzZXNzaW9uKCl9IHwgJHtlbnYodHJ1ZSl9ICAgICAgICAgICAgICAgICAgICB8ICR7dHJ1ZX1cbiAgICAke2ZhbHNlfSAgICAgfCAke3Nlc3Npb24oKX0gfCAke2VudihmYWxzZSl9ICAgICAgICAgICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke3VuZGVmaW5lZH0gfCAke3Nlc3Npb24oKX0gfCAke2Vudih0cnVlKX0gICAgICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7dW5kZWZpbmVkfSB8ICR7c2Vzc2lvbigpfSB8ICR7ZW52KHVuZGVmaW5lZCl9ICAgICAgICAgICAgICAgfCAke2ZhbHNlfVxuICAgICR7dW5kZWZpbmVkfSB8ICR7c2Vzc2lvbigpfSB8ICR7ZW52KHVuZGVmaW5lZCwgJ2luc3RydWN0b3InKX0gfCAke3RydWV9XG4gIGAoJzIuIG1vZGVsLmxvY2tDaG9pY2VPcmRlcjogJG1vZGVsTG9jaywgJHNlc3Npb24sICRlbnYgPT4gJGV4cGVjdGVkJywgKHsgbW9kZWxMb2NrLCBzZXNzaW9uLCBlbnYsIGV4cGVjdGVkIH0pID0+IHtcbiAgICBjb25zdCBtb2RlbCA9IHsgbG9ja0Nob2ljZU9yZGVyOiBtb2RlbExvY2sgfTtcbiAgICBjb25zdCByZXN1bHQgPSBsb2NrQ2hvaWNlcyhtb2RlbCwgc2Vzc2lvbiwgZW52KTtcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2xvY2tDaG9pY2VzJywgKCkgPT4ge1xuICBjb25zdCBlbnYgPSAobG9ja0Nob2ljZU9yZGVyLCByb2xlID0gJ3N0dWRlbnQnKSA9PiAoe1xuICAgICdAcGllLWVsZW1lbnQnOiB7IGxvY2tDaG9pY2VPcmRlciB9LFxuICAgIHJvbGUsXG4gIH0pO1xuICBjb25zdCBzZXNzaW9uID0gKHNodWZmbGVkVmFsdWVzKSA9PiAoeyBzaHVmZmxlZFZhbHVlcywgYW5zd2VyczogWydmb28nLCAnYmFyJ10gfSk7XG4gIGl0LmVhY2hgXG4gICAgbW9kZWxMb2NrICAgIHwgc2Vzc2lvbiAgICAgIHwgZW52ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGV4cGVjdGVkXG4gICAgJHt0cnVlfSAgICAgIHwgJHtzZXNzaW9uKCl9IHwgJHtlbnYodHJ1ZSl9ICAgICAgICAgICAgICAgICAgICB8ICR7dHJ1ZX1cbiAgICAke3RydWV9ICAgICAgfCAke3Nlc3Npb24oKX0gfCAke2VudihmYWxzZSl9ICAgICAgICAgICAgICAgICAgIHwgJHt0cnVlfVxuICAgICR7ZmFsc2V9ICAgICB8ICR7c2Vzc2lvbigpfSB8ICR7ZW52KHRydWUpfSAgICAgICAgICAgICAgICAgICAgfCAke3RydWV9XG4gICAgJHtmYWxzZX0gICAgIHwgJHtzZXNzaW9uKCl9IHwgJHtlbnYoZmFsc2UpfSAgICAgICAgICAgICAgICAgICB8ICR7ZmFsc2V9XG4gICAgJHt1bmRlZmluZWR9IHwgJHtzZXNzaW9uKCl9IHwgJHtlbnYodHJ1ZSl9ICAgICAgICAgICAgICAgICAgICB8ICR7dHJ1ZX1cbiAgICAke3VuZGVmaW5lZH0gfCAke3Nlc3Npb24oKX0gfCAke2Vudih1bmRlZmluZWQpfSAgICAgICAgICAgICAgIHwgJHtmYWxzZX1cbiAgICAke3VuZGVmaW5lZH0gfCAke3Nlc3Npb24oKX0gfCAke2Vudih1bmRlZmluZWQsICdpbnN0cnVjdG9yJyl9IHwgJHt0cnVlfVxuICBgKCczLiBtb2RlbC5sb2NrQ2hvaWNlT3JkZXI6ICRtb2RlbExvY2ssICRlbnYgPT4gJGV4cGVjdGVkJywgKHsgbW9kZWxMb2NrLCBzZXNzaW9uLCBlbnYsIGV4cGVjdGVkIH0pID0+IHtcbiAgICBjb25zdCBtb2RlbCA9IHsgbG9ja0Nob2ljZU9yZGVyOiBtb2RlbExvY2sgfTtcbiAgICBjb25zdCByZXN1bHQgPSBsb2NrQ2hvaWNlcyhtb2RlbCwgc2Vzc2lvbiwgZW52KTtcbiAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFlBQUEsR0FBQUMsT0FBQTtBQUFpRSxJQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBO0FBQUEsU0FBQUMsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxD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
package/lib/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime/helpers/typeof");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -18,14 +17,8 @@ Object.defineProperty(exports, "lockChoices", {
18
17
  }
19
18
  });
20
19
  exports.partialScoring = void 0;
21
-
22
20
  var partialScoring = _interopRequireWildcard(require("./partial-scoring"));
23
-
24
21
  exports.partialScoring = partialScoring;
25
-
26
22
  var _persistence = require("./persistence");
27
-
28
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
- //# sourceMappingURL=index.js.map
23
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJ0aWFsU2NvcmluZyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsImV4cG9ydHMiLCJfcGVyc2lzdGVuY2UiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXJ0aWFsU2NvcmluZyBmcm9tICcuL3BhcnRpYWwtc2NvcmluZyc7XG5cbmV4cG9ydCB7IGxvY2tDaG9pY2VzLCBnZXRTaHVmZmxlZENob2ljZXMgfSBmcm9tICcuL3BlcnNpc3RlbmNlJztcbmV4cG9ydCB7IHBhcnRpYWxTY29yaW5nIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxjQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFBb0RDLE9BQUEsQ0FBQUgsY0FBQSxHQUFBQSxjQUFBO0FBRXBELElBQUFJLFlBQUEsR0FBQUYsT0FBQTtBQUFnRSxTQUFBRCx3QkFBQUksQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQU4sdUJBQUEsWUFBQUEsd0JBQUFJLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAEA","sourcesContent":["import * as partialScoring from './partial-scoring';\n\nexport { lockChoices, getShuffledChoices } from './persistence';\nexport { partialScoring };\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["partialScoring","_interopRequireWildcard","require","exports","_persistence","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../src/index.js"],"sourcesContent":["import * as partialScoring from './partial-scoring';\n\nexport { lockChoices, getShuffledChoices } from './persistence';\nexport { partialScoring };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoDC,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAEpD,IAAAI,YAAA,GAAAF,OAAA;AAAgE,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,wBAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.enabled = void 0;
7
-
8
- var enabled = function enabled(config, env, defaultValue) {
7
+ var enabled = exports.enabled = function enabled(config, env, defaultValue) {
9
8
  // if model.partialScoring = false
10
9
  // - if env.partialScoring = false || env.partialScoring = true => use dichotomous scoring
11
10
  // else if model.partialScoring = true || undefined
@@ -13,17 +12,12 @@ var enabled = function enabled(config, env, defaultValue) {
13
12
  // - else if env.partialScoring = true, use partial scoring
14
13
  config = config || {};
15
14
  env = env || {};
16
-
17
15
  if (config.partialScoring === false) {
18
16
  return false;
19
17
  }
20
-
21
18
  if (env.partialScoring === false) {
22
19
  return false;
23
20
  }
24
-
25
21
  return typeof defaultValue === 'boolean' ? defaultValue : true;
26
22
  };
27
-
28
- exports.enabled = enabled;
29
- //# sourceMappingURL=partial-scoring.js.map
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlbmFibGVkIiwiZXhwb3J0cyIsImNvbmZpZyIsImVudiIsImRlZmF1bHRWYWx1ZSIsInBhcnRpYWxTY29yaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL3BhcnRpYWwtc2NvcmluZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5hYmxlZCA9IChjb25maWcsIGVudiwgZGVmYXVsdFZhbHVlKSA9PiB7XG4gIC8vIGlmIG1vZGVsLnBhcnRpYWxTY29yaW5nID0gZmFsc2VcbiAgLy8gIC0gaWYgZW52LnBhcnRpYWxTY29yaW5nID0gZmFsc2UgfHwgZW52LnBhcnRpYWxTY29yaW5nID0gdHJ1ZSA9PiB1c2UgZGljaG90b21vdXMgc2NvcmluZ1xuICAvLyBlbHNlIGlmIG1vZGVsLnBhcnRpYWxTY29yaW5nID0gdHJ1ZSB8fCB1bmRlZmluZWRcbiAgLy8gIC0gaWYgZW52LnBhcnRpYWxTY29yaW5nID0gZmFsc2UsIHVzZSBkaWNob3RvbW91cyBzY29yaW5nXG4gIC8vICAtIGVsc2UgaWYgZW52LnBhcnRpYWxTY29yaW5nID0gdHJ1ZSwgdXNlIHBhcnRpYWwgc2NvcmluZ1xuICBjb25maWcgPSBjb25maWcgfHwge307XG4gIGVudiA9IGVudiB8fCB7fTtcblxuICBpZiAoY29uZmlnLnBhcnRpYWxTY29yaW5nID09PSBmYWxzZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChlbnYucGFydGlhbFNjb3JpbmcgPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVvZiBkZWZhdWx0VmFsdWUgPT09ICdib29sZWFuJyA/IGRlZmF1bHRWYWx1ZSA6IHRydWU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxJQUFNQSxPQUFPLEdBQUFDLE9BQUEsQ0FBQUQsT0FBQSxHQUFHLFNBQVZBLE9BQU9BLENBQUlFLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxZQUFZLEVBQUs7RUFDcEQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBRixNQUFNLEdBQUdBLE1BQU0sSUFBSSxDQUFDLENBQUM7RUFDckJDLEdBQUcsR0FBR0EsR0FBRyxJQUFJLENBQUMsQ0FBQztFQUVmLElBQUlELE1BQU0sQ0FBQ0csY0FBYyxLQUFLLEtBQUssRUFBRTtJQUNuQyxPQUFPLEtBQUs7RUFDZDtFQUVBLElBQUlGLEdBQUcsQ0FBQ0UsY0FBYyxLQUFLLEtBQUssRUFBRTtJQUNoQyxPQUFPLEtBQUs7RUFDZDtFQUVBLE9BQU8sT0FBT0QsWUFBWSxLQUFLLFNBQVMsR0FBR0EsWUFBWSxHQUFHLElBQUk7QUFDaEUsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/partial-scoring.js"],"names":["enabled","config","env","defaultValue","partialScoring"],"mappings":";;;;;;;AAAO,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,MAAD,EAASC,GAAT,EAAcC,YAAd,EAA+B;AACpD;AACA;AACA;AACA;AACA;AACAF,EAAAA,MAAM,GAAGA,MAAM,IAAI,EAAnB;AACAC,EAAAA,GAAG,GAAGA,GAAG,IAAI,EAAb;;AAEA,MAAID,MAAM,CAACG,cAAP,KAA0B,KAA9B,EAAqC;AACnC,WAAO,KAAP;AACD;;AAED,MAAIF,GAAG,CAACE,cAAJ,KAAuB,KAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AAED,SAAO,OAAOD,YAAP,KAAwB,SAAxB,GAAoCA,YAApC,GAAmD,IAA1D;AACD,CAlBM","sourcesContent":["export const enabled = (config, env, defaultValue) => {\n // if model.partialScoring = false\n // - if env.partialScoring = false || env.partialScoring = true => use dichotomous scoring\n // else if model.partialScoring = true || undefined\n // - if env.partialScoring = false, use dichotomous scoring\n // - else if env.partialScoring = true, use partial scoring\n config = config || {};\n env = env || {};\n\n if (config.partialScoring === false) {\n return false;\n }\n\n if (env.partialScoring === false) {\n return false;\n }\n\n return typeof defaultValue === 'boolean' ? defaultValue : true;\n};\n"],"file":"partial-scoring.js"}
1
+ {"version":3,"file":"partial-scoring.js","names":["enabled","exports","config","env","defaultValue","partialScoring"],"sources":["../src/partial-scoring.js"],"sourcesContent":["export const enabled = (config, env, defaultValue) => {\n // if model.partialScoring = false\n // - if env.partialScoring = false || env.partialScoring = true => use dichotomous scoring\n // else if model.partialScoring = true || undefined\n // - if env.partialScoring = false, use dichotomous scoring\n // - else if env.partialScoring = true, use partial scoring\n config = config || {};\n env = env || {};\n\n if (config.partialScoring === false) {\n return false;\n }\n\n if (env.partialScoring === false) {\n return false;\n }\n\n return typeof defaultValue === 'boolean' ? defaultValue : true;\n};\n"],"mappings":";;;;;;AAAO,IAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,SAAVA,OAAOA,CAAIE,MAAM,EAAEC,GAAG,EAAEC,YAAY,EAAK;EACpD;EACA;EACA;EACA;EACA;EACAF,MAAM,GAAGA,MAAM,IAAI,CAAC,CAAC;EACrBC,GAAG,GAAGA,GAAG,IAAI,CAAC,CAAC;EAEf,IAAID,MAAM,CAACG,cAAc,KAAK,KAAK,EAAE;IACnC,OAAO,KAAK;EACd;EAEA,IAAIF,GAAG,CAACE,cAAc,KAAK,KAAK,EAAE;IAChC,OAAO,KAAK;EACd;EAEA,OAAO,OAAOD,YAAY,KAAK,SAAS,GAAGA,YAAY,GAAG,IAAI;AAChE,CAAC","ignoreList":[]}
@@ -1,50 +1,36 @@
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.lockChoices = exports.getShuffledChoices = exports.compact = void 0;
9
-
10
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
-
12
9
  var _get = _interopRequireDefault(require("lodash/get"));
13
-
14
10
  var _shuffle = _interopRequireDefault(require("lodash/shuffle"));
15
-
16
11
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
17
-
18
12
  // eslint-disable-next-line no-console
19
13
  var lg = function lg(n) {
20
14
  return console[n].bind(console, 'controller-utils:');
21
15
  };
22
-
23
16
  var debug = lg('debug');
24
17
  var log = lg('log');
25
18
  var warn = lg('warn');
26
19
  var error = lg('error');
27
-
28
- var compact = function compact(arr) {
20
+ var compact = exports.compact = function compact(arr) {
29
21
  if (Array.isArray(arr)) {
30
22
  return arr.filter(function (v) {
31
23
  return v !== null && v !== undefined;
32
24
  });
33
25
  }
34
-
35
26
  return arr;
36
27
  };
37
-
38
- exports.compact = compact;
39
-
40
- var getShuffledChoices = function getShuffledChoices(choices, session, updateSession, choiceKey) {
28
+ var getShuffledChoices = exports.getShuffledChoices = function getShuffledChoices(choices, session, updateSession, choiceKey) {
41
29
  return new Promise(function (resolve) {
42
30
  var _session$data;
43
-
44
31
  log('updateSession type: ', (0, _typeof2["default"])(updateSession));
45
32
  log('session: ', session);
46
- var currentShuffled = compact((session === null || session === void 0 ? void 0 : (_session$data = session.data) === null || _session$data === void 0 ? void 0 : _session$data.shuffledValues) || (session === null || session === void 0 ? void 0 : session.shuffledValues) || []);
47
-
33
+ var currentShuffled = compact((session === null || session === void 0 || (_session$data = session.data) === null || _session$data === void 0 ? void 0 : _session$data.shuffledValues) || (session === null || session === void 0 ? void 0 : session.shuffledValues) || []);
48
34
  if (!session) {
49
35
  // eslint-disable-next-line quotes
50
36
  warn("unable to save shuffled choices because there's no session.");
@@ -58,7 +44,6 @@ var getShuffledChoices = function getShuffledChoices(choices, session, updateSes
58
44
  })));
59
45
  } else {
60
46
  var shuffledChoices = (0, _shuffle["default"])(choices);
61
-
62
47
  if (updateSession && typeof updateSession === 'function') {
63
48
  try {
64
49
  //Note: session.id refers to the id of the element within a session
@@ -67,14 +52,14 @@ var getShuffledChoices = function getShuffledChoices(choices, session, updateSes
67
52
  }));
68
53
  log('try to save shuffledValues to session...', shuffledValues);
69
54
  log('call updateSession... ', session.id, session.element);
70
-
71
55
  if ((0, _isEmpty["default"])(shuffledValues)) {
72
56
  error("shuffledValues is an empty array? - refusing to call updateSession: shuffledChoices: ".concat(JSON.stringify(shuffledChoices), ", key: ").concat(choiceKey));
73
57
  } else {
74
58
  updateSession(session.id, session.element, {
75
59
  shuffledValues: shuffledValues
76
60
  })["catch"](function (e) {
77
- return (// eslint-disable-next-line no-console
61
+ return (
62
+ // eslint-disable-next-line no-console
78
63
  console.error('update session failed for: ', session.id, e)
79
64
  );
80
65
  });
@@ -85,13 +70,14 @@ var getShuffledChoices = function getShuffledChoices(choices, session, updateSes
85
70
  }
86
71
  } else {
87
72
  warn('unable to save shuffled choices, shuffle will happen every time.');
88
- } //save this shuffle to the session for later retrieval
89
-
73
+ }
90
74
 
75
+ //save this shuffle to the session for later retrieval
91
76
  resolve(shuffledChoices);
92
77
  }
93
78
  });
94
79
  };
80
+
95
81
  /**
96
82
  * If we return:
97
83
  * - true - that means that the order of the choices will be ordinal (as is created in the configure item)
@@ -102,37 +88,26 @@ var getShuffledChoices = function getShuffledChoices(choices, session, updateSes
102
88
  * @param env - env to check if we should lock order
103
89
  * @returns {boolean}
104
90
  */
105
-
106
-
107
- exports.getShuffledChoices = getShuffledChoices;
108
-
109
- var lockChoices = function lockChoices(model, session, env) {
91
+ var lockChoices = exports.lockChoices = function lockChoices(model, session, env) {
110
92
  if (model.lockChoiceOrder) {
111
93
  return true;
112
94
  }
113
-
114
95
  log('lockChoiceOrder: ', (0, _get["default"])(env, ['@pie-element', 'lockChoiceOrder'], false));
115
-
116
96
  if ((0, _get["default"])(env, ['@pie-element', 'lockChoiceOrder'], false)) {
117
97
  return true;
118
98
  }
119
-
120
99
  var role = (0, _get["default"])(env, 'role', 'student');
121
-
122
100
  if (role === 'instructor') {
123
101
  // TODO: .. in the future the instructor can toggle between ordinal and shuffled here, so keeping this code until then
124
-
125
102
  /*const alreadyShuffled = hasShuffledValues(session);
126
103
  if (alreadyShuffled) {
127
104
  return false;
128
105
  }
129
106
  return true;*/
130
107
  return true;
131
- } // here it's a student, so don't lock and it will shuffle if needs be
132
-
108
+ }
133
109
 
110
+ // here it's a student, so don't lock and it will shuffle if needs be
134
111
  return false;
135
112
  };
136
-
137
- exports.lockChoices = lockChoices;
138
- //# sourceMappingURL=persistence.js.map
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfc2h1ZmZsZSIsIl9pc0VtcHR5IiwibGciLCJuIiwiY29uc29sZSIsImJpbmQiLCJkZWJ1ZyIsImxvZyIsIndhcm4iLCJlcnJvciIsImNvbXBhY3QiLCJleHBvcnRzIiwiYXJyIiwiQXJyYXkiLCJpc0FycmF5IiwiZmlsdGVyIiwidiIsInVuZGVmaW5lZCIsImdldFNodWZmbGVkQ2hvaWNlcyIsImNob2ljZXMiLCJzZXNzaW9uIiwidXBkYXRlU2Vzc2lvbiIsImNob2ljZUtleSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3Nlc3Npb24kZGF0YSIsIl90eXBlb2YyIiwiY3VycmVudFNodWZmbGVkIiwiZGF0YSIsInNodWZmbGVkVmFsdWVzIiwiaXNFbXB0eSIsIm1hcCIsImZpbmQiLCJjIiwic2h1ZmZsZWRDaG9pY2VzIiwic2h1ZmZsZSIsImlkIiwiZWxlbWVudCIsImNvbmNhdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJlIiwibG9ja0Nob2ljZXMiLCJtb2RlbCIsImVudiIsImxvY2tDaG9pY2VPcmRlciIsImdldCIsInJvbGUiXSwic291cmNlcyI6WyIuLi9zcmMvcGVyc2lzdGVuY2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcbmltcG9ydCBzaHVmZmxlIGZyb20gJ2xvZGFzaC9zaHVmZmxlJztcbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbmNvbnN0IGxnID0gKG4pID0+IGNvbnNvbGVbbl0uYmluZChjb25zb2xlLCAnY29udHJvbGxlci11dGlsczonKTtcbmNvbnN0IGRlYnVnID0gbGcoJ2RlYnVnJyk7XG5jb25zdCBsb2cgPSBsZygnbG9nJyk7XG5jb25zdCB3YXJuID0gbGcoJ3dhcm4nKTtcbmNvbnN0IGVycm9yID0gbGcoJ2Vycm9yJyk7XG5cbmV4cG9ydCBjb25zdCBjb21wYWN0ID0gKGFycikgPT4ge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSB7XG4gICAgcmV0dXJuIGFyci5maWx0ZXIoKHYpID0+IHYgIT09IG51bGwgJiYgdiAhPT0gdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHJldHVybiBhcnI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U2h1ZmZsZWRDaG9pY2VzID0gKGNob2ljZXMsIHNlc3Npb24sIHVwZGF0ZVNlc3Npb24sIGNob2ljZUtleSkgPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBsb2coJ3VwZGF0ZVNlc3Npb24gdHlwZTogJywgdHlwZW9mIHVwZGF0ZVNlc3Npb24pO1xuICAgIGxvZygnc2Vzc2lvbjogJywgc2Vzc2lvbik7XG5cbiAgICBjb25zdCBjdXJyZW50U2h1ZmZsZWQgPSBjb21wYWN0KHNlc3Npb24/LmRhdGE/LnNodWZmbGVkVmFsdWVzIHx8IHNlc3Npb24/LnNodWZmbGVkVmFsdWVzIHx8IFtdKTtcblxuICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHF1b3Rlc1xuICAgICAgd2FybihcInVuYWJsZSB0byBzYXZlIHNodWZmbGVkIGNob2ljZXMgYmVjYXVzZSB0aGVyZSdzIG5vIHNlc3Npb24uXCIpO1xuICAgICAgcmVzb2x2ZSh1bmRlZmluZWQpO1xuICAgIH0gZWxzZSBpZiAoIWlzRW1wdHkoY3VycmVudFNodWZmbGVkKSkge1xuICAgICAgZGVidWcoJ3VzZSBzaHVmZmxlZFZhbHVlcyB0byBzb3J0IHRoZSBjaG9pY2VzLi4uJywgY3VycmVudFNodWZmbGVkKTtcbiAgICAgIHJlc29sdmUoY29tcGFjdChjdXJyZW50U2h1ZmZsZWQubWFwKCh2KSA9PiBjaG9pY2VzLmZpbmQoKGMpID0+IGNbY2hvaWNlS2V5XSA9PT0gdikpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHNodWZmbGVkQ2hvaWNlcyA9IHNodWZmbGUoY2hvaWNlcyk7XG5cbiAgICAgIGlmICh1cGRhdGVTZXNzaW9uICYmIHR5cGVvZiB1cGRhdGVTZXNzaW9uID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy9Ob3RlOiBzZXNzaW9uLmlkIHJlZmVycyB0byB0aGUgaWQgb2YgdGhlIGVsZW1lbnQgd2l0aGluIGEgc2Vzc2lvblxuICAgICAgICAgIGNvbnN0IHNodWZmbGVkVmFsdWVzID0gY29tcGFjdChzaHVmZmxlZENob2ljZXMubWFwKChjKSA9PiBjW2Nob2ljZUtleV0pKTtcbiAgICAgICAgICBsb2coJ3RyeSB0byBzYXZlIHNodWZmbGVkVmFsdWVzIHRvIHNlc3Npb24uLi4nLCBzaHVmZmxlZFZhbHVlcyk7XG4gICAgICAgICAgbG9nKCdjYWxsIHVwZGF0ZVNlc3Npb24uLi4gJywgc2Vzc2lvbi5pZCwgc2Vzc2lvbi5lbGVtZW50KTtcblxuICAgICAgICAgIGlmIChpc0VtcHR5KHNodWZmbGVkVmFsdWVzKSkge1xuICAgICAgICAgICAgZXJyb3IoXG4gICAgICAgICAgICAgIGBzaHVmZmxlZFZhbHVlcyBpcyBhbiBlbXB0eSBhcnJheT8gLSByZWZ1c2luZyB0byBjYWxsIHVwZGF0ZVNlc3Npb246IHNodWZmbGVkQ2hvaWNlczogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgICBzaHVmZmxlZENob2ljZXMsXG4gICAgICAgICAgICAgICl9LCBrZXk6ICR7Y2hvaWNlS2V5fWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cGRhdGVTZXNzaW9uKHNlc3Npb24uaWQsIHNlc3Npb24uZWxlbWVudCwgeyBzaHVmZmxlZFZhbHVlcyB9KS5jYXRjaCgoZSkgPT5cbiAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigndXBkYXRlIHNlc3Npb24gZmFpbGVkIGZvcjogJywgc2Vzc2lvbi5pZCwgZSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHdhcm4oJ3VuYWJsZSB0byBzYXZlIHNodWZmbGVkIG9yZGVyIGZvciBjaG9pY2VzJyk7XG4gICAgICAgICAgZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdhcm4oJ3VuYWJsZSB0byBzYXZlIHNodWZmbGVkIGNob2ljZXMsIHNodWZmbGUgd2lsbCBoYXBwZW4gZXZlcnkgdGltZS4nKTtcbiAgICAgIH1cblxuICAgICAgLy9zYXZlIHRoaXMgc2h1ZmZsZSB0byB0aGUgc2Vzc2lvbiBmb3IgbGF0ZXIgcmV0cmlldmFsXG4gICAgICByZXNvbHZlKHNodWZmbGVkQ2hvaWNlcyk7XG4gICAgfVxuICB9KTtcblxuLyoqXG4gKiBJZiB3ZSByZXR1cm46XG4gKiAtIHRydWUgLSB0aGF0IG1lYW5zIHRoYXQgdGhlIG9yZGVyIG9mIHRoZSBjaG9pY2VzIHdpbGwgYmUgb3JkaW5hbCAoYXMgaXMgY3JlYXRlZCBpbiB0aGUgY29uZmlndXJlIGl0ZW0pXG4gKiAtIGZhbHNlIC0gdGhhdCBtZWFucyB0aGUgZ2V0U2h1ZmZsZWRDaG9pY2VzIGFib3ZlIHdpbGwgYmUgY2FsbGVkIGFuZCB0aGF0IGluIHR1cm4gbWVhbnMgdGhhdCB3ZSBlaXRoZXJcbiAqIHJldHVybiB0aGUgc2h1ZmZsZWQgdmFsdWVzIG9uIHRoZSBzZXNzaW9uIChpZiBhbnkgZXhpc3RzKSBvciB3ZSBzaHVmZmxlIHRoZSBjaG9pY2VzXG4gKiBAcGFyYW0gbW9kZWwgLSBtb2RlbCB0byBjaGVjayBpZiB3ZSBzaG91bGQgbG9jayBvcmRlclxuICogQHBhcmFtIHNlc3Npb24gLSBzZXNzaW9uIHRvIGNoZWNrIGlmIHdlIHNob3VsZCBsb2NrIG9yZGVyXG4gKiBAcGFyYW0gZW52IC0gZW52IHRvIGNoZWNrIGlmIHdlIHNob3VsZCBsb2NrIG9yZGVyXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGNvbnN0IGxvY2tDaG9pY2VzID0gKG1vZGVsLCBzZXNzaW9uLCBlbnYpID0+IHtcbiAgaWYgKG1vZGVsLmxvY2tDaG9pY2VPcmRlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgbG9nKCdsb2NrQ2hvaWNlT3JkZXI6ICcsIGdldChlbnYsIFsnQHBpZS1lbGVtZW50JywgJ2xvY2tDaG9pY2VPcmRlciddLCBmYWxzZSkpO1xuXG4gIGlmIChnZXQoZW52LCBbJ0BwaWUtZWxlbWVudCcsICdsb2NrQ2hvaWNlT3JkZXInXSwgZmFsc2UpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjb25zdCByb2xlID0gZ2V0KGVudiwgJ3JvbGUnLCAnc3R1ZGVudCcpO1xuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicpIHtcbiAgICAvLyBUT0RPOiAuLiBpbiB0aGUgZnV0dXJlIHRoZSBpbnN0cnVjdG9yIGNhbiB0b2dnbGUgYmV0d2VlbiBvcmRpbmFsIGFuZCBzaHVmZmxlZCBoZXJlLCBzbyBrZWVwaW5nIHRoaXMgY29kZSB1bnRpbCB0aGVuXG4gICAgLypjb25zdCBhbHJlYWR5U2h1ZmZsZWQgPSBoYXNTaHVmZmxlZFZhbHVlcyhzZXNzaW9uKTtcblxuICAgIGlmIChhbHJlYWR5U2h1ZmZsZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTsqL1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gaGVyZSBpdCdzIGEgc3R1ZGVudCwgc28gZG9uJ3QgbG9jayBhbmQgaXQgd2lsbCBzaHVmZmxlIGlmIG5lZWRzIGJlXG4gIHJldHVybiBmYWxzZTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxP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RkMsSUFBSSxDQUFDQyxTQUFTLENBQ3BHTixlQUNGLENBQUMsYUFBQUksTUFBQSxDQUFVaEIsU0FBUyxDQUN0QixDQUFDO1VBQ0gsQ0FBQyxNQUFNO1lBQ0xELGFBQWEsQ0FBQ0QsT0FBTyxDQUFDZ0IsRUFBRSxFQUFFaEIsT0FBTyxDQUFDaUIsT0FBTyxFQUFFO2NBQUVSLGNBQWMsRUFBZEE7WUFBZSxDQUFDLENBQUMsU0FBTSxDQUFDLFVBQUNZLENBQUM7Y0FBQTtnQkFDckU7Z0JBQ0FyQyxPQUFPLENBQUNLLEtBQUssQ0FBQyw2QkFBNkIsRUFBRVcsT0FBTyxDQUFDZ0IsRUFBRSxFQUFFSyxDQUFDO2NBQUM7WUFBQSxDQUM3RCxDQUFDO1VBQ0g7UUFDRixDQUFDLENBQUMsT0FBT0EsQ0FBQyxFQUFFO1VBQ1ZqQyxJQUFJLENBQUMsMkNBQTJDLENBQUM7VUFDakRDLEtBQUssQ0FBQ2dDLENBQUMsQ0FBQztRQUNWO01BQ0YsQ0FBQyxNQUFNO1FBQ0xqQyxJQUFJLENBQUMsa0VBQWtFLENBQUM7TUFDMUU7O01BRUE7TUFDQWdCLE9BQU8sQ0FBQ1UsZUFBZSxDQUFDO0lBQzFCO0VBQ0YsQ0FBQyxDQUFDO0FBQUE7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNUSxXQUFXLEdBQUEvQixPQUFBLENBQUErQixXQUFBLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsS0FBSyxFQUFFdkIsT0FBTyxFQUFFd0IsR0FBRyxFQUFLO0VBQ2xELElBQUlELEtBQUssQ0FBQ0UsZUFBZSxFQUFFO0lBQ3pCLE9BQU8sSUFBSTtFQUNiO0VBRUF0QyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBQXVDLGVBQUcsRUFBQ0YsR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7RUFFOUUsSUFBSSxJQUFBRSxlQUFHLEVBQUNGLEdBQUcsRUFBRSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFO0lBQ3hELE9BQU8sSUFBSTtFQUNiO0VBRUEsSUFBTUcsSUFBSSxHQUFHLElBQUFELGVBQUcsRUFBQ0YsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7RUFFeEMsSUFBSUcsSUFBSSxLQUFLLFlBQVksRUFBRTtJQUN6QjtJQUNBO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7SUFHSSxPQUFPLElBQUk7RUFDYjs7RUFFQTtFQUNBLE9BQU8sS0FBSztBQUNkLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/persistence.js"],"names":["lg","n","console","bind","debug","log","warn","error","compact","arr","Array","isArray","filter","v","undefined","getShuffledChoices","choices","session","updateSession","choiceKey","Promise","resolve","currentShuffled","data","shuffledValues","map","find","c","shuffledChoices","id","element","JSON","stringify","e","lockChoices","model","env","lockChoiceOrder","role"],"mappings":"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","sourcesContent":["import get from 'lodash/get';\nimport shuffle from 'lodash/shuffle';\nimport isEmpty from 'lodash/isEmpty';\n\n// eslint-disable-next-line no-console\nconst lg = (n) => console[n].bind(console, 'controller-utils:');\nconst debug = lg('debug');\nconst log = lg('log');\nconst warn = lg('warn');\nconst error = lg('error');\n\nexport const compact = (arr) => {\n if (Array.isArray(arr)) {\n return arr.filter((v) => v !== null && v !== undefined);\n }\n\n return arr;\n};\n\nexport const getShuffledChoices = (choices, session, updateSession, choiceKey) =>\n new Promise((resolve) => {\n log('updateSession type: ', typeof updateSession);\n log('session: ', session);\n\n const currentShuffled = compact(session?.data?.shuffledValues || session?.shuffledValues || []);\n\n if (!session) {\n // eslint-disable-next-line quotes\n warn(\"unable to save shuffled choices because there's no session.\");\n resolve(undefined);\n } else if (!isEmpty(currentShuffled)) {\n debug('use shuffledValues to sort the choices...', currentShuffled);\n resolve(compact(currentShuffled.map((v) => choices.find((c) => c[choiceKey] === v))));\n } else {\n const shuffledChoices = shuffle(choices);\n\n if (updateSession && typeof updateSession === 'function') {\n try {\n //Note: session.id refers to the id of the element within a session\n const shuffledValues = compact(shuffledChoices.map((c) => c[choiceKey]));\n log('try to save shuffledValues to session...', shuffledValues);\n log('call updateSession... ', session.id, session.element);\n\n if (isEmpty(shuffledValues)) {\n error(\n `shuffledValues is an empty array? - refusing to call updateSession: shuffledChoices: ${JSON.stringify(\n shuffledChoices,\n )}, key: ${choiceKey}`,\n );\n } else {\n updateSession(session.id, session.element, { shuffledValues }).catch((e) =>\n // eslint-disable-next-line no-console\n console.error('update session failed for: ', session.id, e),\n );\n }\n } catch (e) {\n warn('unable to save shuffled order for choices');\n error(e);\n }\n } else {\n warn('unable to save shuffled choices, shuffle will happen every time.');\n }\n\n //save this shuffle to the session for later retrieval\n resolve(shuffledChoices);\n }\n });\n\n/**\n * If we return:\n * - true - that means that the order of the choices will be ordinal (as is created in the configure item)\n * - false - that means the getShuffledChoices above will be called and that in turn means that we either\n * return the shuffled values on the session (if any exists) or we shuffle the choices\n * @param model - model to check if we should lock order\n * @param session - session to check if we should lock order\n * @param env - env to check if we should lock order\n * @returns {boolean}\n */\nexport const lockChoices = (model, session, env) => {\n if (model.lockChoiceOrder) {\n return true;\n }\n\n log('lockChoiceOrder: ', get(env, ['@pie-element', 'lockChoiceOrder'], false));\n\n if (get(env, ['@pie-element', 'lockChoiceOrder'], false)) {\n return true;\n }\n\n const role = get(env, 'role', 'student');\n\n if (role === 'instructor') {\n // TODO: .. in the future the instructor can toggle between ordinal and shuffled here, so keeping this code until then\n /*const alreadyShuffled = hasShuffledValues(session);\n\n if (alreadyShuffled) {\n return false;\n }\n\n return true;*/\n return true;\n }\n\n // here it's a student, so don't lock and it will shuffle if needs be\n return false;\n};\n"],"file":"persistence.js"}
1
+ {"version":3,"file":"persistence.js","names":["_get","_interopRequireDefault","require","_shuffle","_isEmpty","lg","n","console","bind","debug","log","warn","error","compact","exports","arr","Array","isArray","filter","v","undefined","getShuffledChoices","choices","session","updateSession","choiceKey","Promise","resolve","_session$data","_typeof2","currentShuffled","data","shuffledValues","isEmpty","map","find","c","shuffledChoices","shuffle","id","element","concat","JSON","stringify","e","lockChoices","model","env","lockChoiceOrder","get","role"],"sources":["../src/persistence.js"],"sourcesContent":["import get from 'lodash/get';\nimport shuffle from 'lodash/shuffle';\nimport isEmpty from 'lodash/isEmpty';\n\n// eslint-disable-next-line no-console\nconst lg = (n) => console[n].bind(console, 'controller-utils:');\nconst debug = lg('debug');\nconst log = lg('log');\nconst warn = lg('warn');\nconst error = lg('error');\n\nexport const compact = (arr) => {\n if (Array.isArray(arr)) {\n return arr.filter((v) => v !== null && v !== undefined);\n }\n\n return arr;\n};\n\nexport const getShuffledChoices = (choices, session, updateSession, choiceKey) =>\n new Promise((resolve) => {\n log('updateSession type: ', typeof updateSession);\n log('session: ', session);\n\n const currentShuffled = compact(session?.data?.shuffledValues || session?.shuffledValues || []);\n\n if (!session) {\n // eslint-disable-next-line quotes\n warn(\"unable to save shuffled choices because there's no session.\");\n resolve(undefined);\n } else if (!isEmpty(currentShuffled)) {\n debug('use shuffledValues to sort the choices...', currentShuffled);\n resolve(compact(currentShuffled.map((v) => choices.find((c) => c[choiceKey] === v))));\n } else {\n const shuffledChoices = shuffle(choices);\n\n if (updateSession && typeof updateSession === 'function') {\n try {\n //Note: session.id refers to the id of the element within a session\n const shuffledValues = compact(shuffledChoices.map((c) => c[choiceKey]));\n log('try to save shuffledValues to session...', shuffledValues);\n log('call updateSession... ', session.id, session.element);\n\n if (isEmpty(shuffledValues)) {\n error(\n `shuffledValues is an empty array? - refusing to call updateSession: shuffledChoices: ${JSON.stringify(\n shuffledChoices,\n )}, key: ${choiceKey}`,\n );\n } else {\n updateSession(session.id, session.element, { shuffledValues }).catch((e) =>\n // eslint-disable-next-line no-console\n console.error('update session failed for: ', session.id, e),\n );\n }\n } catch (e) {\n warn('unable to save shuffled order for choices');\n error(e);\n }\n } else {\n warn('unable to save shuffled choices, shuffle will happen every time.');\n }\n\n //save this shuffle to the session for later retrieval\n resolve(shuffledChoices);\n }\n });\n\n/**\n * If we return:\n * - true - that means that the order of the choices will be ordinal (as is created in the configure item)\n * - false - that means the getShuffledChoices above will be called and that in turn means that we either\n * return the shuffled values on the session (if any exists) or we shuffle the choices\n * @param model - model to check if we should lock order\n * @param session - session to check if we should lock order\n * @param env - env to check if we should lock order\n * @returns {boolean}\n */\nexport const lockChoices = (model, session, env) => {\n if (model.lockChoiceOrder) {\n return true;\n }\n\n log('lockChoiceOrder: ', get(env, ['@pie-element', 'lockChoiceOrder'], false));\n\n if (get(env, ['@pie-element', 'lockChoiceOrder'], false)) {\n return true;\n }\n\n const role = get(env, 'role', 'student');\n\n if (role === 'instructor') {\n // TODO: .. in the future the instructor can toggle between ordinal and shuffled here, so keeping this code until then\n /*const alreadyShuffled = hasShuffledValues(session);\n\n if (alreadyShuffled) {\n return false;\n }\n\n return true;*/\n return true;\n }\n\n // here it's a student, so don't lock and it will shuffle if needs be\n return false;\n};\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/controller-utils",
3
- "version": "0.22.3-next.0+f60e2119",
3
+ "version": "0.22.4-next.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
@@ -14,5 +14,5 @@
14
14
  "scripts": {},
15
15
  "author": "",
16
16
  "license": "ISC",
17
- "gitHead": "f60e2119a935158e52eb23ce81969dc5b75b1db8"
17
+ "gitHead": "31368da9311d16744eb1293ff5f8495551427037"
18
18
  }