@shellicar/core-config 2.1.3 → 2.1.5

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 (117) hide show
  1. package/CHANGELOG.md +102 -0
  2. package/README.md +166 -3
  3. package/dist/cjs/EncryptedValue.cjs +8 -1
  4. package/dist/cjs/EncryptedValue.cjs.map +1 -1
  5. package/dist/cjs/SecureConnectionString.cjs +11 -1
  6. package/dist/cjs/SecureConnectionString.cjs.map +1 -1
  7. package/dist/cjs/SecureString.cjs +10 -1
  8. package/dist/cjs/SecureString.cjs.map +1 -1
  9. package/dist/cjs/SecureURL.cjs +11 -1
  10. package/dist/cjs/SecureURL.cjs.map +1 -1
  11. package/dist/cjs/chunks/chunk-BDMFGBTR.cjs +59 -0
  12. package/dist/cjs/chunks/chunk-BDMFGBTR.cjs.map +1 -0
  13. package/dist/cjs/chunks/chunk-FOL2TBBQ.cjs +7 -0
  14. package/dist/cjs/chunks/chunk-FOL2TBBQ.cjs.map +1 -0
  15. package/dist/cjs/chunks/chunk-GGWBGRR3.cjs +29 -0
  16. package/dist/cjs/chunks/chunk-GGWBGRR3.cjs.map +1 -0
  17. package/dist/cjs/chunks/chunk-K6RFKD55.cjs +41 -0
  18. package/dist/cjs/chunks/chunk-K6RFKD55.cjs.map +1 -0
  19. package/dist/cjs/chunks/chunk-PO2PS4VB.cjs +34 -0
  20. package/dist/cjs/chunks/chunk-PO2PS4VB.cjs.map +1 -0
  21. package/dist/cjs/chunks/chunk-R4H4GKFW.cjs +82 -0
  22. package/dist/cjs/chunks/chunk-R4H4GKFW.cjs.map +1 -0
  23. package/dist/cjs/chunks/chunk-SRMLZGCX.cjs +71 -0
  24. package/dist/cjs/chunks/chunk-SRMLZGCX.cjs.map +1 -0
  25. package/dist/cjs/chunks/chunk-X6BO6XFB.cjs +7 -0
  26. package/dist/cjs/chunks/chunk-X6BO6XFB.cjs.map +1 -0
  27. package/dist/cjs/chunks/chunk-YK25AWXL.cjs +48 -0
  28. package/dist/cjs/chunks/chunk-YK25AWXL.cjs.map +1 -0
  29. package/dist/cjs/createFactory.cjs +17 -1
  30. package/dist/cjs/createFactory.cjs.map +1 -1
  31. package/dist/cjs/createFactory.d.cts +1 -1
  32. package/dist/cjs/defaults.cjs +8 -1
  33. package/dist/cjs/defaults.cjs.map +1 -1
  34. package/dist/cjs/hash.cjs +8 -1
  35. package/dist/cjs/hash.cjs.map +1 -1
  36. package/dist/cjs/index.cjs +30 -1
  37. package/dist/cjs/index.cjs.map +1 -1
  38. package/dist/cjs/interfaces.cjs +14 -1
  39. package/dist/cjs/interfaces.cjs.map +1 -1
  40. package/dist/cjs/types.cjs +15 -1
  41. package/dist/cjs/types.cjs.map +1 -1
  42. package/dist/esm/EncryptedValue.js +8 -1
  43. package/dist/esm/EncryptedValue.js.map +1 -1
  44. package/dist/esm/SecureConnectionString.js +11 -1
  45. package/dist/esm/SecureConnectionString.js.map +1 -1
  46. package/dist/esm/SecureString.js +10 -1
  47. package/dist/esm/SecureString.js.map +1 -1
  48. package/dist/esm/SecureURL.js +11 -1
  49. package/dist/esm/SecureURL.js.map +1 -1
  50. package/dist/esm/chunks/chunk-2L4YGJ3C.js +71 -0
  51. package/dist/esm/chunks/chunk-2L4YGJ3C.js.map +1 -0
  52. package/dist/esm/chunks/chunk-GOUAOFCH.js +7 -0
  53. package/dist/esm/chunks/chunk-GOUAOFCH.js.map +1 -0
  54. package/dist/esm/chunks/chunk-GWYWZHV2.js +7 -0
  55. package/dist/esm/chunks/chunk-GWYWZHV2.js.map +1 -0
  56. package/dist/esm/chunks/chunk-KM6K7D2J.js +41 -0
  57. package/dist/esm/chunks/chunk-KM6K7D2J.js.map +1 -0
  58. package/dist/esm/chunks/chunk-TRDZS6YE.js +34 -0
  59. package/dist/esm/chunks/chunk-TRDZS6YE.js.map +1 -0
  60. package/dist/esm/chunks/chunk-UDMHV6JX.js +82 -0
  61. package/dist/esm/chunks/chunk-UDMHV6JX.js.map +1 -0
  62. package/dist/esm/chunks/chunk-UJTGIE6R.js +59 -0
  63. package/dist/esm/chunks/chunk-UJTGIE6R.js.map +1 -0
  64. package/dist/esm/chunks/chunk-UOGVVT4U.js +29 -0
  65. package/dist/esm/chunks/chunk-UOGVVT4U.js.map +1 -0
  66. package/dist/esm/chunks/chunk-VIUQA4IN.js +48 -0
  67. package/dist/esm/chunks/chunk-VIUQA4IN.js.map +1 -0
  68. package/dist/esm/createFactory.d.ts +1 -1
  69. package/dist/esm/createFactory.js +17 -1
  70. package/dist/esm/createFactory.js.map +1 -1
  71. package/dist/esm/defaults.js +8 -1
  72. package/dist/esm/defaults.js.map +1 -1
  73. package/dist/esm/hash.js +8 -1
  74. package/dist/esm/hash.js.map +1 -1
  75. package/dist/esm/index.js +30 -1
  76. package/dist/esm/index.js.map +1 -1
  77. package/dist/esm/interfaces.js +14 -1
  78. package/dist/esm/interfaces.js.map +1 -1
  79. package/dist/esm/types.js +15 -1
  80. package/dist/esm/types.js.map +1 -1
  81. package/package.json +12 -11
  82. package/dist/cjs/chunk-7PP3CDDK.cjs +0 -1
  83. package/dist/cjs/chunk-7PP3CDDK.cjs.map +0 -1
  84. package/dist/cjs/chunk-FKX4J4Q2.cjs +0 -1
  85. package/dist/cjs/chunk-FKX4J4Q2.cjs.map +0 -1
  86. package/dist/cjs/chunk-J7CRMQ5Z.cjs +0 -1
  87. package/dist/cjs/chunk-J7CRMQ5Z.cjs.map +0 -1
  88. package/dist/cjs/chunk-JS7CWWUD.cjs +0 -1
  89. package/dist/cjs/chunk-JS7CWWUD.cjs.map +0 -1
  90. package/dist/cjs/chunk-JVM3GGW6.cjs +0 -1
  91. package/dist/cjs/chunk-JVM3GGW6.cjs.map +0 -1
  92. package/dist/cjs/chunk-PK6SKIKE.cjs +0 -1
  93. package/dist/cjs/chunk-PK6SKIKE.cjs.map +0 -1
  94. package/dist/cjs/chunk-VQ2XCAJT.cjs +0 -1
  95. package/dist/cjs/chunk-VQ2XCAJT.cjs.map +0 -1
  96. package/dist/cjs/chunk-WZWXGAJN.cjs +0 -1
  97. package/dist/cjs/chunk-WZWXGAJN.cjs.map +0 -1
  98. package/dist/cjs/chunk-XVDIOMZD.cjs +0 -1
  99. package/dist/cjs/chunk-XVDIOMZD.cjs.map +0 -1
  100. package/dist/esm/chunk-7QVYU63E.js +0 -1
  101. package/dist/esm/chunk-7QVYU63E.js.map +0 -1
  102. package/dist/esm/chunk-CGPJ25IS.js +0 -1
  103. package/dist/esm/chunk-CGPJ25IS.js.map +0 -1
  104. package/dist/esm/chunk-FUGQ3OFQ.js +0 -1
  105. package/dist/esm/chunk-FUGQ3OFQ.js.map +0 -1
  106. package/dist/esm/chunk-GJXVQ2LL.js +0 -1
  107. package/dist/esm/chunk-GJXVQ2LL.js.map +0 -1
  108. package/dist/esm/chunk-JAXX5FG7.js +0 -1
  109. package/dist/esm/chunk-JAXX5FG7.js.map +0 -1
  110. package/dist/esm/chunk-NWPDBO55.js +0 -1
  111. package/dist/esm/chunk-NWPDBO55.js.map +0 -1
  112. package/dist/esm/chunk-S3UXVGVK.js +0 -1
  113. package/dist/esm/chunk-S3UXVGVK.js.map +0 -1
  114. package/dist/esm/chunk-TGJY6ZQ7.js +0 -1
  115. package/dist/esm/chunk-TGJY6ZQ7.js.map +0 -1
  116. package/dist/esm/chunk-XICVVAG4.js +0 -1
  117. package/dist/esm/chunk-XICVVAG4.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-R4H4GKFW.cjs","../../../src/SecureURL.ts"],"names":[],"mappings":"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","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-R4H4GKFW.cjs","sourcesContent":[null,"import util, { type InspectOptions } from 'node:util';\nimport { ISecureURL } from './interfaces';\nimport { SecureString } from './SecureString';\nimport type { IEncryptedValue, InspectFunction, SecureConfig } from './types';\n\ntype UrlObject = {\n href: string;\n password?: string;\n searchParams?: Record<string, string>;\n};\n\nexport class SecureURL extends ISecureURL {\n readonly #encryptedValue: IEncryptedValue;\n readonly #password: SecureString | null;\n\n public get secretValue(): URL {\n return new URL(this.#encryptedValue.getValue());\n }\n\n private constructor(value: URL, config: SecureConfig) {\n super();\n this.#encryptedValue = config.encryptionProvider.encrypt(value.href);\n this.#password = SecureString.from(value.password || null, config);\n }\n\n static factory(config: SecureConfig): (value: URL) => ISecureURL {\n return (value: URL) => SecureURL.from(value, config);\n }\n\n public static from<T extends URL | null | undefined>(value: T, config: SecureConfig): T extends URL ? SecureURL : T {\n if (value === null) {\n return null as T extends URL ? SecureURL : T;\n }\n if (value === undefined) {\n return undefined as T extends URL ? SecureURL : T;\n }\n return new SecureURL(value, config) as T extends URL ? SecureURL : T;\n }\n\n override toString(): string {\n const originalUrl = this.secretValue;\n const newUrl = new URL(originalUrl.href);\n if (this.#password !== null) {\n newUrl.password = this.#password.toString();\n }\n return newUrl.href;\n }\n\n override toJSON(): UrlObject {\n const originalUrl = this.secretValue;\n const newUrl = new URL(originalUrl.href);\n newUrl.password = '';\n\n const searchParams = new URLSearchParams(newUrl.searchParams);\n newUrl.search = '';\n\n let password: string | undefined;\n if (this.#password !== null) {\n password = this.#password.toString();\n }\n\n const result: UrlObject = {\n href: newUrl.href,\n };\n if (password !== undefined) {\n result.password = password;\n }\n if (searchParams.size > 0) {\n result.searchParams = Object.fromEntries(searchParams);\n }\n return result;\n }\n override [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string {\n if (depth < 0) {\n return '[SecureURL]';\n }\n const newOptions = Object.assign({}, options, {\n depth: options.depth == null ? null : options.depth - 1,\n });\n return inspect(this.toJSON(), newOptions);\n }\n}\n"]}
@@ -0,0 +1,71 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
+
3
+ var _chunkBDMFGBTRcjs = require('./chunk-BDMFGBTR.cjs');
4
+
5
+
6
+ var _chunkPO2PS4VBcjs = require('./chunk-PO2PS4VB.cjs');
7
+
8
+
9
+ var _chunkX6BO6XFBcjs = require('./chunk-X6BO6XFB.cjs');
10
+
11
+ // src/SecureConnectionString.ts
12
+ var _nodeutil = require('node:util'); var _nodeutil2 = _interopRequireDefault(_nodeutil);
13
+ var SecureConnectionString = class _SecureConnectionString extends _chunkPO2PS4VBcjs.ISecureConnectionString {
14
+ static {
15
+ _chunkX6BO6XFBcjs.__name.call(void 0, this, "SecureConnectionString");
16
+ }
17
+ #encryptedValue;
18
+ #data;
19
+ get secretValue() {
20
+ return this.#encryptedValue.getValue();
21
+ }
22
+ constructor(value, config) {
23
+ super();
24
+ this.#encryptedValue = config.encryptionProvider.encrypt(value);
25
+ this.#data = this.parseConnectionString(
26
+ value,
27
+ config.secretKeys.map((x) => x.toLocaleLowerCase()),
28
+ config
29
+ );
30
+ }
31
+ parseConnectionString(value, secretKeys, config) {
32
+ return value.split(";").filter(Boolean).map((pair) => {
33
+ const [key, value2] = pair.split("=");
34
+ const v = _nullishCoalesce(value2, () => ( ""));
35
+ const val = secretKeys.includes(key.toLocaleLowerCase()) ? _chunkBDMFGBTRcjs.SecureString.from(v, config) : v;
36
+ return [key, val];
37
+ });
38
+ }
39
+ static factory(config) {
40
+ return (value) => _SecureConnectionString.from(value, config);
41
+ }
42
+ static from(value, config) {
43
+ if (value === null) {
44
+ return null;
45
+ }
46
+ if (value === void 0) {
47
+ return void 0;
48
+ }
49
+ return new _SecureConnectionString(value, config);
50
+ }
51
+ toString() {
52
+ return this.#data.map(([key, value]) => `${key}=${value}`).join(";");
53
+ }
54
+ toJSON() {
55
+ return Object.fromEntries(this.#data);
56
+ }
57
+ [_nodeutil2.default.inspect.custom](depth, options, inspect) {
58
+ if (depth < 0) {
59
+ return "[SecureConnectionString]";
60
+ }
61
+ const newOptions = Object.assign({}, options, {
62
+ depth: options.depth == null ? null : options.depth - 1
63
+ });
64
+ return inspect(this.toJSON(), newOptions);
65
+ }
66
+ };
67
+
68
+
69
+
70
+ exports.SecureConnectionString = SecureConnectionString;
71
+ //# sourceMappingURL=chunk-SRMLZGCX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-SRMLZGCX.cjs","../../../src/SecureConnectionString.ts"],"names":["value"],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACVA,yFAA0C;AAKnC,IAAM,uBAAA,EAAN,MAAM,wBAAA,QAA+B,0CAAwB;AAAA,EALpE,OAKoE;AAAA,IAAA,sCAAA,IAAA,EAAA,wBAAA,CAAA;AAAA,EAAA;AAAA,EACzD,CAAA,cAAA;AAAA,EACA,CAAA,IAAA;AAAA,EAET,IAAW,WAAA,CAAA,EAAsB;AAC/B,IAAA,OAAO,IAAA,CAAK,CAAA,cAAA,CAAgB,QAAA,CAAS,CAAA;AAAA,EACvC;AAAA,EAEQ,WAAA,CAAY,KAAA,EAAe,MAAA,EAAsB;AACvD,IAAA,KAAA,CAAM,CAAA;AACN,IAAA,IAAA,CAAK,CAAA,eAAA,EAAkB,MAAA,CAAO,kBAAA,CAAmB,OAAA,CAAQ,KAAK,CAAA;AAC9D,IAAA,IAAA,CAAK,CAAA,KAAA,EAAQ,IAAA,CAAK,qBAAA;AAAA,MAChB,KAAA;AAAA,MACA,MAAA,CAAO,UAAA,CAAW,GAAA,CAAI,CAAC,CAAA,EAAA,GAAM,CAAA,CAAE,iBAAA,CAAkB,CAAC,CAAA;AAAA,MAClD;AAAA,IACF,CAAA;AAAA,EACF;AAAA,EAEQ,qBAAA,CAAsB,KAAA,EAAe,UAAA,EAAwB,MAAA,EAAyD;AAC5H,IAAA,OAAO,KAAA,CACJ,KAAA,CAAM,GAAG,CAAA,CACT,MAAA,CAAO,OAAO,CAAA,CACd,GAAA,CAAI,CAAC,IAAA,EAAA,GAAS;AACb,MAAA,MAAM,CAAC,GAAA,EAAKA,MAAK,EAAA,EAAI,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AACnC,MAAA,MAAM,EAAA,mBAAIA,MAAAA,UAAS,IAAA;AACnB,MAAA,MAAM,IAAA,EAAM,UAAA,CAAW,QAAA,CAAS,GAAA,CAAI,iBAAA,CAAkB,CAAC,EAAA,EAAI,8BAAA,CAAa,IAAA,CAAK,CAAA,EAAG,MAAM,EAAA,EAAI,CAAA;AAC1F,MAAA,OAAO,CAAC,GAAA,EAAK,GAAG,CAAA;AAAA,IAClB,CAAC,CAAA;AAAA,EACL;AAAA,EAEA,OAAO,OAAA,CAAQ,MAAA,EAAiE;AAC9E,IAAA,OAAO,CAAC,KAAA,EAAA,GAAkB,uBAAA,CAAuB,IAAA,CAAK,KAAA,EAAO,MAAM,CAAA;AAAA,EACrE;AAAA,EAEA,OAAc,IAAA,CAA0C,KAAA,EAAU,MAAA,EAAqE;AACrI,IAAA,GAAA,CAAI,MAAA,IAAU,IAAA,EAAM;AAClB,MAAA,OAAO,IAAA;AAAA,IACT;AACA,IAAA,GAAA,CAAI,MAAA,IAAU,KAAA,CAAA,EAAW;AACvB,MAAA,OAAO,KAAA,CAAA;AAAA,IACT;AACA,IAAA,OAAO,IAAI,uBAAA,CAAuB,KAAA,EAAO,MAAM,CAAA;AAAA,EACjD;AAAA,EAEgB,QAAA,CAAA,EAAmB;AACjC,IAAA,OAAO,IAAA,CAAK,CAAA,IAAA,CAAM,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,EAAA,GAAM,CAAA,EAAA;AAC1C,EAAA;AAEiC,EAAA;AACK,IAAA;AACtC,EAAA;AAE8E,EAAA;AAC7D,IAAA;AACN,MAAA;AACT,IAAA;AACqC,IAAA;AACG,MAAA;AACvC,IAAA;AACuC,IAAA;AAC1C,EAAA;AACF;ADA6C;AACA;AACA;AACA","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-SRMLZGCX.cjs","sourcesContent":[null,"import util, { type InspectOptions } from 'node:util';\nimport { ISecureConnectionString } from './interfaces';\nimport { SecureString } from './SecureString';\nimport type { IEncryptedValue, InspectFunction, SecureConfig, SecureKeys } from './types';\n\nexport class SecureConnectionString extends ISecureConnectionString {\n readonly #encryptedValue: IEncryptedValue;\n readonly #data: [string, string | SecureString][];\n\n public get secretValue(): string {\n return this.#encryptedValue.getValue();\n }\n\n private constructor(value: string, config: SecureConfig) {\n super();\n this.#encryptedValue = config.encryptionProvider.encrypt(value);\n this.#data = this.parseConnectionString(\n value,\n config.secretKeys.map((x) => x.toLocaleLowerCase()),\n config,\n );\n }\n\n private parseConnectionString(value: string, secretKeys: SecureKeys, config: SecureConfig): [string, string | SecureString][] {\n return value\n .split(';')\n .filter(Boolean)\n .map((pair) => {\n const [key, value] = pair.split('=');\n const v = value ?? '';\n const val = secretKeys.includes(key.toLocaleLowerCase()) ? SecureString.from(v, config) : v;\n return [key, val];\n });\n }\n\n static factory(config: SecureConfig): (value: string) => SecureConnectionString {\n return (value: string) => SecureConnectionString.from(value, config);\n }\n\n public static from<T extends string | null | undefined>(value: T, config: SecureConfig): T extends string ? SecureConnectionString : T {\n if (value === null) {\n return null as T extends string ? SecureConnectionString : T;\n }\n if (value === undefined) {\n return undefined as T extends string ? SecureConnectionString : T;\n }\n return new SecureConnectionString(value, config) as T extends string ? SecureConnectionString : T;\n }\n\n public override toString(): string {\n return this.#data.map(([key, value]) => `${key}=${value}`).join(';');\n }\n\n public override toJSON(): object {\n return Object.fromEntries(this.#data);\n }\n\n public override [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string {\n if (depth < 0) {\n return '[SecureConnectionString]';\n }\n const newOptions = Object.assign({}, options, {\n depth: options.depth == null ? null : options.depth - 1,\n });\n return inspect(this.toJSON(), newOptions);\n }\n}\n"]}
@@ -0,0 +1,7 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+
5
+
6
+ exports.__name = __name;
7
+ //# sourceMappingURL=chunk-X6BO6XFB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-X6BO6XFB.cjs"],"names":[],"mappings":"AAAA,6EAAI,UAAU,EAAE,MAAM,CAAC,cAAc;AACrC,IAAI,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AACxF;AACA;AACE;AACF,wBAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-X6BO6XFB.cjs"}
@@ -0,0 +1,48 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkX6BO6XFBcjs = require('./chunk-X6BO6XFB.cjs');
4
+
5
+ // src/EncryptedValue.ts
6
+ var _nodecrypto = require('node:crypto');
7
+ var EncryptedValue = class {
8
+ static {
9
+ _chunkX6BO6XFBcjs.__name.call(void 0, this, "EncryptedValue");
10
+ }
11
+
12
+
13
+
14
+
15
+ constructor(value) {
16
+ this.key = _nodecrypto.randomBytes.call(void 0, 32);
17
+ this.iv = _nodecrypto.randomBytes.call(void 0, 16);
18
+ const cipher = _nodecrypto.createCipheriv.call(void 0, "aes-256-gcm", this.key, this.iv);
19
+ const encryptedChunks = [];
20
+ encryptedChunks.push(cipher.update(value, "utf8"));
21
+ encryptedChunks.push(cipher.final());
22
+ this.encryptedData = Buffer.concat(encryptedChunks);
23
+ this.authTag = cipher.getAuthTag();
24
+ }
25
+ getValue() {
26
+ const decipher = _nodecrypto.createDecipheriv.call(void 0, "aes-256-gcm", this.key, this.iv);
27
+ decipher.setAuthTag(this.authTag);
28
+ try {
29
+ const decryptedChunks = [];
30
+ decryptedChunks.push(decipher.update(this.encryptedData));
31
+ decryptedChunks.push(decipher.final());
32
+ return Buffer.concat(decryptedChunks).toString("utf8");
33
+ } catch (_) {
34
+ throw new Error("Failed to decrypt value: Invalid key or corrupted data");
35
+ }
36
+ }
37
+ toString() {
38
+ return "[EncryptedValue]";
39
+ }
40
+ toJSON() {
41
+ return { type: "EncryptedValue", encrypted: true };
42
+ }
43
+ };
44
+
45
+
46
+
47
+ exports.EncryptedValue = EncryptedValue;
48
+ //# sourceMappingURL=chunk-YK25AWXL.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-YK25AWXL.cjs","../../../src/EncryptedValue.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACJA,yCAA8D;AAEvD,IAAM,eAAA,EAAN,MAAqB;AAAA,EAF5B,OAE4B;AAAA,IAAA,sCAAA,IAAA,EAAA,gBAAA,CAAA;AAAA,EAAA;AAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEV,WAAA,CAAY,KAAA,EAAe;AAChC,IAAA,IAAA,CAAK,IAAA,EAAM,qCAAA,EAAc,CAAA;AACzB,IAAA,IAAA,CAAK,GAAA,EAAK,qCAAA,EAAc,CAAA;AAExB,IAAA,MAAM,OAAA,EAAS,wCAAA,aAAe,EAAe,IAAA,CAAK,GAAA,EAAK,IAAA,CAAK,EAAE,CAAA;AAE9D,IAAA,MAAM,gBAAA,EAA4B,CAAC,CAAA;AACnC,IAAA,eAAA,CAAgB,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,KAAA,EAAO,MAAM,CAAC,CAAA;AACjD,IAAA,eAAA,CAAgB,IAAA,CAAK,MAAA,CAAO,KAAA,CAAM,CAAC,CAAA;AAEnC,IAAA,IAAA,CAAK,cAAA,EAAgB,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA;AAClD,IAAA,IAAA,CAAK,QAAA,EAAU,MAAA,CAAO,UAAA,CAAW,CAAA;AAAA,EACnC;AAAA,EAEO,QAAA,CAAA,EAAmB;AACxB,IAAA,MAAM,SAAA,EAAW,0CAAA,aAAiB,EAAe,IAAA,CAAK,GAAA,EAAK,IAAA,CAAK,EAAE,CAAA;AAClE,IAAA,QAAA,CAAS,UAAA,CAAW,IAAA,CAAK,OAAO,CAAA;AAEhC,IAAA,IAAI;AACF,MAAA,MAAM,gBAAA,EAA4B,CAAC,CAAA;AACnC,MAAA,eAAA,CAAgB,IAAA,CAAK,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,aAAa,CAAC,CAAA;AACxD,MAAA,eAAA,CAAgB,IAAA,CAAK,QAAA,CAAS,KAAA,CAAM,CAAC,CAAA;AAErC,MAAA,OAAO,MAAA,CAAO,MAAA,CAAO,eAAe,CAAA,CAAE,QAAA,CAAS,MAAM,CAAA;AAAA,IACvD,EAAA,MAAA,CAAS,CAAA,EAAG;AAEV,MAAA,MAAM,IAAI,KAAA,CAAM,wDAAwD,CAAA;AAAA,IAC1E;AAAA,EACF;AAAA,EAEO,QAAA,CAAA,EAAmB;AACxB,IAAA,OAAO,kBAAA;AAAA,EACT;AAAA,EAEO,MAAA,CAAA,EAAiB;AACtB,IAAA,OAAO,EAAE,IAAA,EAAM,gBAAA,EAAkB,SAAA,EAAW,KAAK,CAAA;AAAA,EACnD;AACF,CAAA;ADFA;AACA;AACE;AACF,wCAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/chunks/chunk-YK25AWXL.cjs","sourcesContent":[null,"import { createCipheriv, createDecipheriv, randomBytes } from 'node:crypto';\n\nexport class EncryptedValue {\n private readonly encryptedData: Buffer;\n private readonly iv: Buffer;\n private readonly authTag: Buffer;\n private readonly key: Buffer;\n\n public constructor(value: string) {\n this.key = randomBytes(32);\n this.iv = randomBytes(16);\n\n const cipher = createCipheriv('aes-256-gcm', this.key, this.iv);\n\n const encryptedChunks: Buffer[] = [];\n encryptedChunks.push(cipher.update(value, 'utf8'));\n encryptedChunks.push(cipher.final());\n\n this.encryptedData = Buffer.concat(encryptedChunks);\n this.authTag = cipher.getAuthTag();\n }\n\n public getValue(): string {\n const decipher = createDecipheriv('aes-256-gcm', this.key, this.iv);\n decipher.setAuthTag(this.authTag);\n\n try {\n const decryptedChunks: Buffer[] = [];\n decryptedChunks.push(decipher.update(this.encryptedData));\n decryptedChunks.push(decipher.final());\n\n return Buffer.concat(decryptedChunks).toString('utf8');\n } catch (_) {\n // Hide internal error details\n throw new Error('Failed to decrypt value: Invalid key or corrupted data');\n }\n }\n\n public toString(): string {\n return '[EncryptedValue]';\n }\n\n public toJSON(): object {\n return { type: 'EncryptedValue', encrypted: true };\n }\n}\n"]}
@@ -1 +1,17 @@
1
- "use strict";var e=require("./chunk-7PP3CDDK.cjs");require("./chunk-FKX4J4Q2.cjs"),require("./chunk-J7CRMQ5Z.cjs"),require("./chunk-VQ2XCAJT.cjs"),require("./chunk-XVDIOMZD.cjs"),require("./chunk-JVM3GGW6.cjs"),require("./chunk-JS7CWWUD.cjs"),require("./chunk-WZWXGAJN.cjs"),require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"createFactory",{enumerable:!0,get:function(){return e.createFactory}}),Object.defineProperty(exports,"defaultEncryptionProvider",{enumerable:!0,get:function(){return e.defaultEncryptionProvider}});//# sourceMappingURL=createFactory.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkK6RFKD55cjs = require('./chunks/chunk-K6RFKD55.cjs');
5
+ require('./chunks/chunk-YK25AWXL.cjs');
6
+ require('./chunks/chunk-SRMLZGCX.cjs');
7
+ require('./chunks/chunk-R4H4GKFW.cjs');
8
+ require('./chunks/chunk-BDMFGBTR.cjs');
9
+ require('./chunks/chunk-PO2PS4VB.cjs');
10
+ require('./chunks/chunk-FOL2TBBQ.cjs');
11
+ require('./chunks/chunk-GGWBGRR3.cjs');
12
+ require('./chunks/chunk-X6BO6XFB.cjs');
13
+
14
+
15
+
16
+ exports.createFactory = _chunkK6RFKD55cjs.createFactory; exports.defaultEncryptionProvider = _chunkK6RFKD55cjs.defaultEncryptionProvider;
17
+ //# sourceMappingURL=createFactory.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"createFactory.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/createFactory.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,+DAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC;AACE;AACA;AACF,yIAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/createFactory.cjs"}
@@ -1,5 +1,5 @@
1
1
  import { ISecureFactory } from './interfaces.cjs';
2
- import { IEncryptionProvider, SecureConfig } from './types.cjs';
2
+ import { SecureConfig, IEncryptionProvider } from './types.cjs';
3
3
  import 'node:util';
4
4
 
5
5
  declare const defaultEncryptionProvider: IEncryptionProvider;
@@ -1 +1,8 @@
1
- "use strict";var e=require("./chunk-JS7CWWUD.cjs");require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"defaultSecureKeys",{enumerable:!0,get:function(){return e.defaultSecureKeys}});//# sourceMappingURL=defaults.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkFOL2TBBQcjs = require('./chunks/chunk-FOL2TBBQ.cjs');
4
+ require('./chunks/chunk-X6BO6XFB.cjs');
5
+
6
+
7
+ exports.defaultSecureKeys = _chunkFOL2TBBQcjs.defaultSecureKeys;
8
+ //# sourceMappingURL=defaults.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"defaults.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/defaults.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,+DAAoC;AACpC,uCAAoC;AACpC;AACE;AACF,gEAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/defaults.cjs"}
package/dist/cjs/hash.cjs CHANGED
@@ -1 +1,8 @@
1
- "use strict";var e=require("./chunk-WZWXGAJN.cjs");require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"hash",{enumerable:!0,get:function(){return e.hash}});//# sourceMappingURL=hash.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkGGWBGRR3cjs = require('./chunks/chunk-GGWBGRR3.cjs');
4
+ require('./chunks/chunk-X6BO6XFB.cjs');
5
+
6
+
7
+ exports.hash = _chunkGGWBGRR3cjs.hash;
8
+ //# sourceMappingURL=hash.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"hash.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/hash.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,+DAAoC;AACpC,uCAAoC;AACpC;AACE;AACF,sCAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/hash.cjs"}
@@ -1 +1,30 @@
1
- "use strict";var e=require("./chunk-7PP3CDDK.cjs"),r=require("./chunk-FKX4J4Q2.cjs");require("./chunk-J7CRMQ5Z.cjs"),require("./chunk-VQ2XCAJT.cjs"),require("./chunk-XVDIOMZD.cjs");var t=require("./chunk-JVM3GGW6.cjs"),n=require("./chunk-JS7CWWUD.cjs");require("./chunk-WZWXGAJN.cjs"),require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"createFactory",{enumerable:!0,get:function(){return e.createFactory}}),Object.defineProperty(exports,"EncryptedValue",{enumerable:!0,get:function(){return r.EncryptedValue}}),Object.defineProperty(exports,"ISecureConnectionString",{enumerable:!0,get:function(){return t.ISecureConnectionString}}),Object.defineProperty(exports,"ISecureFactory",{enumerable:!0,get:function(){return t.ISecureFactory}}),Object.defineProperty(exports,"ISecureString",{enumerable:!0,get:function(){return t.ISecureString}}),Object.defineProperty(exports,"ISecureURL",{enumerable:!0,get:function(){return t.ISecureURL}}),Object.defineProperty(exports,"defaultSecureKeys",{enumerable:!0,get:function(){return n.defaultSecureKeys}});//# sourceMappingURL=index.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkK6RFKD55cjs = require('./chunks/chunk-K6RFKD55.cjs');
4
+
5
+
6
+ var _chunkYK25AWXLcjs = require('./chunks/chunk-YK25AWXL.cjs');
7
+ require('./chunks/chunk-SRMLZGCX.cjs');
8
+ require('./chunks/chunk-R4H4GKFW.cjs');
9
+ require('./chunks/chunk-BDMFGBTR.cjs');
10
+
11
+
12
+
13
+
14
+
15
+ var _chunkPO2PS4VBcjs = require('./chunks/chunk-PO2PS4VB.cjs');
16
+
17
+
18
+ var _chunkFOL2TBBQcjs = require('./chunks/chunk-FOL2TBBQ.cjs');
19
+ require('./chunks/chunk-GGWBGRR3.cjs');
20
+ require('./chunks/chunk-X6BO6XFB.cjs');
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+ exports.EncryptedValue = _chunkYK25AWXLcjs.EncryptedValue; exports.ISecureConnectionString = _chunkPO2PS4VBcjs.ISecureConnectionString; exports.ISecureFactory = _chunkPO2PS4VBcjs.ISecureFactory; exports.ISecureString = _chunkPO2PS4VBcjs.ISecureString; exports.ISecureURL = _chunkPO2PS4VBcjs.ISecureURL; exports.createFactory = _chunkK6RFKD55cjs.createFactory; exports.defaultSecureKeys = _chunkFOL2TBBQcjs.defaultSecureKeys;
30
+ //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/index.cjs"],"names":[],"mappings":"AAAA;AACE;AACF,+DAAoC;AACpC;AACE;AACF,+DAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC;AACE;AACA;AACA;AACA;AACF,+DAAoC;AACpC;AACE;AACF,+DAAoC;AACpC,uCAAoC;AACpC,uCAAoC;AACpC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACF,waAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/index.cjs"}
@@ -1 +1,14 @@
1
- "use strict";var e=require("./chunk-JVM3GGW6.cjs");require("./chunk-PK6SKIKE.cjs"),Object.defineProperty(exports,"ISecureConnectionString",{enumerable:!0,get:function(){return e.ISecureConnectionString}}),Object.defineProperty(exports,"ISecureFactory",{enumerable:!0,get:function(){return e.ISecureFactory}}),Object.defineProperty(exports,"ISecureString",{enumerable:!0,get:function(){return e.ISecureString}}),Object.defineProperty(exports,"ISecureURL",{enumerable:!0,get:function(){return e.ISecureURL}});//# sourceMappingURL=interfaces.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+ var _chunkPO2PS4VBcjs = require('./chunks/chunk-PO2PS4VB.cjs');
7
+ require('./chunks/chunk-X6BO6XFB.cjs');
8
+
9
+
10
+
11
+
12
+
13
+ exports.ISecureConnectionString = _chunkPO2PS4VBcjs.ISecureConnectionString; exports.ISecureFactory = _chunkPO2PS4VBcjs.ISecureFactory; exports.ISecureString = _chunkPO2PS4VBcjs.ISecureString; exports.ISecureURL = _chunkPO2PS4VBcjs.ISecureURL;
14
+ //# sourceMappingURL=interfaces.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"interfaces.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/interfaces.cjs"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,+DAAoC;AACpC,uCAAoC;AACpC;AACE;AACA;AACA;AACA;AACF,mPAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/interfaces.cjs"}
@@ -1 +1,15 @@
1
- "use strict";var s=require("./chunk-PK6SKIKE.cjs"),e=class{static{s.__name(this,"BaseObject")}};exports.BaseObject=e;//# sourceMappingURL=types.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkX6BO6XFBcjs = require('./chunks/chunk-X6BO6XFB.cjs');
4
+
5
+ // src/types.ts
6
+ require('node:util');
7
+ var BaseObject = class {
8
+ static {
9
+ _chunkX6BO6XFBcjs.__name.call(void 0, this, "BaseObject");
10
+ }
11
+ };
12
+
13
+
14
+ exports.BaseObject = BaseObject;
15
+ //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types.ts"],"names":["__name"],"mappings":";AAIO,IAAe,aAAf,MAA0B;AAAA,EAJjC;AAIiC,IAAAA,wBAAA,CAAA,IAAA,EAAA,YAAA,CAAA;AAAA;AAIjC","file":"types.cjs","sourcesContent":["import util, { type InspectOptions } from 'node:util';\n\nexport type InspectFunction = typeof util.inspect;\n\nexport abstract class BaseObject {\n public abstract toString(): string;\n public abstract toJSON(): string | object;\n public abstract [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string;\n}\n\nexport type SecureKeys = readonly string[];\n\nexport interface IEncryptedValue {\n getValue(): string;\n toString(): string;\n toJSON(): object;\n}\n\nexport interface IEncryptionProvider {\n encrypt(value: string): IEncryptedValue;\n}\n\nexport interface SecureConfig {\n secret: string | null;\n encryptionProvider: IEncryptionProvider;\n secretKeys: SecureKeys;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/types.cjs","../../src/types.ts"],"names":[],"mappings":"AAAA;AACE;AACF,+DAAoC;AACpC;AACA;ACJA,qBAA0C;AAInC,IAAe,WAAA,EAAf,MAA0B;AAAA,EAJjC,OAIiC;AAAA,IAAA,sCAAA,IAAA,EAAA,YAAA,CAAA;AAAA,EAAA;AAIjC,CAAA;ADGA;AACE;AACF,gCAAC","file":"/home/runner/work/ecosystem/ecosystem/packages/core-config/dist/cjs/types.cjs","sourcesContent":[null,"import util, { type InspectOptions } from 'node:util';\n\nexport type InspectFunction = typeof util.inspect;\n\nexport abstract class BaseObject {\n public abstract toString(): string;\n public abstract toJSON(): string | object;\n public abstract [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string;\n}\n\nexport type SecureKeys = readonly string[];\n\nexport interface IEncryptedValue {\n getValue(): string;\n toString(): string;\n toJSON(): object;\n}\n\nexport interface IEncryptionProvider {\n encrypt(value: string): IEncryptedValue;\n}\n\nexport interface SecureConfig {\n secret: string | null;\n encryptionProvider: IEncryptionProvider;\n secretKeys: SecureKeys;\n}\n"]}
@@ -1 +1,8 @@
1
- export{EncryptedValue}from"./chunk-CGPJ25IS.js";import"./chunk-7QVYU63E.js";//# sourceMappingURL=EncryptedValue.js.map
1
+ import {
2
+ EncryptedValue
3
+ } from "./chunks/chunk-VIUQA4IN.js";
4
+ import "./chunks/chunk-GOUAOFCH.js";
5
+ export {
6
+ EncryptedValue
7
+ };
8
+ //# sourceMappingURL=EncryptedValue.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"EncryptedValue.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1,11 @@
1
- export{SecureConnectionString}from"./chunk-S3UXVGVK.js";import"./chunk-JAXX5FG7.js";import"./chunk-XICVVAG4.js";import"./chunk-GJXVQ2LL.js";import"./chunk-7QVYU63E.js";//# sourceMappingURL=SecureConnectionString.js.map
1
+ import {
2
+ SecureConnectionString
3
+ } from "./chunks/chunk-2L4YGJ3C.js";
4
+ import "./chunks/chunk-UJTGIE6R.js";
5
+ import "./chunks/chunk-TRDZS6YE.js";
6
+ import "./chunks/chunk-UOGVVT4U.js";
7
+ import "./chunks/chunk-GOUAOFCH.js";
8
+ export {
9
+ SecureConnectionString
10
+ };
11
+ //# sourceMappingURL=SecureConnectionString.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"SecureConnectionString.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1,10 @@
1
- export{SecureString}from"./chunk-JAXX5FG7.js";import"./chunk-XICVVAG4.js";import"./chunk-GJXVQ2LL.js";import"./chunk-7QVYU63E.js";//# sourceMappingURL=SecureString.js.map
1
+ import {
2
+ SecureString
3
+ } from "./chunks/chunk-UJTGIE6R.js";
4
+ import "./chunks/chunk-TRDZS6YE.js";
5
+ import "./chunks/chunk-UOGVVT4U.js";
6
+ import "./chunks/chunk-GOUAOFCH.js";
7
+ export {
8
+ SecureString
9
+ };
10
+ //# sourceMappingURL=SecureString.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"SecureString.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1 +1,11 @@
1
- export{SecureURL}from"./chunk-TGJY6ZQ7.js";import"./chunk-JAXX5FG7.js";import"./chunk-XICVVAG4.js";import"./chunk-GJXVQ2LL.js";import"./chunk-7QVYU63E.js";//# sourceMappingURL=SecureURL.js.map
1
+ import {
2
+ SecureURL
3
+ } from "./chunks/chunk-UDMHV6JX.js";
4
+ import "./chunks/chunk-UJTGIE6R.js";
5
+ import "./chunks/chunk-TRDZS6YE.js";
6
+ import "./chunks/chunk-UOGVVT4U.js";
7
+ import "./chunks/chunk-GOUAOFCH.js";
8
+ export {
9
+ SecureURL
10
+ };
11
+ //# sourceMappingURL=SecureURL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"SecureURL.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,71 @@
1
+ import {
2
+ SecureString
3
+ } from "./chunk-UJTGIE6R.js";
4
+ import {
5
+ ISecureConnectionString
6
+ } from "./chunk-TRDZS6YE.js";
7
+ import {
8
+ __name
9
+ } from "./chunk-GOUAOFCH.js";
10
+
11
+ // src/SecureConnectionString.ts
12
+ import util from "node:util";
13
+ var SecureConnectionString = class _SecureConnectionString extends ISecureConnectionString {
14
+ static {
15
+ __name(this, "SecureConnectionString");
16
+ }
17
+ #encryptedValue;
18
+ #data;
19
+ get secretValue() {
20
+ return this.#encryptedValue.getValue();
21
+ }
22
+ constructor(value, config) {
23
+ super();
24
+ this.#encryptedValue = config.encryptionProvider.encrypt(value);
25
+ this.#data = this.parseConnectionString(
26
+ value,
27
+ config.secretKeys.map((x) => x.toLocaleLowerCase()),
28
+ config
29
+ );
30
+ }
31
+ parseConnectionString(value, secretKeys, config) {
32
+ return value.split(";").filter(Boolean).map((pair) => {
33
+ const [key, value2] = pair.split("=");
34
+ const v = value2 ?? "";
35
+ const val = secretKeys.includes(key.toLocaleLowerCase()) ? SecureString.from(v, config) : v;
36
+ return [key, val];
37
+ });
38
+ }
39
+ static factory(config) {
40
+ return (value) => _SecureConnectionString.from(value, config);
41
+ }
42
+ static from(value, config) {
43
+ if (value === null) {
44
+ return null;
45
+ }
46
+ if (value === void 0) {
47
+ return void 0;
48
+ }
49
+ return new _SecureConnectionString(value, config);
50
+ }
51
+ toString() {
52
+ return this.#data.map(([key, value]) => `${key}=${value}`).join(";");
53
+ }
54
+ toJSON() {
55
+ return Object.fromEntries(this.#data);
56
+ }
57
+ [util.inspect.custom](depth, options, inspect) {
58
+ if (depth < 0) {
59
+ return "[SecureConnectionString]";
60
+ }
61
+ const newOptions = Object.assign({}, options, {
62
+ depth: options.depth == null ? null : options.depth - 1
63
+ });
64
+ return inspect(this.toJSON(), newOptions);
65
+ }
66
+ };
67
+
68
+ export {
69
+ SecureConnectionString
70
+ };
71
+ //# sourceMappingURL=chunk-2L4YGJ3C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/SecureConnectionString.ts"],"sourcesContent":["import util, { type InspectOptions } from 'node:util';\nimport { ISecureConnectionString } from './interfaces';\nimport { SecureString } from './SecureString';\nimport type { IEncryptedValue, InspectFunction, SecureConfig, SecureKeys } from './types';\n\nexport class SecureConnectionString extends ISecureConnectionString {\n readonly #encryptedValue: IEncryptedValue;\n readonly #data: [string, string | SecureString][];\n\n public get secretValue(): string {\n return this.#encryptedValue.getValue();\n }\n\n private constructor(value: string, config: SecureConfig) {\n super();\n this.#encryptedValue = config.encryptionProvider.encrypt(value);\n this.#data = this.parseConnectionString(\n value,\n config.secretKeys.map((x) => x.toLocaleLowerCase()),\n config,\n );\n }\n\n private parseConnectionString(value: string, secretKeys: SecureKeys, config: SecureConfig): [string, string | SecureString][] {\n return value\n .split(';')\n .filter(Boolean)\n .map((pair) => {\n const [key, value] = pair.split('=');\n const v = value ?? '';\n const val = secretKeys.includes(key.toLocaleLowerCase()) ? SecureString.from(v, config) : v;\n return [key, val];\n });\n }\n\n static factory(config: SecureConfig): (value: string) => SecureConnectionString {\n return (value: string) => SecureConnectionString.from(value, config);\n }\n\n public static from<T extends string | null | undefined>(value: T, config: SecureConfig): T extends string ? SecureConnectionString : T {\n if (value === null) {\n return null as T extends string ? SecureConnectionString : T;\n }\n if (value === undefined) {\n return undefined as T extends string ? SecureConnectionString : T;\n }\n return new SecureConnectionString(value, config) as T extends string ? SecureConnectionString : T;\n }\n\n public override toString(): string {\n return this.#data.map(([key, value]) => `${key}=${value}`).join(';');\n }\n\n public override toJSON(): object {\n return Object.fromEntries(this.#data);\n }\n\n public override [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string {\n if (depth < 0) {\n return '[SecureConnectionString]';\n }\n const newOptions = Object.assign({}, options, {\n depth: options.depth == null ? null : options.depth - 1,\n });\n return inspect(this.toJSON(), newOptions);\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,UAAmC;AAKnC,IAAM,yBAAN,MAAM,gCAA+B,wBAAwB;AAAA,EALpE,OAKoE;AAAA;AAAA;AAAA,EACzD;AAAA,EACA;AAAA,EAET,IAAW,cAAsB;AAC/B,WAAO,KAAK,gBAAgB,SAAS;AAAA,EACvC;AAAA,EAEQ,YAAY,OAAe,QAAsB;AACvD,UAAM;AACN,SAAK,kBAAkB,OAAO,mBAAmB,QAAQ,KAAK;AAC9D,SAAK,QAAQ,KAAK;AAAA,MAChB;AAAA,MACA,OAAO,WAAW,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,sBAAsB,OAAe,YAAwB,QAAyD;AAC5H,WAAO,MACJ,MAAM,GAAG,EACT,OAAO,OAAO,EACd,IAAI,CAAC,SAAS;AACb,YAAM,CAAC,KAAKA,MAAK,IAAI,KAAK,MAAM,GAAG;AACnC,YAAM,IAAIA,UAAS;AACnB,YAAM,MAAM,WAAW,SAAS,IAAI,kBAAkB,CAAC,IAAI,aAAa,KAAK,GAAG,MAAM,IAAI;AAC1F,aAAO,CAAC,KAAK,GAAG;AAAA,IAClB,CAAC;AAAA,EACL;AAAA,EAEA,OAAO,QAAQ,QAAiE;AAC9E,WAAO,CAAC,UAAkB,wBAAuB,KAAK,OAAO,MAAM;AAAA,EACrE;AAAA,EAEA,OAAc,KAA0C,OAAU,QAAqE;AACrI,QAAI,UAAU,MAAM;AAClB,aAAO;AAAA,IACT;AACA,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,WAAO,IAAI,wBAAuB,OAAO,MAAM;AAAA,EACjD;AAAA,EAEgB,WAAmB;AACjC,WAAO,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,EAAE,KAAK,GAAG;AAAA,EACrE;AAAA,EAEgB,SAAiB;AAC/B,WAAO,OAAO,YAAY,KAAK,KAAK;AAAA,EACtC;AAAA,EAEA,CAAiB,KAAK,QAAQ,MAAM,EAAE,OAAe,SAAyB,SAAkC;AAC9G,QAAI,QAAQ,GAAG;AACb,aAAO;AAAA,IACT;AACA,UAAM,aAAa,OAAO,OAAO,CAAC,GAAG,SAAS;AAAA,MAC5C,OAAO,QAAQ,SAAS,OAAO,OAAO,QAAQ,QAAQ;AAAA,IACxD,CAAC;AACD,WAAO,QAAQ,KAAK,OAAO,GAAG,UAAU;AAAA,EAC1C;AACF;","names":["value"]}
@@ -0,0 +1,7 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ export {
5
+ __name
6
+ };
7
+ //# sourceMappingURL=chunk-GOUAOFCH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,7 @@
1
+ // src/defaults.ts
2
+ var defaultSecureKeys = ["AccessKey", "SharedAccessKey", "Password", "AccountKey", "Secret", "SecretKey", "ApiKey", "Token", "Key", "MasterKey", "PrimaryKey", "SecondaryKey"];
3
+
4
+ export {
5
+ defaultSecureKeys
6
+ };
7
+ //# sourceMappingURL=chunk-GWYWZHV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/defaults.ts"],"sourcesContent":["import type { SecureKeys } from './types';\n\nexport const defaultSecureKeys = ['AccessKey', 'SharedAccessKey', 'Password', 'AccountKey', 'Secret', 'SecretKey', 'ApiKey', 'Token', 'Key', 'MasterKey', 'PrimaryKey', 'SecondaryKey'] as const satisfies SecureKeys;\n"],"mappings":";AAEO,IAAM,oBAAoB,CAAC,aAAa,mBAAmB,YAAY,cAAc,UAAU,aAAa,UAAU,SAAS,OAAO,aAAa,cAAc,cAAc;","names":[]}
@@ -0,0 +1,41 @@
1
+ import {
2
+ EncryptedValue
3
+ } from "./chunk-VIUQA4IN.js";
4
+ import {
5
+ SecureConnectionString
6
+ } from "./chunk-2L4YGJ3C.js";
7
+ import {
8
+ SecureURL
9
+ } from "./chunk-UDMHV6JX.js";
10
+ import {
11
+ SecureString
12
+ } from "./chunk-UJTGIE6R.js";
13
+ import {
14
+ defaultSecureKeys
15
+ } from "./chunk-GWYWZHV2.js";
16
+ import {
17
+ __name
18
+ } from "./chunk-GOUAOFCH.js";
19
+
20
+ // src/createFactory.ts
21
+ var defaultEncryptionProvider = {
22
+ encrypt: /* @__PURE__ */ __name((value) => new EncryptedValue(value), "encrypt")
23
+ };
24
+ var createFactory = /* @__PURE__ */ __name((options) => {
25
+ const config = {
26
+ secret: options?.secret ?? null,
27
+ encryptionProvider: options?.encryptionProvider ?? defaultEncryptionProvider,
28
+ secretKeys: options?.secretKeys ?? defaultSecureKeys
29
+ };
30
+ return {
31
+ string: SecureString.factory(config),
32
+ connectionString: SecureConnectionString.factory(config),
33
+ url: SecureURL.factory(config)
34
+ };
35
+ }, "createFactory");
36
+
37
+ export {
38
+ defaultEncryptionProvider,
39
+ createFactory
40
+ };
41
+ //# sourceMappingURL=chunk-KM6K7D2J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/createFactory.ts"],"sourcesContent":["import { defaultSecureKeys } from './defaults';\nimport { EncryptedValue } from './EncryptedValue';\nimport type { ISecureFactory } from './interfaces';\nimport { SecureConnectionString } from './SecureConnectionString';\nimport { SecureString } from './SecureString';\nimport { SecureURL } from './SecureURL';\nimport type { IEncryptionProvider, SecureConfig } from './types';\n\nexport const defaultEncryptionProvider: IEncryptionProvider = {\n encrypt: (value: string) => new EncryptedValue(value),\n};\n\nexport const createFactory = (options?: Partial<SecureConfig>): ISecureFactory => {\n const config: SecureConfig = {\n secret: options?.secret ?? null,\n encryptionProvider: options?.encryptionProvider ?? defaultEncryptionProvider,\n secretKeys: options?.secretKeys ?? defaultSecureKeys,\n };\n\n return {\n string: SecureString.factory(config),\n connectionString: SecureConnectionString.factory(config),\n url: SecureURL.factory(config),\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAQO,IAAM,4BAAiD;AAAA,EAC5D,SAAS,wBAAC,UAAkB,IAAI,eAAe,KAAK,GAA3C;AACX;AAEO,IAAM,gBAAgB,wBAAC,YAAoD;AAChF,QAAM,SAAuB;AAAA,IAC3B,QAAQ,SAAS,UAAU;AAAA,IAC3B,oBAAoB,SAAS,sBAAsB;AAAA,IACnD,YAAY,SAAS,cAAc;AAAA,EACrC;AAEA,SAAO;AAAA,IACL,QAAQ,aAAa,QAAQ,MAAM;AAAA,IACnC,kBAAkB,uBAAuB,QAAQ,MAAM;AAAA,IACvD,KAAK,UAAU,QAAQ,MAAM;AAAA,EAC/B;AACF,GAZ6B;","names":[]}
@@ -0,0 +1,34 @@
1
+ import {
2
+ __name
3
+ } from "./chunk-GOUAOFCH.js";
4
+
5
+ // src/interfaces.ts
6
+ import "node:util";
7
+ var ISecureString = class {
8
+ static {
9
+ __name(this, "ISecureString");
10
+ }
11
+ };
12
+ var ISecureConnectionString = class {
13
+ static {
14
+ __name(this, "ISecureConnectionString");
15
+ }
16
+ };
17
+ var ISecureURL = class {
18
+ static {
19
+ __name(this, "ISecureURL");
20
+ }
21
+ };
22
+ var ISecureFactory = class {
23
+ static {
24
+ __name(this, "ISecureFactory");
25
+ }
26
+ };
27
+
28
+ export {
29
+ ISecureString,
30
+ ISecureConnectionString,
31
+ ISecureURL,
32
+ ISecureFactory
33
+ };
34
+ //# sourceMappingURL=chunk-TRDZS6YE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/interfaces.ts"],"sourcesContent":["import util, { type InspectOptions } from 'node:util';\nimport type { BaseObject, InspectFunction } from './types';\n\nexport abstract class ISecureString implements BaseObject {\n public abstract toString(): string;\n public abstract toJSON(): string | object;\n public abstract [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string;\n public abstract get secretValue(): string;\n}\n\nexport abstract class ISecureConnectionString implements BaseObject {\n public abstract toString(): string;\n public abstract toJSON(): string | object;\n public abstract [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string;\n public abstract get secretValue(): string;\n}\n\nexport abstract class ISecureURL implements BaseObject {\n public abstract toString(): string;\n public abstract toJSON(): object;\n public abstract [util.inspect.custom](depth: number, options: InspectOptions, inspect: InspectFunction): string;\n public abstract get secretValue(): URL;\n}\n\nexport abstract class ISecureFactory {\n public abstract string(value: string): ISecureString;\n public abstract connectionString(value: string, secretKeys?: readonly string[]): ISecureConnectionString;\n public abstract url(value: URL): ISecureURL;\n}\n"],"mappings":";;;;;AAAA,OAA0C;AAGnC,IAAe,gBAAf,MAAmD;AAAA,EAH1D,OAG0D;AAAA;AAAA;AAK1D;AAEO,IAAe,0BAAf,MAA6D;AAAA,EAVpE,OAUoE;AAAA;AAAA;AAKpE;AAEO,IAAe,aAAf,MAAgD;AAAA,EAjBvD,OAiBuD;AAAA;AAAA;AAKvD;AAEO,IAAe,iBAAf,MAA8B;AAAA,EAxBrC,OAwBqC;AAAA;AAAA;AAIrC;","names":[]}