namirasoft-core 1.4.94 → 1.4.96

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/BaseUUID.js CHANGED
@@ -41,7 +41,11 @@ class BaseUUID {
41
41
  }
42
42
  else
43
43
  value = (0, uuid_1.v4)();
44
- return value.replace(/-/g, '').substring(0, lenght);
44
+ let ans = value.replace(/-/g, '');
45
+ while (ans.length < lenght)
46
+ ans += this.uuid(BaseUUID.SIZE, seed);
47
+ ans = ans.substring(0, lenght);
48
+ return ans;
45
49
  }
46
50
  static isChild(id) {
47
51
  let index = id.indexOf("@");
@@ -1 +1 @@
1
- {"version":3,"file":"BaseUUID.js","sourceRoot":"","sources":["../src/BaseUUID.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseUUID.js","sourceRoot":"","sources":["../src/BaseUUID.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,7 +13,6 @@ export * from "./ConvertService";
13
13
  export * from "./Country";
14
14
  export * from "./CountryOperation";
15
15
  export * from "./EncodingOperation";
16
- export * from "./EncryptionOperation";
17
16
  export * from "./EnvService";
18
17
  export * from "./ErrorOperation";
19
18
  export * from "./FileOperation";
package/dist/index.js CHANGED
@@ -29,7 +29,6 @@ __exportStar(require("./ConvertService"), exports);
29
29
  __exportStar(require("./Country"), exports);
30
30
  __exportStar(require("./CountryOperation"), exports);
31
31
  __exportStar(require("./EncodingOperation"), exports);
32
- __exportStar(require("./EncryptionOperation"), exports);
33
32
  __exportStar(require("./EnvService"), exports);
34
33
  __exportStar(require("./ErrorOperation"), exports);
35
34
  __exportStar(require("./FileOperation"), 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,qDAAmC;AACnC,kDAAgC;AAChC,+CAA6B;AAC7B,6CAA2B;AAC3B,kDAAgC;AAChC,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,4DAA0C;AAC1C,yDAAuC;AACvC,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,6CAA2B;AAC3B,oDAAkC;AAClC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,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,6CAA2B;AAC3B,kDAAgC;AAChC,iDAA+B;AAC/B,qDAAmC;AACnC,kDAAgC;AAChC,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,+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,4DAA0C;AAC1C,yDAAuC;AACvC,oDAAkC;AAClC,qDAAmC;AACnC,kDAAgC;AAChC,mDAAiC;AACjC,oDAAkC;AAClC,sDAAoC;AACpC,mDAAiC;AACjC,mDAAiC;AACjC,oDAAkC;AAClC,6CAA2B;AAC3B,oDAAkC;AAClC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B;AAC/B,qDAAmC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.94",
11
+ "version": "1.4.96",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "build": ""
18
18
  },
19
19
  "dependencies": {
20
- "@types/node": "^24.6.0",
20
+ "@types/node": "^24.7.0",
21
21
  "async-mutex": "^0.5.0",
22
22
  "axios": "^1.12.2",
23
23
  "buffer": "^6.0.3",
package/src/BaseUUID.ts CHANGED
@@ -49,7 +49,11 @@ export class BaseUUID
49
49
  }
50
50
  else
51
51
  value = v4();
52
- return value.replace(/-/g, '').substring(0, lenght);
52
+ let ans = value.replace(/-/g, '');
53
+ while (ans.length < lenght)
54
+ ans += this.uuid(BaseUUID.SIZE, seed);
55
+ ans = ans.substring(0, lenght);
56
+ return ans;
53
57
  }
54
58
  static isChild(id: string): boolean
55
59
  {
package/src/index.ts CHANGED
@@ -13,7 +13,6 @@ export * from "./ConvertService";
13
13
  export * from "./Country";
14
14
  export * from "./CountryOperation";
15
15
  export * from "./EncodingOperation";
16
- export * from "./EncryptionOperation";
17
16
  export * from "./EnvService";
18
17
  export * from "./ErrorOperation";
19
18
  export * from "./FileOperation";
@@ -1,6 +0,0 @@
1
- export declare class EncryptionOperation {
2
- private static encrypt;
3
- private static decrypt;
4
- static AES256GCMEncrypt<T>(secret: string, message: T): string;
5
- static AES256GCMDecrypt<T>(secret: string, message: string): T;
6
- }
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
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
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.EncryptionOperation = void 0;
37
- const crypto = __importStar(require("node:crypto"));
38
- class EncryptionOperation {
39
- static encrypt(algorithm, secret, message) {
40
- if (secret.length != 32)
41
- throw new Error("Secret length must be exactly 32");
42
- const secretBytes = Buffer.from(secret);
43
- const iv = crypto.randomBytes(16);
44
- const cipher = crypto.createCipheriv(algorithm, secretBytes, iv);
45
- const encrypted = Buffer.concat([cipher.update(JSON.stringify(message), 'utf8'), cipher.final()]);
46
- const authTag = cipher.getAuthTag();
47
- const ivHex = iv.toString('hex');
48
- const authTagHex = authTag.toString('hex');
49
- const encryptedHex = encrypted.toString('hex');
50
- return [ivHex, authTagHex, encryptedHex].join(";");
51
- }
52
- static decrypt(algorithm, secret, message) {
53
- const [ivHex, authTagHex, encryptedHex] = message.split(';');
54
- const iv = Buffer.from(ivHex, 'hex');
55
- const authTag = Buffer.from(authTagHex, 'hex');
56
- const encrypte = Buffer.from(encryptedHex, 'hex');
57
- const decipher = crypto.createDecipheriv(algorithm, secret, iv);
58
- decipher.setAuthTag(authTag);
59
- let decrypted = decipher.update(encrypte);
60
- decrypted = Buffer.concat([decrypted, decipher.final()]);
61
- return JSON.parse(decrypted.toString());
62
- }
63
- static AES256GCMEncrypt(secret, message) {
64
- return EncryptionOperation.encrypt("aes-256-gcm", secret, message);
65
- }
66
- static AES256GCMDecrypt(secret, message) {
67
- return EncryptionOperation.decrypt("aes-256-gcm", secret, message);
68
- }
69
- }
70
- exports.EncryptionOperation = EncryptionOperation;
71
- //# sourceMappingURL=EncryptionOperation.js.map
@@ -1 +0,0 @@
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,41 +0,0 @@
1
- import * as crypto from 'node:crypto';
2
-
3
- export class EncryptionOperation
4
- {
5
- private static encrypt<T>(algorithm: string, secret: string, message: T): string
6
- {
7
- if (secret.length != 32)
8
- throw new Error("Secret length must be exactly 32");
9
- const secretBytes = Buffer.from(secret);
10
- const iv = crypto.randomBytes(16);
11
- const cipher = crypto.createCipheriv(algorithm, secretBytes, iv);
12
- const encrypted = Buffer.concat([cipher.update(JSON.stringify(message), 'utf8'), cipher.final()]);
13
- const authTag = (cipher as any).getAuthTag();
14
- const ivHex = iv.toString('hex');
15
- const authTagHex = authTag.toString('hex');
16
- const encryptedHex = encrypted.toString('hex');
17
- return [ivHex, authTagHex, encryptedHex].join(";");
18
- }
19
- private static decrypt<T>(algorithm: string, secret: string, message: string): T
20
- {
21
- const [ivHex, authTagHex, encryptedHex] = message.split(';');
22
- const iv = Buffer.from(ivHex, 'hex');
23
- const authTag = Buffer.from(authTagHex, 'hex');
24
- const encrypte = Buffer.from(encryptedHex, 'hex');
25
-
26
- const decipher = crypto.createDecipheriv(algorithm, secret, iv);
27
- (decipher as any).setAuthTag(authTag);
28
-
29
- let decrypted = decipher.update(encrypte);
30
- decrypted = Buffer.concat([decrypted, decipher.final()]);
31
- return JSON.parse(decrypted.toString());
32
- }
33
- static AES256GCMEncrypt<T>(secret: string, message: T): string
34
- {
35
- return EncryptionOperation.encrypt("aes-256-gcm", secret, message);
36
- }
37
- static AES256GCMDecrypt<T>(secret: string, message: string): T
38
- {
39
- return EncryptionOperation.decrypt("aes-256-gcm", secret, message);
40
- }
41
- }