namirasoft-core 1.4.22 → 1.4.23
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/EncryptionOperation.js +17 -7
- package/dist/EncryptionOperation.js.map +1 -1
- package/dist/HashOperation.js +17 -7
- package/dist/HashOperation.js.map +1 -1
- package/dist/NamingConvention.js +2 -2
- package/dist/NamingConvention.js.map +1 -1
- package/dist/PhoneOperation.js +17 -7
- package/dist/PhoneOperation.js.map +1 -1
- package/package.json +26 -26
- package/src/BaseDatabaseRow.ts +6 -6
- package/src/BaseMetaColumn.ts +17 -17
- package/src/BaseMetaDatabase.ts +26 -26
- package/src/BaseMetaTable.ts +36 -36
- package/src/BaseServer.ts +113 -113
- package/src/BaseUUID.ts +35 -35
- package/src/CacheService.ts +57 -57
- package/src/ConsoleOperation.ts +68 -68
- package/src/ConvertService.ts +100 -100
- package/src/CookieService.ts +33 -33
- package/src/Countries.ts +486 -486
- package/src/Country.ts +21 -21
- package/src/CountryOperation.ts +98 -98
- package/src/EncodingOperation.ts +12 -12
- package/src/EncryptionOperation.ts +40 -40
- package/src/EnvService.ts +22 -22
- package/src/ErrorOperation.ts +13 -13
- package/src/FileOperation.ts +57 -57
- package/src/FilterItem.ts +128 -128
- package/src/FilterItemColumnType.ts +6 -6
- package/src/FilterItemOperator.ts +51 -51
- package/src/GeoOperation.ts +18 -18
- package/src/HTTPError.ts +8 -8
- package/src/HTTPMethod.ts +6 -6
- package/src/HashOperation.ts +24 -24
- package/src/IStorage.ts +5 -5
- package/src/IStorageCookie.ts +52 -52
- package/src/IStorageJsonFile.ts +45 -45
- package/src/IStorageLocal.ts +16 -16
- package/src/IStorageMemory.ts +17 -17
- package/src/NamingConvention.ts +145 -145
- package/src/ObjectService.ts +27 -27
- package/src/PackageService.ts +76 -76
- package/src/PhoneOperation.ts +8 -8
- package/src/PriceOperation.ts +18 -18
- package/src/RegexTemplate.ts +7 -7
- package/src/SearchOperation.ts +29 -29
- package/src/SortItem.ts +88 -88
- package/src/StringOperation.ts +18 -18
- package/src/TimeOperation.ts +262 -262
- package/src/URLOperation.ts +54 -54
- package/src/VersionOperation.ts +46 -46
- package/src/index.ts +42 -42
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.EncryptionOperation = void 0;
|
|
27
37
|
const crypto = __importStar(require("node:crypto"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptionOperation.js","sourceRoot":"","sources":["../src/EncryptionOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EncryptionOperation.js","sourceRoot":"","sources":["../src/EncryptionOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,MAAa,mBAAmB;IAEpB,MAAM,CAAC,OAAO,CAAI,SAAiB,EAAE,MAAc,EAAE,OAAU;QAEnE,IAAI,MAAM,CAAC,MAAM,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,GAAI,MAAc,CAAC,UAAU,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IACO,MAAM,CAAC,OAAO,CAAI,SAAiB,EAAE,MAAc,EAAE,OAAe;QAExE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC/D,QAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAI,MAAc,EAAE,OAAU;QAEjD,OAAO,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAI,MAAc,EAAE,OAAe;QAEtD,OAAO,mBAAmB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;CACJ;AAtCD,kDAsCC"}
|
package/dist/HashOperation.js
CHANGED
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.HashOperation = void 0;
|
|
27
37
|
const crypto = __importStar(require("node:crypto"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HashOperation.js","sourceRoot":"","sources":["../src/HashOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HashOperation.js","sourceRoot":"","sources":["../src/HashOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AAEtC,MAAa,aAAa;IAEtB,MAAM,CAAC,MAAM,CAAI,OAAU;QAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,YAAY,CAAI,MAAc,EAAE,OAAU;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,MAAW,EAAE,SAAiB;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;IACzE,CAAC;IACD,MAAM,CAAC,mBAAmB,CAAC,MAAc,EAAE,MAAW,EAAE,SAAiB;QAErE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;IACvF,CAAC;CACJ;AAtBD,sCAsBC"}
|
package/dist/NamingConvention.js
CHANGED
|
@@ -23,12 +23,12 @@ class NamingConvention {
|
|
|
23
23
|
for (let i = 0; i < words.length; i++) {
|
|
24
24
|
let word = words[i];
|
|
25
25
|
if (word) {
|
|
26
|
-
if (
|
|
26
|
+
if (word.length > 1) {
|
|
27
27
|
combined.push(word);
|
|
28
28
|
single_found = false;
|
|
29
29
|
}
|
|
30
30
|
else {
|
|
31
|
-
if (!single_found) {
|
|
31
|
+
if (i == 0 || !single_found) {
|
|
32
32
|
combined.push(word);
|
|
33
33
|
single_found = true;
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamingConvention.js","sourceRoot":"","sources":["../src/NamingConvention.ts"],"names":[],"mappings":";;;AAAA,MAAa,gBAAgB;IA4FzB,YAAY,IAAY,EAAE,SAAiB,EAAE,UAAmB,EAAE,SAAkD,EAAE,QAAuD;QAEzK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,QAAQ,CAAC,IAAY;QAEjB,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,GAAG,CAAC;IACf,CAAC;IACD,cAAc,CAAC,KAAe,EAAE,aAAsB,IAAI;QAEtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YACjC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,YAAY,GAAY,KAAK,CAAC;QAClC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAClC,CAAC;YACG,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EACrC,CAAC;gBACG,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,IAAI,EACR,CAAC;oBACG,IAAI,
|
|
1
|
+
{"version":3,"file":"NamingConvention.js","sourceRoot":"","sources":["../src/NamingConvention.ts"],"names":[],"mappings":"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"}
|
package/dist/PhoneOperation.js
CHANGED
|
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.PhoneOperation = void 0;
|
|
27
37
|
const Phone = __importStar(require("phone"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneOperation.js","sourceRoot":"","sources":["../src/PhoneOperation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PhoneOperation.js","sourceRoot":"","sources":["../src/PhoneOperation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAE/B,MAAa,cAAc;IAEvB,MAAM,CAAC,OAAO,CAAC,MAAc;QAEzB,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IACvC,CAAC;CACJ;AAND,wCAMC"}
|
package/package.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "namirasoft-core",
|
|
3
|
-
"title": "Namirasoft Core NPM Package",
|
|
4
|
-
"description": "Namira Software Corporation Core NPM Package",
|
|
5
|
-
"icon": "logo.png",
|
|
6
|
-
"logo": "https://static.namirasoft.com/image/namirasoft/site/logo/base.png",
|
|
7
|
-
"language": "ts",
|
|
8
|
-
"framework": "npm",
|
|
9
|
-
"application": "package",
|
|
10
|
-
"private": false,
|
|
11
|
-
"version": "1.4.
|
|
12
|
-
"author": "Amir Abolhasani",
|
|
13
|
-
"license": "MIT",
|
|
14
|
-
"main": "./dist/index.js",
|
|
15
|
-
"types": "./dist/index.d.ts",
|
|
16
|
-
"scripts": {
|
|
17
|
-
"build": ""
|
|
18
|
-
},
|
|
19
|
-
"dependencies": {
|
|
20
|
-
"@types/node": "^22.10.2",
|
|
21
|
-
"axios": "^1.7.9",
|
|
22
|
-
"buffer": "^6.0.3",
|
|
23
|
-
"moment": "^2.30.1",
|
|
24
|
-
"phone": "^3.1.56",
|
|
25
|
-
"uuid": "^11.0.3"
|
|
26
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "namirasoft-core",
|
|
3
|
+
"title": "Namirasoft Core NPM Package",
|
|
4
|
+
"description": "Namira Software Corporation Core NPM Package",
|
|
5
|
+
"icon": "logo.png",
|
|
6
|
+
"logo": "https://static.namirasoft.com/image/namirasoft/site/logo/base.png",
|
|
7
|
+
"language": "ts",
|
|
8
|
+
"framework": "npm",
|
|
9
|
+
"application": "package",
|
|
10
|
+
"private": false,
|
|
11
|
+
"version": "1.4.23",
|
|
12
|
+
"author": "Amir Abolhasani",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"main": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": ""
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@types/node": "^22.10.2",
|
|
21
|
+
"axios": "^1.7.9",
|
|
22
|
+
"buffer": "^6.0.3",
|
|
23
|
+
"moment": "^2.30.1",
|
|
24
|
+
"phone": "^3.1.56",
|
|
25
|
+
"uuid": "^11.0.3"
|
|
26
|
+
}
|
|
27
27
|
}
|
package/src/BaseDatabaseRow.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type BaseDatabaseRow<ID> =
|
|
2
|
-
{
|
|
3
|
-
id: ID;
|
|
4
|
-
createdAt: string;
|
|
5
|
-
updatedAt: string;
|
|
6
|
-
deletedAt: string;
|
|
1
|
+
export type BaseDatabaseRow<ID> =
|
|
2
|
+
{
|
|
3
|
+
id: ID;
|
|
4
|
+
createdAt: string;
|
|
5
|
+
updatedAt: string;
|
|
6
|
+
deletedAt: string;
|
|
7
7
|
}
|
package/src/BaseMetaColumn.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { BaseMetaTable } from "./BaseMetaTable";
|
|
2
|
-
|
|
3
|
-
export class BaseMetaColumn
|
|
4
|
-
{
|
|
5
|
-
table: BaseMetaTable;
|
|
6
|
-
name: string;
|
|
7
|
-
text: string;
|
|
8
|
-
type: string; // todo
|
|
9
|
-
required: boolean;
|
|
10
|
-
constructor(table: BaseMetaTable, name: string, text: string, type: string, required: boolean)
|
|
11
|
-
{
|
|
12
|
-
this.table = table;
|
|
13
|
-
this.name = name;
|
|
14
|
-
this.text = text;
|
|
15
|
-
this.type = type;
|
|
16
|
-
this.required = required;
|
|
17
|
-
}
|
|
1
|
+
import { BaseMetaTable } from "./BaseMetaTable";
|
|
2
|
+
|
|
3
|
+
export class BaseMetaColumn
|
|
4
|
+
{
|
|
5
|
+
table: BaseMetaTable;
|
|
6
|
+
name: string;
|
|
7
|
+
text: string;
|
|
8
|
+
type: string; // todo
|
|
9
|
+
required: boolean;
|
|
10
|
+
constructor(table: BaseMetaTable, name: string, text: string, type: string, required: boolean)
|
|
11
|
+
{
|
|
12
|
+
this.table = table;
|
|
13
|
+
this.name = name;
|
|
14
|
+
this.text = text;
|
|
15
|
+
this.type = type;
|
|
16
|
+
this.required = required;
|
|
17
|
+
}
|
|
18
18
|
}
|
package/src/BaseMetaDatabase.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { BaseMetaTable } from "./BaseMetaTable";
|
|
2
|
-
|
|
3
|
-
export abstract class BaseMetaDatabase
|
|
4
|
-
{
|
|
5
|
-
public tables: { [name: string]: BaseMetaTable } = {};
|
|
6
|
-
forEachTable<T, MT extends BaseMetaTable>(handler: (table: MT) => T | null): T | null
|
|
7
|
-
{
|
|
8
|
-
for (const key in this.tables)
|
|
9
|
-
{
|
|
10
|
-
const element = this.tables[key];
|
|
11
|
-
let ans = handler(element as MT);
|
|
12
|
-
if (ans != null)
|
|
13
|
-
return ans;
|
|
14
|
-
}
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
getTables<MT extends BaseMetaTable>(): MT[]
|
|
18
|
-
{
|
|
19
|
-
let ans: MT[] = [];
|
|
20
|
-
this.forEachTable((table) =>
|
|
21
|
-
{
|
|
22
|
-
ans.push(table as MT);
|
|
23
|
-
return null;
|
|
24
|
-
});
|
|
25
|
-
return ans;
|
|
26
|
-
}
|
|
1
|
+
import { BaseMetaTable } from "./BaseMetaTable";
|
|
2
|
+
|
|
3
|
+
export abstract class BaseMetaDatabase
|
|
4
|
+
{
|
|
5
|
+
public tables: { [name: string]: BaseMetaTable } = {};
|
|
6
|
+
forEachTable<T, MT extends BaseMetaTable>(handler: (table: MT) => T | null): T | null
|
|
7
|
+
{
|
|
8
|
+
for (const key in this.tables)
|
|
9
|
+
{
|
|
10
|
+
const element = this.tables[key];
|
|
11
|
+
let ans = handler(element as MT);
|
|
12
|
+
if (ans != null)
|
|
13
|
+
return ans;
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
getTables<MT extends BaseMetaTable>(): MT[]
|
|
18
|
+
{
|
|
19
|
+
let ans: MT[] = [];
|
|
20
|
+
this.forEachTable((table) =>
|
|
21
|
+
{
|
|
22
|
+
ans.push(table as MT);
|
|
23
|
+
return null;
|
|
24
|
+
});
|
|
25
|
+
return ans;
|
|
26
|
+
}
|
|
27
27
|
};
|
package/src/BaseMetaTable.ts
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { BaseMetaColumn } from "./BaseMetaColumn";
|
|
2
|
-
import { BaseMetaDatabase } from "./BaseMetaDatabase";
|
|
3
|
-
|
|
4
|
-
export class BaseMetaTable
|
|
5
|
-
{
|
|
6
|
-
database: BaseMetaDatabase | null;
|
|
7
|
-
name: string;
|
|
8
|
-
text: string;
|
|
9
|
-
public columns: { [name: string]: BaseMetaColumn } = {};
|
|
10
|
-
constructor(database: BaseMetaDatabase | null, name: string, text: string)
|
|
11
|
-
{
|
|
12
|
-
this.database = database;
|
|
13
|
-
this.name = name;
|
|
14
|
-
this.text = text;
|
|
15
|
-
}
|
|
16
|
-
forEachColumn<T, MC extends BaseMetaColumn>(handler: (table: MC) => T | null): T | null
|
|
17
|
-
{
|
|
18
|
-
for (const key in this.columns)
|
|
19
|
-
{
|
|
20
|
-
const element = this.columns[key];
|
|
21
|
-
let ans = handler(element as MC);
|
|
22
|
-
if (ans != null)
|
|
23
|
-
return ans;
|
|
24
|
-
}
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
getColumns<MC extends BaseMetaColumn>(): MC[]
|
|
28
|
-
{
|
|
29
|
-
let ans: MC[] = [];
|
|
30
|
-
this.forEachColumn((column) =>
|
|
31
|
-
{
|
|
32
|
-
ans.push(column as MC);
|
|
33
|
-
return null;
|
|
34
|
-
});
|
|
35
|
-
return ans;
|
|
36
|
-
}
|
|
1
|
+
import { BaseMetaColumn } from "./BaseMetaColumn";
|
|
2
|
+
import { BaseMetaDatabase } from "./BaseMetaDatabase";
|
|
3
|
+
|
|
4
|
+
export class BaseMetaTable
|
|
5
|
+
{
|
|
6
|
+
database: BaseMetaDatabase | null;
|
|
7
|
+
name: string;
|
|
8
|
+
text: string;
|
|
9
|
+
public columns: { [name: string]: BaseMetaColumn } = {};
|
|
10
|
+
constructor(database: BaseMetaDatabase | null, name: string, text: string)
|
|
11
|
+
{
|
|
12
|
+
this.database = database;
|
|
13
|
+
this.name = name;
|
|
14
|
+
this.text = text;
|
|
15
|
+
}
|
|
16
|
+
forEachColumn<T, MC extends BaseMetaColumn>(handler: (table: MC) => T | null): T | null
|
|
17
|
+
{
|
|
18
|
+
for (const key in this.columns)
|
|
19
|
+
{
|
|
20
|
+
const element = this.columns[key];
|
|
21
|
+
let ans = handler(element as MC);
|
|
22
|
+
if (ans != null)
|
|
23
|
+
return ans;
|
|
24
|
+
}
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
getColumns<MC extends BaseMetaColumn>(): MC[]
|
|
28
|
+
{
|
|
29
|
+
let ans: MC[] = [];
|
|
30
|
+
this.forEachColumn((column) =>
|
|
31
|
+
{
|
|
32
|
+
ans.push(column as MC);
|
|
33
|
+
return null;
|
|
34
|
+
});
|
|
35
|
+
return ans;
|
|
36
|
+
}
|
|
37
37
|
}
|
package/src/BaseServer.ts
CHANGED
|
@@ -1,114 +1,114 @@
|
|
|
1
|
-
import axios, { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
2
|
-
import { HashOperation } from "./HashOperation";
|
|
3
|
-
import { URLOperation } from "./URLOperation";
|
|
4
|
-
import { ErrorOperation } from "./ErrorOperation";
|
|
5
|
-
import { ParsedNameValue } from "./ParsedNameValue";
|
|
6
|
-
import { ConsoleOperation } from "./ConsoleOperation";
|
|
7
|
-
import { EnvService } from "./EnvService";
|
|
8
|
-
|
|
9
|
-
export abstract class BaseServer
|
|
10
|
-
{
|
|
11
|
-
protected base_url: string;
|
|
12
|
-
public suppressErrors: boolean = false;
|
|
13
|
-
constructor(base_url: string)
|
|
14
|
-
{
|
|
15
|
-
this.base_url = base_url;
|
|
16
|
-
}
|
|
17
|
-
private onBeforeRequests: ((url: string, config?: AxiosRequestConfig) => void)[] = [];
|
|
18
|
-
private onAfterRequests: ((url: string, response: AxiosResponse) => void)[] = [];
|
|
19
|
-
protected abstract onBeforeRequest<ReqData = any>(url: string, config?: AxiosRequestConfig<ReqData>): void;
|
|
20
|
-
protected abstract onAfterRequest<ResData = any>(url: string, response: AxiosResponse<ResData>): void;
|
|
21
|
-
protected abstract onError(error: Error): void;
|
|
22
|
-
addOnBeforeRequest(onBeforeRequest: (url: string, config?: AxiosRequestConfig) => void)
|
|
23
|
-
{
|
|
24
|
-
this.onBeforeRequests.push(onBeforeRequest);
|
|
25
|
-
}
|
|
26
|
-
addOnAfterRequest(onAfterRequest: (url: string, response: AxiosResponse) => void)
|
|
27
|
-
{
|
|
28
|
-
this.onAfterRequests.push(onAfterRequest);
|
|
29
|
-
}
|
|
30
|
-
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 }>
|
|
31
|
-
{
|
|
32
|
-
let url: string = URLOperation.getLink(this.base_url, sub, query);
|
|
33
|
-
if (!config)
|
|
34
|
-
config = { headers: {} };
|
|
35
|
-
if (sign_header)
|
|
36
|
-
if (sign_key)
|
|
37
|
-
if (data)
|
|
38
|
-
if (config?.headers)
|
|
39
|
-
config.headers[sign_header] = HashOperation.SHA256Secret(sign_key, data);
|
|
40
|
-
try
|
|
41
|
-
{
|
|
42
|
-
this.onBeforeRequest(url, config);
|
|
43
|
-
this.onBeforeRequests.forEach(onBeforeRequest =>
|
|
44
|
-
{
|
|
45
|
-
onBeforeRequest(url, config);
|
|
46
|
-
});
|
|
47
|
-
let response: AxiosResponse<ResData> = await onRequest(url, data, config);
|
|
48
|
-
this.onAfterRequest(url, response);
|
|
49
|
-
this.onAfterRequests.forEach(onAfterRequest =>
|
|
50
|
-
{
|
|
51
|
-
onAfterRequest(url, response);
|
|
52
|
-
});
|
|
53
|
-
return { response, data: response.data };
|
|
54
|
-
} catch (error)
|
|
55
|
-
{
|
|
56
|
-
if (error instanceof Error)
|
|
57
|
-
{
|
|
58
|
-
let BASESERVER_ERROR_VERBOSE = new EnvService("BASESERVER_ERROR_VERBOSE", false).getBoolean(false);
|
|
59
|
-
|
|
60
|
-
if (this.onError)
|
|
61
|
-
{
|
|
62
|
-
if (BASESERVER_ERROR_VERBOSE)
|
|
63
|
-
error.message = `Error calling url '${url}' ` + error.message;
|
|
64
|
-
this.onError(error);
|
|
65
|
-
}
|
|
66
|
-
else
|
|
67
|
-
{
|
|
68
|
-
ConsoleOperation.warning("onError function has not been properly set.");
|
|
69
|
-
ConsoleOperation.error(error?.message);
|
|
70
|
-
}
|
|
71
|
-
if (axios.isAxiosError(error))
|
|
72
|
-
if (error?.response?.data)
|
|
73
|
-
if (!this.suppressErrors)
|
|
74
|
-
{
|
|
75
|
-
if (BASESERVER_ERROR_VERBOSE)
|
|
76
|
-
ErrorOperation.throwHTTP(error.response.status, `Error calling url '${url}' ` + JSON.stringify(error.response.data));
|
|
77
|
-
else
|
|
78
|
-
ErrorOperation.throwHTTP(error.response.status, JSON.stringify(error.response.data));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (!this.suppressErrors)
|
|
82
|
-
throw error;
|
|
83
|
-
}
|
|
84
|
-
return {} as any;
|
|
85
|
-
}
|
|
86
|
-
protected async _get<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, config?: AxiosRequestConfig<ReqData>): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
87
|
-
{
|
|
88
|
-
return await this._request(async (url: string, _?: any, config?: AxiosRequestConfig<ReqData>) =>
|
|
89
|
-
{
|
|
90
|
-
return await axios.get(url, config);
|
|
91
|
-
}, sub, query, undefined, config);
|
|
92
|
-
}
|
|
93
|
-
protected async _post<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, data?: ReqData, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
94
|
-
{
|
|
95
|
-
return await this._request(async (url: string, data: ReqData, config?: AxiosRequestConfig<ReqData>) =>
|
|
96
|
-
{
|
|
97
|
-
return await axios.post(url, data, config);
|
|
98
|
-
}, sub, query, data, config, sign_header, sign_key);
|
|
99
|
-
}
|
|
100
|
-
protected async _put<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, data?: ReqData, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
101
|
-
{
|
|
102
|
-
return await this._request(async (url: string, data: ReqData, config?: AxiosRequestConfig<ReqData>) =>
|
|
103
|
-
{
|
|
104
|
-
return await axios.put(url, data, config);
|
|
105
|
-
}, sub, query, data, config, sign_header, sign_key);
|
|
106
|
-
}
|
|
107
|
-
protected async _delete<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
108
|
-
{
|
|
109
|
-
return await this._request(async (url: string, _?: any, config?: AxiosRequestConfig<ReqData>) =>
|
|
110
|
-
{
|
|
111
|
-
return await axios.delete(url, config);
|
|
112
|
-
}, sub, query, undefined, config, sign_header, sign_key);
|
|
113
|
-
}
|
|
1
|
+
import axios, { AxiosRequestConfig, AxiosResponse } from "axios";
|
|
2
|
+
import { HashOperation } from "./HashOperation";
|
|
3
|
+
import { URLOperation } from "./URLOperation";
|
|
4
|
+
import { ErrorOperation } from "./ErrorOperation";
|
|
5
|
+
import { ParsedNameValue } from "./ParsedNameValue";
|
|
6
|
+
import { ConsoleOperation } from "./ConsoleOperation";
|
|
7
|
+
import { EnvService } from "./EnvService";
|
|
8
|
+
|
|
9
|
+
export abstract class BaseServer
|
|
10
|
+
{
|
|
11
|
+
protected base_url: string;
|
|
12
|
+
public suppressErrors: boolean = false;
|
|
13
|
+
constructor(base_url: string)
|
|
14
|
+
{
|
|
15
|
+
this.base_url = base_url;
|
|
16
|
+
}
|
|
17
|
+
private onBeforeRequests: ((url: string, config?: AxiosRequestConfig) => void)[] = [];
|
|
18
|
+
private onAfterRequests: ((url: string, response: AxiosResponse) => void)[] = [];
|
|
19
|
+
protected abstract onBeforeRequest<ReqData = any>(url: string, config?: AxiosRequestConfig<ReqData>): void;
|
|
20
|
+
protected abstract onAfterRequest<ResData = any>(url: string, response: AxiosResponse<ResData>): void;
|
|
21
|
+
protected abstract onError(error: Error): void;
|
|
22
|
+
addOnBeforeRequest(onBeforeRequest: (url: string, config?: AxiosRequestConfig) => void)
|
|
23
|
+
{
|
|
24
|
+
this.onBeforeRequests.push(onBeforeRequest);
|
|
25
|
+
}
|
|
26
|
+
addOnAfterRequest(onAfterRequest: (url: string, response: AxiosResponse) => void)
|
|
27
|
+
{
|
|
28
|
+
this.onAfterRequests.push(onAfterRequest);
|
|
29
|
+
}
|
|
30
|
+
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 }>
|
|
31
|
+
{
|
|
32
|
+
let url: string = URLOperation.getLink(this.base_url, sub, query);
|
|
33
|
+
if (!config)
|
|
34
|
+
config = { headers: {} };
|
|
35
|
+
if (sign_header)
|
|
36
|
+
if (sign_key)
|
|
37
|
+
if (data)
|
|
38
|
+
if (config?.headers)
|
|
39
|
+
config.headers[sign_header] = HashOperation.SHA256Secret(sign_key, data);
|
|
40
|
+
try
|
|
41
|
+
{
|
|
42
|
+
this.onBeforeRequest(url, config);
|
|
43
|
+
this.onBeforeRequests.forEach(onBeforeRequest =>
|
|
44
|
+
{
|
|
45
|
+
onBeforeRequest(url, config);
|
|
46
|
+
});
|
|
47
|
+
let response: AxiosResponse<ResData> = await onRequest(url, data, config);
|
|
48
|
+
this.onAfterRequest(url, response);
|
|
49
|
+
this.onAfterRequests.forEach(onAfterRequest =>
|
|
50
|
+
{
|
|
51
|
+
onAfterRequest(url, response);
|
|
52
|
+
});
|
|
53
|
+
return { response, data: response.data };
|
|
54
|
+
} catch (error)
|
|
55
|
+
{
|
|
56
|
+
if (error instanceof Error)
|
|
57
|
+
{
|
|
58
|
+
let BASESERVER_ERROR_VERBOSE = new EnvService("BASESERVER_ERROR_VERBOSE", false).getBoolean(false);
|
|
59
|
+
|
|
60
|
+
if (this.onError)
|
|
61
|
+
{
|
|
62
|
+
if (BASESERVER_ERROR_VERBOSE)
|
|
63
|
+
error.message = `Error calling url '${url}' ` + error.message;
|
|
64
|
+
this.onError(error);
|
|
65
|
+
}
|
|
66
|
+
else
|
|
67
|
+
{
|
|
68
|
+
ConsoleOperation.warning("onError function has not been properly set.");
|
|
69
|
+
ConsoleOperation.error(error?.message);
|
|
70
|
+
}
|
|
71
|
+
if (axios.isAxiosError(error))
|
|
72
|
+
if (error?.response?.data)
|
|
73
|
+
if (!this.suppressErrors)
|
|
74
|
+
{
|
|
75
|
+
if (BASESERVER_ERROR_VERBOSE)
|
|
76
|
+
ErrorOperation.throwHTTP(error.response.status, `Error calling url '${url}' ` + JSON.stringify(error.response.data));
|
|
77
|
+
else
|
|
78
|
+
ErrorOperation.throwHTTP(error.response.status, JSON.stringify(error.response.data));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (!this.suppressErrors)
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
84
|
+
return {} as any;
|
|
85
|
+
}
|
|
86
|
+
protected async _get<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, config?: AxiosRequestConfig<ReqData>): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
87
|
+
{
|
|
88
|
+
return await this._request(async (url: string, _?: any, config?: AxiosRequestConfig<ReqData>) =>
|
|
89
|
+
{
|
|
90
|
+
return await axios.get(url, config);
|
|
91
|
+
}, sub, query, undefined, config);
|
|
92
|
+
}
|
|
93
|
+
protected async _post<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, data?: ReqData, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
94
|
+
{
|
|
95
|
+
return await this._request(async (url: string, data: ReqData, config?: AxiosRequestConfig<ReqData>) =>
|
|
96
|
+
{
|
|
97
|
+
return await axios.post(url, data, config);
|
|
98
|
+
}, sub, query, data, config, sign_header, sign_key);
|
|
99
|
+
}
|
|
100
|
+
protected async _put<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, data?: ReqData, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
101
|
+
{
|
|
102
|
+
return await this._request(async (url: string, data: ReqData, config?: AxiosRequestConfig<ReqData>) =>
|
|
103
|
+
{
|
|
104
|
+
return await axios.put(url, data, config);
|
|
105
|
+
}, sub, query, data, config, sign_header, sign_key);
|
|
106
|
+
}
|
|
107
|
+
protected async _delete<ResData = any, ReqData = any>(sub: string, query?: { [name: string]: ParsedNameValue }, config?: AxiosRequestConfig<ReqData>, sign_header?: string, sign_key?: string): Promise<{ response: AxiosResponse<ResData>, data: ResData }>
|
|
108
|
+
{
|
|
109
|
+
return await this._request(async (url: string, _?: any, config?: AxiosRequestConfig<ReqData>) =>
|
|
110
|
+
{
|
|
111
|
+
return await axios.delete(url, config);
|
|
112
|
+
}, sub, query, undefined, config, sign_header, sign_key);
|
|
113
|
+
}
|
|
114
114
|
}
|