languageService.js 625 B

1234567891011121314151617181920212223242526272829
  1. import Lexers from './../../grammar/';
  2. import { isNullOrUndefined } from 'util';
  3. const DEFAULT_LANG = 'pt';
  4. export const LanguageService = ({
  5. getLang: () => {
  6. const lang = localStorage.getItem('ivprog.lang');
  7. if (lang === null) {
  8. throw new Error("Internal Error. User language information has not been set");
  9. }
  10. return lang;
  11. },
  12. getDefaultLang: () => {
  13. return DEFAULT_LANG;
  14. },
  15. getCurrentLexer: () => {
  16. const lexer = Lexers[LanguageService.getLang()];
  17. if(lexer === null || lexer === undefined) {
  18. return Lexers[DEFAULT_LANG];
  19. } else {
  20. return lexer;
  21. }
  22. }
  23. });