A biblioteca disponibiliza um encapsulamento da biblioteca pipwerks e do localStorage do browser, para simular um comportamento de persistencia de dados no localStorge quando não houver scorm.
Instalando:
npm i scorm-localstorage-service
Instanciando e usando:
const api = PersistanceService.Create(); //cria a instancia
api.init(); //sempre inicializar primeiro
api.saveObject('points', 10);
let savedPoints = api.loadObject('points');
PersistanceService.init();
PersistanceService.get(String key): String;
PersistanceService.set(String key, String value): Boolean;
PersistanceService.save();
PersistanceService.quit();
PersistanceService.getObject(String key): Object;
PersistanceService.setObject(String key, Object value);
PersistanceService.loadObject(String key): Object;
PersistanceService.saveObject(String key, Object value): Void;
PersistanceService.saveQuiz(String key, Object value);
PersistanceService.loadQuiz(String key, Object value);
PersistanceService.getQuizCollection():Object;
PersistanceService.setLessonStatus(String status):Void;
PersistanceService.setCompleted():Void;
Tenta inicializar a api scorm, caso não consiga inicia o serviço de localStorage.
Faz um get puro da api pipwerks, ou localStorage;
Faz um set puro da api pipwerks, ou localStorage;
Faz um save puro da api pipwerks;
Faz um quit puro da api pipwerks;
Faz um PersistanceService.get(key)
mas retorna o o value com JSON.parse.
Faz um PersistanceService.set(key, value)
mas transforma o value em json com o JSON.stringify.
Faz um PersistanceService.getObject('cmi.suspend_data')[key]
, retornando com JSON.parse.
Faz um PersistanceService.setObject('cmi.suspend_data')[key]
= value, transforma o value em json com o JSON.stringify antes de salvar.
Faz um PersistanceService.saveObject('cmi.suspend_data')['quizes'][key]
, retornando com JSON.parse.
Faz um PersistanceService.saveObject('cmi.suspend_data')['quizes'][key]
= value, transforma o value em json com o JSON.stringify antes de salvar.
Faz um PersistanceService.saveObject('cmi.suspend_data')['quizes']
, retornando com JSON.parse.
Faz um PersistanceService.set(SCORM_API.LESSON_STATUS, status);
.
Faz um PersistanceService.setLessonStatus(STATUS.COMPLETED);
.
-
STATUS
- PASSED, COMPLETED, FAILED, INCOMPLETE, BROWSED, NOT_ATTEMPTED
-
SCORM_API
-
SUSPEND_DATA, LESSON_STATUS, LESSON_LOCATION, SCORE