@christianriedl/utils 1.0.4 → 1.0.9
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.
- package/README.md +3 -0
- package/dist/utils/src/appState.d.ts +15 -0
- package/dist/utils/src/appState.js +68 -0
- package/dist/utils/src/appState.js.map +1 -0
- package/dist/utils/src/helper.d.ts +4 -7
- package/dist/utils/src/helper.js +14 -0
- package/dist/utils/src/helper.js.map +1 -1
- package/dist/utils/src/index.d.ts +6 -4
- package/dist/utils/src/index.js +6 -4
- package/dist/utils/src/index.js.map +1 -1
- package/dist/utils/src/reactiveStorage.d.ts +18 -0
- package/dist/utils/src/reactiveStorage.js +49 -0
- package/dist/utils/src/reactiveStorage.js.map +1 -0
- package/dist/utils/src/registerServiceWorker.d.ts +13 -10
- package/dist/utils/src/registerServiceWorker.js +79 -36
- package/dist/utils/src/registerServiceWorker.js.map +1 -1
- package/dist/utils/src/types.d.ts +44 -0
- package/dist/utils/src/types.js +21 -0
- package/dist/utils/src/types.js.map +1 -0
- package/package.json +30 -23
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IAppState, IReactive, EBrowser, EDevice, Ref, Dictionary } from './types';
|
|
2
|
+
export declare class AppState implements IAppState {
|
|
3
|
+
browser: EBrowser;
|
|
4
|
+
device: EDevice;
|
|
5
|
+
isMobile: boolean;
|
|
6
|
+
useDbLog: boolean;
|
|
7
|
+
currentPage: Ref<string>;
|
|
8
|
+
swMessage: Ref<string>;
|
|
9
|
+
swOnline: Ref<boolean>;
|
|
10
|
+
swSubscribed: Ref<boolean>;
|
|
11
|
+
swUpdated: Ref<boolean>;
|
|
12
|
+
constructor(reactive?: IReactive);
|
|
13
|
+
setBrowser(window: Window): void;
|
|
14
|
+
setConfig(value: Dictionary<string>): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { EBrowser, EDevice } from './types';
|
|
2
|
+
import { Helper } from './helper';
|
|
3
|
+
export class AppState {
|
|
4
|
+
browser = EBrowser.Unknown;
|
|
5
|
+
device = EDevice.Unknown;
|
|
6
|
+
isMobile = false;
|
|
7
|
+
//isElectron: boolean;
|
|
8
|
+
//initialLogLevel: string;
|
|
9
|
+
useDbLog = false;
|
|
10
|
+
currentPage;
|
|
11
|
+
swMessage;
|
|
12
|
+
swOnline;
|
|
13
|
+
swSubscribed;
|
|
14
|
+
swUpdated;
|
|
15
|
+
constructor(reactive) {
|
|
16
|
+
if (!reactive)
|
|
17
|
+
reactive = Helper.createDummyReactive();
|
|
18
|
+
this.currentPage = reactive.ref('');
|
|
19
|
+
this.swMessage = reactive.ref('');
|
|
20
|
+
this.swOnline = reactive.ref(false);
|
|
21
|
+
this.swSubscribed = reactive.ref(false);
|
|
22
|
+
this.swUpdated = reactive.ref(false);
|
|
23
|
+
}
|
|
24
|
+
setBrowser(window) {
|
|
25
|
+
if (window && window.navigator) {
|
|
26
|
+
const sUsrAg = window.navigator.userAgent;
|
|
27
|
+
if (sUsrAg) {
|
|
28
|
+
if (sUsrAg.indexOf("Edge") >= 0)
|
|
29
|
+
this.browser = EBrowser.Edge;
|
|
30
|
+
else if (sUsrAg.indexOf("Chrome") >= 0) {
|
|
31
|
+
this.browser = EBrowser.Chrome;
|
|
32
|
+
/*
|
|
33
|
+
if (window.screen && window.screen.availWidth == 800)
|
|
34
|
+
this.device = EDevice.PiTouch7;
|
|
35
|
+
*/
|
|
36
|
+
if (sUsrAg.indexOf("Linux armv7l") >= 0) {
|
|
37
|
+
if (window.screen && window.screen.availWidth == 800)
|
|
38
|
+
this.device = EDevice.PiTouch7;
|
|
39
|
+
else
|
|
40
|
+
this.device = EDevice.Pi;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else if (sUsrAg.indexOf("Safari") >= 0) {
|
|
44
|
+
this.browser = EBrowser.Safari;
|
|
45
|
+
if (sUsrAg.indexOf("iPad") >= 0)
|
|
46
|
+
this.device = EDevice.iPad;
|
|
47
|
+
else if (sUsrAg.indexOf("iPhone") >= 0)
|
|
48
|
+
this.device = EDevice.iPhone;
|
|
49
|
+
else if (navigator.maxTouchPoints > 1)
|
|
50
|
+
this.device = EDevice.iPad;
|
|
51
|
+
}
|
|
52
|
+
else if (sUsrAg.indexOf("Firefox") >= 0)
|
|
53
|
+
this.browser = EBrowser.Firefox;
|
|
54
|
+
else if (sUsrAg.indexOf("Opera") >= 0 && sUsrAg.indexOf("OPR") >= 0)
|
|
55
|
+
this.browser = EBrowser.Firefox;
|
|
56
|
+
else if (sUsrAg.indexOf("SamsungBrowser") >= 0)
|
|
57
|
+
this.browser = EBrowser.Samsung;
|
|
58
|
+
else if (sUsrAg.indexOf("Trident") >= 0)
|
|
59
|
+
this.browser = EBrowser.IExplorer;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
setConfig(value) {
|
|
64
|
+
//this.initialLogLevel = value['initialLogLevel'];
|
|
65
|
+
this.useDbLog = value['useDbLog'] === "true" ? true : false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=appState.js.map
|
|
@@ -0,0 +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,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
4
|
-
export interface IValueText {
|
|
5
|
-
value: number;
|
|
6
|
-
text: string;
|
|
7
|
-
}
|
|
1
|
+
import { IValueText, IReactive } from './types';
|
|
2
|
+
import { ILogger } from '../../logger/src/iLogger';
|
|
8
3
|
export declare class Helper {
|
|
9
4
|
static fromMilliseconds1970(ms: number): Date;
|
|
10
5
|
static toTicks(dt: Date): number;
|
|
@@ -25,4 +20,6 @@ export declare class Helper {
|
|
|
25
20
|
static enumToString(en: any, value: unknown): string;
|
|
26
21
|
static stringToEnum(en: any, value: unknown): number;
|
|
27
22
|
static getEnumOptions(en: any): IValueText[];
|
|
23
|
+
static createNullLogger(): ILogger;
|
|
24
|
+
static createDummyReactive(): IReactive;
|
|
28
25
|
}
|
package/dist/utils/src/helper.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LogLevel } from '../../logger/src/iLogger';
|
|
1
2
|
const dec = [1, 10, 100, 1000, 10000, 100000, 1000000];
|
|
2
3
|
const ms1970m1d1 = 62135596800000;
|
|
3
4
|
export class Helper {
|
|
@@ -140,5 +141,18 @@ export class Helper {
|
|
|
140
141
|
}
|
|
141
142
|
return options;
|
|
142
143
|
}
|
|
144
|
+
static createNullLogger() {
|
|
145
|
+
return {
|
|
146
|
+
minLogLevel: LogLevel.Trace, countAll: 0, countEnabled: 0, name: 'NullLogger',
|
|
147
|
+
error: (msg) => { }, warning: (msg) => { }, info: (msg) => { }, trace: (msg) => { },
|
|
148
|
+
log: (sev, msg) => { }, performance: (msg) => { }, startPerformance: () => { }
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
static createDummyReactive() {
|
|
152
|
+
return {
|
|
153
|
+
ref: (t) => { return { value: t }; },
|
|
154
|
+
reactive: (obj) => { return obj; }
|
|
155
|
+
};
|
|
156
|
+
}
|
|
143
157
|
}
|
|
144
158
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './helper';
|
|
3
|
+
export * from './localStorage';
|
|
4
|
+
export * from './registerServiceWorker';
|
|
5
|
+
export * from './reactiveStorage';
|
|
6
|
+
export * from './appState';
|
package/dist/utils/src/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
1
|
+
export * from './types';
|
|
2
|
+
export * from './helper';
|
|
3
|
+
export * from './localStorage';
|
|
4
|
+
export * from './registerServiceWorker';
|
|
5
|
+
export * from './reactiveStorage';
|
|
6
|
+
export * from './appState';
|
|
5
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
|
|
@@ -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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { ILogger } from '../../logger/src/iLogger';
|
|
2
|
-
|
|
2
|
+
import { IAppState } from './types';
|
|
3
|
+
export interface IServiceWorkerHook {
|
|
3
4
|
log: ILogger;
|
|
4
|
-
online(value: boolean): void;
|
|
5
|
-
ready(): void;
|
|
6
|
-
updated(): void;
|
|
7
|
-
cached(): void;
|
|
8
|
-
registered(): void;
|
|
9
|
-
error(reason: any): void;
|
|
5
|
+
online?(value: boolean): void;
|
|
6
|
+
ready?(): void;
|
|
7
|
+
updated?(): void;
|
|
8
|
+
cached?(): void;
|
|
9
|
+
registered?(): void;
|
|
10
|
+
error?(reason: any): void;
|
|
10
11
|
subscribed?(isSubscribed: boolean): void;
|
|
11
12
|
}
|
|
12
13
|
export declare class RegisterServiceWorker {
|
|
@@ -14,9 +15,10 @@ export declare class RegisterServiceWorker {
|
|
|
14
15
|
isOnline: boolean;
|
|
15
16
|
isSubscribed?: boolean;
|
|
16
17
|
static instance: RegisterServiceWorker;
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
|
|
18
|
+
private rsw;
|
|
19
|
+
private hook;
|
|
20
|
+
private appState?;
|
|
21
|
+
constructor(hook: IServiceWorkerHook, appState?: IAppState, applicationServerPublicKey?: string);
|
|
20
22
|
get registration(): ServiceWorkerRegistration;
|
|
21
23
|
register(swUrl: string, scope?: string): void;
|
|
22
24
|
private registerValidSW;
|
|
@@ -27,5 +29,6 @@ export declare class RegisterServiceWorker {
|
|
|
27
29
|
getSubscription(): Promise<PushSubscription | null>;
|
|
28
30
|
subscribeUser(): Promise<PushSubscription>;
|
|
29
31
|
unsubscribeUser(): Promise<PushSubscription>;
|
|
32
|
+
private message;
|
|
30
33
|
private static urlB64ToUint8Array;
|
|
31
34
|
}
|
|
@@ -13,37 +13,51 @@ export class RegisterServiceWorker {
|
|
|
13
13
|
isOnline;
|
|
14
14
|
isSubscribed;
|
|
15
15
|
static instance;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
rsw = null;
|
|
17
|
+
hook;
|
|
18
|
+
appState;
|
|
19
|
+
constructor(hook, appState, applicationServerPublicKey) {
|
|
19
20
|
RegisterServiceWorker.instance = this;
|
|
20
|
-
this.
|
|
21
|
+
this.hook = hook;
|
|
22
|
+
this.appState = appState;
|
|
21
23
|
this.isOnline = navigator.onLine;
|
|
22
24
|
this.applicationServerPublicKey = applicationServerPublicKey;
|
|
23
|
-
|
|
25
|
+
if (this.appState)
|
|
26
|
+
this.appState.swOnline.value = this.isOnline;
|
|
27
|
+
this.hook.online(this.isOnline);
|
|
24
28
|
window.ononline = (ev) => {
|
|
25
|
-
this.
|
|
29
|
+
if (this.hook.online)
|
|
30
|
+
this.hook.online(true);
|
|
26
31
|
this.isOnline = true;
|
|
32
|
+
if (this.appState)
|
|
33
|
+
this.appState.swOnline.value = true;
|
|
34
|
+
this.message("ONLINE");
|
|
27
35
|
};
|
|
28
36
|
window.onoffline = (ev) => {
|
|
29
|
-
this.
|
|
37
|
+
if (this.hook.online)
|
|
38
|
+
this.hook.online(false);
|
|
30
39
|
this.isOnline = false;
|
|
40
|
+
if (this.appState)
|
|
41
|
+
this.appState.swOnline.value = false;
|
|
42
|
+
this.message("OFFLINE");
|
|
31
43
|
};
|
|
32
44
|
}
|
|
33
45
|
get registration() {
|
|
34
|
-
return this.
|
|
46
|
+
return this.rsw;
|
|
35
47
|
}
|
|
36
48
|
register(swUrl, scope) {
|
|
37
49
|
const self = this;
|
|
38
50
|
if ('serviceWorker' in navigator) {
|
|
39
|
-
this.
|
|
51
|
+
this.hook.log.info('Register service worker');
|
|
40
52
|
window.addEventListener('load', () => {
|
|
41
53
|
if (isLocalhost) {
|
|
42
54
|
// This is running on localhost. Lets check if a service worker still exists or not.
|
|
43
55
|
self.checkValidServiceWorker(swUrl);
|
|
44
56
|
navigator.serviceWorker.ready
|
|
45
57
|
.then(() => {
|
|
46
|
-
this.
|
|
58
|
+
this.message("READY");
|
|
59
|
+
if (this.hook.ready)
|
|
60
|
+
this.hook.ready();
|
|
47
61
|
});
|
|
48
62
|
}
|
|
49
63
|
else {
|
|
@@ -58,7 +72,7 @@ export class RegisterServiceWorker {
|
|
|
58
72
|
navigator.serviceWorker
|
|
59
73
|
.register(swUrl, { scope: scope })
|
|
60
74
|
.then(registration => {
|
|
61
|
-
self.
|
|
75
|
+
self.rsw = registration;
|
|
62
76
|
if (navigator.serviceWorker.onmessage != null) {
|
|
63
77
|
navigator.serviceWorker.addEventListener('message', (swevent) => {
|
|
64
78
|
const reply = self.processMessage(swevent.data);
|
|
@@ -68,47 +82,57 @@ export class RegisterServiceWorker {
|
|
|
68
82
|
}
|
|
69
83
|
registration.onupdatefound = () => {
|
|
70
84
|
const installingWorker = registration.installing;
|
|
71
|
-
self.
|
|
85
|
+
self.hook.log.info('Update found');
|
|
72
86
|
if (installingWorker !== null) {
|
|
73
87
|
installingWorker.onstatechange = () => {
|
|
74
88
|
if (installingWorker) {
|
|
75
|
-
self.
|
|
89
|
+
self.hook.log.info('State changed ' + installingWorker.state);
|
|
76
90
|
if (installingWorker.state === 'installed') {
|
|
77
91
|
if (navigator.serviceWorker.controller) {
|
|
78
92
|
// At this point, the old content will have been purged and
|
|
79
93
|
// the fresh content will have been added to the cache.
|
|
80
94
|
// It's the perfect time to display a "New content is
|
|
81
95
|
// available; please refresh." message in your web app.
|
|
82
|
-
self.
|
|
96
|
+
self.message("UPDATED");
|
|
97
|
+
if (self.hook.updated)
|
|
98
|
+
self.hook.updated();
|
|
99
|
+
if (this.appState)
|
|
100
|
+
this.appState.swUpdated.value = true;
|
|
83
101
|
}
|
|
84
102
|
else {
|
|
85
103
|
// At this point, everything has been precached.
|
|
86
104
|
// It's the perfect time to display a
|
|
87
105
|
// "Content is cached for offline use." message.
|
|
88
|
-
self.
|
|
106
|
+
self.message("CACHED");
|
|
107
|
+
if (self.hook.cached)
|
|
108
|
+
self.hook.cached();
|
|
89
109
|
}
|
|
90
110
|
}
|
|
91
111
|
}
|
|
92
112
|
};
|
|
93
113
|
}
|
|
94
114
|
};
|
|
95
|
-
self.
|
|
96
|
-
self.
|
|
115
|
+
self.hook.log.info('Registered at scope ' + registration.scope);
|
|
116
|
+
self.message("REGISTERED");
|
|
117
|
+
if (this.appState)
|
|
118
|
+
if (self.hook.registered)
|
|
119
|
+
self.hook.registered();
|
|
97
120
|
})
|
|
98
121
|
.catch(error => {
|
|
99
|
-
self.
|
|
122
|
+
if (self.hook.error)
|
|
123
|
+
self.hook.error(error);
|
|
100
124
|
});
|
|
101
125
|
}
|
|
102
126
|
processMessage(msgObj) {
|
|
103
127
|
try {
|
|
104
|
-
this.
|
|
128
|
+
this.hook.log.info("Message " + JSON.stringify(msgObj));
|
|
105
129
|
if (msgObj.type === 1) {
|
|
106
130
|
this.notify(msgObj.message);
|
|
107
131
|
return "received";
|
|
108
132
|
}
|
|
109
133
|
}
|
|
110
134
|
catch (err) {
|
|
111
|
-
this.
|
|
135
|
+
this.hook.log.warning("Message " + JSON.stringify(err));
|
|
112
136
|
}
|
|
113
137
|
}
|
|
114
138
|
notify(msg) {
|
|
@@ -136,7 +160,8 @@ export class RegisterServiceWorker {
|
|
|
136
160
|
// Ensure service worker exists, and that we really are getting a JS file.
|
|
137
161
|
if (response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1) {
|
|
138
162
|
// No service worker found.
|
|
139
|
-
self.
|
|
163
|
+
if (self.hook.error)
|
|
164
|
+
self.hook.error(`Service worker not found at ${swUrl}`);
|
|
140
165
|
self.unregister();
|
|
141
166
|
}
|
|
142
167
|
else {
|
|
@@ -146,25 +171,30 @@ export class RegisterServiceWorker {
|
|
|
146
171
|
})
|
|
147
172
|
.catch(error => {
|
|
148
173
|
if (!navigator.onLine) {
|
|
149
|
-
self.
|
|
174
|
+
self.message("OFFLINE");
|
|
175
|
+
if (this.appState)
|
|
176
|
+
this.appState.swOnline.value = false;
|
|
177
|
+
if (self.hook.online)
|
|
178
|
+
self.hook.online(false);
|
|
150
179
|
}
|
|
151
180
|
else {
|
|
152
|
-
self.
|
|
181
|
+
if (self.hook.error)
|
|
182
|
+
self.hook.error(error);
|
|
153
183
|
}
|
|
154
184
|
});
|
|
155
185
|
}
|
|
156
186
|
unregister() {
|
|
157
187
|
if ('serviceWorker' in navigator) {
|
|
158
|
-
this.
|
|
188
|
+
this.hook.log.info('Unregister service worker');
|
|
159
189
|
navigator.serviceWorker.ready
|
|
160
190
|
.then(registration => registration.unregister());
|
|
161
191
|
}
|
|
162
192
|
}
|
|
163
193
|
getSubscription() {
|
|
164
|
-
this.
|
|
194
|
+
this.hook.log.trace('get subscription');
|
|
165
195
|
const self = this;
|
|
166
196
|
const promise = new Promise(function (resolve, reject) {
|
|
167
|
-
if (self.
|
|
197
|
+
if (self.rsw === null) {
|
|
168
198
|
reject(new Error('No service worker registered'));
|
|
169
199
|
}
|
|
170
200
|
else {
|
|
@@ -172,8 +202,11 @@ export class RegisterServiceWorker {
|
|
|
172
202
|
.then(subscription => {
|
|
173
203
|
resolve(subscription);
|
|
174
204
|
self.isSubscribed = subscription !== null;
|
|
175
|
-
if (self.
|
|
176
|
-
self.
|
|
205
|
+
if (self.appState)
|
|
206
|
+
self.appState.swSubscribed.value = self.isSubscribed;
|
|
207
|
+
self.message("SUBSCRIBED");
|
|
208
|
+
if (self.hook.subscribed)
|
|
209
|
+
self.hook.subscribed(self.isSubscribed);
|
|
177
210
|
})
|
|
178
211
|
.catch(error => reject(error));
|
|
179
212
|
}
|
|
@@ -181,7 +214,7 @@ export class RegisterServiceWorker {
|
|
|
181
214
|
return promise;
|
|
182
215
|
}
|
|
183
216
|
subscribeUser() {
|
|
184
|
-
this.
|
|
217
|
+
this.hook.log.info('subscribe user');
|
|
185
218
|
const self = this;
|
|
186
219
|
const promise = new Promise(function (resolve, reject) {
|
|
187
220
|
if (!self.applicationServerPublicKey) {
|
|
@@ -189,7 +222,7 @@ export class RegisterServiceWorker {
|
|
|
189
222
|
return;
|
|
190
223
|
}
|
|
191
224
|
const applicationServerKey = RegisterServiceWorker.urlB64ToUint8Array(self.applicationServerPublicKey);
|
|
192
|
-
if (self.
|
|
225
|
+
if (self.rsw === null) {
|
|
193
226
|
reject(new Error('No service worker registered'));
|
|
194
227
|
return;
|
|
195
228
|
}
|
|
@@ -201,18 +234,21 @@ export class RegisterServiceWorker {
|
|
|
201
234
|
.then(subscription => {
|
|
202
235
|
resolve(subscription);
|
|
203
236
|
self.isSubscribed = subscription !== null;
|
|
204
|
-
if (self.
|
|
205
|
-
self.
|
|
237
|
+
if (self.appState)
|
|
238
|
+
self.appState.swSubscribed.value = self.isSubscribed;
|
|
239
|
+
self.message("SUBSCRIBED");
|
|
240
|
+
if (self.hook.subscribed)
|
|
241
|
+
self.hook.subscribed(self.isSubscribed);
|
|
206
242
|
})
|
|
207
243
|
.catch(err => reject(err));
|
|
208
244
|
});
|
|
209
245
|
return promise;
|
|
210
246
|
}
|
|
211
247
|
unsubscribeUser() {
|
|
212
|
-
this.
|
|
248
|
+
this.hook.log.info('unsubscribe user');
|
|
213
249
|
const self = this;
|
|
214
250
|
const promise = new Promise(function (resolve, reject) {
|
|
215
|
-
if (self.
|
|
251
|
+
if (self.rsw === null) {
|
|
216
252
|
reject(new Error('No service worker registered'));
|
|
217
253
|
}
|
|
218
254
|
else {
|
|
@@ -224,8 +260,11 @@ export class RegisterServiceWorker {
|
|
|
224
260
|
resolve(subscription);
|
|
225
261
|
if (res) {
|
|
226
262
|
self.isSubscribed = false;
|
|
227
|
-
if (self.
|
|
228
|
-
self.
|
|
263
|
+
if (self.appState)
|
|
264
|
+
self.appState.swSubscribed.value = self.isSubscribed;
|
|
265
|
+
self.message("UNSUBSCRIBED");
|
|
266
|
+
if (self.hook.subscribed)
|
|
267
|
+
self.hook.subscribed(self.isSubscribed);
|
|
229
268
|
}
|
|
230
269
|
});
|
|
231
270
|
}
|
|
@@ -235,6 +274,10 @@ export class RegisterServiceWorker {
|
|
|
235
274
|
});
|
|
236
275
|
return promise;
|
|
237
276
|
}
|
|
277
|
+
message(msg) {
|
|
278
|
+
if (this.appState)
|
|
279
|
+
this.appState.swMessage.value = msg;
|
|
280
|
+
}
|
|
238
281
|
static urlB64ToUint8Array(base64String) {
|
|
239
282
|
const padding = '='.repeat((4 - base64String.length % 4) % 4);
|
|
240
283
|
const base64 = (base64String + padding)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerServiceWorker.js","sourceRoot":"","sources":["../../../src/registerServiceWorker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerServiceWorker.js","sourceRoot":"","sources":["../../../src/registerServiceWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare type Dictionary<T> = {
|
|
2
|
+
[key: string]: T;
|
|
3
|
+
};
|
|
4
|
+
export declare type Ref<T> = {
|
|
5
|
+
value: T;
|
|
6
|
+
};
|
|
7
|
+
export interface IValueText {
|
|
8
|
+
value: number;
|
|
9
|
+
text: string;
|
|
10
|
+
}
|
|
11
|
+
export interface IReactive {
|
|
12
|
+
ref<T>(value: T): Ref<T>;
|
|
13
|
+
reactive<T>(obj: T): T;
|
|
14
|
+
}
|
|
15
|
+
export declare enum EBrowser {
|
|
16
|
+
Unknown = 0,
|
|
17
|
+
Firefox = 1,
|
|
18
|
+
Samsung = 2,
|
|
19
|
+
Opera = 3,
|
|
20
|
+
Edge = 4,
|
|
21
|
+
IExplorer = 5,
|
|
22
|
+
Chrome = 6,
|
|
23
|
+
Safari = 7
|
|
24
|
+
}
|
|
25
|
+
export declare enum EDevice {
|
|
26
|
+
Unknown = 0,
|
|
27
|
+
iPhone = 1,
|
|
28
|
+
iPad = 2,
|
|
29
|
+
Pi = 3,
|
|
30
|
+
PiTouch7 = 4
|
|
31
|
+
}
|
|
32
|
+
export interface IAppInfo {
|
|
33
|
+
browser: EBrowser;
|
|
34
|
+
device: EDevice;
|
|
35
|
+
isMobile: boolean;
|
|
36
|
+
useDbLog: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface IAppState extends IAppInfo {
|
|
39
|
+
currentPage: Ref<string>;
|
|
40
|
+
swMessage: Ref<string>;
|
|
41
|
+
swOnline: Ref<boolean>;
|
|
42
|
+
swSubscribed: Ref<boolean>;
|
|
43
|
+
swUpdated: Ref<boolean>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
;
|
|
2
|
+
export var EBrowser;
|
|
3
|
+
(function (EBrowser) {
|
|
4
|
+
EBrowser[EBrowser["Unknown"] = 0] = "Unknown";
|
|
5
|
+
EBrowser[EBrowser["Firefox"] = 1] = "Firefox";
|
|
6
|
+
EBrowser[EBrowser["Samsung"] = 2] = "Samsung";
|
|
7
|
+
EBrowser[EBrowser["Opera"] = 3] = "Opera";
|
|
8
|
+
EBrowser[EBrowser["Edge"] = 4] = "Edge";
|
|
9
|
+
EBrowser[EBrowser["IExplorer"] = 5] = "IExplorer";
|
|
10
|
+
EBrowser[EBrowser["Chrome"] = 6] = "Chrome";
|
|
11
|
+
EBrowser[EBrowser["Safari"] = 7] = "Safari";
|
|
12
|
+
})(EBrowser || (EBrowser = {}));
|
|
13
|
+
export var EDevice;
|
|
14
|
+
(function (EDevice) {
|
|
15
|
+
EDevice[EDevice["Unknown"] = 0] = "Unknown";
|
|
16
|
+
EDevice[EDevice["iPhone"] = 1] = "iPhone";
|
|
17
|
+
EDevice[EDevice["iPad"] = 2] = "iPad";
|
|
18
|
+
EDevice[EDevice["Pi"] = 3] = "Pi";
|
|
19
|
+
EDevice[EDevice["PiTouch7"] = 4] = "PiTouch7";
|
|
20
|
+
})(EDevice || (EDevice = {}));
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +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"}
|
package/package.json
CHANGED
|
@@ -1,23 +1,30 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@christianriedl/utils",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "",
|
|
5
|
-
|
|
6
|
-
"main": "dist/utils/src/index.js",
|
|
7
|
-
"types": "dist/utils/src/index.d.ts",
|
|
8
|
-
|
|
9
|
-
"files": [
|
|
10
|
-
"dist/utils/*",
|
|
11
|
-
"package.json"
|
|
12
|
-
],
|
|
13
|
-
"scripts": {
|
|
14
|
-
"build": "tsc",
|
|
15
|
-
"clean": "tsc --build --clean"
|
|
16
|
-
},
|
|
17
|
-
"author": "Christian Riedl",
|
|
18
|
-
"license": "ISC",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@christianriedl/utils",
|
|
3
|
+
"version": "1.0.9",
|
|
4
|
+
"description": "",
|
|
5
|
+
|
|
6
|
+
"main": "dist/utils/src/index.js",
|
|
7
|
+
"types": "dist/utils/src/index.d.ts",
|
|
8
|
+
|
|
9
|
+
"files": [
|
|
10
|
+
"dist/utils/*",
|
|
11
|
+
"package.json"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"clean": "tsc --build --clean"
|
|
16
|
+
},
|
|
17
|
+
"author": "Christian Riedl",
|
|
18
|
+
"license": "ISC",
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"vue": "^3.2.13"
|
|
21
|
+
},
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"vue": "^3.2.13"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@vue/cli-plugin-typescript": "~5.0.0-rc.2",
|
|
27
|
+
"typescript": "^4.5.4",
|
|
28
|
+
"@types/node": "^17.0.8"
|
|
29
|
+
}
|
|
30
|
+
}
|