Explorar o código

Implement the service w/o localStorage

-version 1.1.0
Lucas de Souza %!s(int64=5) %!d(string=hai) anos
pai
achega
6c0683086b
Modificáronse 3 ficheiros con 32 adicións e 1 borrados
  1. 29 0
      LanguageServiceNoLS.ts
  2. 2 0
      index.ts
  3. 1 1
      package.json

+ 29 - 0
LanguageServiceNoLS.ts

@@ -0,0 +1,29 @@
+export class LanguageServiceNoLS {
+
+  private listeners: Array<() => void> = [];
+
+  constructor (private lang: string) { }
+
+  setupListener (): void { }
+
+  notifyChange (): void {
+    this.listeners.forEach(l => l());
+  }
+
+  setLang (lang: string): void {
+    this.lang = lang;
+    this.notifyChange();
+  }
+
+  getLang (): string {
+    return this.lang;
+  }
+
+  getDefaultLang (): string {
+    return this.lang;
+  }
+
+  registerLanguageChangeListener (listener: () => void) {
+    this.listeners.push(listener);
+  }
+}

+ 2 - 0
index.ts

@@ -1,9 +1,11 @@
 import { LanguageService } from "./LanguageService";
 import { LocalizedStrings } from "./LocalizedStrings";
 import { StringTypes } from "./StringTypes";
+import { LanguageServiceNoLS } from "./LanguageServiceNoLS";
 
 export default {
   LanguageService,
+  LanguageServiceNoLS,
   LocalizedStrings,
   StringTypes
 }

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "line-i18n",
-  "version": "1.0.0",
+  "version": "1.1.0",
   "description": "Helper library used along side all LInE projects to enable i18n functionalities",
   "main": "dist/index.js",
   "scripts": {