scorm-again
Version:
A modern SCORM JavaScript run-time library for AICC, SCORM 1.2, and SCORM 2004
19 lines • 73.2 kB
JavaScript
!function(){var r={"./node_modules/lodash.debounce/index.js":
/*!***********************************************!*\
!*** ./node_modules/lodash.debounce/index.js ***!
\***********************************************/function(e,s,t){function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _(){return d.Date.now()}var n=NaN,i="[object Symbol]",o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,t="object"==(void 0===t.g?"undefined":r(t.g))&&t.g&&t.g.Object===Object&&t.g,f="object"==("undefined"==typeof self?"undefined":r(self))&&self&&self.Object===Object&&self,d=t||f||Function("return this")(),h=Object.prototype.toString,v=Math.max,M=Math.min;function E(e){var t=r(e);return e&&("object"==t||"function"==t)}function m(e){return"symbol"==r(e)||!!(t=e)&&"object"==r(t)&&h.call(e)==i;var t}function b(e){if("number"==typeof e)return e;if(m(e))return n;if("string"!=typeof(e=E(e)?E(t="function"==typeof e.valueOf?e.valueOf():e)?t+"":t:e))return 0===e?e:+e;e=e.replace(o,"");var t=c.test(e);return t||l.test(e)?u(e.slice(2),t?2:8):a.test(e)?n:+e}e.exports=function(f,r,e){var n,i,o,a,s,c,l=0,d=!1,u=!1,t=!0;if("function"!=typeof f)throw new TypeError("Expected a function");function h(e){var t=n,r=i;return n=i=void 0,l=e,a=f.apply(r,t)}function m(e){var t=e-c;return void 0===c||r<=t||t<0||u&&o<=e-l}function p(){var e,t=_();if(m(t))return y(t);s=setTimeout(p,(e=r-((t=t)-c),u?M(e,o-(t-l)):e))}function y(e){return s=void 0,t&&n?h(e):(n=i=void 0,a)}function g(){var e=_(),t=m(e);if(n=arguments,i=this,c=e,t){if(void 0===s)return l=e=c,s=setTimeout(p,r),d?h(e):a;if(u)return s=setTimeout(p,r),h(c)}return void 0===s&&(s=setTimeout(p,r)),a}return r=b(r)||0,E(e)&&(d=!!e.leading,u="maxWait"in e,o=u?v(b(e.maxWait)||0,r):o,t="trailing"in e?!!e.trailing:t),g.cancel=function(){void 0!==s&&clearTimeout(s),n=c=i=s=void(l=0)},g.flush=function(){return void 0===s?a:y(_())},g}},"./src/BaseAPI.js":
/*!************************!*\
!*** ./src/BaseAPI.js ***!
\************************/function(r,e,t){"use strict";t.r(e),t.d(e,{default:function(){return T}});var p=t(/*! ./cmi/common */"./src/cmi/common.js"),c=t(/*! ./exceptions */"./src/exceptions.js"),e=t(/*! ./constants/error_codes */"./src/constants/error_codes.js"),l=t(/*! ./constants/api_constants */"./src/constants/api_constants.js"),u=t(/*! ./utilities */"./src/utilities.js"),f=t(/*! lodash.debounce */"./node_modules/lodash.debounce/index.js"),y=t.n(f);function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);a=!0);}catch(e){s=!0,i=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw i}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return _(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function E(e){return(E="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function b(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function v(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?b(Object(r),!0).forEach(function(e){S(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function O(e,t,r){return t&&w(e.prototype,t),r&&w(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function S(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t,r){var n=e;if(t.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object");t.set(e,r)}function d(e,t){t=I(e,t,"get");return t.get?t.get.call(e):t.value}function o(e,t,r){var t=I(e,t,"set"),n=r;if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}return r}function I(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}var h=l.default.global,C=e.default.scorm12,a=new WeakMap,m=new WeakMap,n=new WeakMap,T=function(){function r(e,t){if(M(this,r),i(this,a,{writable:!0,value:void 0}),i(this,m,{writable:!0,value:void 0}),i(this,n,{writable:!0,value:{autocommit:!1,autocommitSeconds:10,asyncCommit:!1,sendBeaconCommit:!1,lmsCommitUrl:!1,dataCommitFormat:"json",commitRequestDataType:"application/json;charset=UTF-8",autoProgress:!1,logLevel:h.LOG_LEVEL_ERROR,selfReportSessionTime:!1,alwaysSendTotalTime:!1,strict_errors:!0,xhrHeaders:{},xhrWithCredentials:!1,responseHandler:function(e){var t;return void 0!==e&&(null!==(t=JSON.parse(e.responseText))&&{}.hasOwnProperty.call(t,"result")||(t={},200===e.status?(t.result=h.SCORM_TRUE,t.errorCode=0):(t.result=h.SCORM_FALSE,t.errorCode=101))),t},requestHandler:function(e){return e},onLogMessage:function(e,t){switch(e){case h.LOG_LEVEL_ERROR:console.error(t);break;case h.LOG_LEVEL_WARNING:console.warn(t);break;case h.LOG_LEVEL_INFO:console.info(t);break;case h.LOG_LEVEL_DEBUG:console.debug?console.debug(t):console.log(t)}}}}),S(this,"cmi",void 0),S(this,"startingData",void 0),(this instanceof r?this.constructor:void 0)===r)throw new TypeError("Cannot construct BaseAPI instances directly");this.currentState=h.STATE_NOT_INITIALIZED,this.lastErrorCode=0,this.listenerArray=[],o(this,a,null),o(this,m,e),this.settings=t,this.apiLogLevel=this.settings.logLevel,this.selfReportSessionTime=this.settings.selfReportSessionTime}return O(r,[{key:"initialize",value:function(e,t,r){var n=h.SCORM_FALSE;return this.isInitialized()?this.throwSCORMError(d(this,m).INITIALIZED,t):this.isTerminated()?this.throwSCORMError(d(this,m).TERMINATED,r):(this.selfReportSessionTime&&this.cmi.setStartTime(),this.currentState=h.STATE_INITIALIZED,this.lastErrorCode=0,n=h.SCORM_TRUE,this.processListeners(e)),this.apiLog(e,null,"returned: "+n,h.LOG_LEVEL_INFO),this.clearSCORMError(n),n}},{key:"error_codes",get:function(){return d(this,m)}},{key:"settings",get:function(){return d(this,n)},set:function(e){o(this,n,v(v({},d(this,n)),e))}},{key:"terminate",value:function(e,t){var r,n=h.SCORM_FALSE;return this.checkState(t,d(this,m).TERMINATION_BEFORE_INIT,d(this,m).MULTIPLE_TERMINATION)&&(this.currentState=h.STATE_TERMINATED,r=this.storeData(!0),!this.settings.sendBeaconCommit&&!this.settings.asyncCommit&&void 0!==r.errorCode&&0<r.errorCode&&this.throwSCORMError(r.errorCode),n=void 0!==r&&r.result?r.result:h.SCORM_FALSE,t&&(this.lastErrorCode=0),n=h.SCORM_TRUE,this.processListeners(e)),this.apiLog(e,null,"returned: "+n,h.LOG_LEVEL_INFO),this.clearSCORMError(n),n}},{key:"getValue",value:function(e,t,r){var n;if(this.checkState(t,d(this,m).RETRIEVE_BEFORE_INIT,d(this,m).RETRIEVE_AFTER_TERM)){t&&(this.lastErrorCode=0);try{n=this.getCMIValue(r)}catch(e){e instanceof c.ValidationError?(this.lastErrorCode=e.errorCode,n=h.SCORM_FALSE):(e.message?console.error(e.message):console.error(e),this.throwSCORMError(d(this,m).GENERAL))}this.processListeners(e,r)}return this.apiLog(e,r,": returned: "+n,h.LOG_LEVEL_INFO),this.clearSCORMError(n),n}},{key:"setValue",value:function(e,t,r,n,i){void 0!==i&&(i=String(i));var o=h.SCORM_FALSE;if(this.checkState(r,d(this,m).STORE_BEFORE_INIT,d(this,m).STORE_AFTER_TERM)){r&&(this.lastErrorCode=0);try{o=this.setCMIValue(n,i)}catch(e){e instanceof c.ValidationError?(this.lastErrorCode=e.errorCode,o=h.SCORM_FALSE):(e.message?console.error(e.message):console.error(e),this.throwSCORMError(d(this,m).GENERAL))}this.processListeners(e,n,i)}return void 0===o&&(o=h.SCORM_FALSE),"0"===String(this.lastErrorCode)&&this.settings.autocommit&&!d(this,a)&&this.scheduleCommit(1e3*this.settings.autocommitSeconds,t),this.apiLog(e,n,": "+i+": result: "+o,h.LOG_LEVEL_INFO),this.clearSCORMError(o),o}},{key:"commit",value:function(e,t){this.clearScheduledCommit();var r,n=h.SCORM_FALSE;return this.checkState(t,d(this,m).COMMIT_BEFORE_INIT,d(this,m).COMMIT_AFTER_TERM)&&(r=this.storeData(!1),!this.settings.sendBeaconCommit&&!this.settings.asyncCommit&&r.errorCode&&0<r.errorCode&&this.throwSCORMError(r.errorCode),n=void 0!==r&&r.result?r.result:h.SCORM_FALSE,this.apiLog(e,"HttpRequest"," Result: "+n,h.LOG_LEVEL_DEBUG),t&&(this.lastErrorCode=0),this.processListeners(e)),this.apiLog(e,null,"returned: "+n,h.LOG_LEVEL_INFO),this.clearSCORMError(n),n}},{key:"getLastError",value:function(e){var t=String(this.lastErrorCode);return this.processListeners(e),this.apiLog(e,null,"returned: "+t,h.LOG_LEVEL_INFO),t}},{key:"getErrorString",value:function(e,t){var r="";return null!==t&&""!==t&&(r=this.getLmsErrorMessageDetails(t),this.processListeners(e)),this.apiLog(e,null,"returned: "+r,h.LOG_LEVEL_INFO),r}},{key:"getDiagnostic",value:function(e,t){var r="";return null!==t&&""!==t&&(r=this.getLmsErrorMessageDetails(t,!0),this.processListeners(e)),this.apiLog(e,null,"returned: "+r,h.LOG_LEVEL_INFO),r}},{key:"checkState",value:function(e,t,r){return this.isNotInitialized()?(this.throwSCORMError(t),!1):!e||!this.isTerminated()||(this.throwSCORMError(r),!1)}},{key:"apiLog",value:function(e,t,r,n){r=this.formatMessage(e,t,r),n>=this.apiLogLevel&&this.settings.onLogMessage(n,r)}},{key:"formatMessage",value:function(e,t,r){for(var n="",i=20-(n+=e).length,o=0;o<i;o++)n+=" ";if(n+=": ",t)for(var i=70-(n+=t).length,a=0;a<i;a++)n+=" ";return r&&(n+=r),n}},{key:"stringMatches",value:function(e,t){return e&&t&&e.match(t)}},{key:"_checkObjectHasProperty",value:function(e,t){return Object.hasOwnProperty.call(e,t)||Object.getOwnPropertyDescriptor(Object.getPrototypeOf(e),t)||t in e}},{key:"getLmsErrorMessageDetails",value:function(e,t){throw new Error("The getLmsErrorMessageDetails method has not been implemented")}},{key:"getCMIValue",value:function(e){throw new Error("The getCMIValue method has not been implemented")}},{key:"setCMIValue",value:function(e,t){throw new Error("The setCMIValue method has not been implemented")}},{key:"_commonSetCMIValue",value:function(u,e,t,r){if(!t||""===t)return h.SCORM_FALSE;for(var n=t.split("."),i=this,o=h.SCORM_FALSE,a=!1,s="The data model element passed to ".concat(u," (").concat(t,") is not a valid SCORM data model element."),f=e?d(this,m).UNDEFINED_DATA_MODEL:d(this,m).GENERAL,c=0;c<n.length;c++){var l=n[c];if(c===n.length-1)e&&"{target="===l.substr(0,8)&&"function"==typeof i._isTargetValid?this.throwSCORMError(d(this,m).READ_ONLY_ELEMENT):this._checkObjectHasProperty(i,l)?(this.isInitialized()&&this.stringMatches(t,"\\.correct_responses\\.\\d+")&&this.validateCorrectResponse(t,r),e&&0!==this.lastErrorCode||(i[l]=r,o=h.SCORM_TRUE)):this.throwSCORMError(f,s);else{if(!(i=i[l])){this.throwSCORMError(f,s);break}i instanceof p.CMIArray&&(l=parseInt(n[c+1],10),isNaN(l)||((l=i.childArray[l])?(i=l,a=!0):(l=this.getChildElement(t,r,a),a=!0,l?(i.initialized&&l.initialize(),i.childArray.push(l),i=l):this.throwSCORMError(f,s)),c++))}}return o===h.SCORM_FALSE&&this.apiLog(u,null,"There was an error setting the value for: ".concat(t,", value of: ").concat(r),h.LOG_LEVEL_WARNING),o}},{key:"validateCorrectResponse",value:function(e,t){}},{key:"getChildElement",value:function(e,t,r){throw new Error("The getChildElement method has not been implemented")}},{key:"_commonGetCMIValue",value:function(e,t,r){if(!r||""===r)return"";for(var n=r.split("."),i=this,o=null,u="The data model element passed to ".concat(e," (").concat(r,") has not been initialized."),a="The data model element passed to ".concat(e," (").concat(r,") is not a valid SCORM data model element."),s=t?d(this,m).UNDEFINED_DATA_MODEL:d(this,m).GENERAL,c=0;c<n.length;c++){if(o=n[c],t){if("{target="===String(o).substr(0,8)&&"function"==typeof i._isTargetValid)return l=String(o).substr(8,String(o).length-9),i._isTargetValid(l);if(!this._checkObjectHasProperty(i,o))return void this.throwSCORMError(s,a)}else if(c===n.length-1&&!this._checkObjectHasProperty(i,o))return void this.throwSCORMError(s,a);if(void 0===(i=i[o])){this.throwSCORMError(s,a);break}if(i instanceof p.CMIArray){var l=parseInt(n[c+1],10);if(!isNaN(l)){var f=i.childArray[l];if(!f){this.throwSCORMError(d(this,m).VALUE_NOT_INITIALIZED,u);break}i=f,c++}}}if(null!=i)return i;t||("_children"===o?this.throwSCORMError(C.CHILDREN_ERROR):"_count"===o&&this.throwSCORMError(C.COUNT_ERROR))}},{key:"isInitialized",value:function(){return this.currentState===h.STATE_INITIALIZED}},{key:"isNotInitialized",value:function(){return this.currentState===h.STATE_NOT_INITIALIZED}},{key:"isTerminated",value:function(){return this.currentState===h.STATE_TERMINATED}},{key:"on",value:function(e,t){if(t)for(var r=e.split(" "),n=0;n<r.length;n++){var i=r[n].split(".");if(0===i.length)return;var o=i[0],a=null;1<i.length&&(a=e.replace(o+".","")),this.listenerArray.push({functionName:o,CMIElement:a,callback:t}),this.apiLog("on",o,"Added event listener: ".concat(this.listenerArray.length),h.LOG_LEVEL_INFO)}}},{key:"off",value:function(n,i){var o=this;if(i)for(var a=n.split(" "),e=0;e<a.length;e++){var t=function(e){e=a[e].split(".");if(0===e.length)return{v:void 0};var t=e[0],r=null,e=(1<e.length&&(r=n.replace(t+".","")),o.listenerArray.findIndex(function(e){return e.functionName===t&&e.CMIElement===r&&e.callback===i}));-1!==e&&(o.listenerArray.splice(e,1),o.apiLog("off",t,"Removed event listener: ".concat(o.listenerArray.length),h.LOG_LEVEL_INFO))}(e);if("object"===E(t))return t.v}}},{key:"clear",value:function(n){for(var i=this,o=n.split(" "),e=0;e<o.length;e++){var t=function(e){e=o[e].split(".");if(0===e.length)return{v:void 0};var t=e[0],r=null;1<e.length&&(r=n.replace(t+".","")),i.listenerArray=i.listenerArray.filter(function(e){return e.functionName!==t&&e.CMIElement!==r})}(e);if("object"===E(t))return t.v}}},{key:"processListeners",value:function(e,t,r){this.apiLog(e,t,r);for(var n=0;n<this.listenerArray.length;n++){var i=this.listenerArray[n],o=i.functionName===e,a=!!i.CMIElement,s=!1,s=t&&i.CMIElement&&"*"===i.CMIElement.substring(i.CMIElement.length-1)?0===t.indexOf(i.CMIElement.substring(0,i.CMIElement.length-1)):i.CMIElement===t;!o||a&&!s||i.callback(t,r)}}},{key:"throwSCORMError",value:function(e,t){t=t||this.getLmsErrorMessageDetails(e),this.apiLog("throwSCORMError",null,e+": "+t,h.LOG_LEVEL_ERROR),this.lastErrorCode=String(e)}},{key:"clearSCORMError",value:function(e){void 0!==e&&e!==h.SCORM_FALSE&&(this.lastErrorCode=0)}},{key:"storeData",value:function(e){throw new Error("The storeData method has not been implemented")}},{key:"loadFromFlattenedJSON",value:function(t,r){var n,i,e,o,a=this;function s(e,t,r){var n,e=e.match(r);return null!==e&&null!==(n=t.match(r))?(t=Number(e[2]))===(r=Number(n[2]))?"id"!==e[3]&&("type"!==e[3]||"id"===n[3])?1:-1:t-r:null}this.isNotInitialized()?(n=/^(cmi\.interactions\.)(\d+)\.(.*)$/,i=/^(cmi\.objectives\.)(\d+)\.(.*)$/,(e=Object.keys(t).map(function(e){return[String(e),t[e]]})).sort(function(e,t){var e=g(e,2),r=e[0],e=(e[1],g(t,2)),t=e[0];e[1];return null!==(e=s(r,t,n))||null!==(e=s(r,t,i))?e:r<t?-1:t<r?1:0}),e.forEach(function(e){(o={})[e[0]]=e[1],a.loadFromJSON((0,u.unflatten)(o),r)})):console.error("loadFromFlattenedJSON can only be called before the call to lmsInitialize.")}},{key:"loadFromJSON",value:function(e,t){if(this.isNotInitialized()){for(var r in t=void 0!==t?t:"cmi",this.startingData=e)if({}.hasOwnProperty.call(e,r)&&e[r]){var n=(t?t+".":"")+r,i=e[r];if(i.childArray)for(var o=0;o<i.childArray.length;o++)this.loadFromJSON(i.childArray[o],n+"."+o);else i.constructor===Object?this.loadFromJSON(i,n):this.setCMIValue(n,i)}}else console.error("loadFromJSON can only be called before the call to lmsInitialize.")}},{key:"renderCMIToJSONString",value:function(){var e=this.cmi;return JSON.stringify({cmi:e})}},{key:"renderCMIToJSONObject",value:function(){return JSON.parse(this.renderCMIToJSONString())}},{key:"renderCommitCMI",value:function(e){throw new Error("The storeData method has not been implemented")}},{key:"processHttpRequest",value:function(e,t){function r(e,t,r,n){if(n={result:h.SCORM_FALSE,errorCode:n.GENERAL},r.sendBeaconCommit)try{var i={type:r.commitRequestDataType},o=t instanceof Array?new Blob([t.join("&")],i):new Blob([JSON.stringify(t)],i),a={};navigator.sendBeacon(e,o)?(a.result=h.SCORM_TRUE,a.errorCode=0):(a.result=h.SCORM_FALSE,a.errorCode=101)}catch(e){return console.error(e),c.processListeners("CommitError"),n}else{var s=new XMLHttpRequest;s.open("POST",e,r.asyncCommit),Object.keys(r.xhrHeaders).length&&Object.keys(r.xhrHeaders).forEach(function(e){s.setRequestHeader(e,r.xhrHeaders[e])}),s.withCredentials=r.xhrWithCredentials,r.asyncCommit&&(s.onload=function(e){a="function"==typeof r.responseHandler?r.responseHandler(s):JSON.parse(s.responseText)});try{if((t=r.requestHandler(t))instanceof Array?(s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send(t.join("&"))):(s.setRequestHeader("Content-Type",r.commitRequestDataType),s.send(JSON.stringify(t))),r.asyncCommit)return(a={}).result=h.SCORM_TRUE,a.errorCode=0,c.processListeners("CommitSuccess"),a;a="function"==typeof r.responseHandler?r.responseHandler(s):JSON.parse(s.responseText)}catch(e){return console.error(e),c.processListeners("CommitError"),n}}return void 0===a?(c.processListeners("CommitError"),n):(!0===a.result||a.result===h.SCORM_TRUE?c.processListeners("CommitSuccess"):c.processListeners("CommitError"),a)}var n,i=2<arguments.length&&void 0!==arguments[2]&&arguments[2],c=this;return void 0!==y()?((n=y()(r,500))(e,t,this.settings,this.error_codes),i&&n.flush(),{result:h.SCORM_TRUE,errorCode:0}):r(e,t,this.settings,this.error_codes)}},{key:"scheduleCommit",value:function(e,t){o(this,a,new A(this,e,t)),this.apiLog("scheduleCommit","","scheduled",h.LOG_LEVEL_DEBUG)}},{key:"clearScheduledCommit",value:function(){d(this,a)&&(d(this,a).cancel(),o(this,a,null),this.apiLog("clearScheduledCommit","","cleared",h.LOG_LEVEL_DEBUG))}}]),r}(),L=new WeakMap,R=new WeakMap,s=new WeakMap,j=new WeakMap,A=function(){function n(e,t,r){M(this,n),i(this,L,{writable:!0,value:void 0}),i(this,R,{writable:!0,value:!1}),i(this,s,{writable:!0,value:void 0}),i(this,j,{writable:!0,value:void 0}),o(this,L,e),o(this,s,setTimeout(this.wrapper.bind(this),t)),o(this,j,r)}return O(n,[{key:"cancel",value:function(){o(this,R,!0),d(this,s)&&clearTimeout(d(this,s))}},{key:"wrapper",value:function(){d(this,R)||d(this,L).commit(d(this,j))}}]),n}()},"./src/Scorm12API.js":
/*!***************************!*\
!*** ./src/Scorm12API.js ***!
\***************************/function(n,e,t){"use strict";t.r(e),t.d(e,{default:function(){return y}});var e=t(/*! ./BaseAPI */"./src/BaseAPI.js"),o=t(/*! ./cmi/scorm12_cmi */"./src/cmi/scorm12_cmi.js"),a=t(/*! ./utilities */"./src/utilities.js"),r=t(/*! ./constants/api_constants */"./src/constants/api_constants.js"),t=t(/*! ./constants/error_codes */"./src/constants/error_codes.js");function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function f(n){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?s(Object(i),!0).forEach(function(e){var t,r;t=n,r=i[e=e],e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):s(Object(i)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(i,e))})}return n}function d(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function h(e,t){return(h=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function m(r){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=c(r),t=(e=n?(e=c(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(e&&("object"===i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}}function c(e){return(c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var l=r.default.scorm12,u=r.default.global,p=t.default.scorm12,y=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&h(t,e);var r,n=m(i);function i(e){if(!(this instanceof i))throw new TypeError("Cannot call a class as a function");var e=f(f({},{mastery_override:!1}),e);return(e=n.call(this,p,e)).cmi=new o.CMI,e.nav=new o.NAV,e.LMSInitialize=e.lmsInitialize,e.LMSFinish=e.lmsFinish,e.LMSGetValue=e.lmsGetValue,e.LMSSetValue=e.lmsSetValue,e.LMSCommit=e.lmsCommit,e.LMSGetLastError=e.lmsGetLastError,e.LMSGetErrorString=e.lmsGetErrorString,e.LMSGetDiagnostic=e.lmsGetDiagnostic,e}return t=i,(e=[{key:"lmsInitialize",value:function(){return this.cmi.initialize(),this.initialize("LMSInitialize","LMS was already initialized!","LMS is already finished!")}},{key:"lmsFinish",value:function(){var e=this.terminate("LMSFinish",!0);return e===u.SCORM_TRUE&&(""!==this.nav.event?"continue"===this.nav.event?this.processListeners("SequenceNext"):this.processListeners("SequencePrevious"):this.settings.autoProgress&&this.processListeners("SequenceNext")),e}},{key:"lmsGetValue",value:function(e){return this.getValue("LMSGetValue",!1,e)}},{key:"lmsSetValue",value:function(e,t){return this.setValue("LMSSetValue","LMSCommit",!1,e,t)}},{key:"lmsCommit",value:function(){return this.commit("LMSCommit",!1)}},{key:"lmsGetLastError",value:function(){return this.getLastError("LMSGetLastError")}},{key:"lmsGetErrorString",value:function(e){return this.getErrorString("LMSGetErrorString",e)}},{key:"lmsGetDiagnostic",value:function(e){return this.getDiagnostic("LMSGetDiagnostic",e)}},{key:"setCMIValue",value:function(e,t){return this._commonSetCMIValue("LMSSetValue",!1,e,t)}},{key:"getCMIValue",value:function(e){return this._commonGetCMIValue("getCMIValue",!1,e)}},{key:"getChildElement",value:function(e,t,r){var n;return this.stringMatches(e,"cmi\\.objectives\\.\\d+")?n=new o.CMIObjectivesObject:r&&this.stringMatches(e,"cmi\\.interactions\\.\\d+\\.correct_responses\\.\\d+")?n=new o.CMIInteractionsCorrectResponsesObject:r&&this.stringMatches(e,"cmi\\.interactions\\.\\d+\\.objectives\\.\\d+")?n=new o.CMIInteractionsObjectivesObject:!r&&this.stringMatches(e,"cmi\\.interactions\\.\\d+")&&(n=new o.CMIInteractionsObject),n}},{key:"validateCorrectResponse",value:function(e,t){return!0}},{key:"getLmsErrorMessageDetails",value:function(e,t){var r="No Error",n="No Error";return e=String(e),l.error_descriptions[e]&&(r=l.error_descriptions[e].basicMessage,n=l.error_descriptions[e].detailMessage),t?n:r}},{key:"replaceWithAnotherScormAPI",value:function(e){this.cmi=e.cmi}},{key:"renderCommitCMI",value:function(e){var t=this.renderCMIToJSONObject(),r=(e&&(t.cmi.core.total_time=this.cmi.getCurrentTotalTime()),[]),n=a.flatten(t);switch(this.settings.dataCommitFormat){case"flattened":return a.flatten(t);case"params":for(var i in n)!{}.hasOwnProperty.call(n,i)||r.push("".concat(i,"=").concat(n[i]));return r;default:return t}}},{key:"storeData",value:function(e){e&&("not attempted"===(t=this.cmi.core.lesson_status)&&(this.cmi.core.lesson_status="completed"),"normal"===this.cmi.core.lesson_mode?"credit"===this.cmi.core.credit&&this.settings.mastery_override&&""!==this.cmi.student_data.mastery_score&&""!==this.cmi.core.score.raw&&(parseFloat(this.cmi.core.score.raw)>=parseFloat(this.cmi.student_data.mastery_score)?this.cmi.core.lesson_status="passed":this.cmi.core.lesson_status="failed"):"browse"===this.cmi.core.lesson_mode&&""===((null===(i=this.startingData)||void 0===i||null===(r=i.cmi)||void 0===r||null===(n=r.core)||void 0===n?void 0:n.lesson_status)||"")&&"not attempted"===t&&(this.cmi.core.lesson_status="browsed"));var t,r,n,i=this.renderCommitCMI(e||this.settings.alwaysSendTotalTime);return this.apiLogLevel===u.LOG_LEVEL_DEBUG&&(console.debug("Commit (terminated: "+(e?"yes":"no")+"): "),console.debug(i)),this.settings.lmsCommitUrl?this.processHttpRequest(this.settings.lmsCommitUrl,i,e):u.SCORM_TRUE}}])&&d(t.prototype,e),r&&d(t,r),Object.defineProperty(t,"prototype",{writable:!1}),i}(e.default)},"./src/cmi/common.js":
/*!***************************!*\
!*** ./src/cmi/common.js ***!
\***************************/function(r,n,e){"use strict";e.r(n),e.d(n,{BaseCMI:function(){return L},CMIArray:function(){return x},CMIScore:function(){return D},checkValidFormat:function(){return S},checkValidRange:function(){return I}});var n=e(/*! ../constants/api_constants */"./src/constants/api_constants.js"),i=e(/*! ../constants/error_codes */"./src/constants/error_codes.js"),e=e(/*! ../constants/regex */"./src/constants/regex.js");function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&s(e,t)}function s(e,t){return(s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function c(r){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=l(r),t=(e=n?(e=l(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(e&&("object"===o(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return f(t)}}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function b(e,t,r){return t&&u(e.prototype,t),r&&u(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function d(e,t,r){var n=e;if(t.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object");t.set(e,r)}function h(e,t,r){var t=v(e,t,"set"),n=r;if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}return r}function t(e,t){t=v(e,t,"get");return t.get?t.get.call(e):t.value}function v(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}var M=n.default.scorm12,w=e.default.scorm12,O=i.default.scorm12;function S(e,t,r,n,i){t=new RegExp(t),t=e.match(t);if(i&&""===e)return!0;if(void 0===e||!t||""===t[0])throw new n.prototype.constructor(r);return!0}function I(e,t,r,n){t=t.split("#");if((e=+e)>=t[0]){if("*"===t[1]||e<=t[1])return!0;throw new n.prototype.constructor(r)}throw new n.prototype.constructor(r)}var C=new WeakMap,T=new WeakMap,L=function(){function n(){var e,t,r;if(E(this,n),r=!(t="jsonString"),t in(e=this)?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,d(this,C,{writable:!0,value:!1}),d(this,T,{writable:!0,value:void 0}),(this instanceof n?this.constructor:void 0)===n)throw new TypeError("Cannot construct BaseCMI instances directly")}return b(n,[{key:"initialized",get:function(){return t(this,C)}},{key:"start_time",get:function(){return t(this,T)}},{key:"initialize",value:function(){h(this,C,!0)}},{key:"setStartTime",value:function(){h(this,T,(new Date).getTime())}}]),n}(),R=new WeakMap,m=new WeakMap,j=new WeakMap,p=new WeakMap,y=new WeakMap,g=new WeakMap,_=new WeakMap,A=new WeakMap,N=new WeakMap,k=new WeakMap,D=function(){a(u,L);var l=c(u);function u(e){var t,r=e.score_children,n=e.score_range,i=e.max,o=e.invalidErrorCode,a=e.invalidTypeCode,s=e.invalidRangeCode,c=e.decimalRegex,e=e.errorClass;return E(this,u),d(f(t=l.call(this)),R,{writable:!0,value:void 0}),d(f(t),m,{writable:!0,value:void 0}),d(f(t),j,{writable:!0,value:void 0}),d(f(t),p,{writable:!0,value:void 0}),d(f(t),y,{writable:!0,value:void 0}),d(f(t),g,{writable:!0,value:void 0}),d(f(t),_,{writable:!0,value:void 0}),d(f(t),A,{writable:!0,value:""}),d(f(t),N,{writable:!0,value:""}),d(f(t),k,{writable:!0,value:void 0}),h(f(t),R,r||M.score_children),h(f(t),m,!!n&&w.score_range),h(f(t),k,i||""===i?i:"100"),h(f(t),j,o||O.INVALID_SET_VALUE),h(f(t),p,a||O.TYPE_MISMATCH),h(f(t),y,s||O.VALUE_OUT_OF_RANGE),h(f(t),g,c||w.CMIDecimal),h(f(t),_,e),t}return b(u,[{key:"_children",get:function(){return t(this,R)},set:function(e){throw new(t(this,_).prototype.constructor)(t(this,j))}},{key:"raw",get:function(){return t(this,A)},set:function(e){!S(e,t(this,g),t(this,p),t(this,_))||t(this,m)&&!I(e,t(this,m),t(this,y),t(this,_))||h(this,A,e)}},{key:"min",get:function(){return t(this,N)},set:function(e){!S(e,t(this,g),t(this,p),t(this,_))||t(this,m)&&!I(e,t(this,m),t(this,y),t(this,_))||h(this,N,e)}},{key:"max",get:function(){return t(this,k)},set:function(e){!S(e,t(this,g),t(this,p),t(this,_))||t(this,m)&&!I(e,t(this,m),t(this,y),t(this,_))||h(this,k,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={raw:this.raw,min:this.min,max:this.max};return delete this.jsonString,e}}]),u}(),V=new WeakMap,P=new WeakMap,F=new WeakMap,x=function(){a(o,L);var i=c(o);function o(e){var t,r=e.children,n=e.errorCode,e=e.errorClass;return E(this,o),d(f(t=i.call(this)),V,{writable:!0,value:void 0}),d(f(t),P,{writable:!0,value:void 0}),d(f(t),F,{writable:!0,value:void 0}),h(f(t),F,r),h(f(t),V,n),h(f(t),P,e),t.childArray=[],t}return b(o,[{key:"_children",get:function(){return t(this,F)},set:function(e){throw new(t(this,P).prototype.constructor)(t(this,V))}},{key:"_count",get:function(){return this.childArray.length},set:function(e){throw new(t(this,P).prototype.constructor)(t(this,V))}},{key:"toJSON",value:function(){this.jsonString=!0;for(var e={},t=0;t<this.childArray.length;t++)e[t+""]=this.childArray[t];return delete this.jsonString,e}}]),o}()},"./src/cmi/scorm12_cmi.js":
/*!********************************!*\
!*** ./src/cmi/scorm12_cmi.js ***!
\********************************/function(e,t,r){"use strict";r.r(t),r.d(t,{CMI:function(){return D},CMIInteractionsCorrectResponsesObject:function(){return Me},CMIInteractionsObject:function(){return pe},CMIInteractionsObjectivesObject:function(){return be},CMIObjectivesObject:function(){return _e},CMIStudentData:function(){return ee},CMIStudentPreference:function(){return ae},NAV:function(){return Oe},check12ValidFormat:function(){return h},check12ValidRange:function(){return L},throwReadOnlyError:function(){return d},throwWriteOnlyError:function(){return C}});var i=r(/*! ./common */"./src/cmi/common.js"),t=r(/*! ../constants/api_constants */"./src/constants/api_constants.js"),c=r(/*! ../constants/error_codes */"./src/constants/error_codes.js"),m=r(/*! ../constants/regex */"./src/constants/regex.js"),n=r(/*! ../exceptions */"./src/exceptions.js"),p=r(/*! ../utilities */"./src/utilities.js");function y(e){return(y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function g(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function E(e,t,r){return t&&_(e.prototype,t),r&&_(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function b(){return(b="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=O(e)););return e}(e,t);if(n)return n=Object.getOwnPropertyDescriptor(n,t),n.get?n.get.call(arguments.length<3?e:r):n.value}).apply(this,arguments)}function v(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}function M(e,t){return(M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function w(r){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=O(r),t=(e=n?(e=O(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(e&&("object"===y(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return l(t)}}function l(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t,r){var n=e;if(t.has(n))throw new TypeError("Cannot initialize the same private elements twice on an object");t.set(e,r)}function o(e,t){t=S(e,t,"get");return t.get?t.get.call(e):t.value}function f(e,t,r){var t=S(e,t,"set"),n=r;if(t.set)t.set.call(e,n);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=n}return r}function S(e,t,r){if(!t.has(e))throw new TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}var I=t.default.scorm12,a=m.default.scorm12,s=c.default.scorm12;function d(){throw new n.Scorm12ValidationError(s.READ_ONLY_ELEMENT)}function C(){throw new n.Scorm12ValidationError(s.WRITE_ONLY_ELEMENT)}function T(){throw new n.Scorm12ValidationError(s.INVALID_SET_VALUE)}function h(e,t,r){return(0,i.checkValidFormat)(e,t,s.TYPE_MISMATCH,n.Scorm12ValidationError,r)}function L(e,t,r){return(0,i.checkValidRange)(e,t,s.VALUE_OUT_OF_RANGE,n.Scorm12ValidationError,r)}var R=new WeakMap,j=new WeakMap,A=new WeakMap,N=new WeakMap,k=new WeakMap,D=function(){v(c,i.BaseCMI);var s=w(c);function c(e,t,r){var n,i,o,a;return g(this,c),u(l(n=s.call(this)),R,{writable:!0,value:""}),u(l(n),j,{writable:!0,value:"3.4"}),u(l(n),A,{writable:!0,value:""}),u(l(n),N,{writable:!0,value:""}),u(l(n),k,{writable:!0,value:""}),i=l(n),a=null,(o="student_data")in i?Object.defineProperty(i,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[o]=a,r&&n.initialize(),f(l(n),R,e||I.cmi_children),n.core=new J,n.objectives=new Y,n.student_data=t||new ee,n.student_preference=new ae,n.interactions=new se,n}return E(c,[{key:"initialize",value:function(){var e;b(O(c.prototype),"initialize",this).call(this),null!==(e=this.core)&&void 0!==e&&e.initialize(),null!==(e=this.objectives)&&void 0!==e&&e.initialize(),null!==(e=this.student_data)&&void 0!==e&&e.initialize(),null!==(e=this.student_preference)&&void 0!==e&&e.initialize(),null!==(e=this.interactions)&&void 0!==e&&e.initialize()}},{key:"toJSON",value:function(){this.jsonString=!0;var e={suspend_data:this.suspend_data,launch_data:this.launch_data,comments:this.comments,comments_from_lms:this.comments_from_lms,core:this.core,objectives:this.objectives,student_data:this.student_data,student_preference:this.student_preference,interactions:this.interactions};return delete this.jsonString,e}},{key:"_version",get:function(){return o(this,j)},set:function(e){T()}},{key:"_children",get:function(){return o(this,R)},set:function(e){T()}},{key:"suspend_data",get:function(){var e;return null===(e=this.core)||void 0===e?void 0:e.suspend_data},set:function(e){this.core&&(this.core.suspend_data=e)}},{key:"launch_data",get:function(){return o(this,A)},set:function(e){this.initialized?d():f(this,A,e)}},{key:"comments",get:function(){return o(this,N)},set:function(e){h(e,a.CMIString4096,!0)&&f(this,N,e)}},{key:"comments_from_lms",get:function(){return o(this,k)},set:function(e){this.initialized?d():f(this,k,e)}},{key:"getCurrentTotalTime",value:function(){return this.core.getCurrentTotalTime(this.start_time)}}]),c}(),V=new WeakMap,P=new WeakMap,F=new WeakMap,x=new WeakMap,G=new WeakMap,z=new WeakMap,U=new WeakMap,W=new WeakMap,B=new WeakMap,$=new WeakMap,H=new WeakMap,Z=new WeakMap,J=function(){v(r,i.BaseCMI);var t=w(r);function r(){var e;return g(this,r),u(l(e=t.call(this)),V,{writable:!0,value:I.core_children}),u(l(e),P,{writable:!0,value:""}),u(l(e),F,{writable:!0,value:""}),u(l(e),x,{writable:!0,value:""}),u(l(e),G,{writable:!0,value:""}),u(l(e),z,{writable:!0,value:"not attempted"}),u(l(e),U,{writable:!0,value:""}),u(l(e),W,{writable:!0,value:""}),u(l(e),B,{writable:!0,value:"normal"}),u(l(e),$,{writable:!0,value:""}),u(l(e),H,{writable:!0,value:"00:00:00"}),u(l(e),Z,{writable:!0,value:""}),e.score=new i.CMIScore({score_children:I.score_children,score_range:a.score_range,invalidErrorCode:s.INVALID_SET_VALUE,invalidTypeCode:s.TYPE_MISMATCH,invalidRangeCode:s.VALUE_OUT_OF_RANGE,errorClass:n.Scorm12ValidationError}),e}return E(r,[{key:"initialize",value:function(){var e;b(O(r.prototype),"initialize",this).call(this),null!==(e=this.score)&&void 0!==e&&e.initialize()}},{key:"_children",get:function(){return o(this,V)},set:function(e){T()}},{key:"student_id",get:function(){return o(this,P)},set:function(e){this.initialized?d():f(this,P,e)}},{key:"student_name",get:function(){return o(this,F)},set:function(e){this.initialized?d():f(this,F,e)}},{key:"lesson_location",get:function(){return o(this,x)},set:function(e){h(e,a.CMIString256,!0)&&f(this,x,e)}},{key:"credit",get:function(){return o(this,G)},set:function(e){this.initialized?d():f(this,G,e)}},{key:"lesson_status",get:function(){return o(this,z)},set:function(e){this.initialized?h(e,a.CMIStatus)&&f(this,z,e):h(e,a.CMIStatus2)&&f(this,z,e)}},{key:"entry",get:function(){return o(this,U)},set:function(e){this.initialized?d():f(this,U,e)}},{key:"total_time",get:function(){return o(this,W)},set:function(e){this.initialized?d():f(this,W,e)}},{key:"lesson_mode",get:function(){return o(this,B)},set:function(e){this.initialized?d():f(this,B,e)}},{key:"exit",get:function(){return this.jsonString?o(this,$):C()},set:function(e){h(e,a.CMIExit,!0)&&f(this,$,e)}},{key:"session_time",get:function(){return this.jsonString?o(this,H):C()},set:function(e){h(e,a.CMITimespan)&&f(this,H,e)}},{key:"suspend_data",get:function(){return o(this,Z)},set:function(e){h(e,a.CMIString4096,!0)&&f(this,Z,e)}},{key:"getCurrentTotalTime",value:function(e){var t=o(this,H);return null!=e&&(e=(new Date).getTime()-e,t=p.getSecondsAsHHMMSS(e/1e3)),p.addHHMMSSTimeStrings(o(this,W),t,new RegExp(a.CMITimespan))}},{key:"toJSON",value:function(){this.jsonString=!0;var e={student_id:this.student_id,student_name:this.student_name,lesson_location:this.lesson_location,credit:this.credit,lesson_status:this.lesson_status,entry:this.entry,lesson_mode:this.lesson_mode,exit:this.exit,session_time:this.session_time,score:this.score};return delete this.jsonString,e}}]),r}(),Y=function(){v(t,i.CMIArray);var e=w(t);function t(){return g(this,t),e.call(this,{children:I.objectives_children,errorCode:s.INVALID_SET_VALUE,errorClass:n.Scorm12ValidationError})}return E(t)}(),q=new WeakMap,X=new WeakMap,K=new WeakMap,Q=new WeakMap,ee=function(){v(n,i.BaseCMI);var r=w(n);function n(e){var t;return g(this,n),u(l(t=r.call(this)),q,{writable:!0,value:void 0}),u(l(t),X,{writable:!0,value:""}),u(l(t),K,{writable:!0,value:""}),u(l(t),Q,{writable:!0,value:""}),f(l(t),q,e||I.student_data_children),t}return E(n,[{key:"_children",get:function(){return o(this,q)},set:function(e){T()}},{key:"mastery_score",get:function(){return o(this,X)},set:function(e){this.initialized?d():f(this,X,e)}},{key:"max_time_allowed",get:function(){return o(this,K)},set:function(e){this.initialized?d():f(this,K,e)}},{key:"time_limit_action",get:function(){return o(this,Q)},set:function(e){this.initialized?d():f(this,Q,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={mastery_score:this.mastery_score,max_time_allowed:this.max_time_allowed,time_limit_action:this.time_limit_action};return delete this.jsonString,e}}]),n}(),te=new WeakMap,re=new WeakMap,ne=new WeakMap,ie=new WeakMap,oe=new WeakMap,ae=function(){v(n,i.BaseCMI);var r=w(n);function n(e){var t;return g(this,n),u(l(t=r.call(this)),te,{writable:!0,value:void 0}),u(l(t),re,{writable:!0,value:""}),u(l(t),ne,{writable:!0,value:""}),u(l(t),ie,{writable:!0,value:""}),u(l(t),oe,{writable:!0,value:""}),f(l(t),te,e||I.student_preference_children),t}return E(n,[{key:"_children",get:function(){return o(this,te)},set:function(e){T()}},{key:"audio",get:function(){return o(this,re)},set:function(e){h(e,a.CMISInteger)&&L(e,a.audio_range)&&f(this,re,e)}},{key:"language",get:function(){return o(this,ne)},set:function(e){h(e,a.CMIString256)&&f(this,ne,e)}},{key:"speed",get:function(){return o(this,ie)},set:function(e){h(e,a.CMISInteger)&&L(e,a.speed_range)&&f(this,ie,e)}},{key:"text",get:function(){return o(this,oe)},set:function(e){h(e,a.CMISInteger)&&L(e,a.text_range)&&f(this,oe,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={audio:this.audio,language:this.language,speed:this.speed,text:this.text};return delete this.jsonString,e}}]),n}(),se=function(){v(t,i.CMIArray);var e=w(t);function t(){return g(this,t),e.call(this,{children:I.interactions_children,errorCode:s.INVALID_SET_VALUE,errorClass:n.Scorm12ValidationError})}return E(t)}(),ce=new WeakMap,le=new WeakMap,ue=new WeakMap,fe=new WeakMap,de=new WeakMap,he=new WeakMap,me=new WeakMap,pe=function(){v(r,i.BaseCMI);var t=w(r);function r(){var e;return g(this,r),u(l(e=t.call(this)),ce,{writable:!0,value:""}),u(l(e),le,{writable:!0,value:""}),u(l(e),ue,{writable:!0,value:""}),u(l(e),fe,{writable:!0,value:""}),u(l(e),de,{writable:!0,value:""}),u(l(e),he,{writable:!0,value:""}),u(l(e),me,{writable:!0,value:""}),e.objectives=new i.CMIArray({errorCode:s.INVALID_SET_VALUE,errorClass:n.Scorm12ValidationError,children:I.objectives_children}),e.correct_responses=new i.CMIArray({errorCode:s.INVALID_SET_VALUE,errorClass:n.Scorm12ValidationError,children:I.correct_responses_children}),e}return E(r,[{key:"initialize",value:function(){var e;b(O(r.prototype),"initialize",this).call(this),null!==(e=this.objectives)&&void 0!==e&&e.initialize(),null!==(e=this.correct_responses)&&void 0!==e&&e.initialize()}},{key:"id",get:function(){return this.jsonString?o(this,ce):C()},set:function(e){h(e,a.CMIIdentifier)&&f(this,ce,e)}},{key:"time",get:function(){return this.jsonString?o(this,le):C()},set:function(e){h(e,a.CMITime)&&f(this,le,e)}},{key:"type",get:function(){return this.jsonString?o(this,ue):C()},set:function(e){h(e,a.CMIType)&&f(this,ue,e)}},{key:"weighting",get:function(){return this.jsonString?o(this,fe):C()},set:function(e){h(e,a.CMIDecimal)&&L(e,a.weighting_range)&&f(this,fe,e)}},{key:"student_response",get:function(){return this.jsonString?o(this,de):C()},set:function(e){h(e,a.CMIFeedback,!0)&&f(this,de,e)}},{key:"result",get:function(){return this.jsonString?o(this,he):C()},set:function(e){h(e,a.CMIResult)&&f(this,he,e)}},{key:"latency",get:function(){return this.jsonString?o(this,me):C()},set:function(e){h(e,a.CMITimespan)&&f(this,me,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={id:this.id,time:this.time,type:this.type,weighting:this.weighting,student_response:this.student_response,result:this.result,latency:this.latency,objectives:this.objectives,correct_responses:this.correct_responses};return delete this.jsonString,e}}]),r}(),ye=new WeakMap,ge=new WeakMap,_e=function(){v(r,i.BaseCMI);var t=w(r);function r(){var e;return g(this,r),u(l(e=t.call(this)),ye,{writable:!0,value:""}),u(l(e),ge,{writable:!0,value:""}),e.score=new i.CMIScore({score_children:I.score_children,score_range:a.score_range,invalidErrorCode:s.INVALID_SET_VALUE,invalidTypeCode:s.TYPE_MISMATCH,invalidRangeCode:s.VALUE_OUT_OF_RANGE,errorClass:n.Scorm12ValidationError}),e}return E(r,[{key:"id",get:function(){return o(this,ye)},set:function(e){h(e,a.CMIIdentifier)&&f(this,ye,e)}},{key:"status",get:function(){return o(this,ge)},set:function(e){h(e,a.CMIStatus2)&&f(this,ge,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={id:this.id,status:this.status,score:this.score};return delete this.jsonString,e}}]),r}(),Ee=new WeakMap,be=function(){v(r,i.BaseCMI);var t=w(r);function r(){var e;return g(this,r),u(l(e=t.call(this)),Ee,{writable:!0,value:""}),e}return E(r,[{key:"id",get:function(){return o(this,Ee)},set:function(e){h(e,a.CMIIdentifier)&&f(this,Ee,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={id:this.id};return delete this.jsonString,e}}]),r}(),ve=new WeakMap,Me=function(){v(r,i.BaseCMI);var t=w(r);function r(){var e;return g(this,r),u(l(e=t.call(this)),ve,{writable:!0,value:""}),e}return E(r,[{key:"pattern",get:function(){return this.jsonString?o(this,ve):C()},set:function(e){h(e,a.CMIFeedback,!0)&&f(this,ve,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={pattern:this.pattern};return delete this.jsonString,e}}]),r}(),we=new WeakMap,Oe=function(){v(r,i.BaseCMI);var t=w(r);function r(){var e;return g(this,r),u(l(e=t.call(this)),we,{writable:!0,value:""}),e}return E(r,[{key:"event",get:function(){return o(this,we)},set:function(e){h(e,a.NAVEvent)&&f(this,we,e)}},{key:"toJSON",value:function(){this.jsonString=!0;var e={event:this.event};return delete this.jsonString,e}}]),r}()},"./src/constants/api_constants.js":
/*!****************************************!*\
!*** ./src/constants/api_constants.js ***!
\****************************************/function(e,t,r){"use strict";function o(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}function n(n){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?o(Object(i),!0).forEach(function(e){var t,r;t=n,r=i[e=e],e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(i,e))})}return n}r.r(t);var r={cmi_children:"core,suspend_data,launch_data,comments,objectives,student_data,student_preference,interactions",core_children:"student_id,student_name,lesson_location,credit,lesson_status,entry,score,total_time,lesson_mode,exit,session_time",score_children:"raw,min,max",comments_children:"content,location,time",objectives_children:"id,score,status",correct_responses_children:"pattern",student_data_children:"mastery_score,max_time_allowed,time_limit_action",student_preference_children:"audio,language,speed,text",interactions_children:"id,objectives,time,type,correct_responses,weighting,student_response,result,latency",error_descriptions:{101:{basicMessage:"General Exception",detailMessage:"No specific error code exists to describe the error. Use LMSGetDiagnostic for more information"},201:{basicMessage:"Invalid argument error",detailMessage:"Indicates that an argument represents an invalid data model element or is otherwise incorrect."},202:{basicMessage:"Eleme