namirasoft-core 1.4.16 → 1.4.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.
Files changed (56) hide show
  1. package/dist/BaseUUID.d.ts +10 -0
  2. package/dist/BaseUUID.js +33 -0
  3. package/dist/BaseUUID.js.map +1 -0
  4. package/dist/EncryptionOperation.js +7 -17
  5. package/dist/EncryptionOperation.js.map +1 -1
  6. package/dist/HashOperation.js +7 -17
  7. package/dist/HashOperation.js.map +1 -1
  8. package/dist/PhoneOperation.js +7 -17
  9. package/dist/PhoneOperation.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/package.json +26 -25
  14. package/src/BaseDatabaseRow.ts +6 -6
  15. package/src/BaseMetaColumn.ts +13 -13
  16. package/src/BaseMetaDatabase.ts +26 -26
  17. package/src/BaseMetaTable.ts +33 -33
  18. package/src/BaseServer.ts +113 -113
  19. package/src/BaseUUID.ts +36 -0
  20. package/src/CacheService.ts +57 -57
  21. package/src/ConsoleOperation.ts +68 -68
  22. package/src/ConvertService.ts +100 -100
  23. package/src/CookieService.ts +33 -33
  24. package/src/Countries.ts +486 -486
  25. package/src/Country.ts +21 -21
  26. package/src/CountryOperation.ts +98 -98
  27. package/src/EncodingOperation.ts +12 -12
  28. package/src/EncryptionOperation.ts +40 -40
  29. package/src/EnvService.ts +22 -22
  30. package/src/ErrorOperation.ts +13 -13
  31. package/src/FileOperation.ts +57 -57
  32. package/src/FilterItem.ts +128 -128
  33. package/src/FilterItemColumnType.ts +6 -6
  34. package/src/FilterItemOperator.ts +51 -51
  35. package/src/GeoOperation.ts +18 -18
  36. package/src/HTTPError.ts +8 -8
  37. package/src/HTTPMethod.ts +6 -6
  38. package/src/HashOperation.ts +24 -24
  39. package/src/IStorage.ts +5 -5
  40. package/src/IStorageCookie.ts +52 -52
  41. package/src/IStorageJsonFile.ts +45 -45
  42. package/src/IStorageLocal.ts +16 -16
  43. package/src/IStorageMemory.ts +17 -17
  44. package/src/NamingConvention.ts +107 -107
  45. package/src/ObjectService.ts +27 -27
  46. package/src/PackageService.ts +76 -76
  47. package/src/PhoneOperation.ts +8 -8
  48. package/src/PriceOperation.ts +18 -18
  49. package/src/RegexTemplate.ts +7 -7
  50. package/src/SearchOperation.ts +29 -29
  51. package/src/SortItem.ts +88 -88
  52. package/src/StringOperation.ts +18 -18
  53. package/src/TimeOperation.ts +262 -262
  54. package/src/URLOperation.ts +54 -54
  55. package/src/VersionOperation.ts +46 -46
  56. package/src/index.ts +41 -40
@@ -0,0 +1,10 @@
1
+ export declare class BaseUUID {
2
+ private static SIZE;
3
+ static getShort(id: string): string;
4
+ short: string;
5
+ constructor(short: string);
6
+ static uuid(lenght?: number): string;
7
+ static isChild(id: string): boolean;
8
+ static changeToChild(owner_id: string, name: string): string;
9
+ new(): string;
10
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseUUID = void 0;
4
+ const uuid_1 = require("uuid");
5
+ class BaseUUID {
6
+ static getShort(id) {
7
+ return id.split("-")[0];
8
+ }
9
+ constructor(short) {
10
+ this.short = short;
11
+ }
12
+ static uuid(lenght = 16) {
13
+ return (0, uuid_1.v4)().replace(/-/g, '').substring(0, lenght);
14
+ }
15
+ static isChild(id) {
16
+ let index = id.indexOf("@");
17
+ return index != -1;
18
+ }
19
+ static changeToChild(owner_id, name) {
20
+ let index = owner_id.indexOf("@");
21
+ if (index != -1)
22
+ return owner_id.substring(0, index + 1) + name.substring(0, BaseUUID.SIZE - index - 1).padStart(BaseUUID.SIZE - index - 1, '-');
23
+ return "";
24
+ }
25
+ new() {
26
+ let ans = this.short + "-" + BaseUUID.uuid();
27
+ return ans.substring(0, BaseUUID.SIZE);
28
+ }
29
+ }
30
+ exports.BaseUUID = BaseUUID;
31
+ BaseUUID.SIZE = 20;
32
+ ;
33
+ //# sourceMappingURL=BaseUUID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseUUID.js","sourceRoot":"","sources":["../src/BaseUUID.ts"],"names":[],"mappings":";;;AAAA,+BAA0B;AAE1B,MAAa,QAAQ;IAGjB,MAAM,CAAC,QAAQ,CAAC,EAAU;QAEtB,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,YAAY,KAAa;QAErB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,SAAiB,EAAE;QAE3B,OAAO,IAAA,SAAE,GAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,EAAU;QAErB,IAAI,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3B,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,QAAgB,EAAE,IAAY;QAE/C,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,IAAI,CAAC,CAAC;YACX,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACpI,OAAO,EAAE,CAAC;IACd,CAAC;IACD,GAAG;QAEC,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;;AAhCL,4BAiCC;AA/BkB,aAAI,GAAG,EAAE,CAAC;AA+B5B,CAAC"}
@@ -15,23 +15,13 @@ 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
- 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
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  Object.defineProperty(exports, "__esModule", { value: true });
36
26
  exports.EncryptionOperation = void 0;
37
27
  const crypto = __importStar(require("node:crypto"));
@@ -1 +1 @@
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"}
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"}
@@ -15,23 +15,13 @@ 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
- 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
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  Object.defineProperty(exports, "__esModule", { value: true });
36
26
  exports.HashOperation = void 0;
37
27
  const crypto = __importStar(require("node:crypto"));
@@ -1 +1 @@
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"}
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"}
@@ -15,23 +15,13 @@ 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
- 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
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  Object.defineProperty(exports, "__esModule", { value: true });
36
26
  exports.PhoneOperation = void 0;
37
27
  const Phone = __importStar(require("phone"));
@@ -1 +1 @@
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"}
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/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./BaseDatabaseRow";
2
2
  export * from "./BaseMetaColumn";
3
+ export * from "./BaseMetaDatabase";
3
4
  export * from "./BaseMetaTable";
4
5
  export * from "./BaseServer";
5
6
  export * from "./CacheService";
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./BaseDatabaseRow"), exports);
18
18
  __exportStar(require("./BaseMetaColumn"), exports);
19
+ __exportStar(require("./BaseMetaDatabase"), exports);
19
20
  __exportStar(require("./BaseMetaTable"), exports);
20
21
  __exportStar(require("./BaseServer"), exports);
21
22
  __exportStar(require("./CacheService"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC;AACnC,kDAAgC;AAChC,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,wDAAsC;AACtC,+CAA6B;AAC7B,mDAAiC;AACjC,kDAAgC;AAChC,+CAA6B;AAC7B,yDAAuC;AACvC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,oDAAkC;AAClC,6CAA2B;AAC3B,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B;AAC/B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC;AACnC,kDAAgC;AAChC,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,wDAAsC;AACtC,+CAA6B;AAC7B,mDAAiC;AACjC,kDAAgC;AAChC,+CAA6B;AAC7B,yDAAuC;AACvC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,+CAA6B;AAC7B,6CAA2B;AAC3B,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,mDAAiC;AACjC,mDAAiC;AACjC,kDAAgC;AAChC,oDAAkC;AAClC,6CAA2B;AAC3B,oDAAkC;AAClC,kDAAgC;AAChC,iDAA+B;AAC/B,qDAAmC"}
package/package.json CHANGED
@@ -1,26 +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.16",
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
- }
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.18",
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
+ }
26
27
  }
@@ -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
  }
@@ -1,14 +1,14 @@
1
- export class BaseMetaColumn
2
- {
3
- name: string;
4
- text: string;
5
- type: string; // todo
6
- required: boolean;
7
- constructor(name: string, text: string, type: string, required: boolean)
8
- {
9
- this.name = name;
10
- this.text = text;
11
- this.type = type;
12
- this.required = required;
13
- }
1
+ export class BaseMetaColumn
2
+ {
3
+ name: string;
4
+ text: string;
5
+ type: string; // todo
6
+ required: boolean;
7
+ constructor(name: string, text: string, type: string, required: boolean)
8
+ {
9
+ this.name = name;
10
+ this.text = text;
11
+ this.type = type;
12
+ this.required = required;
13
+ }
14
14
  }
@@ -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
  };
@@ -1,34 +1,34 @@
1
- import { BaseMetaColumn } from "./BaseMetaColumn";
2
-
3
- export class BaseMetaTable
4
- {
5
- name: string;
6
- text: string;
7
- public columns: { [name: string]: BaseMetaColumn } = {};
8
- constructor(name: string, text: string)
9
- {
10
- this.name = name;
11
- this.text = text;
12
- }
13
- forEachColumn<T, MC extends BaseMetaColumn>(handler: (table: MC) => T | null): T | null
14
- {
15
- for (const key in this.columns)
16
- {
17
- const element = this.columns[key];
18
- let ans = handler(element as MC);
19
- if (ans != null)
20
- return ans;
21
- }
22
- return null;
23
- }
24
- getColumns<MC extends BaseMetaColumn>(): MC[]
25
- {
26
- let ans: MC[] = [];
27
- this.forEachColumn((column) =>
28
- {
29
- ans.push(column as MC);
30
- return null;
31
- });
32
- return ans;
33
- }
1
+ import { BaseMetaColumn } from "./BaseMetaColumn";
2
+
3
+ export class BaseMetaTable
4
+ {
5
+ name: string;
6
+ text: string;
7
+ public columns: { [name: string]: BaseMetaColumn } = {};
8
+ constructor(name: string, text: string)
9
+ {
10
+ this.name = name;
11
+ this.text = text;
12
+ }
13
+ forEachColumn<T, MC extends BaseMetaColumn>(handler: (table: MC) => T | null): T | null
14
+ {
15
+ for (const key in this.columns)
16
+ {
17
+ const element = this.columns[key];
18
+ let ans = handler(element as MC);
19
+ if (ans != null)
20
+ return ans;
21
+ }
22
+ return null;
23
+ }
24
+ getColumns<MC extends BaseMetaColumn>(): MC[]
25
+ {
26
+ let ans: MC[] = [];
27
+ this.forEachColumn((column) =>
28
+ {
29
+ ans.push(column as MC);
30
+ return null;
31
+ });
32
+ return ans;
33
+ }
34
34
  }
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
  }