namirasoft-core 1.3.72 → 1.3.74
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/dist/BaseServer.d.ts +6 -2
- package/dist/BaseServer.js +14 -0
- package/dist/BaseServer.js.map +1 -1
- package/dist/CacheService.d.ts +3 -1
- package/dist/CacheService.js +22 -7
- package/dist/CacheService.js.map +1 -1
- package/dist/IStorage.d.ts +3 -3
- package/dist/IStorageCookie.d.ts +3 -3
- package/dist/IStorageCookie.js +32 -17
- package/dist/IStorageCookie.js.map +1 -1
- package/dist/IStorageLocal.d.ts +3 -3
- package/dist/IStorageLocal.js +18 -3
- package/dist/IStorageLocal.js.map +1 -1
- package/dist/IStorageMemory.d.ts +3 -3
- package/dist/IStorageMemory.js +18 -3
- package/dist/IStorageMemory.js.map +1 -1
- package/package.json +1 -1
- package/src/BaseServer.ts +20 -2
- package/src/CacheService.ts +21 -5
- package/src/IStorage.ts +3 -3
- package/src/IStorageCookie.ts +3 -3
- package/src/IStorageLocal.ts +3 -3
- package/src/IStorageMemory.ts +3 -3
package/dist/BaseServer.d.ts
CHANGED
|
@@ -4,9 +4,13 @@ export declare abstract class BaseServer {
|
|
|
4
4
|
protected domain: string;
|
|
5
5
|
suppressErrors: boolean;
|
|
6
6
|
constructor(domain: string);
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
private onBeforeRequests;
|
|
8
|
+
private onAfterRequests;
|
|
9
|
+
protected abstract onBeforeRequest<ReqData = any>(url: string, config?: AxiosRequestConfig<ReqData>): void;
|
|
10
|
+
protected abstract onAfterRequest<ResData = any>(url: string, response: AxiosResponse<ResData>): void;
|
|
9
11
|
protected abstract onError(error: Error): void;
|
|
12
|
+
addOnBeforeRequest(onBeforeRequest: (url: string, config?: AxiosRequestConfig) => void): void;
|
|
13
|
+
addOnAfterRequest(onAfterRequest: (url: string, response: AxiosResponse) => void): void;
|
|
10
14
|
private _request;
|
|
11
15
|
protected _get<ResData = any, ReqData = any>(sub: string, query?: {
|
|
12
16
|
[name: string]: ParsedNameValue;
|
package/dist/BaseServer.js
CHANGED
|
@@ -21,8 +21,16 @@ const ConsoleOperation_1 = require("./ConsoleOperation");
|
|
|
21
21
|
class BaseServer {
|
|
22
22
|
constructor(domain) {
|
|
23
23
|
this.suppressErrors = false;
|
|
24
|
+
this.onBeforeRequests = [];
|
|
25
|
+
this.onAfterRequests = [];
|
|
24
26
|
this.domain = domain;
|
|
25
27
|
}
|
|
28
|
+
addOnBeforeRequest(onBeforeRequest) {
|
|
29
|
+
this.onBeforeRequests.push(onBeforeRequest);
|
|
30
|
+
}
|
|
31
|
+
addOnAfterRequest(onAfterRequest) {
|
|
32
|
+
this.onAfterRequests.push(onAfterRequest);
|
|
33
|
+
}
|
|
26
34
|
_request(onRequest, sub, query, data, config, sign_header, sign_key) {
|
|
27
35
|
var _a;
|
|
28
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -36,8 +44,14 @@ class BaseServer {
|
|
|
36
44
|
config.headers[sign_header] = HashOperation_1.HashOperation.SHA256Secret(sign_key, data);
|
|
37
45
|
try {
|
|
38
46
|
this.onBeforeRequest(url, config);
|
|
47
|
+
this.onBeforeRequests.forEach(onBeforeRequest => {
|
|
48
|
+
onBeforeRequest(url, config);
|
|
49
|
+
});
|
|
39
50
|
let response = yield onRequest(url, data, config);
|
|
40
51
|
this.onAfterRequest(url, response);
|
|
52
|
+
this.onAfterRequests.forEach(onAfterRequest => {
|
|
53
|
+
onAfterRequest(url, response);
|
|
54
|
+
});
|
|
41
55
|
return { response, data: response.data };
|
|
42
56
|
}
|
|
43
57
|
catch (error) {
|
package/dist/BaseServer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseServer.js","sourceRoot":"","sources":["../src/BaseServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAiE;AACjE,mDAAgD;AAChD,iDAA8C;AAC9C,qDAAkD;AAElD,yDAAsD;AAEtD,MAAsB,UAAU;IAI5B,YAAY,MAAc;QADnB,mBAAc,GAAY,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseServer.js","sourceRoot":"","sources":["../src/BaseServer.ts"],"names":[],"mappings":"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"}
|
package/dist/CacheService.d.ts
CHANGED
|
@@ -4,7 +4,9 @@ export declare class CacheService<DataType> {
|
|
|
4
4
|
private duration_minutes;
|
|
5
5
|
private storage;
|
|
6
6
|
private getFromSource;
|
|
7
|
-
|
|
7
|
+
private onExpired;
|
|
8
|
+
constructor(name: string, duration_minutes: number, storage: IStorage, getFromSource: () => Promise<DataType>, onExpired: () => void);
|
|
8
9
|
get(): Promise<DataType>;
|
|
9
10
|
private set;
|
|
11
|
+
del(): Promise<void>;
|
|
10
12
|
}
|
package/dist/CacheService.js
CHANGED
|
@@ -11,31 +11,46 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.CacheService = void 0;
|
|
13
13
|
class CacheService {
|
|
14
|
-
constructor(name, duration_minutes, storage, getFromSource) {
|
|
14
|
+
constructor(name, duration_minutes, storage, getFromSource, onExpired) {
|
|
15
15
|
this.name = name;
|
|
16
16
|
this.duration_minutes = duration_minutes;
|
|
17
17
|
this.storage = storage;
|
|
18
18
|
this.getFromSource = getFromSource;
|
|
19
|
+
this.onExpired = onExpired;
|
|
19
20
|
}
|
|
20
21
|
get() {
|
|
21
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
23
|
let ans;
|
|
23
|
-
let value = this.storage.get(this.name, "");
|
|
24
|
+
let value = yield this.storage.get(this.name, "");
|
|
24
25
|
if (value) {
|
|
25
26
|
let cache = JSON.parse(value);
|
|
26
27
|
if (new Date(cache.expires_at) > new Date())
|
|
27
28
|
return cache.data;
|
|
28
29
|
}
|
|
29
30
|
ans = yield this.getFromSource();
|
|
30
|
-
this.set(ans);
|
|
31
|
+
yield this.set(ans);
|
|
31
32
|
return ans;
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
35
|
set(data) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
let expires_at = new Date();
|
|
38
|
+
expires_at.setMinutes(expires_at.getMinutes() + this.duration_minutes);
|
|
39
|
+
let value = JSON.stringify({ data, expires_at });
|
|
40
|
+
yield this.storage.set(this.name, value);
|
|
41
|
+
let sleep = expires_at.getTime() - new Date().getTime();
|
|
42
|
+
if (sleep <= 0)
|
|
43
|
+
sleep = 5 * 1000;
|
|
44
|
+
setTimeout(() => {
|
|
45
|
+
if (this.onExpired)
|
|
46
|
+
this.onExpired();
|
|
47
|
+
}, sleep);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
del() {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
yield this.storage.del(this.name);
|
|
53
|
+
});
|
|
39
54
|
}
|
|
40
55
|
}
|
|
41
56
|
exports.CacheService = CacheService;
|
package/dist/CacheService.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../src/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"CacheService.js","sourceRoot":"","sources":["../src/CacheService.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,MAAa,YAAY;IAOrB,YAAY,IAAY,EAAE,gBAAwB,EAAE,OAAiB,EAAE,aAAsC,EAAE,SAAqB;QAEhI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACK,GAAG;;YAEL,IAAI,GAAa,CAAC;YAClB,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,KAAK,EACT;gBACI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAA4B,CAAC;gBACzD,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE;oBACvC,OAAO,KAAK,CAAC,IAAI,CAAC;aACzB;YACD,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IACa,GAAG,CAAC,IAAc;;YAE5B,IAAI,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAGzC,IAAI,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACxD,IAAI,KAAK,IAAI,CAAC;gBACV,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,GAAG,EAAE;gBAEZ,IAAI,IAAI,CAAC,SAAS;oBACd,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,CAAC,EAAE,KAAK,CAAC,CAAC;QACd,CAAC;KAAA;IACK,GAAG;;YAEL,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;KAAA;CACJ;AAlDD,oCAkDC"}
|
package/dist/IStorage.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare abstract class IStorage {
|
|
2
|
-
abstract get(name: string, defaultValue: string): string
|
|
3
|
-
abstract set(name: string, value: string): void
|
|
4
|
-
abstract del(name: string): void
|
|
2
|
+
abstract get(name: string, defaultValue: string): Promise<string>;
|
|
3
|
+
abstract set(name: string, value: string): Promise<void>;
|
|
4
|
+
abstract del(name: string): Promise<void>;
|
|
5
5
|
}
|
package/dist/IStorageCookie.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare class IStorageCookie extends IStorage {
|
|
|
6
6
|
[name: string]: string;
|
|
7
7
|
}, cookies?: string);
|
|
8
8
|
private getAll;
|
|
9
|
-
get(name: string, defaultValue: string): string
|
|
10
|
-
set(name: string, value: string): void
|
|
11
|
-
del(name: string): void
|
|
9
|
+
get(name: string, defaultValue: string): Promise<string>;
|
|
10
|
+
set(name: string, value: string): Promise<void>;
|
|
11
|
+
del(name: string): Promise<void>;
|
|
12
12
|
}
|
package/dist/IStorageCookie.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.IStorageCookie = void 0;
|
|
4
13
|
const EncodingOperation_1 = require("./EncodingOperation");
|
|
@@ -21,27 +30,33 @@ class IStorageCookie extends IStorage_1.IStorage {
|
|
|
21
30
|
}
|
|
22
31
|
get(name, defaultValue) {
|
|
23
32
|
var _a;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
try {
|
|
35
|
+
let all = this.getAll();
|
|
36
|
+
return (_a = EncodingOperation_1.EncodingOperation.Base64Decode(all[name])) !== null && _a !== void 0 ? _a : defaultValue;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return defaultValue;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
31
42
|
}
|
|
32
43
|
set(name, value) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
try {
|
|
46
|
+
let items = [];
|
|
47
|
+
for (let key of Object.keys(this.fixed))
|
|
48
|
+
items.push(`${key}=${this.fixed[key]}`);
|
|
49
|
+
items.push(`${name}=${EncodingOperation_1.EncodingOperation.Base64Encode(value)}`);
|
|
50
|
+
document.cookie = items.join(";");
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
}
|
|
54
|
+
});
|
|
42
55
|
}
|
|
43
56
|
del(name) {
|
|
44
|
-
this
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
this.set(name, "");
|
|
59
|
+
});
|
|
45
60
|
}
|
|
46
61
|
}
|
|
47
62
|
exports.IStorageCookie = IStorageCookie;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IStorageCookie.js","sourceRoot":"","sources":["../src/IStorageCookie.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IStorageCookie.js","sourceRoot":"","sources":["../src/IStorageCookie.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2DAAwD;AACxD,yCAAsC;AAEtC,MAAa,cAAe,SAAQ,mBAAQ;IAIxC,YAAY,KAAiC,EAAE,OAAgB;QAE3D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACO,MAAM;;QAEV,IAAI,GAAG,GAA+B,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC;YACI,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,MAAA,GAAG,CAAC,CAAC,CAAC,0CAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;SAC9D;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IACc,GAAG,CAAC,IAAY,EAAE,YAAoB;;;YAEjD,IACA;gBACI,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,OAAO,MAAA,qCAAiB,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,mCAAI,YAAY,CAAC;aACpE;YAAC,OAAO,KAAK,EACd;gBACI,OAAO,YAAY,CAAC;aACvB;;KACJ;IACc,GAAG,CAAC,IAAY,EAAE,KAAa;;YAE1C,IACA;gBACI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,qCAAiB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/D,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrC;YAAC,OAAO,KAAK,EACd;aACC;QACL,CAAC;KAAA;IACc,GAAG,CAAC,IAAY;;YAE3B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvB,CAAC;KAAA;CACJ;AAjDD,wCAiDC"}
|
package/dist/IStorageLocal.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IStorage } from "./IStorage.js";
|
|
2
2
|
export declare class IStorageLocal extends IStorage {
|
|
3
|
-
get(name: string, defaultValue: string): string
|
|
4
|
-
set(name: string, value: string): void
|
|
5
|
-
del(name: string): void
|
|
3
|
+
get(name: string, defaultValue: string): Promise<string>;
|
|
4
|
+
set(name: string, value: string): Promise<void>;
|
|
5
|
+
del(name: string): Promise<void>;
|
|
6
6
|
}
|
package/dist/IStorageLocal.js
CHANGED
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.IStorageLocal = void 0;
|
|
4
13
|
const IStorage_js_1 = require("./IStorage.js");
|
|
5
14
|
class IStorageLocal extends IStorage_js_1.IStorage {
|
|
6
15
|
get(name, defaultValue) {
|
|
7
16
|
var _a;
|
|
8
|
-
return (
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
return (_a = localStorage.getItem(name)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
19
|
+
});
|
|
9
20
|
}
|
|
10
21
|
set(name, value) {
|
|
11
|
-
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
localStorage.setItem(name, value);
|
|
24
|
+
});
|
|
12
25
|
}
|
|
13
26
|
del(name) {
|
|
14
|
-
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
localStorage.removeItem(name);
|
|
29
|
+
});
|
|
15
30
|
}
|
|
16
31
|
}
|
|
17
32
|
exports.IStorageLocal = IStorageLocal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IStorageLocal.js","sourceRoot":"","sources":["../src/IStorageLocal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IStorageLocal.js","sourceRoot":"","sources":["../src/IStorageLocal.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAyC;AAEzC,MAAa,aAAc,SAAQ,sBAAQ;IAExB,GAAG,CAAC,IAAY,EAAE,YAAoB;;;YAEjD,OAAO,MAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,YAAY,CAAC;;KACrD;IACc,GAAG,CAAC,IAAY,EAAE,KAAa;;YAE1C,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;KAAA;IACc,GAAG,CAAC,IAAY;;YAE3B,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;KAAA;CACJ;AAdD,sCAcC"}
|
package/dist/IStorageMemory.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export declare class IStorageMemory extends IStorage {
|
|
|
3
3
|
static data: {
|
|
4
4
|
[name: string]: string;
|
|
5
5
|
};
|
|
6
|
-
get(name: string, defaultValue: string): string
|
|
7
|
-
set(name: string, value: string): void
|
|
8
|
-
del(name: string): void
|
|
6
|
+
get(name: string, defaultValue: string): Promise<string>;
|
|
7
|
+
set(name: string, value: string): Promise<void>;
|
|
8
|
+
del(name: string): Promise<void>;
|
|
9
9
|
}
|
package/dist/IStorageMemory.js
CHANGED
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.IStorageMemory = void 0;
|
|
4
13
|
const IStorage_1 = require("./IStorage");
|
|
5
14
|
class IStorageMemory extends IStorage_1.IStorage {
|
|
6
15
|
get(name, defaultValue) {
|
|
7
16
|
var _a;
|
|
8
|
-
return (
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
return (_a = IStorageMemory.data[name]) !== null && _a !== void 0 ? _a : defaultValue;
|
|
19
|
+
});
|
|
9
20
|
}
|
|
10
21
|
set(name, value) {
|
|
11
|
-
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
IStorageMemory.data[name] = value;
|
|
24
|
+
});
|
|
12
25
|
}
|
|
13
26
|
del(name) {
|
|
14
|
-
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
delete IStorageMemory.data[name];
|
|
29
|
+
});
|
|
15
30
|
}
|
|
16
31
|
}
|
|
17
32
|
exports.IStorageMemory = IStorageMemory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IStorageMemory.js","sourceRoot":"","sources":["../src/IStorageMemory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IStorageMemory.js","sourceRoot":"","sources":["../src/IStorageMemory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAsC;AAEtC,MAAa,cAAe,SAAQ,mBAAQ;IAGzB,GAAG,CAAC,IAAY,EAAE,YAAoB;;;YAEjD,OAAO,MAAA,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,YAAY,CAAC;;KACpD;IACc,GAAG,CAAC,IAAY,EAAE,KAAa;;YAE1C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACtC,CAAC;KAAA;IACc,GAAG,CAAC,IAAY;;YAE3B,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;KAAA;;AAdL,wCAeC;AAbU,mBAAI,GAA+B,EAAE,CAAC"}
|
package/package.json
CHANGED
package/src/BaseServer.ts
CHANGED
|
@@ -13,9 +13,19 @@ export abstract class BaseServer
|
|
|
13
13
|
{
|
|
14
14
|
this.domain = domain;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
private onBeforeRequests: ((url: string, config?: AxiosRequestConfig) => void)[] = [];
|
|
17
|
+
private onAfterRequests: ((url: string, response: AxiosResponse) => void)[] = [];
|
|
18
|
+
protected abstract onBeforeRequest<ReqData = any>(url: string, config?: AxiosRequestConfig<ReqData>): void;
|
|
19
|
+
protected abstract onAfterRequest<ResData = any>(url: string, response: AxiosResponse<ResData>): void;
|
|
18
20
|
protected abstract onError(error: Error): void;
|
|
21
|
+
addOnBeforeRequest(onBeforeRequest: (url: string, config?: AxiosRequestConfig) => void)
|
|
22
|
+
{
|
|
23
|
+
this.onBeforeRequests.push(onBeforeRequest);
|
|
24
|
+
}
|
|
25
|
+
addOnAfterRequest(onAfterRequest: (url: string, response: AxiosResponse) => void)
|
|
26
|
+
{
|
|
27
|
+
this.onAfterRequests.push(onAfterRequest);
|
|
28
|
+
}
|
|
19
29
|
private async _request<ResData = any, ReqData = any>(onRequest: (url: string, data?: any, config?: AxiosRequestConfig<ReqData>) => Promise<AxiosResponse<ResData>>, sub: string, query?: { [name: string]: ParsedNameValue }, data?: ReqData, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
20
30
|
{
|
|
21
31
|
let url: string = URLOperation.getLink(this.domain, sub, query);
|
|
@@ -29,8 +39,16 @@ export abstract class BaseServer
|
|
|
29
39
|
try
|
|
30
40
|
{
|
|
31
41
|
this.onBeforeRequest(url, config);
|
|
42
|
+
this.onBeforeRequests.forEach(onBeforeRequest =>
|
|
43
|
+
{
|
|
44
|
+
onBeforeRequest(url, config);
|
|
45
|
+
});
|
|
32
46
|
let response: AxiosResponse<ResData> = await onRequest(url, data, config);
|
|
33
47
|
this.onAfterRequest(url, response);
|
|
48
|
+
this.onAfterRequests.forEach(onAfterRequest =>
|
|
49
|
+
{
|
|
50
|
+
onAfterRequest(url, response);
|
|
51
|
+
});
|
|
34
52
|
return { response, data: response.data };
|
|
35
53
|
} catch (error)
|
|
36
54
|
{
|
package/src/CacheService.ts
CHANGED
|
@@ -12,17 +12,19 @@ export class CacheService<DataType>
|
|
|
12
12
|
private duration_minutes: number;
|
|
13
13
|
private storage: IStorage;
|
|
14
14
|
private getFromSource: () => Promise<DataType>;
|
|
15
|
-
|
|
15
|
+
private onExpired: () => void;
|
|
16
|
+
constructor(name: string, duration_minutes: number, storage: IStorage, getFromSource: () => Promise<DataType>, onExpired: () => void)
|
|
16
17
|
{
|
|
17
18
|
this.name = name;
|
|
18
19
|
this.duration_minutes = duration_minutes;
|
|
19
20
|
this.storage = storage;
|
|
20
21
|
this.getFromSource = getFromSource;
|
|
22
|
+
this.onExpired = onExpired;
|
|
21
23
|
}
|
|
22
24
|
async get(): Promise<DataType>
|
|
23
25
|
{
|
|
24
26
|
let ans: DataType;
|
|
25
|
-
let value = this.storage.get(this.name, "");
|
|
27
|
+
let value = await this.storage.get(this.name, "");
|
|
26
28
|
if (value)
|
|
27
29
|
{
|
|
28
30
|
let cache = JSON.parse(value) as NSCachStorage<DataType>;
|
|
@@ -30,14 +32,28 @@ export class CacheService<DataType>
|
|
|
30
32
|
return cache.data;
|
|
31
33
|
}
|
|
32
34
|
ans = await this.getFromSource();
|
|
33
|
-
this.set(ans);
|
|
35
|
+
await this.set(ans);
|
|
34
36
|
return ans;
|
|
35
37
|
}
|
|
36
|
-
private set(data: DataType)
|
|
38
|
+
private async set(data: DataType)
|
|
37
39
|
{
|
|
38
40
|
let expires_at = new Date();
|
|
39
41
|
expires_at.setMinutes(expires_at.getMinutes() + this.duration_minutes);
|
|
40
42
|
let value = JSON.stringify({ data, expires_at });
|
|
41
|
-
this.storage.set(this.name, value);
|
|
43
|
+
await this.storage.set(this.name, value);
|
|
44
|
+
//
|
|
45
|
+
|
|
46
|
+
let sleep = expires_at.getTime() - new Date().getTime();
|
|
47
|
+
if (sleep <= 0)
|
|
48
|
+
sleep = 5 * 1000;
|
|
49
|
+
setTimeout(() =>
|
|
50
|
+
{
|
|
51
|
+
if (this.onExpired)
|
|
52
|
+
this.onExpired();
|
|
53
|
+
}, sleep);
|
|
54
|
+
}
|
|
55
|
+
async del()
|
|
56
|
+
{
|
|
57
|
+
await this.storage.del(this.name);
|
|
42
58
|
}
|
|
43
59
|
}
|
package/src/IStorage.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export abstract class IStorage
|
|
2
2
|
{
|
|
3
|
-
abstract get(name: string, defaultValue: string): string
|
|
4
|
-
abstract set(name: string, value: string): void
|
|
5
|
-
abstract del(name: string): void
|
|
3
|
+
abstract get(name: string, defaultValue: string): Promise<string>;
|
|
4
|
+
abstract set(name: string, value: string): Promise<void>;
|
|
5
|
+
abstract del(name: string): Promise<void>;
|
|
6
6
|
}
|
package/src/IStorageCookie.ts
CHANGED
|
@@ -22,7 +22,7 @@ export class IStorageCookie extends IStorage
|
|
|
22
22
|
}
|
|
23
23
|
return ans;
|
|
24
24
|
}
|
|
25
|
-
override get(name: string, defaultValue: string)
|
|
25
|
+
override async get(name: string, defaultValue: string)
|
|
26
26
|
{
|
|
27
27
|
try
|
|
28
28
|
{
|
|
@@ -33,7 +33,7 @@ export class IStorageCookie extends IStorage
|
|
|
33
33
|
return defaultValue;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
override set(name: string, value: string)
|
|
36
|
+
override async set(name: string, value: string)
|
|
37
37
|
{
|
|
38
38
|
try
|
|
39
39
|
{
|
|
@@ -46,7 +46,7 @@ export class IStorageCookie extends IStorage
|
|
|
46
46
|
{
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
override del(name: string)
|
|
49
|
+
override async del(name: string)
|
|
50
50
|
{
|
|
51
51
|
this.set(name, "");
|
|
52
52
|
}
|
package/src/IStorageLocal.ts
CHANGED
|
@@ -2,15 +2,15 @@ import { IStorage } from "./IStorage.js";
|
|
|
2
2
|
|
|
3
3
|
export class IStorageLocal extends IStorage
|
|
4
4
|
{
|
|
5
|
-
override get(name: string, defaultValue: string)
|
|
5
|
+
override async get(name: string, defaultValue: string)
|
|
6
6
|
{
|
|
7
7
|
return localStorage.getItem(name) ?? defaultValue;
|
|
8
8
|
}
|
|
9
|
-
override set(name: string, value: string)
|
|
9
|
+
override async set(name: string, value: string)
|
|
10
10
|
{
|
|
11
11
|
localStorage.setItem(name, value);
|
|
12
12
|
}
|
|
13
|
-
override del(name: string)
|
|
13
|
+
override async del(name: string)
|
|
14
14
|
{
|
|
15
15
|
localStorage.removeItem(name);
|
|
16
16
|
}
|
package/src/IStorageMemory.ts
CHANGED
|
@@ -3,15 +3,15 @@ import { IStorage } from "./IStorage";
|
|
|
3
3
|
export class IStorageMemory extends IStorage
|
|
4
4
|
{
|
|
5
5
|
static data: { [name: string]: string } = {};
|
|
6
|
-
override get(name: string, defaultValue: string)
|
|
6
|
+
override async get(name: string, defaultValue: string)
|
|
7
7
|
{
|
|
8
8
|
return IStorageMemory.data[name] ?? defaultValue;
|
|
9
9
|
}
|
|
10
|
-
override set(name: string, value: string)
|
|
10
|
+
override async set(name: string, value: string)
|
|
11
11
|
{
|
|
12
12
|
IStorageMemory.data[name] = value;
|
|
13
13
|
}
|
|
14
|
-
override del(name: string)
|
|
14
|
+
override async del(name: string)
|
|
15
15
|
{
|
|
16
16
|
delete IStorageMemory.data[name];
|
|
17
17
|
}
|