瀏覽代碼

Implement the service w/o localStorage

-version 1.1.0
Lucas de Souza 5 年之前
父節點
當前提交
6c0683086b
共有 3 個文件被更改,包括 32 次插入1 次删除
  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": {