@jest-games-org/backend-package-object-helpers 1.0.2 → 1.0.4

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/index.esm.js CHANGED
@@ -1,3 +1,15 @@
1
+ import { createCipheriv } from 'crypto';
2
+
3
+ /**
4
+ * Decodes the given string.
5
+ * @param encodedString The encoded string.
6
+ * @returns The decoded string.
7
+ */
8
+ const decodeString = (encodedString) => {
9
+ // Return the decoded string.
10
+ return Buffer.from(encodedString, 'base64').toString();
11
+ };
12
+
1
13
  /**
2
14
  * Decodes the given object.
3
15
  * @param encodedObject The encoded object.
@@ -5,7 +17,28 @@
5
17
  */
6
18
  const decodeObject = (encodedObject) => {
7
19
  // Return the decoded object.
8
- return JSON.parse(Buffer.from(encodedObject, 'base64').toString());
20
+ return JSON.parse(decodeString(encodedObject));
21
+ };
22
+
23
+ const decryptString = (text, key, iv) => {
24
+ const cipher = createCipheriv('aes-256-cbc', key, iv);
25
+ let decrpyted = cipher.update(text, 'hex', 'utf8');
26
+ decrpyted += cipher.final('utf8');
27
+ return decrpyted;
28
+ };
29
+
30
+ const decryptObject = (encryptedObject, encryptionKey, iv) => {
31
+ return JSON.parse(decryptString(encryptedObject, encryptionKey, iv));
32
+ };
33
+
34
+ /**
35
+ * Encodes the given string.
36
+ * @param decodedObject The decoded string.
37
+ * @returns The encoded string.
38
+ */
39
+ const encodeString = (decodedString) => {
40
+ // Return the encoded string.
41
+ return Buffer.from(decodedString).toString('base64');
9
42
  };
10
43
 
11
44
  /**
@@ -15,8 +48,19 @@ const decodeObject = (encodedObject) => {
15
48
  */
16
49
  const encodeObject = (decodedObject) => {
17
50
  // Return the encoded object.
18
- return Buffer.from(JSON.stringify(decodedObject)).toString('base64');
51
+ return encodeString(JSON.stringify(decodedObject));
52
+ };
53
+
54
+ const encryptString = (text, key, iv) => {
55
+ const cipher = createCipheriv('aes-256-cbc', key, iv);
56
+ let encrypted = cipher.update(text, 'utf8', 'hex');
57
+ encrypted += cipher.final('hex');
58
+ return encrypted;
59
+ };
60
+
61
+ const encryptObject = (decryptedObject, encryptionKey, iv) => {
62
+ return encryptString(JSON.stringify(decryptedObject), encryptionKey, iv);
19
63
  };
20
64
 
21
- export { decodeObject, encodeObject };
65
+ export { decodeObject, decodeString, decryptObject, decryptString, encodeObject, encodeString, encryptObject, encryptString };
22
66
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/modules/shared/helpers/decodeObject.ts","../src/modules/shared/helpers/encodeObject.ts"],"sourcesContent":[null,null],"names":[],"mappings":"AAAA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAI,aAAqB,KAAO;;AAE1D,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrE;;ACRA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAI,aAAgB,KAAY;;AAE1D,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvE;;;;"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/modules/shared/helpers/decodeString.ts","../src/modules/shared/helpers/decodeObject.ts","../src/modules/shared/helpers/decryptString.ts","../src/modules/shared/helpers/decryptObject.ts","../src/modules/shared/helpers/encodeString.ts","../src/modules/shared/helpers/encodeObject.ts","../src/modules/shared/helpers/encryptString.ts","../src/modules/shared/helpers/encryptObject.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;AAAA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAC,aAAqB,KAAY;;IAE5D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzD;;ACLA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAuB,aAAqB,KAAO;;IAE7E,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;AACjD;;ACTa,MAAA,aAAa,GAAG,CAAC,IAAY,EAAE,GAAc,EAAE,EAAqB,KAAI;IACnF,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACtD,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACnD,IAAA,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClC,IAAA,OAAO,SAAS,CAAC;AACnB;;ACHa,MAAA,aAAa,GAAG,CAC3B,eAAuB,EACvB,aAAwB,EACxB,EAAqB,KAChB;AACL,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AACvE;;ACVA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAC,aAAqB,KAAY;;IAE5D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD;;ACNA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAI,aAAgB,KAAY;;IAE1D,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD;;ACRa,MAAA,aAAa,GAAG,CAAC,IAAY,EAAE,GAAc,EAAE,EAAqB,KAAY;IAC3F,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACtD,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACnD,IAAA,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,IAAA,OAAO,SAAS,CAAC;AACnB;;ACHa,MAAA,aAAa,GAAG,CAC3B,eAAkB,EAClB,aAAwB,EACxB,EAAqB,KACnB;AACF,IAAA,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AAC3E;;;;"}
package/dist/index.js CHANGED
@@ -1,5 +1,17 @@
1
1
  'use strict';
2
2
 
3
+ var crypto = require('crypto');
4
+
5
+ /**
6
+ * Decodes the given string.
7
+ * @param encodedString The encoded string.
8
+ * @returns The decoded string.
9
+ */
10
+ const decodeString = (encodedString) => {
11
+ // Return the decoded string.
12
+ return Buffer.from(encodedString, 'base64').toString();
13
+ };
14
+
3
15
  /**
4
16
  * Decodes the given object.
5
17
  * @param encodedObject The encoded object.
@@ -7,7 +19,28 @@
7
19
  */
8
20
  const decodeObject = (encodedObject) => {
9
21
  // Return the decoded object.
10
- return JSON.parse(Buffer.from(encodedObject, 'base64').toString());
22
+ return JSON.parse(decodeString(encodedObject));
23
+ };
24
+
25
+ const decryptString = (text, key, iv) => {
26
+ const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
27
+ let decrpyted = cipher.update(text, 'hex', 'utf8');
28
+ decrpyted += cipher.final('utf8');
29
+ return decrpyted;
30
+ };
31
+
32
+ const decryptObject = (encryptedObject, encryptionKey, iv) => {
33
+ return JSON.parse(decryptString(encryptedObject, encryptionKey, iv));
34
+ };
35
+
36
+ /**
37
+ * Encodes the given string.
38
+ * @param decodedObject The decoded string.
39
+ * @returns The encoded string.
40
+ */
41
+ const encodeString = (decodedString) => {
42
+ // Return the encoded string.
43
+ return Buffer.from(decodedString).toString('base64');
11
44
  };
12
45
 
13
46
  /**
@@ -17,9 +50,26 @@ const decodeObject = (encodedObject) => {
17
50
  */
18
51
  const encodeObject = (decodedObject) => {
19
52
  // Return the encoded object.
20
- return Buffer.from(JSON.stringify(decodedObject)).toString('base64');
53
+ return encodeString(JSON.stringify(decodedObject));
54
+ };
55
+
56
+ const encryptString = (text, key, iv) => {
57
+ const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
58
+ let encrypted = cipher.update(text, 'utf8', 'hex');
59
+ encrypted += cipher.final('hex');
60
+ return encrypted;
61
+ };
62
+
63
+ const encryptObject = (decryptedObject, encryptionKey, iv) => {
64
+ return encryptString(JSON.stringify(decryptedObject), encryptionKey, iv);
21
65
  };
22
66
 
23
67
  exports.decodeObject = decodeObject;
68
+ exports.decodeString = decodeString;
69
+ exports.decryptObject = decryptObject;
70
+ exports.decryptString = decryptString;
24
71
  exports.encodeObject = encodeObject;
72
+ exports.encodeString = encodeString;
73
+ exports.encryptObject = encryptObject;
74
+ exports.encryptString = encryptString;
25
75
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/modules/shared/helpers/decodeObject.ts","../src/modules/shared/helpers/encodeObject.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;AAAA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAI,aAAqB,KAAO;;AAE1D,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrE;;ACRA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAI,aAAgB,KAAY;;AAE1D,IAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvE;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/modules/shared/helpers/decodeString.ts","../src/modules/shared/helpers/decodeObject.ts","../src/modules/shared/helpers/decryptString.ts","../src/modules/shared/helpers/decryptObject.ts","../src/modules/shared/helpers/encodeString.ts","../src/modules/shared/helpers/encodeObject.ts","../src/modules/shared/helpers/encryptString.ts","../src/modules/shared/helpers/encryptObject.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":["createCipheriv"],"mappings":";;;;AAAA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAC,aAAqB,KAAY;;IAE5D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzD;;ACLA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAuB,aAAqB,KAAO;;IAE7E,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC;AACjD;;ACTa,MAAA,aAAa,GAAG,CAAC,IAAY,EAAE,GAAc,EAAE,EAAqB,KAAI;IACnF,MAAM,MAAM,GAAGA,qBAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACtD,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACnD,IAAA,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAClC,IAAA,OAAO,SAAS,CAAC;AACnB;;ACHa,MAAA,aAAa,GAAG,CAC3B,eAAuB,EACvB,aAAwB,EACxB,EAAqB,KAChB;AACL,IAAA,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AACvE;;ACVA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAC,aAAqB,KAAY;;IAE5D,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvD;;ACNA;;;;AAIG;AACU,MAAA,YAAY,GAAG,CAAI,aAAgB,KAAY;;IAE1D,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD;;ACRa,MAAA,aAAa,GAAG,CAAC,IAAY,EAAE,GAAc,EAAE,EAAqB,KAAY;IAC3F,MAAM,MAAM,GAAGA,qBAAc,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AACtD,IAAA,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACnD,IAAA,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACjC,IAAA,OAAO,SAAS,CAAC;AACnB;;ACHa,MAAA,aAAa,GAAG,CAC3B,eAAkB,EAClB,aAAwB,EACxB,EAAqB,KACnB;AACF,IAAA,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;AAC3E;;;;;;;;;;;"}
@@ -1,6 +1,7 @@
1
+ import { DataObject } from '@jest-games-org/backend-package-object-types';
1
2
  /**
2
3
  * Decodes the given object.
3
4
  * @param encodedObject The encoded object.
4
5
  * @returns The decoded object.
5
6
  */
6
- export declare const decodeObject: <O>(encodedObject: string) => O;
7
+ export declare const decodeObject: <O extends DataObject>(encodedObject: string) => O;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Decodes the given string.
3
+ * @param encodedString The encoded string.
4
+ * @returns The decoded string.
5
+ */
6
+ export declare const decodeString: (encodedString: string) => string;
@@ -0,0 +1,3 @@
1
+ import { DataObject } from '@jest-games-org/backend-package-object-types';
2
+ import { CipherKey, BinaryLike } from 'crypto';
3
+ export declare const decryptObject: <O extends DataObject>(encryptedObject: string, encryptionKey: CipherKey, iv: BinaryLike | null) => O;
@@ -0,0 +1,2 @@
1
+ import { BinaryLike, CipherKey } from 'crypto';
2
+ export declare const decryptString: (text: string, key: CipherKey, iv: BinaryLike | null) => string;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Encodes the given string.
3
+ * @param decodedObject The decoded string.
4
+ * @returns The encoded string.
5
+ */
6
+ export declare const encodeString: (decodedString: string) => string;
@@ -0,0 +1,3 @@
1
+ import { DataObject } from '@jest-games-org/backend-package-object-types';
2
+ import { BinaryLike, CipherKey } from 'crypto';
3
+ export declare const encryptObject: <O extends DataObject>(decryptedObject: O, encryptionKey: CipherKey, iv: BinaryLike | null) => string;
@@ -0,0 +1,2 @@
1
+ import { BinaryLike, CipherKey } from 'crypto';
2
+ export declare const encryptString: (text: string, key: CipherKey, iv: BinaryLike | null) => string;
@@ -1,2 +1,8 @@
1
1
  export { decodeObject } from './decodeObject';
2
+ export { decodeString } from './decodeString';
3
+ export { decryptObject } from './decryptObject';
4
+ export { decryptString } from './decryptString';
2
5
  export { encodeObject } from './encodeObject';
6
+ export { encodeString } from './encodeString';
7
+ export { encryptObject } from './encryptObject';
8
+ export { encryptString } from './encryptString';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jest-games-org/backend-package-object-helpers",
3
3
  "description": "This backend package provides object helper methods for shared functionality.",
4
- "version": "1.0.2",
4
+ "version": "1.0.4",
5
5
  "author": "jest-games-llc",
6
6
  "license": "ISC",
7
7
  "main": "dist/index.js",