@pie-element/multiple-choice 7.0.0 → 7.1.0-test

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.
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ describe('utils', function () {
4
+ xit('todo', function () {
5
+ expect(true).toEqual(false);
6
+ });
7
+ });
8
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vdXRpbHMudGVzdC5qcyJdLCJuYW1lcyI6WyJkZXNjcmliZSIsInhpdCIsImV4cGVjdCIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7O0FBQUFBLFFBQVEsQ0FBQyxPQUFELEVBQVUsWUFBTTtBQUN0QkMsRUFBQUEsR0FBRyxDQUFDLE1BQUQsRUFBUyxZQUFNO0FBQ2hCQyxJQUFBQSxNQUFNLENBQUMsSUFBRCxDQUFOLENBQWFDLE9BQWIsQ0FBcUIsS0FBckI7QUFDRCxHQUZFLENBQUg7QUFHRCxDQUpPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJkZXNjcmliZSgndXRpbHMnLCAoKSA9PiB7XG4gIHhpdCgndG9kbycsICgpID0+IHtcbiAgICBleHBlY3QodHJ1ZSkudG9FcXVhbChmYWxzZSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -15,4 +15,4 @@ var _default = {
15
15
  gridColumns: '2'
16
16
  };
17
17
  exports["default"] = _default;
18
- //# sourceMappingURL=defaults.js.map
18
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJwcm9tcHRFbmFibGVkIiwicmF0aW9uYWxlRW5hYmxlZCIsImFjY2Vzc2liaWxpdHlMYWJlbHNFbmFibGVkIiwidGVhY2hlckluc3RydWN0aW9uc0VuYWJsZWQiLCJzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZCIsImNob2ljZVByZWZpeCIsImNob2ljZXNMYXlvdXQiLCJncmlkQ29sdW1ucyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O2VBQWU7QUFDYkEsRUFBQUEsYUFBYSxFQUFFLElBREY7QUFFYkMsRUFBQUEsZ0JBQWdCLEVBQUUsSUFGTDtBQUdiQyxFQUFBQSwwQkFBMEIsRUFBRSxLQUhmO0FBSWJDLEVBQUFBLDBCQUEwQixFQUFFLElBSmY7QUFLYkMsRUFBQUEsMEJBQTBCLEVBQUUsSUFMZjtBQU1iQyxFQUFBQSxZQUFZLEVBQUUsU0FORDtBQU9iQyxFQUFBQSxhQUFhLEVBQUUsVUFQRjtBQVFiQyxFQUFBQSxXQUFXLEVBQUU7QUFSQSxDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBwcm9tcHRFbmFibGVkOiB0cnVlLFxuICByYXRpb25hbGVFbmFibGVkOiB0cnVlLFxuICBhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZDogZmFsc2UsXG4gIHRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkOiB0cnVlLFxuICBzdHVkZW50SW5zdHJ1Y3Rpb25zRW5hYmxlZDogdHJ1ZSxcbiAgY2hvaWNlUHJlZml4OiAnbGV0dGVycycsXG4gIGNob2ljZXNMYXlvdXQ6ICd2ZXJ0aWNhbCcsXG4gIGdyaWRDb2x1bW5zOiAnMidcbn07XG4iXX0=
@@ -302,4 +302,4 @@ var validate = function validate() {
302
302
  };
303
303
 
304
304
  exports.validate = validate;
305
- //# sourceMappingURL=index.js.map
305
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJwcmVwYXJlQ2hvaWNlIiwibW9kZWwiLCJlbnYiLCJkZWZhdWx0RmVlZGJhY2siLCJjaG9pY2UiLCJyb2xlIiwibW9kZSIsIm91dCIsImxhYmVsIiwidmFsdWUiLCJhY2Nlc3NpYmlsaXR5TGFiZWxzRW5hYmxlZCIsImFjY2Vzc2liaWxpdHkiLCJ0ZXh0Q29udGVudCIsInJhdGlvbmFsZSIsInJhdGlvbmFsZUVuYWJsZWQiLCJjb3JyZWN0IiwiZmVlZGJhY2tFbmFibGVkIiwiZmVlZGJhY2tUeXBlIiwiZmVlZGJhY2siLCJ0eXBlIiwiY3JlYXRlRGVmYXVsdE1vZGVsIiwiUHJvbWlzZSIsInJlc29sdmUiLCJkZWZhdWx0cyIsIm5vcm1hbGl6ZSIsInF1ZXN0aW9uIiwidmVydGljYWxNb2RlIiwiY2hvaWNlc0xheW91dCIsInF1ZXN0aW9uUHJvcHMiLCJzZXNzaW9uIiwidXBkYXRlU2Vzc2lvbiIsIm5vcm1hbGl6ZWRRdWVzdGlvbiIsIk9iamVjdCIsImFzc2lnbiIsImluY29ycmVjdCIsImNob2ljZXMiLCJtYXAiLCJsb2NrQ2hvaWNlT3JkZXIiLCJkaXNhYmxlZCIsInByb21wdCIsInByb21wdEVuYWJsZWQiLCJncmlkQ29sdW1ucyIsImNob2ljZU1vZGUiLCJrZXlNb2RlIiwiY2hvaWNlUHJlZml4IiwicmVzcG9uc2VDb3JyZWN0IiwidW5kZWZpbmVkIiwidGVhY2hlckluc3RydWN0aW9ucyIsInRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkIiwiZ2V0U2NvcmUiLCJjb25maWciLCJzZWxlY3RlZENob2ljZXMiLCJjb3JyZWN0Q2hvaWNlcyIsImZpbHRlciIsImNoIiwic2NvcmUiLCJyZWR1Y2UiLCJhY2MiLCJzZWxlY3RlZENob2ljZSIsImZpbmQiLCJsZW5ndGgiLCJzdHIiLCJwYXJzZUZsb2F0IiwidG9GaXhlZCIsIm91dGNvbWUiLCJlbXB0eSIsInBhcnRpYWxTY29yaW5nRW5hYmxlZCIsInBhcnRpYWxTY29yaW5nIiwiZW5hYmxlZCIsImNyZWF0ZUNvcnJlY3RSZXNwb25zZVNlc3Npb24iLCJpZCIsImMiLCJ2YWxpZGF0ZSIsIm1pbkFuc3dlckNob2ljZXMiLCJtYXhBbnN3ZXJDaG9pY2VzIiwicmV2ZXJzZWRDaG9pY2VzIiwicmV2ZXJzZSIsImNob2ljZXNFcnJvcnMiLCJoYXNDb3JyZWN0UmVzcG9uc2UiLCJmb3JFYWNoIiwiaW5kZXgiLCJpZGVudGljYWxBbnN3ZXIiLCJzbGljZSIsInNvbWUiLCJlcnJvcnMiLCJuYk9mQ2hvaWNlcyIsImFuc3dlckNob2ljZXNFcnJvciIsImNvcnJlY3RSZXNwb25zZUVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBYUMsZUFBYjtBQUFBLFNBQWlDLFVBQUFDLE1BQU0sRUFBSTtBQUMvRCxlQUF1QkYsR0FBRyxJQUFJLEVBQTlCO0FBQUEsUUFBUUcsSUFBUixRQUFRQSxJQUFSO0FBQUEsUUFBY0MsSUFBZCxRQUFjQSxJQUFkOztBQUNBLFFBQU1DLEdBQUcsR0FBRztBQUNWQyxNQUFBQSxLQUFLLEVBQUVKLE1BQU0sQ0FBQ0ksS0FESjtBQUVWQyxNQUFBQSxLQUFLLEVBQUVMLE1BQU0sQ0FBQ0s7QUFGSixLQUFaOztBQUtBLFFBQUlSLEtBQUssQ0FBQ1MsMEJBQVYsRUFBc0M7QUFDcENILE1BQUFBLEdBQUcsQ0FBQ0ksYUFBSixHQUFvQixzQkFBVVAsTUFBTSxDQUFDTyxhQUFqQixFQUFnQ0MsV0FBaEMsSUFBK0NSLE1BQU0sQ0FBQ0ssS0FBMUU7QUFDRDs7QUFFRCxRQUFJSixJQUFJLEtBQUssWUFBVCxLQUEwQkMsSUFBSSxLQUFLLE1BQVQsSUFBbUJBLElBQUksS0FBSyxVQUF0RCxDQUFKLEVBQXVFO0FBQ3JFQyxNQUFBQSxHQUFHLENBQUNNLFNBQUosR0FBZ0JaLEtB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VixJQUFnQkEsS0FBSyxLQUFLLGFBQTlCLEVBQTZDO0FBQzNDcUUsTUFBQUEsYUFBYSxDQUFDcEUsS0FBRCxDQUFiLEdBQXVCLDhCQUF2QjtBQUNELEtBRkQsTUFFTztBQUNMLFVBQU13RSxlQUFlLEdBQUdOLGVBQWUsQ0FBQ08sS0FBaEIsQ0FBc0JGLEtBQUssR0FBRyxDQUE5QixFQUFpQ0csSUFBakMsQ0FBc0MsVUFBQVosQ0FBQztBQUFBLGVBQUlBLENBQUMsQ0FBQy9ELEtBQUYsS0FBWUEsS0FBaEI7QUFBQSxPQUF2QyxDQUF4Qjs7QUFFQSxVQUFJeUUsZUFBSixFQUFxQjtBQUNuQkosUUFBQUEsYUFBYSxDQUFDcEUsS0FBRCxDQUFiLEdBQXVCLDJCQUF2QjtBQUNEO0FBQ0Y7QUFDRixHQWhCRDtBQWtCQSxNQUFNMkUsTUFBTSxHQUFHLEVBQWY7QUFDQSxNQUFNQyxXQUFXLEdBQUcsQ0FBQ2xELE9BQU8sSUFBSSxFQUFaLEVBQWdCeUIsTUFBcEM7O0FBRUEsTUFBSXlCLFdBQVcsR0FBR1osZ0JBQWxCLEVBQW9DO0FBQ2xDVyxJQUFBQSxNQUFNLENBQUNFLGtCQUFQLHNDQUF3RGIsZ0JBQXhEO0FBQ0QsR0FGRCxNQUVPLElBQUlZLFdBQVcsR0FBR1gsZ0JBQWxCLEVBQW9DO0FBQ3pDVSxJQUFBQSxNQUFNLENBQUNFLGtCQUFQLDBCQUE0Q1osZ0JBQTVDO0FBQ0Q7O0FBRUQsTUFBSSxDQUFDSSxrQkFBTCxFQUF5QjtBQUN2Qk0sSUFBQUEsTUFBTSxDQUFDRyxvQkFBUCxHQUE4Qiw4QkFBOUI7QUFDRDs7QUFFRCxNQUFJLENBQUMseUJBQVFWLGFBQVIsQ0FBTCxFQUE2QjtBQUMzQk8sSUFBQUEsTUFBTSxDQUFDUCxhQUFQLEdBQXVCQSxhQUF2QjtBQUNEOztBQUVELFNBQU9PLE1BQVA7QUFDRCxDQTNDTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCBpc0VtcHR5IGZyb20gJ2xvZGFzaC9pc0VtcHR5JztcbmltcG9ydCB7IGlzUmVzcG9uc2VDb3JyZWN0LCBwYXJzZUhUTUwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCBkZWZhdWx0cyBmcm9tICcuL2RlZmF1bHRzJztcbmltcG9ydCB7IGxvY2tDaG9pY2VzLCBwYXJ0aWFsU2NvcmluZywgZ2V0U2h1ZmZsZWRDaG9pY2VzIH0gZnJvbSAnQHBpZS1saWIvY29udHJvbGxlci11dGlscyc7XG5cbmNvbnN0IHByZXBhcmVDaG9pY2UgPSAobW9kZWwsIGVudiwgZGVmYXVsdEZlZWRiYWNrKSA9PiBjaG9pY2UgPT4ge1xuICBjb25zdCB7IHJvbGUsIG1vZGUgfSA9IGVudiB8fCB7fTtcbiAgY29uc3Qgb3V0ID0ge1xuICAgIGxhYmVsOiBjaG9pY2UubGFiZWwsXG4gICAgdmFsdWU6IGNob2ljZS52YWx1ZSxcbiAgfTtcblxuICBpZiAobW9kZWwuYWNjZXNzaWJpbGl0eUxhYmVsc0VuYWJsZWQpIHtcbiAgICBvdXQuYWNjZXNzaWJpbGl0eSA9IHBhcnNlSFRNTChjaG9pY2UuYWNjZXNzaWJpbGl0eSkudGV4dENvbnRlbnQgfHwgY2hvaWNlLnZhbHVlO1xuICB9XG5cbiAgaWYgKHJvbGUgPT09ICdpbnN0cnVjdG9yJyAmJiAobW9kZSA9PT0gJ3ZpZXcnIHx8IG1vZGUgPT09ICdldmFsdWF0ZScpKSB7XG4gICAgb3V0LnJhdGlvbmFsZSA9IG1vZGVsLnJhdGlvbmFsZUVuYWJsZWQgPyBjaG9pY2UucmF0aW9uYWxlIDogbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBvdXQucmF0aW9uYWxlID0gbnVsbDtcbiAgfVxuXG4gIGlmIChtb2RlID09PSAnZXZhbHVhdGUnKSB7XG4gICAgb3V0LmNvcnJlY3QgPSAhIWNob2ljZS5jb3JyZWN0O1xuXG4gICAgaWYgKG1vZGVsLmZlZWRiYWNrRW5hYmxlZCkge1xuICAgICAgY29uc3QgZmVlZGJhY2tUeXBlID0gKGNob2ljZS5mZWVkYmFjayAmJiBjaG9pY2UuZmVlZGJhY2sudHlwZSkgfHwgJ25vbmUnO1xuXG4gICAgICBpZiAoZmVlZGJhY2tUeXBlID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgb3V0LmZlZWRiYWNrID0gZGVmYXVsdEZlZWRiYWNrW2Nob2ljZS5jb3JyZWN0ID8gJ2NvcnJlY3QnIDogJ2luY29ycmVjdCddO1xuICAgICAgfSBlbHNlIGlmIChmZWVkYmFja1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICAgIG91dC5mZWVkYmFjayA9IGNob2ljZS5mZWVkYmFjay52YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0O1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRNb2RlbChtb2RlbCA9IHt9KSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUoeyAuLi5kZWZhdWx0cywgLi4ubW9kZWwgfSkpO1xufVxuXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplID0gcXVlc3Rpb24gPT4ge1xuICBjb25zdCB7IHZlcnRpY2FsTW9kZSwgY2hvaWNlc0xheW91dCwgLi4ucXVlc3Rpb25Qcm9wcyB9ID0gcXVlc3Rpb24gfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0cyxcbiAgICAuLi5xdWVzdGlvblByb3BzLFxuICAgIC8vIFRoaXMgaXMgdXNlZCBmb3Igb2ZmZXJpbmcgc3VwcG9ydCBmb3Igb2xkIG1vZGVscyB3aGljaCBoYXZlIHRoZSBwcm9wZXJ0eSB2ZXJ0aWNhbE1vZGVcbiAgICAvLyBTYW1lIHRoaW5nIGlzIHNldCBpbiBhdXRob3JpbmcgOiBwYWNrYWdlcy9tdWx0aXBsZS1jaG9pY2UvY29uZmlndXJlL3NyYy9pbmRleC5qc3ggLSBjcmVhdGVEZWZhdWx0TW9kZWxcbiAgICBjaG9pY2VzTGF5b3V0OiBjaG9pY2VzTGF5b3V0IHx8ICh2ZXJ0aWNhbE1vZGUgPT09IGZhbHNlICYmICdob3Jpem9udGFsJykgfHwgZGVmYXVsdHMuY2hvaWNlc0xheW91dFxuICB9O1xufTtcblxuLyoqXG4gKlxuICogQHBhcmFtIHsqfSBxdWVzdGlvblxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0geyp9IGVudlxuICogQHBhcmFtIHsqfSB1cGRhdGVTZXNzaW9uIC0gb3B0aW9uYWwgLSBhIGZ1bmN0aW9uIHRoYXQgd2lsbCBzZXQgdGhlIHByb3BlcnRpZXMgcGFzc2VkIGludG8gaXQgb24gdGhlIHNlc3Npb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtb2RlbChxdWVzdGlvbiwgc2Vzc2lvbiwgZW52LCB1cGRhdGVTZXNzaW9uKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRRdWVzdGlvbiA9IG5vcm1hbGl6ZShxdWVzdGlvbik7XG5cbiAgY29uc3QgZGVmYXVsdEZlZWRiYWNrID0gT2JqZWN0LmFzc2lnbihcbiAgICB7IGNvcnJlY3Q6ICdDb3JyZWN0JywgaW5jb3JyZWN0OiAnSW5jb3JyZWN0JyB9LFxuICAgIG5vcm1hbGl6ZWRRdWVzdGlvbi5kZWZhdWx0RmVlZGJhY2tcbiAgKTtcblxuICBsZXQgY2hvaWNlcyA9IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VzLm1hcChcbiAgICBwcmVwYXJlQ2hvaWNlKG5vcm1hbGl6ZWRRdWVzdGlvbiwgZW52LCBkZWZhdWx0RmVlZGJhY2spXG4gICk7XG5cbiAgY29uc3QgbG9ja0Nob2ljZU9yZGVyID0gbG9ja0Nob2ljZXMobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uLCBlbnYpO1xuXG4gIGlmICghbG9ja0Nob2ljZU9yZGVyKSB7XG4gICAgY2hvaWNlcyA9IGF3YWl0IGdldFNodWZmbGVkQ2hvaWNlcyhcbiAgICAgIGNob2ljZXMsXG4gICAgICBzZXNzaW9uLFxuICAgICAgdXBkYXRlU2Vzc2lvbixcbiAgICAgICd2YWx1ZSdcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb3V0ID0ge1xuICAgIGRpc2FibGVkOiBlbnYubW9kZSAhPT0gJ2dhdGhlcicsXG4gICAgbW9kZTogZW52Lm1vZGUsXG4gICAgcHJvbXB0OiBub3JtYWxpemVkUXVlc3Rpb24ucHJvbXB0RW5hYmxlZCA/IG5vcm1hbGl6ZWRRdWVzdGlvbi5wcm9tcHQgOiBudWxsLFxuICAgIGNob2ljZXNMYXlvdXQ6IG5vcm1hbGl6ZWRRdWVzdGlvbi5jaG9pY2VzTGF5b3V0LFxuICAgIGdyaWRDb2x1bW5zOiBub3JtYWxpemVkUXVlc3Rpb24uZ3JpZENvbHVtbnMsXG4gICAgY2hvaWNlTW9kZTogbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZU1vZGUsXG4gICAga2V5TW9kZTogbm9ybWFsaXplZFF1ZXN0aW9uLmNob2ljZVByZWZpeCxcbiAgICBjaG9pY2VzLFxuICAgIHJlc3BvbnNlQ29ycmVjdDpcbiAgICAgIGVudi5tb2RlID09PSAnZXZhbHVhdGUnID8gaXNSZXNwb25zZUNvcnJlY3Qobm9ybWFsaXplZFF1ZXN0aW9uLCBzZXNzaW9uKSA6IHVuZGVmaW5lZFxuICB9O1xuXG4gIGNvbnN0IHsgcm9sZSwgbW9kZSB9ID0gZW52IHx8IHt9O1xuXG4gIGlmIChyb2xlID09PSAnaW5zdHJ1Y3RvcicgJiYgKG1vZGUgPT09ICd2aWV3JyB8fCBtb2RlID09PSAnZXZhbHVhdGUnKSkge1xuICAgIG91dC50ZWFjaGVySW5zdHJ1Y3Rpb25zID0gbm9ybWFsaXplZFF1ZXN0aW9uLnRlYWNoZXJJbnN0cnVjdGlvbnNFbmFibGVkXG4gICAgICA/IG5vcm1hbGl6ZWRRdWVzdGlvbi50ZWFjaGVySW5zdHJ1Y3Rpb25zXG4gICAgICA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgb3V0LnRlYWNoZXJJbnN0cnVjdGlvbnMgPSBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cblxuXG5leHBvcnQgY29uc3QgZ2V0U2NvcmUgPSAoY29uZmlnLCBzZXNzaW9uKSA9PiB7XG4gIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBjb25zdCBzZWxlY3RlZENob2ljZXMgPSBzZXNzaW9uLnZhbHVlIHx8IFtdO1xuICBjb25zdCBjb3JyZWN0Q2hvaWNlcyA9IChjb25maWcuY2hvaWNlcyB8fCBbXSkuZmlsdGVyKGNoID0+IGNoLmNvcnJlY3QpO1xuXG4gIGxldCBzY29yZSA9IHNlbGVjdGVkQ2hvaWNlcy5yZWR1Y2UoKGFjYywgc2VsZWN0ZWRDaG9pY2UpID0+XG4gICAgYWNjICsgKGNvcnJlY3RDaG9pY2VzLmZpbmQoY2ggPT4gY2gudmFsdWUgPT09IHNlbGVjdGVkQ2hvaWNlKSA/IDEgOiAwKSwgMCk7XG5cbiAgaWYgKGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA8IHNlbGVjdGVkQ2hvaWNlcy5sZW5ndGgpIHtcbiAgICBzY29yZSAtPSBzZWxlY3RlZENob2ljZXMubGVuZ3RoIC0gY29ycmVjdENob2ljZXMubGVuZ3RoO1xuXG4gICAgaWYgKHNjb3JlIDwgMCkge1xuICAgICAgc2NvcmUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0ciA9IGNvcnJlY3RDaG9pY2VzLmxlbmd0aCA/IHNjb3JlIC8gY29ycmVjdENob2ljZXMubGVuZ3RoIDogMDtcblxuICByZXR1cm4gcGFyc2VGbG9hdChzdHIudG9GaXhlZCgyKSk7XG59O1xuXG4vKipcbiAqXG4gKiBUaGUgc2NvcmUgaXMgcGFydGlhbCBieSBkZWZhdWx0IGZvciBjaGVja2JveCBtb2RlLCBhbGxPck5vdGhpbmcgZm9yIHJhZGlvIG1vZGUuXG4gKiBUbyBkaXNhYmxlIHBhcnRpYWwgc2NvcmluZyBmb3IgY2hlY2tib3ggbW9kZSB5b3UgZWl0aGVyIHNldCBtb2RlbC5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlIG9yIGVudi5wYXJ0aWFsU2NvcmluZyA9IGZhbHNlLiB0aGUgdmFsdWUgaW4gYGVudmAgd2lsbFxuICogb3ZlcnJpZGUgdGhlIHZhbHVlIGluIGBtb2RlbGAuXG4gKiBAcGFyYW0ge09iamVjdH0gbW9kZWwgLSB0aGUgbWFpbiBtb2RlbFxuICogQHBhcmFtIHsqfSBzZXNzaW9uXG4gKiBAcGFyYW0ge09iamVjdH0gZW52XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvdXRjb21lKG1vZGVsLCBzZXNzaW9uLCBlbnYpIHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgIGlmICghc2Vzc2lvbiB8fCBpc0VtcHR5KHNlc3Npb24pKSB7XG4gICAgICByZXNvbHZlKHsgc2NvcmU6IDAsIGVtcHR5OiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPVxuICAgICAgICBwYXJ0aWFsU2NvcmluZy5lbmFibGVkKG1vZGVsLCBlbnYpICYmIG1vZGVsLmNob2ljZU1vZGUgIT09ICdyYWRpbyc7XG4gICAgICBjb25zdCBzY29yZSA9IGdldFNjb3JlKG1vZGVsLCBzZXNzaW9uKTtcblxuICAgICAgcmVzb2x2ZSh7IHNjb3JlOiBwYXJ0aWFsU2NvcmluZ0VuYWJsZWQgPyBzY29yZSA6IHNjb3JlID09PSAxID8gMSA6IDAsIGVtcHR5OiBmYWxzZSB9KTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29ycmVjdFJlc3BvbnNlU2Vzc2lvbiA9IChxdWVzdGlvbiwgZW52KSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICBpZiAoZW52Lm1vZGUgIT09ICdldmFsdWF0ZScgJiYgZW52LnJvbGUgPT09ICdpbnN0cnVjdG9yJykge1xuICAgICAgY29uc3QgeyBjaG9pY2VzIH0gPSBxdWVzdGlvbiB8fCB7IGNob2ljZXM6IFtdIH07XG5cbiAgICAgIHJlc29sdmUoe1xuICAgICAgICBpZDogJzEnLFxuICAgICAgICB2YWx1ZTogY2hvaWNlcy5maWx0ZXIoYyA9PiBjLmNvcnJlY3QpLm1hcChjID0+IGMudmFsdWUpXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlID0gKG1vZGVsID0ge30sIGNvbmZpZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHsgY2hvaWNlcyB9ID0gbW9kZWw7XG4gIGNvbnN0IHsgbWluQW5zd2VyQ2hvaWNlcyA9IDIsIG1heEFuc3dlckNob2ljZXMgfSA9IGNvbmZpZztcbiAgY29uc3QgcmV2ZXJzZWRDaG9pY2VzID0gWy4uLmNob2ljZXMgfHwgW11dLnJldmVyc2UoKTtcbiAgY29uc3QgY2hvaWNlc0Vycm9ycyA9IHt9O1xuICBsZXQgaGFzQ29ycmVjdFJlc3BvbnNlID0gZmFsc2U7XG5cbiAgcmV2ZXJzZWRDaG9pY2VzLmZvckVhY2goKGNob2ljZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCB7IGNvcnJlY3QsIHZhbHVlLCBsYWJlbCB9ID0gY2hvaWNlO1xuXG4gICAgaWYgKGNvcnJlY3QpIHtcbiAgICAgIGhhc0NvcnJlY3RSZXNwb25zZSA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGxhYmVsID09PSAnJyB8fCBsYWJlbCA9PT0gJzxkaXY+PC9kaXY+Jykge1xuICAgICAgY2hvaWNlc0Vycm9yc1t2YWx1ZV0gPSAnQ29udGVudCBzaG91bGQgbm90IGJlIGVtcHR5Lic7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGlkZW50aWNhbEFuc3dlciA9IHJldmVyc2VkQ2hvaWNlcy5zbGljZShpbmRleCArIDEpLnNvbWUoYyA9PiBjLmxhYmVsID09PSBsYWJlbCk7XG5cbiAgICAgIGlmIChpZGVudGljYWxBbnN3ZXIpIHtcbiAgICAgICAgY2hvaWNlc0Vycm9yc1t2YWx1ZV0gPSAnQ29udGVudCBzaG91bGQgYmUgdW5pcXVlLic7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBlcnJvcnMgPSB7fTtcbiAgY29uc3QgbmJPZkNob2ljZXMgPSAoY2hvaWNlcyB8fCBbXSkubGVuZ3RoO1xuXG4gIGlmIChuYk9mQ2hvaWNlcyA8IG1pbkFuc3dlckNob2ljZXMpIHtcbiAgICBlcnJvcnMuYW5zd2VyQ2hvaWNlc0Vycm9yID0gYFRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCAke21pbkFuc3dlckNob2ljZXN9IGNob2ljZXMgZGVmaW5lZC5gO1xuICB9IGVsc2UgaWYgKG5iT2ZDaG9pY2VzID4gbWF4QW5zd2VyQ2hvaWNlcykge1xuICAgIGVycm9ycy5hbnN3ZXJDaG9pY2VzRXJyb3IgPSBgTm8gbW9yZSB0aGFuICR7bWF4QW5zd2VyQ2hvaWNlc30gY2hvaWNlcyBzaG91bGQgYmUgZGVmaW5lZC5gO1xuICB9XG5cbiAgaWYgKCFoYXNDb3JyZWN0UmVzcG9uc2UpIHtcbiAgICBlcnJvcnMuY29ycmVjdFJlc3BvbnNlRXJyb3IgPSAnTm8gY29ycmVjdCByZXNwb25zZSBkZWZpbmVkLic7XG4gIH1cblxuICBpZiAoIWlzRW1wdHkoY2hvaWNlc0Vycm9ycykpIHtcbiAgICBlcnJvcnMuY2hvaWNlc0Vycm9ycyA9IGNob2ljZXNFcnJvcnM7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufTtcbiJdfQ==
@@ -33,4 +33,4 @@ var parseHTML = function parseHTML(html) {
33
33
  };
34
34
 
35
35
  exports.parseHTML = parseHTML;
36
- //# sourceMappingURL=utils.js.map
36
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJnZXRDb3JyZWN0UmVzcG9uc2UiLCJjaG9pY2VzIiwiZmlsdGVyIiwiYyIsImNvcnJlY3QiLCJtYXAiLCJ2YWx1ZSIsInNvcnQiLCJpc1Jlc3BvbnNlQ29ycmVjdCIsInF1ZXN0aW9uIiwic2Vzc2lvbiIsImNvcnJlY3RSZXNwb25zZSIsInBhcnNlSFRNTCIsImh0bWwiLCJ0ZW1wbGF0ZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsImNvbnRlbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVPLElBQU1BLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQ0MsT0FBRDtBQUFBLFNBQWFBLE9BQU8sQ0FDbkRDLE1BRDRDLENBQ3JDLFVBQUFDLENBQUM7QUFBQSxXQUFJQSxDQUFDLENBQUNDLE9BQU47QUFBQSxHQURvQyxFQUU1Q0MsR0FGNEMsQ0FFeEMsVUFBQUYsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ0csS0FBTjtBQUFBLEdBRnVDLEVBRzVDQyxJQUg0QyxFQUFiO0FBQUEsQ0FBM0I7Ozs7QUFLQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNDLFFBQUQsRUFBV0MsT0FBWCxFQUF1QjtBQUN0RCxNQUFJQyxlQUFlLEdBQUdYLGtCQUFrQixDQUFDUyxRQUFRLENBQUNSLE9BQVYsQ0FBeEM7QUFDQSxTQUFPUyxPQUFPLElBQUkseUJBQVEsQ0FBQ0EsT0FBTyxDQUFDSixLQUFSLElBQWlCLEVBQWxCLEVBQXNCQyxJQUF0QixFQUFSLEVBQXNDSSxlQUF0QyxDQUFsQjtBQUNELENBSE07Ozs7QUFLQSxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDQyxJQUFELEVBQVU7QUFDakMsTUFBTUMsUUFBUSxHQUFHQyxRQUFRLENBQUNDLGFBQVQsQ0FBdUIsVUFBdkIsQ0FBakI7QUFDQUYsRUFBQUEsUUFBUSxDQUFDRyxTQUFULEdBQXFCSixJQUFyQjtBQUNBLFNBQU9DLFFBQVEsQ0FBQ0ksT0FBaEI7QUFDRCxDQUpNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ycmVjdFJlc3BvbnNlID0gKGNob2ljZXMpID0+IGNob2ljZXNcbiAgLmZpbHRlcihjID0+IGMuY29ycmVjdClcbiAgLm1hcChjID0+IGMudmFsdWUpXG4gIC5zb3J0KCk7XG5cbmV4cG9ydCBjb25zdCBpc1Jlc3BvbnNlQ29ycmVjdCA9IChxdWVzdGlvbiwgc2Vzc2lvbikgPT4ge1xuICBsZXQgY29ycmVjdFJlc3BvbnNlID0gZ2V0Q29ycmVjdFJlc3BvbnNlKHF1ZXN0aW9uLmNob2ljZXMpO1xuICByZXR1cm4gc2Vzc2lvbiAmJiBpc0VxdWFsKChzZXNzaW9uLnZhbHVlIHx8IFtdKS5zb3J0KCksIGNvcnJlY3RSZXNwb25zZSk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VIVE1MID0gKGh0bWwpID0+IHtcbiAgY29uc3QgdGVtcGxhdGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZW1wbGF0ZScpO1xuICB0ZW1wbGF0ZS5pbm5lckhUTUwgPSBodG1sO1xuICByZXR1cm4gdGVtcGxhdGUuY29udGVudDtcbn07XG4iXX0=
@@ -0,0 +1,11 @@
1
+ {
2
+ "hash": "1801896442",
3
+ "info": [
4
+ {
5
+ "pie": "@pie-element/multiple-choice",
6
+ "version": {
7
+ "requested": "latest"
8
+ }
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _lodash = _interopRequireDefault(require("lodash"));
10
+
11
+ var _enzyme = require("enzyme");
12
+
13
+ var _choiceInput = require("../choice-input");
14
+
15
+ var _enzymeToJson = _interopRequireDefault(require("enzyme-to-json"));
16
+
17
+ describe('ChoiceInput', function () {
18
+ var onChange, wrapper;
19
+
20
+ var mkWrapper = function mkWrapper() {
21
+ var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
22
+ opts = _lodash["default"].extend({
23
+ checked: false,
24
+ disabled: false,
25
+ choiceMode: 'checkbox',
26
+ label: 'label',
27
+ displayKey: '1',
28
+ correctness: 'correct',
29
+ value: 'value',
30
+ classes: {
31
+ label: 'label'
32
+ }
33
+ }, opts);
34
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_choiceInput.ChoiceInput, (0, _extends2["default"])({}, opts, {
35
+ onChange: onChange
36
+ })));
37
+ };
38
+
39
+ beforeEach(function () {
40
+ onChange = jest.fn();
41
+ wrapper = mkWrapper();
42
+ });
43
+ describe('snapshots', function () {
44
+ describe('radio', function () {
45
+ it('renders', function () {
46
+ var wrapper = mkWrapper({
47
+ choiceMode: 'radio'
48
+ });
49
+ expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
50
+ });
51
+ });
52
+ describe('checkbox', function () {
53
+ it('renders', function () {
54
+ var wrapper = mkWrapper({
55
+ choiceMode: 'checkbox'
56
+ });
57
+ expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
58
+ });
59
+ });
60
+ describe('radio with incorrect', function () {
61
+ it('renders', function () {
62
+ var wrapper = mkWrapper({
63
+ choiceMode: 'radio',
64
+ correctness: 'incorrect'
65
+ });
66
+ expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
67
+ });
68
+ });
69
+ describe('rationale', function () {
70
+ it('does not render', function () {
71
+ var wrapper = mkWrapper();
72
+ expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
73
+ });
74
+ it('renders', function () {
75
+ var wrapper = mkWrapper({
76
+ rationale: 'This is rationale'
77
+ });
78
+ expect((0, _enzymeToJson["default"])(wrapper)).toMatchSnapshot();
79
+ });
80
+ });
81
+ });
82
+ describe('onToggleChoice', function () {
83
+ it('calls handler', function () {
84
+ wrapper.instance().onToggleChoice({
85
+ target: {
86
+ checked: true
87
+ }
88
+ });
89
+ expect(onChange).toBeCalledWith({
90
+ value: 'value',
91
+ selected: true
92
+ });
93
+ });
94
+ });
95
+ /** we're mocking preview prompt - so this won't pass */
96
+
97
+ describe.skip('clicking on choice text triggers toggle choice', function () {
98
+ it('calls handler', function () {
99
+ var onChange = jest.fn();
100
+ var props = {
101
+ checked: false,
102
+ disabled: false,
103
+ choiceMode: 'checkbox',
104
+ label: 'label',
105
+ displayKey: '1',
106
+ correctness: 'correct',
107
+ value: 'value',
108
+ classes: {
109
+ label: 'label'
110
+ },
111
+ onChange: onChange
112
+ };
113
+ console.log(_choiceInput.ChoiceInput);
114
+ var item = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_choiceInput.ChoiceInput, props));
115
+ var label = item.find('.label');
116
+ label.simulate('click');
117
+ expect(onChange).toHaveBeenCalledWith({
118
+ value: 'value',
119
+ selected: true
120
+ });
121
+ });
122
+ });
123
+ });
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vY2hvaWNlLWlucHV0LXRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwib25DaGFuZ2UiLCJ3cmFwcGVyIiwibWtXcmFwcGVyIiwib3B0cyIsIl8iLCJleHRlbmQiLCJjaGVja2VkIiwiZGlzYWJsZWQiLCJjaG9pY2VNb2RlIiwibGFiZWwiLCJkaXNwbGF5S2V5IiwiY29ycmVjdG5lc3MiLCJ2YWx1ZSIsImNsYXNzZXMiLCJiZWZvcmVFYWNoIiwiamVzdCIsImZuIiwiaXQiLCJleHBlY3QiLCJ0b01hdGNoU25hcHNob3QiLCJyYXRpb25hbGUiLCJpbnN0YW5jZSIsIm9uVG9nZ2xlQ2hvaWNlIiwidGFyZ2V0IiwidG9CZUNhbGxlZFdpdGgiLCJzZWxlY3RlZCIsInNraXAiLCJwcm9wcyIsImNvbnNvbGUiLCJsb2ciLCJDaG9pY2VJbnB1dCIsIml0ZW0iLCJmaW5kIiwic2ltdWxhdGUiLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLFFBQVEsQ0FBQyxhQUFELEVBQWdCLFlBQU07QUFDNUIsTUFBSUMsUUFBSixFQUFjQyxPQUFkOztBQUVBLE1BQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFZLEdBQWU7QUFBQSxRQUFkQyxJQUFjLHVFQUFQLEVBQU87QUFDL0JBLElBQUFBLElBQUksR0FBR0MsbUJBQUVDLE1BQUYsQ0FDTDtBQUNFQyxNQUFBQSxPQUFPLEVBQUUsS0FEWDtBQUVFQyxNQUFBQSxRQUFRLEVBQUUsS0FGWjtBQUdFQyxNQUFBQSxVQUFVLEVBQUUsVUFIZDtBQUlFQyxNQUFBQSxLQUFLLEVBQUUsT0FKVDtBQUtFQyxNQUFBQSxVQUFVLEVBQUUsR0FMZDtBQU1FQyxNQUFBQSxXQUFXLEVBQUUsU0FOZjtBQU9FQyxNQUFBQSxLQUFLLEVBQUUsT0FQVDtBQVFFQyxNQUFBQSxPQUFPLEVBQUU7QUFDUEosUUFBQUEsS0FBSyxF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QUFDMkIsSUFBVCxDQUFjLGdEQUFkLEVBQWdFLFlBQU07QUFDcEVULElBQUFBLEVBQUUsQ0FBQyxlQUFELEVBQWtCLFlBQU07QUFDeEIsVUFBTWpCLFFBQVEsR0FBR2UsSUFBSSxDQUFDQyxFQUFMLEVBQWpCO0FBQ0EsVUFBTVcsS0FBSyxHQUFHO0FBQ1pyQixRQUFBQSxPQUFPLEVBQUUsS0FERztBQUVaQyxRQUFBQSxRQUFRLEVBQUUsS0FGRTtBQUdaQyxRQUFBQSxVQUFVLEVBQUUsVUFIQTtBQUlaQyxRQUFBQSxLQUFLLEVBQUUsT0FKSztBQUtaQyxRQUFBQSxVQUFVLEVBQUUsR0FMQTtBQU1aQyxRQUFBQSxXQUFXLEVBQUUsU0FORDtBQU9aQyxRQUFBQSxLQUFLLEVBQUUsT0FQSztBQVFaQyxRQUFBQSxPQUFPLEVBQUU7QUFDUEosVUFBQUEsS0FBSyxFQUFFO0FBREEsU0FSRztBQVdaVCxRQUFBQSxRQUFRLEVBQVJBO0FBWFksT0FBZDtBQWNBNEIsTUFBQUEsT0FBTyxDQUFDQyxHQUFSLENBQVlDLHdCQUFaO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLGlDQUFNLGdDQUFDLHdCQUFELEVBQWlCSixLQUFqQixDQUFOLENBQWI7QUFDQSxVQUFNbEIsS0FBSyxHQUFHc0IsSUFBSSxDQUFDQyxJQUFMLENBQVUsUUFBVixDQUFkO0FBRUF2QixNQUFBQSxLQUFLLENBQUN3QixRQUFOLENBQWUsT0FBZjtBQUVBZixNQUFBQSxNQUFNLENBQUNsQixRQUFELENBQU4sQ0FBaUJrQyxvQkFBakIsQ0FBc0M7QUFBRXRCLFFBQUFBLEtBQUssRUFBRSxPQUFUO0FBQWtCYSxRQUFBQSxRQUFRLEVBQUU7QUFBNUIsT0FBdEM7QUFDRCxLQXZCQyxDQUFGO0FBd0JELEdBekJEO0FBMEJELENBdkdPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHNoYWxsb3csIG1vdW50IH0gZnJvbSAnZW56eW1lJztcbmltcG9ydCB7IENob2ljZUlucHV0IH0gZnJvbSAnLi4vY2hvaWNlLWlucHV0JztcbmltcG9ydCB0b0pzb24gZnJvbSAnZW56eW1lLXRvLWpzb24nO1xuXG5kZXNjcmliZSgnQ2hvaWNlSW5wdXQnLCAoKSA9PiB7XG4gIGxldCBvbkNoYW5nZSwgd3JhcHBlcjtcblxuICBjb25zdCBta1dyYXBwZXIgPSAob3B0cyA9IHt9KSA9PiB7XG4gICAgb3B0cyA9IF8uZXh0ZW5kKFxuICAgICAge1xuICAgICAgICBjaGVja2VkOiBmYWxzZSxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBjaG9pY2VNb2RlOiAnY2hlY2tib3gnLFxuICAgICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgICAgZGlzcGxheUtleTogJzEnLFxuICAgICAgICBjb3JyZWN0bmVzczogJ2NvcnJlY3QnLFxuICAgICAgICB2YWx1ZTogJ3ZhbHVlJyxcbiAgICAgICAgY2xhc3Nlczoge1xuICAgICAgICAgIGxhYmVsOiAnbGFiZWwnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG9wdHNcbiAgICApO1xuXG4gICAgcmV0dXJuIHNoYWxsb3coPENob2ljZUlucHV0IHsuLi5vcHRzfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+KTtcbiAgfTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBvbkNoYW5nZSA9IGplc3QuZm4oKTtcbiAgICB3cmFwcGVyID0gbWtXcmFwcGVyKCk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdzbmFwc2hvdHMnLCAoKSA9PiB7XG4gICAgZGVzY3JpYmUoJ3JhZGlvJywgKCkgPT4ge1xuICAgICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBta1dyYXBwZXIoeyBjaG9pY2VNb2RlOiAncmFkaW8nIH0pO1xuICAgICAgICBleHBlY3QodG9Kc29uKHdyYXBwZXIpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ2NoZWNrYm94JywgKCkgPT4ge1xuICAgICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBta1dyYXBwZXIoeyBjaG9pY2VNb2RlOiAnY2hlY2tib3gnIH0pO1xuICAgICAgICBleHBlY3QodG9Kc29uKHdyYXBwZXIpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ3JhZGlvIHdpdGggaW5jb3JyZWN0JywgKCkgPT4ge1xuICAgICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdyYXBwZXIgPSBta1dyYXBwZXIoe1xuICAgICAgICAgIGNob2ljZU1vZGU6ICdyYWRpbycsXG4gICAgICAgICAgY29ycmVjdG5lc3M6ICdpbmNvcnJlY3QnLFxuICAgICAgICB9KTtcbiAgICAgICAgZXhwZWN0KHRvSnNvbih3cmFwcGVyKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdyYXRpb25hbGUnLCAoKSA9PiB7XG4gICAgICBpdCgnZG9lcyBub3QgcmVuZGVyJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gbWtXcmFwcGVyKCk7XG4gICAgICAgIGV4cGVjdCh0b0pzb24od3JhcHBlcikpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgICBjb25zdCB3cmFwcGVyID0gbWtXcmFwcGVyKHsgcmF0aW9uYWxlOiAnVGhpcyBpcyByYXRpb25hbGUnIH0pO1xuICAgICAgICBleHBlY3QodG9Kc29uKHdyYXBwZXIpKS50b01hdGNoU25hcHNob3QoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnb25Ub2dnbGVDaG9pY2UnLCAoKSA9PiB7XG4gICAgaXQoJ2NhbGxzIGhhbmRsZXInLCAoKSA9PiB7XG4gICAgICB3cmFwcGVyLmluc3RhbmNlKCkub25Ub2dnbGVDaG9pY2UoeyB0YXJnZXQ6IHsgY2hlY2tlZDogdHJ1ZSB9IH0pO1xuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0JlQ2FsbGVkV2l0aCh7XG4gICAgICAgIHZhbHVlOiAndmFsdWUnLFxuICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcblxuICAvKiogd2UncmUgbW9ja2luZyBwcmV2aWV3IHByb21wdCAtIHNvIHRoaXMgd29uJ3QgcGFzcyAqL1xuICBkZXNjcmliZS5za2lwKCdjbGlja2luZyBvbiBjaG9pY2UgdGV4dCB0cmlnZ2VycyB0b2dnbGUgY2hvaWNlJywgKCkgPT4ge1xuICAgIGl0KCdjYWxscyBoYW5kbGVyJywgKCkgPT4ge1xuICAgICAgY29uc3Qgb25DaGFuZ2UgPSBqZXN0LmZuKCk7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlTW9kZTogJ2NoZWNrYm94JyxcbiAgICAgICAgbGFiZWw6ICdsYWJlbCcsXG4gICAgICAgIGRpc3BsYXlLZXk6ICcxJyxcbiAgICAgICAgY29ycmVjdG5lc3M6ICdjb3JyZWN0JyxcbiAgICAgICAgdmFsdWU6ICd2YWx1ZScsXG4gICAgICAgIGNsYXNzZXM6IHtcbiAgICAgICAgICBsYWJlbDogJ2xhYmVsJyxcbiAgICAgICAgfSxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgICB9O1xuXG4gICAgICBjb25zb2xlLmxvZyhDaG9pY2VJbnB1dCk7XG4gICAgICBjb25zdCBpdGVtID0gbW91bnQoPENob2ljZUlucHV0IHsuLi5wcm9wc30gLz4pO1xuICAgICAgY29uc3QgbGFiZWwgPSBpdGVtLmZpbmQoJy5sYWJlbCcpO1xuXG4gICAgICBsYWJlbC5zaW11bGF0ZSgnY2xpY2snKTtcblxuICAgICAgZXhwZWN0KG9uQ2hhbmdlKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCh7IHZhbHVlOiAndmFsdWUnLCBzZWxlY3RlZDogdHJ1ZSB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
6
+
7
+ var _index = require("../index");
8
+
9
+ var _templateObject;
10
+
11
+ describe('isComplete', function () {
12
+ it.each(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n session | expected\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n ", " | ", "\n "])), {
13
+ value: [1, 2, 3]
14
+ }, true, {
15
+ value: []
16
+ }, false, {}, false, null, false, undefined, false)('session = $session is complete => $expected', function (_ref) {
17
+ var session = _ref.session,
18
+ expected = _ref.expected;
19
+ expect((0, _index.isComplete)(session)).toEqual(expected);
20
+ });
21
+ });
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vaW5kZXgtdGVzdC5qc3giXSwibmFtZXMiOlsiZGVzY3JpYmUiLCJpdCIsImVhY2giLCJ2YWx1ZSIsInVuZGVmaW5lZCIsInNlc3Npb24iLCJleHBlY3RlZCIsImV4cGVjdCIsInRvRXF1YWwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7O0FBRUFBLFFBQVEsQ0FBQyxZQUFELEVBQWUsWUFBTTtBQUMzQkMsRUFBQUEsRUFBRSxDQUFDQyxJQUFILG1RQUVFO0FBQUVDLElBQUFBLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBRyxDQUFILEVBQUssQ0FBTDtBQUFULEdBRkYsRUFFNEIsSUFGNUIsRUFHRTtBQUFFQSxJQUFBQSxLQUFLLEVBQUU7QUFBVCxHQUhGLEVBRzRCLEtBSDVCLEVBSUUsRUFKRixFQUk0QixLQUo1QixFQUtFLElBTEYsRUFLNEIsS0FMNUIsRUFNRUMsU0FORixFQU00QixLQU41QixFQU9FLDZDQVBGLEVBT2lELGdCQUEyQjtBQUFBLFFBQXhCQyxPQUF3QixRQUF4QkEsT0FBd0I7QUFBQSxRQUFmQyxRQUFlLFFBQWZBLFFBQWU7QUFDMUVDLElBQUFBLE1BQU0sQ0FBQyx1QkFBV0YsT0FBWCxDQUFELENBQU4sQ0FBNEJHLE9BQTVCLENBQW9DRixRQUFwQztBQUNELEdBVEQ7QUFVRCxDQVhPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0NvbXBsZXRlIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5kZXNjcmliZSgnaXNDb21wbGV0ZScsICgpID0+IHtcbiAgaXQuZWFjaGBcbiAgc2Vzc2lvbiAgICAgICAgICAgICAgIHwgICBleHBlY3RlZFxuICAke3sgdmFsdWU6IFsxLDIsM119fSAgfCAgICR7dHJ1ZX1cbiAgJHt7IHZhbHVlOiBbXSB9fSAgICAgIHwgICAke2ZhbHNlfVxuICAke3t9fSAgICAgICAgICAgICAgICAgfCAgICR7ZmFsc2V9XG4gICR7bnVsbH0gICAgICAgICAgICAgICB8ICAgJHtmYWxzZX1cbiAgJHt1bmRlZmluZWR9ICAgICAgICAgIHwgICAke2ZhbHNlfVxuICBgKCdzZXNzaW9uID0gJHNlc3Npb24gaXMgY29tcGxldGUgPT4gJGV4cGVjdGVkJywgKHsgc2Vzc2lvbiwgZXhwZWN0ZWQgfSkgPT4ge1xuICAgIGV4cGVjdChpc0NvbXBsZXRlKHNlc3Npb24pKS50b0VxdWFsKGV4cGVjdGVkKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,237 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+
7
+ var _react = _interopRequireDefault(require("react"));
8
+
9
+ var _lodash = _interopRequireDefault(require("lodash"));
10
+
11
+ var _enzyme = require("enzyme");
12
+
13
+ var _multipleChoice = require("../multiple-choice");
14
+
15
+ var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
16
+
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+
19
+ 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; }
20
+
21
+ describe('Choice', function () {
22
+ var wrapper,
23
+ onChoiceChanged = jest.fn();
24
+ beforeEach(function () {
25
+ wrapper = function wrapper(extras) {
26
+ var props = _objectSpread({
27
+ classes: {},
28
+ choice: {},
29
+ index: 0,
30
+ choicesLength: 1,
31
+ showCorrect: false,
32
+ isEvaluateMode: false,
33
+ choiceMode: 'radio',
34
+ disabled: true,
35
+ onChoiceChanged: onChoiceChanged,
36
+ checked: true,
37
+ correctness: 'correct',
38
+ displayKey: '0',
39
+ choicesLayout: 'grid',
40
+ gridColumns: 2
41
+ }, extras);
42
+
43
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_multipleChoice.Choice, props));
44
+ };
45
+ });
46
+ describe('snapshot', function () {
47
+ it('renders', function () {
48
+ expect(wrapper()).toMatchSnapshot();
49
+ });
50
+ });
51
+ describe('logic', function () {
52
+ it('does not call onChoiceChanged if disabled is true', function () {
53
+ var w = wrapper();
54
+ w.instance().onChange();
55
+ expect(onChoiceChanged).not.toHaveBeenCalled();
56
+ });
57
+ it('calls onChoiceChanged if disabled is false', function () {
58
+ var w = wrapper({
59
+ disabled: false
60
+ });
61
+ w.instance().onChange();
62
+ expect(onChoiceChanged).toHaveBeenCalled();
63
+ });
64
+ });
65
+ });
66
+ describe('CorespringChoice', function () {
67
+ var wrapper, toggle;
68
+ beforeEach(function () {
69
+ toggle = function toggle() {
70
+ return /*#__PURE__*/_react["default"].createElement("div", null, "mocked-toggle");
71
+ };
72
+ });
73
+
74
+ var mkWrapper = function mkWrapper(opts) {
75
+ var clone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
76
+ opts = clone ? opts = _lodash["default"].merge({
77
+ classes: {},
78
+ choices: [],
79
+ disabled: false,
80
+ keyMode: 'letters',
81
+ onChoiceChanged: jest.fn(),
82
+ mode: 'gather'
83
+ }, opts) : opts;
84
+ return (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_multipleChoice.MultipleChoice, opts));
85
+ };
86
+
87
+ describe('snapshot', function () {
88
+ it('renders', function () {
89
+ wrapper = mkWrapper({
90
+ choices: [{
91
+ value: 'a',
92
+ label: 'label a',
93
+ correct: true,
94
+ feedback: 'great'
95
+ }, {
96
+ value: 'b',
97
+ label: 'label b'
98
+ }, {
99
+ value: 'c',
100
+ label: 'label c',
101
+ correct: true,
102
+ feedback: 'great'
103
+ }]
104
+ });
105
+ expect(wrapper).toMatchSnapshot();
106
+ });
107
+ describe('renders incorrect tick if one answer is correct but it is not checked', function () {
108
+ it('renders', function () {
109
+ var w = mkWrapper({
110
+ mode: 'evaluate',
111
+ keyMode: 'none',
112
+ choices: [{
113
+ value: 'a',
114
+ label: 'label a',
115
+ correct: true,
116
+ feedback: 'great'
117
+ }, {
118
+ value: 'b',
119
+ label: 'label b'
120
+ }, {
121
+ value: 'c',
122
+ label: 'label c',
123
+ correct: true,
124
+ feedback: 'great'
125
+ }],
126
+ session: {
127
+ value: ['a']
128
+ }
129
+ });
130
+ expect(w).toMatchSnapshot();
131
+ });
132
+ });
133
+ describe('getCorrectness', function () {
134
+ var itemChoices = [{
135
+ value: 'a',
136
+ label: 'label a',
137
+ correct: true,
138
+ feedback: 'great'
139
+ }, {
140
+ value: 'b',
141
+ label: 'label b'
142
+ }, {
143
+ value: 'c',
144
+ label: 'label c',
145
+ feedback: 'great'
146
+ }, {
147
+ value: 'd',
148
+ label: 'label d',
149
+ correct: true,
150
+ feedback: 'great'
151
+ }];
152
+ var w = mkWrapper({
153
+ mode: 'evaluate',
154
+ choices: itemChoices,
155
+ session: {
156
+ value: ['a', 'c']
157
+ }
158
+ });
159
+ describe('showCorrectToggle disabled (state.showCorrect is false)', function () {
160
+ it('shows choice correctness only if was checked', function () {
161
+ // this one was selected and is correct
162
+ expect(w.instance().getCorrectness(itemChoices[0])).toEqual('correct'); // this one was not selected and is incorrect
163
+
164
+ expect(w.instance().getCorrectness(itemChoices[1])).toEqual(undefined); // this one was selected, but is incorrect
165
+
166
+ expect(w.instance().getCorrectness(itemChoices[2])).toEqual('incorrect'); // this one was not selected and is correct
167
+
168
+ expect(w.instance().getCorrectness(itemChoices[3])).toEqual('incorrect');
169
+ });
170
+ });
171
+ describe('showCorrectToggle enabled (state.showCorrect is true)', function () {
172
+ it('shows choice correctness no matter if was checked or not', function () {
173
+ w.instance().state.showCorrect = true; // this one is correct
174
+
175
+ expect(w.instance().getCorrectness(itemChoices[0])).toEqual('correct'); // this one is not correct
176
+
177
+ expect(w.instance().getCorrectness(itemChoices[1])).toEqual(undefined); // this one is not correct
178
+
179
+ expect(w.instance().getCorrectness(itemChoices[2])).toEqual(undefined); // this one is correct
180
+
181
+ expect(w.instance().getCorrectness(itemChoices[3])).toEqual('correct');
182
+ });
183
+ });
184
+ });
185
+ describe('onToggle', function () {
186
+ it('toggles the state', function () {
187
+ var w = mkWrapper({
188
+ mode: 'evaluate'
189
+ });
190
+ expect(w.state('showCorrect')).toEqual(false);
191
+ w.instance().onToggle();
192
+ expect(w.state('showCorrect')).toEqual(true);
193
+ });
194
+ });
195
+ describe('Toggle', function () {
196
+ it('toggle is rendered', function () {
197
+ var t = mkWrapper().find(_correctAnswerToggle["default"]);
198
+ expect(t.length).toEqual(1);
199
+ });
200
+ it('toggle show is set to false', function () {
201
+ expect(mkWrapper().find(_correctAnswerToggle["default"]).prop('show')).toEqual(false);
202
+ });
203
+ it('shows toggle if mode is evaluate, feedback is enabled and responseCorrect is false', function () {
204
+ expect(mkWrapper({
205
+ mode: 'evaluate',
206
+ responseCorrect: false,
207
+ feedbackEnabled: true
208
+ }).find(_correctAnswerToggle["default"]).prop('show')).toEqual(true);
209
+ });
210
+ it('hides toggle if mode is evaluate and responseCorrect is false', function () {
211
+ expect(mkWrapper({
212
+ mode: 'evaluate',
213
+ responseCorrect: true
214
+ }).find(_correctAnswerToggle["default"]).prop('show')).toEqual(false);
215
+ });
216
+ it('not toggled if showCorrect is false', function () {
217
+ var w = mkWrapper({
218
+ mode: 'evaluate'
219
+ });
220
+ w.setState({
221
+ showCorrect: false
222
+ });
223
+ expect(w.find(_correctAnswerToggle["default"]).prop('toggled')).toEqual(false);
224
+ });
225
+ it('is toggled showCorrect=true && mode=evaluate', function () {
226
+ var w = mkWrapper({
227
+ mode: 'evaluate'
228
+ });
229
+ w.setState({
230
+ showCorrect: true
231
+ });
232
+ expect(w.find(_correctAnswerToggle["default"]).prop('toggled')).toEqual(true);
233
+ });
234
+ });
235
+ });
236
+ });
237
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vbXVsdGlwbGUtY2hvaWNlLXRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwid3JhcHBlciIsIm9uQ2hvaWNlQ2hhbmdlZCIsImplc3QiLCJmbiIsImJlZm9yZUVhY2giLCJleHRyYXMiLCJwcm9wcyIsImNsYXNzZXMiLCJjaG9pY2UiLCJpbmRleCIsImNob2ljZXNMZW5ndGgiLCJzaG93Q29ycmVjdCIsImlzRXZhbHVhdGVNb2RlIiwiY2hvaWNlTW9kZSIsImRpc2FibGVkIiwiY2hlY2tlZCIsImNvcnJlY3RuZXNzIiwiZGlzcGxheUtleSIsImNob2ljZXNMYXlvdXQiLCJncmlkQ29sdW1ucyIsIml0IiwiZXhwZWN0IiwidG9NYXRjaFNuYXBzaG90IiwidyIsImluc3RhbmNlIiwib25DaGFuZ2UiLCJub3QiLCJ0b0hhdmVCZWVuQ2FsbGVkIiwidG9nZ2xlIiwibWtXcmFwcGVyIiwib3B0cyIsImNsb25lIiwiXyIsIm1lcmdlIiwiY2hvaWNlcyIsImtleU1vZGUiLCJtb2RlIiwidmFsdWUiLCJsYWJlbCIsImNvcnJlY3QiLCJmZWVkYmFjayIsInNlc3Npb24iLCJpdGVtQ2hvaWNlcyIsImdldENvcnJlY3RuZXNzIiwidG9FcXVhbCIsInVuZGVmaW5lZCIsInN0YXRlIiwib25Ub2dnbGUiLCJ0IiwiZmluZCIsIkNvcnJlY3RBbnN3ZXJUb2dnbGUiLCJsZW5ndGgiLCJwcm9wIiwicmVzcG9uc2VDb3JyZWN0IiwiZmVlZGJhY2tFbmFibGVkIiwic2V0U3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFHQUEsUUFBUSxDQUFDLFFBQUQsRUFBVyxZQUFNO0FBQ3ZCLE1BQUlDLE9BQUo7QUFBQSxNQUFhQyxlQUFlLEdBQUdDLElBQUksQ0FBQ0MsRUFBTCxFQUEvQjtBQUVBQyxFQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmSixJQUFBQSxPQUFPLEdBQUcsaUJBQUFL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UUFBRixDQUFXO0FBQUU1QyxVQUFBQSxXQUFXLEVBQUU7QUFBZixTQUFYO0FBQ0FVLFFBQUFBLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDMEIsSUFBRixDQUFPQywrQkFBUCxFQUE0QkUsSUFBNUIsQ0FBaUMsU0FBakMsQ0FBRCxDQUFOLENBQW9EUixPQUFwRCxDQUE0RCxLQUE1RDtBQUNELE9BSkMsQ0FBRjtBQU1BeEIsTUFBQUEsRUFBRSxDQUFDLDhDQUFELEVBQWlELFlBQU07QUFDdkQsWUFBSUcsQ0FBQyxHQUFHTSxTQUFTLENBQUM7QUFBRU8sVUFBQUEsSUFBSSxFQUFFO0FBQVIsU0FBRCxDQUFqQjtBQUNBYixRQUFBQSxDQUFDLENBQUNnQyxRQUFGLENBQVc7QUFBRTVDLFVBQUFBLFdBQVcsRUFBRTtBQUFmLFNBQVg7QUFDQVUsUUFBQUEsTUFBTSxDQUFDRSxDQUFDLENBQUMwQixJQUFGLENBQU9DLCtCQUFQLEVBQTRCRSxJQUE1QixDQUFpQyxTQUFqQyxDQUFELENBQU4sQ0FBb0RSLE9BQXBELENBQTRELElBQTVEO0FBQ0QsT0FKQyxDQUFGO0FBS0QsS0F6Q08sQ0FBUjtBQTBDRCxHQS9ITyxDQUFSO0FBZ0lELENBM0pPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHNoYWxsb3cgfSBmcm9tICdlbnp5bWUnO1xuaW1wb3J0IHsgTXVsdGlwbGVDaG9pY2UsIENob2ljZSB9IGZyb20gJy4uL211bHRpcGxlLWNob2ljZSc7XG5pbXBvcnQgQ29ycmVjdEFuc3dlclRvZ2dsZSBmcm9tICdAcGllLWxpYi9jb3JyZWN0LWFuc3dlci10b2dnbGUnO1xuXG5cbmRlc2NyaWJlKCdDaG9pY2UnLCAoKSA9PiB7XG4gIGxldCB3cmFwcGVyLCBvbkNob2ljZUNoYW5nZWQgPSBqZXN0LmZuKCk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgd3JhcHBlciA9IGV4dHJhcyA9PiB7XG4gICAgICBjb25zdCBwcm9wcyA9IHtcbiAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgIGNob2ljZToge30sXG4gICAgICAgIGluZGV4OiAwLFxuICAgICAgICBjaG9pY2VzTGVuZ3RoOiAxLFxuICAgICAgICBzaG93Q29ycmVjdDogZmFsc2UsXG4gICAgICAgIGlzRXZhbHVhdGVNb2RlOiBmYWxzZSxcbiAgICAgICAgY2hvaWNlTW9kZTogJ3JhZGlvJyxcbiAgICAgICAgZGlzYWJsZWQ6IHRydWUsXG4gICAgICAgIG9uQ2hvaWNlQ2hhbmdlZCxcbiAgICAgICAgY2hlY2tlZDogdHJ1ZSxcbiAgICAgICAgY29ycmVjdG5lc3M6ICdjb3JyZWN0JyxcbiAgICAgICAgZGlzcGxheUtleTogJzAnLFxuICAgICAgICBjaG9pY2VzTGF5b3V0OiAnZ3JpZCcsXG4gICAgICAgIGdyaWRDb2x1bW5zOiAyLFxuICAgICAgICAuLi5leHRyYXNcbiAgICAgIH07XG4gICAgICByZXR1cm4gc2hhbGxvdyg8Q2hvaWNlIHsuLi5wcm9wc30vPik7XG4gICAgfTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgZXhwZWN0KHdyYXBwZXIoKSkudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdsb2dpYycsICgpID0+IHtcbiAgICBpdCgnZG9lcyBub3QgY2FsbCBvbkNob2ljZUNoYW5nZWQgaWYgZGlzYWJsZWQgaXMgdHJ1ZScsICgpID0+IHtcbiAgICAgIGxldCB3ID0gd3JhcHBlcigpO1xuXG4gICAgICB3Lmluc3RhbmNlKCkub25DaGFuZ2UoKTtcblxuICAgICAgZXhwZWN0KG9uQ2hvaWNlQ2hhbmdlZCkubm90LnRvSGF2ZUJlZW5DYWxsZWQoKTtcbiAgICB9KTtcblxuICAgIGl0KCdjYWxscyBvbkNob2ljZUNoYW5nZWQgaWYgZGlzYWJsZWQgaXMgZmFsc2UnLCAoKSA9PiB7XG4gICAgICBsZXQgdyA9IHdyYXBwZXIoeyBkaXNhYmxlZDogZmFsc2UgfSk7XG5cbiAgICAgIHcuaW5zdGFuY2UoKS5vbkNoYW5nZSgpO1xuXG4gICAgICBleHBlY3Qob25DaG9pY2VDaGFuZ2VkKS50b0hhdmVCZWVuQ2FsbGVkKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKCdDb3Jlc3ByaW5nQ2hvaWNlJywgKCkgPT4ge1xuICBsZXQgd3JhcHBlciwgdG9nZ2xlO1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIHRvZ2dsZSA9ICgpID0+IHtcbiAgICAgIHJldHVybiA8ZGl2Pm1vY2tlZC10b2dnbGU8L2Rpdj47XG4gICAgfTtcbiAgfSk7XG5cbiAgbGV0IG1rV3JhcHBlciA9IChvcHRzLCBjbG9uZSA9IHRydWUpID0+IHtcbiAgICBvcHRzID0gY2xvbmVcbiAgICAgID8gKG9wdHMgPSBfLm1lcmdlKFxuICAgICAgICB7XG4gICAgICAgICAgY2xhc3Nlczoge30sXG4gICAgICAgICAgY2hvaWNlczogW10sXG4gICAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgIGtleU1vZGU6ICdsZXR0ZXJzJyxcbiAgICAgICAgICBvbkNob2ljZUNoYW5nZWQ6IGplc3QuZm4oKSxcbiAgICAgICAgICBtb2RlOiAnZ2F0aGVyJ1xuICAgICAgICB9LFxuICAgICAgICBvcHRzXG4gICAgICApKVxuICAgICAgOiBvcHRzO1xuXG4gICAgcmV0dXJuIHNoYWxsb3coPE11bHRpcGxlQ2hvaWNlIHsuLi5vcHRzfSAvPik7XG4gIH07XG5cbiAgZGVzY3JpYmUoJ3NuYXBzaG90JywgKCkgPT4ge1xuICAgIGl0KCdyZW5kZXJzJywgKCkgPT4ge1xuICAgICAgd3JhcHBlciA9IG1rV3JhcHBlcih7XG4gICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICB7IHZhbHVlOiAnYScsIGxhYmVsOiAnbGFiZWwgYScsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgICAgeyB2YWx1ZTogJ2InLCBsYWJlbDogJ2xhYmVsIGInIH0sXG4gICAgICAgICAgeyB2YWx1ZTogJ2MnLCBsYWJlbDogJ2xhYmVsIGMnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuXG4gICAgICBleHBlY3Qod3JhcHBlcikudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgncmVuZGVycyBpbmNvcnJlY3QgdGljayBpZiBvbmUgYW5zd2VyIGlzIGNvcnJlY3QgYnV0IGl0IGlzIG5vdCBjaGVja2VkJywgKCkgPT4ge1xuICAgICAgaXQoJ3JlbmRlcnMnLCAoKSA9PiB7XG4gICAgICAgIGxldCB3ID0gbWtXcmFwcGVyKHtcbiAgICAgICAgICBtb2RlOiAnZXZhbHVhdGUnLFxuICAgICAgICAgIGtleU1vZGU6ICdub25lJyxcbiAgICAgICAgICBjaG9pY2VzOiBbXG4gICAgICAgICAgICB7IHZhbHVlOiAnYScsIGxhYmVsOiAnbGFiZWwgYScsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH0sXG4gICAgICAgICAgICB7IHZhbHVlOiAnYicsIGxhYmVsOiAnbGFiZWwgYicgfSxcbiAgICAgICAgICAgIHsgdmFsdWU6ICdjJywgbGFiZWw6ICdsYWJlbCBjJywgY29ycmVjdDogdHJ1ZSwgZmVlZGJhY2s6ICdncmVhdCcgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2Vzc2lvbjoge1xuICAgICAgICAgICAgdmFsdWU6IFsnYSddXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBleHBlY3QodykudG9NYXRjaFNuYXBzaG90KCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdnZXRDb3JyZWN0bmVzcycsICgpID0+IHtcbiAgICAgIGxldCBpdGVtQ2hvaWNlcyA9IFtcbiAgICAgICAgeyB2YWx1ZTogJ2EnLCBsYWJlbDogJ2xhYmVsIGEnLCBjb3JyZWN0OiB0cnVlLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgICAgICB7IHZhbHVlOiAnYicsIGxhYmVsOiAnbGFiZWwgYicgfSxcbiAgICAgICAgeyB2YWx1ZTogJ2MnLCBsYWJlbDogJ2xhYmVsIGMnLCBmZWVkYmFjazogJ2dyZWF0JyB9LFxuICAgICAgICB7IHZhbHVlOiAnZCcsIGxhYmVsOiAnbGFiZWwgZCcsIGNvcnJlY3Q6IHRydWUsIGZlZWRiYWNrOiAnZ3JlYXQnIH1cbiAgICAgIF07XG4gICAgICBsZXQgdyA9IG1rV3JhcHBlcih7XG4gICAgICAgIG1vZGU6ICdldmFsdWF0ZScsXG4gICAgICAgIGNob2ljZXM6IGl0ZW1DaG9pY2VzLFxuICAgICAgICBzZXNzaW9uOiB7XG4gICAgICAgICAgdmFsdWU6IFsnYScsICdjJ11cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGRlc2NyaWJlKCdzaG93Q29ycmVjdFRvZ2dsZSBkaXNhYmxlZCAoc3RhdGUuc2hvd0NvcnJlY3QgaXMgZmFsc2UpJywgKCkgPT4ge1xuICAgICAgICBpdCgnc2hvd3MgY2hvaWNlIGNvcnJlY3RuZXNzIG9ubHkgaWYgd2FzIGNoZWNrZWQnLCAoKSA9PiB7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgd2FzIHNlbGVjdGVkIGFuZCBpcyBjb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1swXSkpLnRvRXF1YWwoJ2NvcnJlY3QnKTtcbiAgICAgICAgICAvLyB0aGlzIG9uZSB3YXMgbm90IHNlbGVjdGVkIGFuZCBpcyBpbmNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzFdKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgICAgICAgIC8vIHRoaXMgb25lIHdhcyBzZWxlY3RlZCwgYnV0IGlzIGluY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbMl0pKS50b0VxdWFsKCdpbmNvcnJlY3QnKTtcbiAgICAgICAgICAvLyB0aGlzIG9uZSB3YXMgbm90IHNlbGVjdGVkIGFuZCBpcyBjb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1szXSkpLnRvRXF1YWwoJ2luY29ycmVjdCcpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBkZXNjcmliZSgnc2hvd0NvcnJlY3RUb2dnbGUgZW5hYmxlZCAoc3RhdGUuc2hvd0NvcnJlY3QgaXMgdHJ1ZSknLCAoKSA9PiB7XG4gICAgICAgIGl0KCdzaG93cyBjaG9pY2UgY29ycmVjdG5lc3Mgbm8gbWF0dGVyIGlmIHdhcyBjaGVja2VkIG9yIG5vdCcsICgpID0+IHtcbiAgICAgICAgICB3Lmluc3RhbmNlKCkuc3RhdGUuc2hvd0NvcnJlY3QgPSB0cnVlO1xuXG4gICAgICAgICAgLy8gdGhpcyBvbmUgaXMgY29ycmVjdFxuICAgICAgICAgIGV4cGVjdCh3Lmluc3RhbmNlKCkuZ2V0Q29ycmVjdG5lc3MoaXRlbUNob2ljZXNbMF0pKS50b0VxdWFsKCdjb3JyZWN0Jyk7XG4gICAgICAgICAgLy8gdGhpcyBvbmUgaXMgbm90IGNvcnJlY3RcbiAgICAgICAgICBleHBlY3Qody5pbnN0YW5jZSgpLmdldENvcnJlY3RuZXNzKGl0ZW1DaG9pY2VzWzFdKSkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgICAgICAgIC8vIHRoaXMgb25lIGlzIG5vdCBjb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1syXSkpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICAgICAgICAvLyB0aGlzIG9uZSBpcyBjb3JyZWN0XG4gICAgICAgICAgZXhwZWN0KHcuaW5zdGFuY2UoKS5nZXRDb3JyZWN0bmVzcyhpdGVtQ2hvaWNlc1szXSkpLnRvRXF1YWwoJ2NvcnJlY3QnKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRlc2NyaWJlKCdvblRvZ2dsZScsICgpID0+IHtcbiAgICAgIGl0KCd0b2dnbGVzIHRoZSBzdGF0ZScsICgpID0+IHtcbiAgICAgICAgbGV0IHcgPSBta1dyYXBwZXIoeyBtb2RlOiAnZXZhbHVhdGUnIH0pO1xuICAgICAgICBleHBlY3Qody5zdGF0ZSgnc2hvd0NvcnJlY3QnKSkudG9FcXVhbChmYWxzZSk7XG4gICAgICAgIHcuaW5zdGFuY2UoKS5vblRvZ2dsZSgpO1xuICAgICAgICBleHBlY3Qody5zdGF0ZSgnc2hvd0NvcnJlY3QnKSkudG9FcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVzY3JpYmUoJ1RvZ2dsZScsICgpID0+IHtcbiAgICAgIGl0KCd0b2dnbGUgaXMgcmVuZGVyZWQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHQgPSBta1dyYXBwZXIoKS5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpO1xuICAgICAgICBleHBlY3QodC5sZW5ndGgpLnRvRXF1YWwoMSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ3RvZ2dsZSBzaG93IGlzIHNldCB0byBmYWxzZScsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KFxuICAgICAgICAgIG1rV3JhcHBlcigpXG4gICAgICAgICAgICAuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKVxuICAgICAgICAgICAgLnByb3AoJ3Nob3cnKVxuICAgICAgICApLnRvRXF1YWwoZmFsc2UpO1xuICAgICAgfSk7XG5cbiAgICAgIGl0KCdzaG93cyB0b2dnbGUgaWYgbW9kZSBpcyBldmFsdWF0ZSwgZmVlZGJhY2sgaXMgZW5hYmxlZCBhbmQgcmVzcG9uc2VDb3JyZWN0IGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QoXG4gICAgICAgICAgbWtXcmFwcGVyKHsgbW9kZTogJ2V2YWx1YXRlJywgcmVzcG9uc2VDb3JyZWN0OiBmYWxzZSwgZmVlZGJhY2tFbmFibGVkOiB0cnVlIH0pXG4gICAgICAgICAgICAuZmluZChDb3JyZWN0QW5zd2VyVG9nZ2xlKVxuICAgICAgICAgICAgLnByb3AoJ3Nob3cnKVxuICAgICAgICApLnRvRXF1YWwodHJ1ZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ2hpZGVzIHRvZ2dsZSBpZiBtb2RlIGlzIGV2YWx1YXRlIGFuZCByZXNwb25zZUNvcnJlY3QgaXMgZmFsc2UnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChcbiAgICAgICAgICBta1dyYXBwZXIoeyBtb2RlOiAnZXZhbHVhdGUnLCByZXNwb25zZUNvcnJlY3Q6IHRydWUgfSlcbiAgICAgICAgICAgIC5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpXG4gICAgICAgICAgICAucHJvcCgnc2hvdycpXG4gICAgICAgICkudG9FcXVhbChmYWxzZSk7XG4gICAgICB9KTtcblxuICAgICAgaXQoJ25vdCB0b2dnbGVkIGlmIHNob3dDb3JyZWN0IGlzIGZhbHNlJywgKCkgPT4ge1xuICAgICAgICBsZXQgdyA9IG1rV3JhcHBlcih7IG1vZGU6ICdldmFsdWF0ZScgfSk7XG4gICAgICAgIHcuc2V0U3RhdGUoeyBzaG93Q29ycmVjdDogZmFsc2UgfSk7XG4gICAgICAgIGV4cGVjdCh3LmZpbmQoQ29ycmVjdEFuc3dlclRvZ2dsZSkucHJvcCgndG9nZ2xlZCcpKS50b0VxdWFsKGZhbHNlKTtcbiAgICAgIH0pO1xuXG4gICAgICBpdCgnaXMgdG9nZ2xlZCBzaG93Q29ycmVjdD10cnVlICYmIG1vZGU9ZXZhbHVhdGUnLCAoKSA9PiB7XG4gICAgICAgIGxldCB3ID0gbWtXcmFwcGVyKHsgbW9kZTogJ2V2YWx1YXRlJyB9KTtcbiAgICAgICAgdy5zZXRTdGF0ZSh7IHNob3dDb3JyZWN0OiB0cnVlIH0pO1xuICAgICAgICBleHBlY3Qody5maW5kKENvcnJlY3RBbnN3ZXJUb2dnbGUpLnByb3AoJ3RvZ2dsZWQnKSkudG9FcXVhbCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ var _sessionUpdater = require("../session-updater");
4
+
5
+ describe('session-updater', function () {
6
+ var updater;
7
+ beforeEach(function () {});
8
+ describe('updateSessionValue', function () {
9
+ var assert = function assert(mode, session, data, expected) {
10
+ return function () {
11
+ (0, _sessionUpdater.updateSessionValue)(session, mode, data);
12
+ expect(session.value).toEqual(expected);
13
+ };
14
+ };
15
+
16
+ describe('checkbox', function () {
17
+ var cb = assert.bind(null, 'checkbox');
18
+ it('adds 1', cb({
19
+ value: []
20
+ }, {
21
+ value: '1',
22
+ selected: true
23
+ }, ['1']));
24
+ it('removes 1', cb({
25
+ value: ['1']
26
+ }, {
27
+ value: '1',
28
+ selected: false
29
+ }, []));
30
+ it('adds 2', cb({
31
+ value: ['1']
32
+ }, {
33
+ value: '2',
34
+ selected: true
35
+ }, ['1', '2']));
36
+ it('does not add duplicate 1', cb({
37
+ value: ['1']
38
+ }, {
39
+ value: '1',
40
+ selected: true
41
+ }, ['1']));
42
+ it('does not remove if not in arrary', cb({
43
+ value: ['1']
44
+ }, {
45
+ value: '2',
46
+ selected: false
47
+ }, ['1']));
48
+ });
49
+ describe('radio', function () {
50
+ var cb = assert.bind(null, 'radio');
51
+ it('adds 1', cb({
52
+ value: []
53
+ }, {
54
+ value: '1',
55
+ selected: true
56
+ }, ['1']));
57
+ it('adds 2', cb({
58
+ value: ['1']
59
+ }, {
60
+ value: '2',
61
+ selected: true
62
+ }, ['2']));
63
+ it('does not add duplicate 1', cb({
64
+ value: ['1']
65
+ }, {
66
+ value: '1',
67
+ selected: true
68
+ }, ['1']));
69
+ });
70
+ });
71
+ });
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fX3Rlc3RzX18vc2Vzc2lvbi11cGRhdGVyLXRlc3QuanN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwidXBkYXRlciIsImJlZm9yZUVhY2giLCJhc3NlcnQiLCJtb2RlIiwic2Vzc2lvbiIsImRhdGEiLCJleHBlY3RlZCIsImV4cGVjdCIsInZhbHVlIiwidG9FcXVhbCIsImNiIiwiYmluZCIsIml0Iiwic2VsZWN0ZWQiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUFBLFFBQVEsQ0FBQyxpQkFBRCxFQUFvQixZQUFNO0FBQ2hDLE1BQUlDLE9BQUo7QUFFQUMsRUFBQUEsVUFBVSxDQUFDLFlBQU0sQ0FBRSxDQUFULENBQVY7QUFFQUYsRUFBQUEsUUFBUSxDQUFDLG9CQUFELEVBQXVCLFlBQU07QUFDbkMsUUFBTUcsTUFBTSxHQUFHLFNBQVRBLE1BQVMsQ0FBQ0MsSUFBRCxFQUFPQyxPQUFQLEVBQWdCQyxJQUFoQixFQUFzQkMsUUFBdEIsRUFBbUM7QUFDaEQsYUFBTyxZQUFNO0FBQ1gsZ0RBQW1CRixPQUFuQixFQUE0QkQsSUFBNUIsRUFBa0NFLElBQWxDO0FBQ0FFLFFBQUFBLE1BQU0sQ0FBQ0gsT0FBTyxDQUFDSSxLQUFULENBQU4sQ0FBc0JDLE9BQXRCLENBQThCSCxRQUE5QjtBQUNELE9BSEQ7QUFJRCxLQUxEOztBQU9BUCxJQUFBQSxRQUFRLENBQUMsVUFBRCxFQUFhLFlBQU07QUFDekIsVUFBTVcsRUFBRSxHQUFHUixNQUFNLENBQUNTLElBQVAsQ0FBWSxJQUFaLEVBQWtCLFVBQWxCLENBQVg7QUFDQUMsTUFBQUEsRUFBRSxDQUFDLFFBQUQsRUFBV0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRTtBQUFULE9BQUQsRUFBZ0I7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQWhCLEVBQWdELENBQUMsR0FBRCxDQUFoRCxDQUFiLENBQUY7QUFDQUQsTUFBQUEsRUFBRSxDQUNBLFdBREEsRUFFQUYsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFvRCxFQUFwRCxDQUZGLENBQUY7QUFJQUQsTUFBQUEsRUFBRSxDQUNBLFFBREEsRUFFQUYsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFtRCxDQUFDLEdBQUQsRUFBTSxHQUFOLENBQW5ELENBRkYsQ0FBRjtBQUlBRCxNQUFBQSxFQUFFLENBQ0EsMEJBREEsRUFFQUYsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFtRCxDQUFDLEdBQUQsQ0FBbkQsQ0FGRixDQUFGO0FBSUFELE1BQUFBLEVBQUUsQ0FDQSxrQ0FEQSxFQUVBRixFQUFFLENBQUM7QUFBRUYsUUFBQUEsS0FBSyxFQUFFLENBQUMsR0FBRDtBQUFULE9BQUQsRUFBbUI7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQW5CLEVBQW9ELENBQUMsR0FBRCxDQUFwRCxDQUZGLENBQUY7QUFJRCxLQW5CTyxDQUFSO0FBcUJBZCxJQUFBQSxRQUFRLENBQUMsT0FBRCxFQUFVLFlBQU07QUFDdEIsVUFBTVcsRUFBRSxHQUFHUixNQUFNLENBQUNTLElBQVAsQ0FBWSxJQUFaLEVBQWtCLE9BQWxCLENBQVg7QUFDQUMsTUFBQUEsRUFBRSxDQUFDLFFBQUQsRUFBV0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRTtBQUFULE9BQUQsRUFBZ0I7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQWhCLEVBQWdELENBQUMsR0FBRCxDQUFoRCxDQUFiLENBQUY7QUFDQUQsTUFBQUEsRUFBRSxDQUFDLFFBQUQsRUFBV0YsRUFBRSxDQUFDO0FBQUVGLFFBQUFBLEtBQUssRUFBRSxDQUFDLEdBQUQ7QUFBVCxPQUFELEVBQW1CO0FBQUVBLFFBQUFBLEtBQUssRUFBRSxHQUFUO0FBQWNLLFFBQUFBLFFBQVEsRUFBRTtBQUF4QixPQUFuQixFQUFtRCxDQUFDLEdBQUQsQ0FBbkQsQ0FBYixDQUFGO0FBQ0FELE1BQUFBLEVBQUUsQ0FDQSwwQkFEQSxFQUVBRixFQUFFLENBQUM7QUFBRUYsUUFBQUEsS0FBSyxFQUFFLENBQUMsR0FBRDtBQUFULE9BQUQsRUFBbUI7QUFBRUEsUUFBQUEsS0FBSyxFQUFFLEdBQVQ7QUFBY0ssUUFBQUEsUUFBUSxFQUFFO0FBQXhCLE9BQW5CLEVBQW1ELENBQUMsR0FBRCxDQUFuRCxDQUZGLENBQUY7QUFJRCxLQVJPLENBQVI7QUFTRCxHQXRDTyxDQUFSO0FBdUNELENBNUNPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1cGRhdGVTZXNzaW9uVmFsdWUgfSBmcm9tICcuLi9zZXNzaW9uLXVwZGF0ZXInO1xuXG5kZXNjcmliZSgnc2Vzc2lvbi11cGRhdGVyJywgKCkgPT4ge1xuICBsZXQgdXBkYXRlcjtcblxuICBiZWZvcmVFYWNoKCgpID0+IHt9KTtcblxuICBkZXNjcmliZSgndXBkYXRlU2Vzc2lvblZhbHVlJywgKCkgPT4ge1xuICAgIGNvbnN0IGFzc2VydCA9IChtb2RlLCBzZXNzaW9uLCBkYXRhLCBleHBlY3RlZCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgdXBkYXRlU2Vzc2lvblZhbHVlKHNlc3Npb24sIG1vZGUsIGRhdGEpO1xuICAgICAgICBleHBlY3Qoc2Vzc2lvbi52YWx1ZSkudG9FcXVhbChleHBlY3RlZCk7XG4gICAgICB9O1xuICAgIH07XG5cbiAgICBkZXNjcmliZSgnY2hlY2tib3gnLCAoKSA9PiB7XG4gICAgICBjb25zdCBjYiA9IGFzc2VydC5iaW5kKG51bGwsICdjaGVja2JveCcpO1xuICAgICAgaXQoJ2FkZHMgMScsIGNiKHsgdmFsdWU6IFtdIH0sIHsgdmFsdWU6ICcxJywgc2VsZWN0ZWQ6IHRydWUgfSwgWycxJ10pKTtcbiAgICAgIGl0KFxuICAgICAgICAncmVtb3ZlcyAxJyxcbiAgICAgICAgY2IoeyB2YWx1ZTogWycxJ10gfSwgeyB2YWx1ZTogJzEnLCBzZWxlY3RlZDogZmFsc2UgfSwgW10pXG4gICAgICApO1xuICAgICAgaXQoXG4gICAgICAgICdhZGRzIDInLFxuICAgICAgICBjYih7IHZhbHVlOiBbJzEnXSB9LCB7IHZhbHVlOiAnMicsIHNlbGVjdGVkOiB0cnVlIH0sIFsnMScsICcyJ10pXG4gICAgICApO1xuICAgICAgaXQoXG4gICAgICAgICdkb2VzIG5vdCBhZGQgZHVwbGljYXRlIDEnLFxuICAgICAgICBjYih7IHZhbHVlOiBbJzEnXSB9LCB7IHZhbHVlOiAnMScsIHNlbGVjdGVkOiB0cnVlIH0sIFsnMSddKVxuICAgICAgKTtcbiAgICAgIGl0KFxuICAgICAgICAnZG9lcyBub3QgcmVtb3ZlIGlmIG5vdCBpbiBhcnJhcnknLFxuICAgICAgICBjYih7IHZhbHVlOiBbJzEnXSB9LCB7IHZhbHVlOiAnMicsIHNlbGVjdGVkOiBmYWxzZSB9LCBbJzEnXSlcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBkZXNjcmliZSgncmFkaW8nLCAoKSA9PiB7XG4gICAgICBjb25zdCBjYiA9IGFzc2VydC5iaW5kKG51bGwsICdyYWRpbycpO1xuICAgICAgaXQoJ2FkZHMgMScsIGNiKHsgdmFsdWU6IFtdIH0sIHsgdmFsdWU6ICcxJywgc2VsZWN0ZWQ6IHRydWUgfSwgWycxJ10pKTtcbiAgICAgIGl0KCdhZGRzIDInLCBjYih7IHZhbHVlOiBbJzEnXSB9LCB7IHZhbHVlOiAnMicsIHNlbGVjdGVkOiB0cnVlIH0sIFsnMiddKSk7XG4gICAgICBpdChcbiAgICAgICAgJ2RvZXMgbm90IGFkZCBkdXBsaWNhdGUgMScsXG4gICAgICAgIGNiKHsgdmFsdWU6IFsnMSddIH0sIHsgdmFsdWU6ICcxJywgc2VsZWN0ZWQ6IHRydWUgfSwgWycxJ10pXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19