@christianriedl/utils 1.0.13 → 1.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,13 @@
1
+ import { IAppConfig, IConfigItem, ItemType, Dictionary } from './types';
2
+ import { LogLevel } from './iLogger';
3
+ export declare class AppConfig implements IAppConfig {
4
+ private storage;
5
+ items: Dictionary<IConfigItem>;
6
+ add<T>(name: string, value: ItemType): void;
7
+ load(): void;
8
+ save(): void;
9
+ restoreDefaults(): void;
10
+ get initialLogLevel(): LogLevel;
11
+ get useDbLog(): boolean;
12
+ get loggerQueueSize(): number;
13
+ }
@@ -0,0 +1,52 @@
1
+ import { LogLevel } from './iLogger';
2
+ export class AppConfig {
3
+ storage;
4
+ items = {};
5
+ /* Does not work when derived class not in same lib
6
+ constructor(storage: ILocalStorage) {
7
+ this.storage = storage;
8
+ }
9
+ */
10
+ add(name, value) {
11
+ const item = { name: name, value: value, default: value };
12
+ this.items[name] = item;
13
+ }
14
+ load() {
15
+ for (const key in this.items) {
16
+ const item = this.items[key];
17
+ switch (typeof item.default) {
18
+ case "string":
19
+ item.value = this.storage.getItemString(item.name, item.default);
20
+ break;
21
+ case "number":
22
+ item.value = this.storage.getItemNumber(item.name, item.default);
23
+ break;
24
+ case "boolean":
25
+ item.value = this.storage.getItemBoolean(item.name, item.default);
26
+ break;
27
+ }
28
+ }
29
+ }
30
+ save() {
31
+ for (const key in this.items) {
32
+ const item = this.items[key];
33
+ this.storage.setItem(item.name, item.value);
34
+ }
35
+ }
36
+ restoreDefaults() {
37
+ for (const key in this.items) {
38
+ const item = this.items[key];
39
+ item.value = item.default;
40
+ }
41
+ }
42
+ get initialLogLevel() {
43
+ return LogLevel[this.items['initialLogLevel'].value];
44
+ }
45
+ get useDbLog() {
46
+ return this.items['useDbLog'].value;
47
+ }
48
+ get loggerQueueSize() {
49
+ return this.items['loggerQueueSize'].value;
50
+ }
51
+ }
52
+ //# sourceMappingURL=appConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../src/appConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,MAAM,OAAO,SAAS;IACV,OAAO,CAAgB;IAE/B,KAAK,GAA4B,EAAE,CAAC;IAEpC;;;;MAIE;IACF,GAAG,CAAI,IAAY,EAAE,KAAe;QAChC,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI;QACA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,QAAQ,OAAO,IAAI,CAAC,OAAO,EAAE;gBACzB,KAAK,QAAQ;oBACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM;gBACV,KAAK,QAAQ;oBACT,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjE,MAAM;gBACV,KAAK,SAAS;oBACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClE,MAAM;aACb;SACJ;IACL,CAAC;IACD,IAAI;QACA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/C;IACL,CAAC;IACD,eAAe;QACX,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;SAC7B;IACL,CAAC;IAED,IAAI,eAAe;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,KAA8B,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAgB,CAAA;IAClD,CAAC;IACD,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,KAAe,CAAA;IACxD,CAAC;CAEJ"}
@@ -1,15 +1,18 @@
1
- import { IAppState, IReactive, EBrowser, EDevice, Ref, Dictionary } from './types';
1
+ import { IAppState, IReactive, EBrowser, EDevice, Ref } from './types';
2
2
  export declare class AppState implements IAppState {
3
3
  browser: EBrowser;
4
4
  device: EDevice;
5
5
  isMobile: boolean;
6
- useDbLog: boolean;
7
6
  currentPage: Ref<string>;
7
+ pageWidth: Ref<number>;
8
+ pageHeight: Ref<number>;
9
+ headerHeight: Ref<number>;
10
+ bodyHeight: Ref<number>;
11
+ footerHeight: Ref<number>;
8
12
  swMessage: Ref<string>;
9
13
  swOnline: Ref<boolean>;
10
14
  swSubscribed: Ref<boolean>;
11
15
  swUpdated: Ref<boolean>;
12
16
  constructor(reactive?: IReactive);
13
17
  setBrowser(window: Window): void;
14
- setConfig(value: Dictionary<string>): void;
15
18
  }
package/dist/appState.js CHANGED
@@ -4,10 +4,12 @@ export class AppState {
4
4
  browser = EBrowser.Unknown;
5
5
  device = EDevice.Unknown;
6
6
  isMobile = false;
7
- //isElectron: boolean;
8
- //initialLogLevel: string;
9
- useDbLog = false;
10
7
  currentPage;
8
+ pageWidth;
9
+ pageHeight;
10
+ headerHeight;
11
+ bodyHeight;
12
+ footerHeight;
11
13
  swMessage;
12
14
  swOnline;
13
15
  swSubscribed;
@@ -16,12 +18,18 @@ export class AppState {
16
18
  if (!reactive)
17
19
  reactive = Helper.createDummyReactive();
18
20
  this.currentPage = reactive.ref('');
21
+ this.pageWidth = reactive.ref(0);
22
+ this.pageHeight = reactive.ref(0);
23
+ this.footerHeight = reactive.ref(0);
24
+ this.bodyHeight = reactive.ref(0);
25
+ this.footerHeight = reactive.ref(0);
19
26
  this.swMessage = reactive.ref('');
20
27
  this.swOnline = reactive.ref(false);
21
28
  this.swSubscribed = reactive.ref(false);
22
29
  this.swUpdated = reactive.ref(false);
23
30
  }
24
31
  setBrowser(window) {
32
+ this.isMobile = Helper.isMobileDevice();
25
33
  if (window && window.navigator) {
26
34
  const sUsrAg = window.navigator.userAgent;
27
35
  if (sUsrAg) {
@@ -60,9 +68,5 @@ export class AppState {
60
68
  }
61
69
  }
62
70
  }
63
- setConfig(value) {
64
- //this.initialLogLevel = value['initialLogLevel'];
65
- this.useDbLog = value['useDbLog'] === "true" ? true : false;
66
- }
67
71
  }
68
72
  //# sourceMappingURL=appState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"appState.js","sourceRoot":"","sources":["../src/appState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAE,OAAO,EAAmB,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,QAAQ;IACjB,OAAO,GAAa,QAAQ,CAAC,OAAO,CAAC;IACrC,MAAM,GAAY,OAAO,CAAC,OAAO,CAAC;IAClC,QAAQ,GAAY,KAAK,CAAC;IAC1B,sBAAsB;IACtB,0BAA0B;IAC1B,QAAQ,GAAY,KAAK,CAAC;IAC1B,WAAW,CAAc;IACzB,SAAS,CAAc;IACvB,QAAQ,CAAe;IACvB,YAAY,CAAe;IAC3B,SAAS,CAAe;IAExB,YAAY,QAAoB;QAC5B,IAAI,CAAC,QAAQ;YACT,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAE,MAAc;QACtB,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;YAC1C,IAAI,MAAM,EAAE;gBACR,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;qBAC5B,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC/B;;;sBAGE;oBACF,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG;4BAChD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;;4BAE/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;qBAChC;iBACJ;qBACI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBAC1B,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;yBAC5B,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC;wBACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;iBAClC;qBACI,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;qBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC/D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;qBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC1C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;qBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC;aACzC;SACJ;IACL,CAAC;IACD,SAAS,CAAC,KAAyB;QAC/B,kDAAkD;QAClD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChE,CAAC;CACJ"}
1
+ {"version":3,"file":"appState.js","sourceRoot":"","sources":["../src/appState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAE,OAAO,EAAmB,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,QAAQ;IACjB,OAAO,GAAa,QAAQ,CAAC,OAAO,CAAC;IACrC,MAAM,GAAY,OAAO,CAAC,OAAO,CAAC;IAClC,QAAQ,GAAY,KAAK,CAAC;IAC1B,WAAW,CAAc;IACzB,SAAS,CAAc;IACvB,UAAU,CAAc;IACxB,YAAY,CAAc;IAC1B,UAAU,CAAc;IACxB,YAAY,CAAc;IAC1B,SAAS,CAAc;IACvB,QAAQ,CAAe;IACvB,YAAY,CAAe;IAC3B,SAAS,CAAe;IAExB,YAAY,QAAoB;QAC5B,IAAI,CAAC,QAAQ;YACT,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAAC,MAAc;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QACxC,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;YAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;YAC1C,IAAI,MAAM,EAAE;gBACR,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC3B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;qBAC5B,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC/B;;;sBAGE;oBACF,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG;4BAChD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;;4BAE/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;qBAChC;iBACJ;qBACI,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACpC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;oBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;yBAC1B,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAClC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;yBAC5B,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC;wBACjC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;iBAClC;qBACI,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;qBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC/D,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;qBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBAC1C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;qBAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC;aACzC;SACJ;IACL,CAAC;CACJ"}
package/dist/helper.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { LogLevel } from './iLogger';
1
2
  const dec = [1, 10, 100, 1000, 10000, 100000, 1000000];
2
3
  const ms1970m1d1 = 62135596800000;
3
4
  export class Helper {
@@ -142,20 +143,21 @@ export class Helper {
142
143
  }
143
144
  static createNullLogger() {
144
145
  return {
145
- /*
146
146
  minLogLevel: LogLevel.Trace, countAll: 0, countEnabled: 0, name: 'NullLogger',
147
- error: (msg: string) => { }, warning: (msg: string) => { }, info: (msg: string) => { }, trace: (msg: string) => { },
148
- log: (sev: LogLevel, msg: string) => { }, performance: (msg: string) => { }, startPerformance: () => { }
149
- */
150
- minLogLevel: 0, countAll: 0, countEnabled: 0, name: 'NullLogger',
151
147
  error: (msg) => { }, warning: (msg) => { }, info: (msg) => { }, trace: (msg) => { },
152
148
  log: (sev, msg) => { }, performance: (msg) => { }, startPerformance: () => { }
149
+ /*
150
+ minLogLevel: 0, countAll: 0, countEnabled: 0, name: 'NullLogger',
151
+ error: (msg: string) => { }, warning: (msg: string) => { }, info: (msg: string) => { }, trace: (msg: string) => { },
152
+ log: (sev: number, msg: string) => { }, performance: (msg: string) => { }, startPerformance: () => { }
153
+ */
153
154
  };
154
155
  }
155
156
  static createDummyReactive() {
156
157
  return {
157
158
  ref: (t) => { return { value: t }; },
158
- reactive: (obj) => { return obj; }
159
+ reactive: (obj) => { return obj; },
160
+ toRaw: (obj) => { return obj; }
159
161
  };
160
162
  }
161
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,3 +5,4 @@ export * from './localStorage';
5
5
  export * from './registerServiceWorker';
6
6
  export * from './reactiveStorage';
7
7
  export * from './appState';
8
+ export * from './appConfig';
package/dist/index.js CHANGED
@@ -5,4 +5,5 @@ export * from './localStorage';
5
5
  export * from './registerServiceWorker';
6
6
  export * from './reactiveStorage';
7
7
  export * from './appState';
8
+ export * from './appConfig';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,62 @@
1
+ export declare enum LogLevel {
2
+ Trace = 0,
3
+ Debug = 1,
4
+ Information = 2,
5
+ Warning = 3,
6
+ Error = 4,
7
+ Critical = 5
8
+ }
9
+ export interface ILoggerEntry {
10
+ uniqueId: number;
11
+ logLevel: LogLevel;
12
+ now: Date;
13
+ categoryName: string;
14
+ message: string;
15
+ }
16
+ export interface ILoggerEntryEx extends ILoggerEntry {
17
+ timeAsc: string;
18
+ severityAsc: string;
19
+ styleObject: any;
20
+ }
21
+ export interface ILoggerInfo {
22
+ name: string;
23
+ countAll: number;
24
+ countEnabled: number;
25
+ minLogLevel: LogLevel;
26
+ }
27
+ export interface ILogger extends ILoggerInfo {
28
+ trace(msg: string): void;
29
+ info(msg: string): void;
30
+ warning(msg: string): void;
31
+ error(msg: string): void;
32
+ log(severity: LogLevel, msg: string): void;
33
+ startPerformance(): void;
34
+ performance(msg: string): void;
35
+ }
36
+ export interface IProviderInfo extends ILoggerInfo {
37
+ info: string;
38
+ }
39
+ export interface ILoggerProvider extends IProviderInfo {
40
+ log(logEntry: ILoggerEntry, formatedMessage: string): void;
41
+ }
42
+ export interface ILoggerQueueEntries {
43
+ lastUniqueId: number;
44
+ readPointerStart: number;
45
+ readPointerNext: number;
46
+ writePointer: number;
47
+ size: number;
48
+ firstTime: Date;
49
+ lastTime: Date;
50
+ minLogLevel: LogLevel;
51
+ entries: ILoggerEntry[];
52
+ }
53
+ export interface ILoggerService {
54
+ name: string;
55
+ getLoggers(): Promise<ILoggerInfo[]>;
56
+ getProviders(): Promise<IProviderInfo[]>;
57
+ setLoggerLevel(logger: string, level: LogLevel): Promise<boolean>;
58
+ setProviderLevel(provider: string, level: LogLevel): Promise<boolean>;
59
+ getQueuedLogs(minLogLevel: LogLevel, maxCount: number, maxMinutes: number, reverse: boolean, trimCategory: boolean, readPointer: number): Promise<ILoggerQueueEntries>;
60
+ clearCounter(): Promise<boolean>;
61
+ clearQueue(): Promise<boolean>;
62
+ }
@@ -0,0 +1,10 @@
1
+ export var LogLevel;
2
+ (function (LogLevel) {
3
+ LogLevel[LogLevel["Trace"] = 0] = "Trace";
4
+ LogLevel[LogLevel["Debug"] = 1] = "Debug";
5
+ LogLevel[LogLevel["Information"] = 2] = "Information";
6
+ LogLevel[LogLevel["Warning"] = 3] = "Warning";
7
+ LogLevel[LogLevel["Error"] = 4] = "Error";
8
+ LogLevel[LogLevel["Critical"] = 5] = "Critical";
9
+ })(LogLevel || (LogLevel = {}));
10
+ //# sourceMappingURL=iLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iLogger.js","sourceRoot":"","sources":["../../../../logger/src/iLogger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,yCAAS,CAAA;IACT,yCAAS,CAAA;IACT,qDAAe,CAAA;IACf,6CAAW,CAAA;IACX,yCAAS,CAAA;IACT,+CAAY,CAAA;AAChB,CAAC,EAPW,QAAQ,KAAR,QAAQ,QAOnB"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { LogLevel } from './iLogger';
1
2
  export declare type Dictionary<T> = {
2
3
  [key: string]: T;
3
4
  };
@@ -11,6 +12,7 @@ export interface IValueText {
11
12
  export interface IReactive {
12
13
  ref<T>(value: T): Ref<T>;
13
14
  reactive<T>(obj: T): T;
15
+ toRaw<T>(obj: T): T;
14
16
  }
15
17
  export declare enum EBrowser {
16
18
  Unknown = 0,
@@ -33,12 +35,32 @@ export interface IAppInfo {
33
35
  browser: EBrowser;
34
36
  device: EDevice;
35
37
  isMobile: boolean;
36
- useDbLog: boolean;
37
38
  }
38
39
  export interface IAppState extends IAppInfo {
39
40
  currentPage: Ref<string>;
41
+ pageWidth: Ref<number>;
42
+ pageHeight: Ref<number>;
43
+ headerHeight: Ref<number>;
44
+ bodyHeight: Ref<number>;
45
+ footerHeight: Ref<number>;
40
46
  swMessage: Ref<string>;
41
47
  swOnline: Ref<boolean>;
42
48
  swSubscribed: Ref<boolean>;
43
49
  swUpdated: Ref<boolean>;
44
50
  }
51
+ export declare type ItemType = string | number | boolean;
52
+ export interface IConfigItem {
53
+ name: string;
54
+ value: ItemType;
55
+ default: ItemType;
56
+ }
57
+ export interface IAppConfig {
58
+ items: Dictionary<IConfigItem>;
59
+ add(name: string, value: ItemType): void;
60
+ load(): void;
61
+ save(): void;
62
+ restoreDefaults(): void;
63
+ initialLogLevel: LogLevel;
64
+ useDbLog: boolean;
65
+ loggerQueueSize: number;
66
+ }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOC,CAAC;AAOF,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6CAAW,CAAA;IACX,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,yCAAK,CAAA;IACL,uCAAI,CAAA;IACJ,iDAAS,CAAA;IACT,2CAAM,CAAA;IACN,2CAAM,CAAA;AACV,CAAC,EATW,QAAQ,KAAR,QAAQ,QASnB;AACD,MAAM,CAAN,IAAY,OAMX;AAND,WAAY,OAAO;IACf,2CAAW,CAAA;IACX,yCAAM,CAAA;IACN,qCAAI,CAAA;IACJ,iCAAE,CAAA;IACF,6CAAQ,CAAA;AACZ,CAAC,EANW,OAAO,KAAP,OAAO,QAMlB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AASC,CAAC;AAQF,MAAM,CAAN,IAAY,QASX;AATD,WAAY,QAAQ;IAChB,6CAAW,CAAA;IACX,6CAAO,CAAA;IACP,6CAAO,CAAA;IACP,yCAAK,CAAA;IACL,uCAAI,CAAA;IACJ,iDAAS,CAAA;IACT,2CAAM,CAAA;IACN,2CAAM,CAAA;AACV,CAAC,EATW,QAAQ,KAAR,QAAQ,QASnB;AACD,MAAM,CAAN,IAAY,OAMX;AAND,WAAY,OAAO;IACf,2CAAW,CAAA;IACX,yCAAM,CAAA;IACN,qCAAI,CAAA;IACJ,iCAAE,CAAA;IACF,6CAAQ,CAAA;AACZ,CAAC,EANW,OAAO,KAAP,OAAO,QAMlB"}
@@ -0,0 +1,28 @@
1
+ export declare type Dictionary<T> = {
2
+ [key: string]: T;
3
+ };
4
+ export interface IValueText {
5
+ value: number;
6
+ text: string;
7
+ }
8
+ export declare class Helper {
9
+ static fromMilliseconds1970(ms: number): Date;
10
+ static toTicks(dt: Date): number;
11
+ static toUnixTime(dt: Date): number;
12
+ static fromTicks(ticks: number): Date;
13
+ static fromUnixTime(unixTime: number): Date;
14
+ static toUTC(dt: Date): Date;
15
+ static toLocal(dt: Date): Date;
16
+ static round(value: number, digits: number | undefined): string;
17
+ static formatTime(dt: Date, withSeconds?: boolean): string;
18
+ static formatDayTime(dt: Date, withSeconds?: boolean): string;
19
+ private static padNumber2;
20
+ static toColor(red: number, green: number, blue: number): string;
21
+ static generateUUID(): string;
22
+ static deepCompare(o: any, p: any): boolean;
23
+ static isMobileDevice(): boolean;
24
+ static wait(ms: number): Promise<void>;
25
+ static enumToString(en: any, value: unknown): string;
26
+ static stringToEnum(en: any, value: unknown): number;
27
+ static getEnumOptions(en: any): IValueText[];
28
+ }
@@ -0,0 +1,144 @@
1
+ const dec = [1, 10, 100, 1000, 10000, 100000, 1000000];
2
+ const ms1970m1d1 = 62135596800000;
3
+ export class Helper {
4
+ static fromMilliseconds1970(ms) {
5
+ ms = ms - ms1970m1d1;
6
+ return new Date(ms); // 1.1.1970 utc in ms
7
+ }
8
+ static toTicks(dt) {
9
+ return ((dt.getTime() * 10000) + 621355968000000000);
10
+ }
11
+ static toUnixTime(dt) {
12
+ return Math.round(dt.getTime() / 1000);
13
+ }
14
+ static fromTicks(ticks) {
15
+ return new Date((ticks - 621355968000000000) / 1000);
16
+ }
17
+ static fromUnixTime(unixTime) {
18
+ return new Date(unixTime * 1000);
19
+ }
20
+ static toUTC(dt) {
21
+ return new Date(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), dt.getUTCHours(), dt.getUTCMinutes(), dt.getUTCSeconds());
22
+ }
23
+ static toLocal(dt) {
24
+ let d = dt.getTime() - dt.getTimezoneOffset() * 60000;
25
+ return new Date(d);
26
+ }
27
+ static round(value, digits) {
28
+ if (!digits) {
29
+ digits = 0;
30
+ }
31
+ value = Math.round(value * dec[digits]) / dec[digits];
32
+ return value.toString();
33
+ }
34
+ static formatTime(dt, withSeconds) {
35
+ let s = Helper.padNumber2(dt.getHours()) + ':' + Helper.padNumber2(dt.getMinutes());
36
+ if (withSeconds) {
37
+ s = s + ':' + this.padNumber2(dt.getSeconds());
38
+ }
39
+ return s;
40
+ }
41
+ static formatDayTime(dt, withSeconds) {
42
+ let s = dt.getDate() + ' ' + Helper.padNumber2(dt.getHours()) + ':' + Helper.padNumber2(dt.getMinutes());
43
+ if (withSeconds) {
44
+ s = s + ':' + this.padNumber2(dt.getSeconds());
45
+ }
46
+ return s;
47
+ }
48
+ static padNumber2(num, radix) {
49
+ let s = num.toString(radix);
50
+ if (s.length < 2)
51
+ s = '0' + s;
52
+ return s;
53
+ }
54
+ static toColor(red, green, blue) {
55
+ return '#' + Helper.padNumber2(red, 16) + Helper.padNumber2(green, 16) + Helper.padNumber2(blue, 16);
56
+ }
57
+ static generateUUID() {
58
+ var d = new Date().getTime();
59
+ d += performance.now(); //use high-precision timer if available
60
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
61
+ var r = (d + Math.random() * 16) % 16 | 0;
62
+ d = Math.floor(d / 16);
63
+ return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
64
+ });
65
+ }
66
+ static deepCompare(o, p) {
67
+ if (typeof o == 'undefined' || typeof p == 'undefined') {
68
+ return typeof o == typeof p;
69
+ }
70
+ var i, keysO = Object.keys(o).sort(), keysP = Object.keys(p).sort();
71
+ if (keysO.length !== keysP.length)
72
+ return false; //not the same nr of keys
73
+ if (keysO.join('') !== keysP.join(''))
74
+ return false; //different keys
75
+ for (i = 0; i < keysO.length; ++i) {
76
+ if (o[keysO[i]] instanceof Array) {
77
+ if (!(p[keysO[i]] instanceof Array))
78
+ return false;
79
+ //if (compareObjects(o[keysO[i]], p[keysO[i]] === false) return false
80
+ //would work, too, and perhaps is a better fit, still, this is easy, too
81
+ if (p[keysO[i]].sort().join('') !== o[keysO[i]].sort().join(''))
82
+ return false;
83
+ }
84
+ else if (o[keysO[i]] instanceof Date) {
85
+ if (!(p[keysO[i]] instanceof Date))
86
+ return false;
87
+ if (('' + o[keysO[i]]) !== ('' + p[keysO[i]]))
88
+ return false;
89
+ }
90
+ else if (o[keysO[i]] instanceof Function) {
91
+ if (!(p[keysO[i]] instanceof Function))
92
+ return false;
93
+ //ignore functions, or check them regardless?
94
+ }
95
+ else if (o[keysO[i]] instanceof Object) {
96
+ if (!(p[keysO[i]] instanceof Object))
97
+ return false;
98
+ if (o[keysO[i]] === o) { //self reference?
99
+ if (p[keysO[i]] !== p)
100
+ return false;
101
+ }
102
+ else if (Helper.deepCompare(o[keysO[i]], p[keysO[i]]) === false)
103
+ return false; //WARNING: does not deal with circular refs other than ^^
104
+ }
105
+ else if (o[keysO[i]] !== p[keysO[i]]) //change !== to != for loose comparison
106
+ return false; //not the same value
107
+ }
108
+ return true;
109
+ }
110
+ static isMobileDevice() {
111
+ return (typeof window.orientation !== "undefined");
112
+ }
113
+ static wait(ms) {
114
+ return new Promise(r => setTimeout(r, ms));
115
+ }
116
+ static enumToString(en, value) {
117
+ if (typeof value === 'string')
118
+ return value;
119
+ if (typeof value === 'number')
120
+ return en[value];
121
+ return '';
122
+ }
123
+ static stringToEnum(en, value) {
124
+ if (typeof value === 'string') {
125
+ return en[value];
126
+ //const e = en as { [key: string]: number };
127
+ //return e[value];
128
+ }
129
+ if (typeof value === 'number')
130
+ return value;
131
+ return -1;
132
+ }
133
+ static getEnumOptions(en) {
134
+ const options = [];
135
+ for (const key in en) {
136
+ const val = en[key];
137
+ if (typeof val === 'number') {
138
+ options.push({ value: val, text: key });
139
+ }
140
+ }
141
+ return options;
142
+ }
143
+ }
144
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface ILocalStorage {
2
+ getItem(name: string): string | null;
3
+ getItemString(name: string, def?: string): string;
4
+ getItemNumber(name: string, def?: number): number;
5
+ getItemBoolean(name: string, def?: boolean): boolean;
6
+ setItem(name: string, value: string | number | boolean | null): void;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=iLocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iLocalStorage.js","sourceRoot":"","sources":["../../../src/iLocalStorage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './helper';
2
+ export * from './localStorage';
3
+ export * from './registerServiceWorker';
4
+ export * from './reactiveStorage';
@@ -0,0 +1,5 @@
1
+ export * from './helper';
2
+ export * from './localStorage';
3
+ export * from './registerServiceWorker';
4
+ export * from './reactiveStorage';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { ILocalStorage } from './iLocalStorage';
2
+ export * from './iLocalStorage';
3
+ export declare class LocalStorageDummy implements ILocalStorage {
4
+ prefix: string;
5
+ constructor(prefix: string);
6
+ getItem(name: string): string | null;
7
+ getItemString(name: string, def?: string): string;
8
+ getItemNumber(name: string, def?: number): number;
9
+ getItemBoolean(name: string, def?: boolean): boolean;
10
+ setItem(name: string, value: string | number | boolean | null): void;
11
+ }
12
+ export declare class LocalStorage implements ILocalStorage {
13
+ prefix: string;
14
+ constructor(prefix: string);
15
+ getItem(name: string): string | null;
16
+ getItemString(name: string, def?: string): string;
17
+ getItemNumber(name: string, def?: number): number;
18
+ getItemBoolean(name: string, def?: boolean): boolean;
19
+ setItem(name: string, value: string | number | boolean | null): void;
20
+ }
@@ -0,0 +1,57 @@
1
+ export * from './iLocalStorage';
2
+ export class LocalStorageDummy {
3
+ prefix = "";
4
+ constructor(prefix) {
5
+ if (prefix)
6
+ this.prefix = prefix + '_';
7
+ }
8
+ getItem(name) {
9
+ return null;
10
+ }
11
+ getItemString(name, def) {
12
+ return def ? def : "";
13
+ }
14
+ getItemNumber(name, def) {
15
+ return def ? def : 0;
16
+ }
17
+ getItemBoolean(name, def) {
18
+ return def ? def : false;
19
+ }
20
+ setItem(name, value) {
21
+ }
22
+ }
23
+ export class LocalStorage {
24
+ prefix = "";
25
+ constructor(prefix) {
26
+ if (prefix)
27
+ this.prefix = prefix + '_';
28
+ }
29
+ getItem(name) {
30
+ return window.localStorage.getItem(this.prefix + name);
31
+ }
32
+ getItemString(name, def) {
33
+ let str = window.localStorage.getItem(this.prefix + name);
34
+ if (str === null) {
35
+ if (def)
36
+ this.setItem(name, def);
37
+ str = def ? def : "";
38
+ }
39
+ return str;
40
+ }
41
+ getItemNumber(name, def) {
42
+ const str = window.localStorage.getItem(this.prefix + name);
43
+ if (str === null)
44
+ return def ? def : 0;
45
+ return Number(str);
46
+ }
47
+ getItemBoolean(name, def) {
48
+ const str = window.localStorage.getItem(this.prefix + name);
49
+ if (str === null)
50
+ return def ? def : false;
51
+ return str === "true";
52
+ }
53
+ setItem(name, value) {
54
+ window.localStorage.setItem(this.prefix + name, (value ? value.toString() : null));
55
+ }
56
+ }
57
+ //# sourceMappingURL=localStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../../../src/localStorage.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAEhC,MAAM,OAAO,iBAAiB;IAC1B,MAAM,GAAG,EAAE,CAAC;IACZ,YAAY,MAAc;QACtB,IAAI,MAAM;YACN,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,GAAY;QACpC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,GAAY;QACpC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,cAAc,CAAC,IAAY,EAAE,GAAa;QACtC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,KAAuC;IAC7D,CAAC;CACJ;AACD,MAAM,OAAO,YAAY;IACrB,MAAM,GAAG,EAAE,CAAC;IACZ,YAAY,MAAc;QACtB,IAAI,MAAM;YACN,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,IAAY;QAChB,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,GAAY;QACpC,IAAI,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,IAAI,EAAE;YACd,IAAI,GAAG;gBACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5B,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SACxB;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,GAAY;QACpC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC5D,IAAI,GAAG,KAAK,IAAI;YACZ,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,cAAc,CAAC,IAAY,EAAE,GAAa;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC5D,IAAI,GAAG,KAAK,IAAI;YACZ,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7B,OAAO,GAAG,KAAK,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,IAAY,EAAE,KAAuC;QACzD,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAW,CAAC,CAAC;IACjG,CAAC;CACJ"}
@@ -0,0 +1,18 @@
1
+ import { ILocalStorage } from './iLocalStorage';
2
+ declare type Dictionary<T> = {
3
+ [key: string]: T;
4
+ };
5
+ export declare class ReactiveStorageItem {
6
+ storage: ILocalStorage;
7
+ name: string;
8
+ value: import("vue").Ref<string | number | boolean>;
9
+ constructor(localStorage: ILocalStorage, name: string, val: string | number | boolean);
10
+ }
11
+ export declare class ReactiveStorage {
12
+ storage: ILocalStorage;
13
+ items: Dictionary<ReactiveStorageItem>;
14
+ constructor(localStorage: ILocalStorage);
15
+ setItem(name: string, val: string | number | boolean): void;
16
+ getItem(name: string): string | number | boolean | undefined;
17
+ }
18
+ export {};
@@ -0,0 +1,49 @@
1
+ import { ref, watchEffect } from 'vue';
2
+ export class ReactiveStorageItem {
3
+ storage;
4
+ name;
5
+ value = ref(null);
6
+ constructor(localStorage, name, val) {
7
+ this.storage = localStorage;
8
+ this.name = name;
9
+ const existingValue = localStorage.getItem(name);
10
+ if (existingValue == null) {
11
+ this.value.value = val;
12
+ localStorage.setItem(name, val);
13
+ }
14
+ else {
15
+ if (typeof val === 'string')
16
+ this.value.value = localStorage.getItemString(name);
17
+ if (typeof val === 'number')
18
+ this.value.value = localStorage.getItemNumber(name);
19
+ if (typeof val === 'boolean')
20
+ this.value.value = localStorage.getItemBoolean(name);
21
+ }
22
+ watchEffect(() => {
23
+ this.storage.setItem(this.name, this.value.value);
24
+ });
25
+ }
26
+ }
27
+ export class ReactiveStorage {
28
+ storage;
29
+ items = {};
30
+ constructor(localStorage) {
31
+ this.storage = localStorage;
32
+ }
33
+ setItem(name, val) {
34
+ let item = this.items[name];
35
+ if (item) {
36
+ item.value.value = val;
37
+ }
38
+ else {
39
+ item = new ReactiveStorageItem(this.storage, name, val);
40
+ this.items[name] = item;
41
+ }
42
+ }
43
+ getItem(name) {
44
+ let item = this.items[name];
45
+ if (item)
46
+ return item.value.value;
47
+ }
48
+ }
49
+ //# sourceMappingURL=reactiveStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactiveStorage.js","sourceRoot":"","sources":["../../../src/reactiveStorage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAIvC,MAAM,OAAO,mBAAmB;IAC5B,OAAO,CAAgB;IACvB,IAAI,CAAS;IACb,KAAK,GAAG,GAAG,CAA4B,IAAI,CAAC,CAAC;IAE7C,YAAY,YAA2B,EAAE,IAAY,EAAE,GAA8B;QACjF,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAE,IAAI,CAAC,CAAC;QAClD,IAAI,aAAa,IAAI,IAAI,EAAE;YACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;YACvB,YAAY,CAAC,OAAO,CAAE,IAAI,EAAE,GAAG,CAAC,CAAC;SACpC;aACI;YACD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,KAAK,QAAQ;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,OAAO,GAAG,KAAK,SAAS;gBACxB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC5D;QACD,WAAW,CAAE,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,MAAM,OAAO,eAAe;IACxB,OAAO,CAAgB;IACvB,KAAK,GAAoC,EAAE,CAAC;IAE5C,YAAY,YAA2B;QACnC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAChC,CAAC;IAED,OAAO,CAAE,IAAY,EAAE,GAA8B;QACjD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;SAC1B;aACI;YACD,IAAI,GAAG,IAAI,mBAAmB,CAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SAC3B;IACL,CAAC;IACD,OAAO,CAAE,IAAY;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI;YACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAChC,CAAC;CACJ"}
@@ -0,0 +1,31 @@
1
+ import { ILogger } from '../../logger/src/iLogger';
2
+ export interface IHook {
3
+ log: ILogger;
4
+ online(value: boolean): void;
5
+ ready(): void;
6
+ updated(): void;
7
+ cached(): void;
8
+ registered(): void;
9
+ error(reason: any): void;
10
+ subscribed?(isSubscribed: boolean): void;
11
+ }
12
+ export declare class RegisterServiceWorker {
13
+ applicationServerPublicKey: string | undefined;
14
+ isOnline: boolean;
15
+ isSubscribed?: boolean;
16
+ static instance: RegisterServiceWorker;
17
+ private _rsw;
18
+ private _hook;
19
+ constructor(hook: IHook, applicationServerPublicKey?: string);
20
+ get registration(): ServiceWorkerRegistration;
21
+ register(swUrl: string, scope?: string): void;
22
+ private registerValidSW;
23
+ private processMessage;
24
+ notify(msg: any): void;
25
+ private checkValidServiceWorker;
26
+ unregister(): void;
27
+ getSubscription(): Promise<PushSubscription | null>;
28
+ subscribeUser(): Promise<PushSubscription>;
29
+ unsubscribeUser(): Promise<PushSubscription>;
30
+ private static urlB64ToUint8Array;
31
+ }
@@ -0,0 +1,251 @@
1
+ // Register a service worker to serve assets from local cache.
2
+ // This lets the app load faster on subsequent visits in production, and gives
3
+ // it offline capabilities. However, it also means that developers (and users)
4
+ // will only see deployed updates on the "N+1" visit to a page, since previously
5
+ // cached resources are updated in the background.
6
+ const isLocalhost = Boolean(window.location.hostname === 'localhost' ||
7
+ // [::1] is the IPv6 localhost address.
8
+ window.location.hostname === '[::1]' ||
9
+ // 127.0.0.1/8 is considered localhost for IPv4.
10
+ window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));
11
+ export class RegisterServiceWorker {
12
+ applicationServerPublicKey;
13
+ isOnline;
14
+ isSubscribed;
15
+ static instance;
16
+ _rsw = null;
17
+ _hook;
18
+ constructor(hook, applicationServerPublicKey) {
19
+ RegisterServiceWorker.instance = this;
20
+ this._hook = hook;
21
+ this.isOnline = navigator.onLine;
22
+ this.applicationServerPublicKey = applicationServerPublicKey;
23
+ this._hook.online(this.isOnline);
24
+ window.ononline = (ev) => {
25
+ this._hook.online(true);
26
+ this.isOnline = true;
27
+ };
28
+ window.onoffline = (ev) => {
29
+ this._hook.online(false);
30
+ this.isOnline = false;
31
+ };
32
+ }
33
+ get registration() {
34
+ return this._rsw;
35
+ }
36
+ register(swUrl, scope) {
37
+ const self = this;
38
+ if ('serviceWorker' in navigator) {
39
+ this._hook.log.info('Register service worker');
40
+ window.addEventListener('load', () => {
41
+ if (isLocalhost) {
42
+ // This is running on localhost. Lets check if a service worker still exists or not.
43
+ self.checkValidServiceWorker(swUrl);
44
+ navigator.serviceWorker.ready
45
+ .then(() => {
46
+ this._hook.ready();
47
+ });
48
+ }
49
+ else {
50
+ // Is not local host. Just register service worker
51
+ self.registerValidSW(swUrl, scope);
52
+ }
53
+ });
54
+ }
55
+ }
56
+ registerValidSW(swUrl, scope) {
57
+ const self = this;
58
+ navigator.serviceWorker
59
+ .register(swUrl, { scope: scope })
60
+ .then(registration => {
61
+ self._rsw = registration;
62
+ if (navigator.serviceWorker.onmessage != null) {
63
+ navigator.serviceWorker.addEventListener('message', (swevent) => {
64
+ const reply = self.processMessage(swevent.data);
65
+ if (swevent.ports !== null)
66
+ swevent.ports[0].postMessage(reply);
67
+ });
68
+ }
69
+ registration.onupdatefound = () => {
70
+ const installingWorker = registration.installing;
71
+ self._hook.log.info('Update found');
72
+ if (installingWorker !== null) {
73
+ installingWorker.onstatechange = () => {
74
+ if (installingWorker) {
75
+ self._hook.log.info('State changed ' + installingWorker.state);
76
+ if (installingWorker.state === 'installed') {
77
+ if (navigator.serviceWorker.controller) {
78
+ // At this point, the old content will have been purged and
79
+ // the fresh content will have been added to the cache.
80
+ // It's the perfect time to display a "New content is
81
+ // available; please refresh." message in your web app.
82
+ self._hook.updated();
83
+ }
84
+ else {
85
+ // At this point, everything has been precached.
86
+ // It's the perfect time to display a
87
+ // "Content is cached for offline use." message.
88
+ self._hook.cached();
89
+ }
90
+ }
91
+ }
92
+ };
93
+ }
94
+ };
95
+ self._hook.log.info('Registered at scope ' + registration.scope);
96
+ self._hook.registered();
97
+ })
98
+ .catch(error => {
99
+ self._hook.error(error);
100
+ });
101
+ }
102
+ processMessage(msgObj) {
103
+ try {
104
+ this._hook.log.info("Message " + JSON.stringify(msgObj));
105
+ if (msgObj.type === 1) {
106
+ this.notify(msgObj.message);
107
+ return "received";
108
+ }
109
+ }
110
+ catch (err) {
111
+ this._hook.log.warning("Message " + JSON.stringify(err));
112
+ }
113
+ }
114
+ notify(msg) {
115
+ if (!("Notification" in window)) {
116
+ alert("This browser does not support desktop notification");
117
+ }
118
+ else if (Notification.permission === "granted") {
119
+ // If it's okay let's create a notification
120
+ const notification = new Notification(msg);
121
+ }
122
+ else if (Notification.permission !== "denied") {
123
+ Notification.requestPermission(function (permission) {
124
+ // If the user accepts, let's create a notification
125
+ if (permission === "granted") {
126
+ const notification = new Notification(msg);
127
+ }
128
+ });
129
+ }
130
+ }
131
+ checkValidServiceWorker(swUrl) {
132
+ // Check if the service worker can be found.
133
+ const self = this;
134
+ fetch(swUrl)
135
+ .then(response => {
136
+ // Ensure service worker exists, and that we really are getting a JS file.
137
+ if (response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) {
138
+ // No service worker found.
139
+ self._hook.error(`Service worker not found at ${swUrl}`);
140
+ self.unregister();
141
+ }
142
+ else {
143
+ // Service worker found. Proceed as normal.
144
+ this.registerValidSW(swUrl);
145
+ }
146
+ })
147
+ .catch(error => {
148
+ if (!navigator.onLine) {
149
+ self._hook.online(false);
150
+ }
151
+ else {
152
+ self._hook.error(error);
153
+ }
154
+ });
155
+ }
156
+ unregister() {
157
+ if ('serviceWorker' in navigator) {
158
+ this._hook.log.info('Unregister service worker');
159
+ navigator.serviceWorker.ready
160
+ .then(registration => registration.unregister());
161
+ }
162
+ }
163
+ getSubscription() {
164
+ this._hook.log.trace('get subscription');
165
+ const self = this;
166
+ const promise = new Promise(function (resolve, reject) {
167
+ if (self._rsw === null) {
168
+ reject(new Error('No service worker registered'));
169
+ }
170
+ else {
171
+ self.registration.pushManager.getSubscription()
172
+ .then(subscription => {
173
+ resolve(subscription);
174
+ self.isSubscribed = subscription !== null;
175
+ if (self._hook.subscribed)
176
+ self._hook.subscribed(self.isSubscribed);
177
+ })
178
+ .catch(error => reject(error));
179
+ }
180
+ });
181
+ return promise;
182
+ }
183
+ subscribeUser() {
184
+ this._hook.log.info('subscribe user');
185
+ const self = this;
186
+ const promise = new Promise(function (resolve, reject) {
187
+ if (!self.applicationServerPublicKey) {
188
+ reject(new Error("Application server public key missing"));
189
+ return;
190
+ }
191
+ const applicationServerKey = RegisterServiceWorker.urlB64ToUint8Array(self.applicationServerPublicKey);
192
+ if (self._rsw === null) {
193
+ reject(new Error('No service worker registered'));
194
+ return;
195
+ }
196
+ const options = {
197
+ userVisibleOnly: true,
198
+ applicationServerKey: applicationServerKey
199
+ };
200
+ self.registration.pushManager.subscribe(options)
201
+ .then(subscription => {
202
+ resolve(subscription);
203
+ self.isSubscribed = subscription !== null;
204
+ if (self._hook.subscribed)
205
+ self._hook.subscribed(self.isSubscribed);
206
+ })
207
+ .catch(err => reject(err));
208
+ });
209
+ return promise;
210
+ }
211
+ unsubscribeUser() {
212
+ this._hook.log.info('unsubscribe user');
213
+ const self = this;
214
+ const promise = new Promise(function (resolve, reject) {
215
+ if (self._rsw === null) {
216
+ reject(new Error('No service worker registered'));
217
+ }
218
+ else {
219
+ self.registration.pushManager.getSubscription()
220
+ .then(subscription => {
221
+ if (subscription !== null) {
222
+ subscription.unsubscribe()
223
+ .then((res) => {
224
+ resolve(subscription);
225
+ if (res) {
226
+ self.isSubscribed = false;
227
+ if (self._hook.subscribed)
228
+ self._hook.subscribed(self.isSubscribed);
229
+ }
230
+ });
231
+ }
232
+ })
233
+ .catch(error => reject(error));
234
+ }
235
+ });
236
+ return promise;
237
+ }
238
+ static urlB64ToUint8Array(base64String) {
239
+ const padding = '='.repeat((4 - base64String.length % 4) % 4);
240
+ const base64 = (base64String + padding)
241
+ .replace(/\-/g, '+')
242
+ .replace(/_/g, '/');
243
+ const rawData = window.atob(base64);
244
+ const outputArray = new Uint8Array(rawData.length);
245
+ for (let i = 0; i < rawData.length; ++i) {
246
+ outputArray[i] = rawData.charCodeAt(i);
247
+ }
248
+ return outputArray;
249
+ }
250
+ }
251
+ //# sourceMappingURL=registerServiceWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerServiceWorker.js","sourceRoot":"","sources":["../../../src/registerServiceWorker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@christianriedl/utils",
3
- "version": "1.0.13",
3
+ "version": "1.0.18",
4
4
  "description": "",
5
5
 
6
6
  "main": "dist/index.js",