@digitaldefiance/ecies-lib 3.0.8 → 3.7.3

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 (303) hide show
  1. package/README.md +475 -0
  2. package/package.json +4 -3
  3. package/src/builders/ecies-builder.js +5 -9
  4. package/src/builders/ecies-builder.js.map +1 -1
  5. package/src/builders/index.js +2 -5
  6. package/src/builders/index.js.map +1 -1
  7. package/src/builders/member-builder.js +12 -16
  8. package/src/builders/member-builder.js.map +1 -1
  9. package/src/constants.d.ts +14 -0
  10. package/src/constants.d.ts.map +1 -1
  11. package/src/constants.js +150 -74
  12. package/src/constants.js.map +1 -1
  13. package/src/core/errors/crypto-error.js +10 -14
  14. package/src/core/errors/crypto-error.js.map +1 -1
  15. package/src/core/index.js +2 -5
  16. package/src/core/index.js.map +1 -1
  17. package/src/core/types/result.js +1 -5
  18. package/src/core/types/result.js.map +1 -1
  19. package/src/email-string.js +8 -13
  20. package/src/email-string.js.map +1 -1
  21. package/src/enumerations/disposed-error-type.d.ts +12 -0
  22. package/src/enumerations/disposed-error-type.d.ts.map +1 -0
  23. package/src/enumerations/disposed-error-type.js +13 -0
  24. package/src/enumerations/disposed-error-type.js.map +1 -0
  25. package/src/enumerations/ecies-encryption-type.js +20 -27
  26. package/src/enumerations/ecies-encryption-type.js.map +1 -1
  27. package/src/enumerations/ecies-error-type.js +2 -5
  28. package/src/enumerations/ecies-error-type.js.map +1 -1
  29. package/src/enumerations/ecies-string-key.d.ts +19 -1
  30. package/src/enumerations/ecies-string-key.d.ts.map +1 -1
  31. package/src/enumerations/ecies-string-key.js +21 -5
  32. package/src/enumerations/ecies-string-key.js.map +1 -1
  33. package/src/enumerations/guid-brand-type.d.ts +27 -0
  34. package/src/enumerations/guid-brand-type.d.ts.map +1 -0
  35. package/src/enumerations/guid-brand-type.js +28 -0
  36. package/src/enumerations/guid-brand-type.js.map +1 -0
  37. package/src/enumerations/guid-error-type.d.ts +7 -0
  38. package/src/enumerations/guid-error-type.d.ts.map +1 -0
  39. package/src/enumerations/guid-error-type.js +8 -0
  40. package/src/enumerations/guid-error-type.js.map +1 -0
  41. package/src/enumerations/id-provider-error-type.d.ts +43 -0
  42. package/src/enumerations/id-provider-error-type.d.ts.map +1 -0
  43. package/src/enumerations/id-provider-error-type.js +44 -0
  44. package/src/enumerations/id-provider-error-type.js.map +1 -0
  45. package/src/enumerations/index.d.ts +3 -0
  46. package/src/enumerations/index.d.ts.map +1 -1
  47. package/src/enumerations/index.js +15 -15
  48. package/src/enumerations/index.js.map +1 -1
  49. package/src/enumerations/invalid-email-type.js +2 -5
  50. package/src/enumerations/invalid-email-type.js.map +1 -1
  51. package/src/enumerations/length-encoding-type.js +2 -5
  52. package/src/enumerations/length-encoding-type.js.map +1 -1
  53. package/src/enumerations/length-error-type.js +2 -5
  54. package/src/enumerations/length-error-type.js.map +1 -1
  55. package/src/enumerations/member-error-type.js +3 -6
  56. package/src/enumerations/member-error-type.js.map +1 -1
  57. package/src/enumerations/member-type.js +3 -6
  58. package/src/enumerations/member-type.js.map +1 -1
  59. package/src/enumerations/password-login-error-type.js +2 -5
  60. package/src/enumerations/password-login-error-type.js.map +1 -1
  61. package/src/enumerations/pbkdf2-error-type.js +2 -5
  62. package/src/enumerations/pbkdf2-error-type.js.map +1 -1
  63. package/src/enumerations/pbkdf2-profile.js +2 -5
  64. package/src/enumerations/pbkdf2-profile.js.map +1 -1
  65. package/src/enumerations/secure-storage-error-type.js +2 -5
  66. package/src/enumerations/secure-storage-error-type.js.map +1 -1
  67. package/src/errors/disposed.d.ts +20 -2
  68. package/src/errors/disposed.d.ts.map +1 -1
  69. package/src/errors/disposed.js +24 -17
  70. package/src/errors/disposed.js.map +1 -1
  71. package/src/errors/ecies.d.ts +46 -1
  72. package/src/errors/ecies.d.ts.map +1 -1
  73. package/src/errors/ecies.js +65 -10
  74. package/src/errors/ecies.js.map +1 -1
  75. package/src/errors/guid.d.ts +44 -0
  76. package/src/errors/guid.d.ts.map +1 -0
  77. package/src/errors/guid.js +81 -0
  78. package/src/errors/guid.js.map +1 -0
  79. package/src/errors/id-provider.d.ts +23 -0
  80. package/src/errors/id-provider.d.ts.map +1 -0
  81. package/src/errors/id-provider.js +29 -0
  82. package/src/errors/id-provider.js.map +1 -0
  83. package/src/errors/index.d.ts +3 -0
  84. package/src/errors/index.d.ts.map +1 -1
  85. package/src/errors/index.js +9 -10
  86. package/src/errors/index.js.map +1 -1
  87. package/src/errors/invalid-email.js +5 -9
  88. package/src/errors/invalid-email.js.map +1 -1
  89. package/src/errors/length.js +5 -9
  90. package/src/errors/length.js.map +1 -1
  91. package/src/errors/member.js +5 -9
  92. package/src/errors/member.js.map +1 -1
  93. package/src/errors/pbkdf2.js +5 -9
  94. package/src/errors/pbkdf2.js.map +1 -1
  95. package/src/errors/secure-storage.js +6 -10
  96. package/src/errors/secure-storage.js.map +1 -1
  97. package/src/errors/simple-ecies.js +6 -10
  98. package/src/errors/simple-ecies.js.map +1 -1
  99. package/src/errors/simple-test-error.js +1 -5
  100. package/src/errors/simple-test-error.js.map +1 -1
  101. package/src/i18n-setup.js +29 -37
  102. package/src/i18n-setup.js.map +1 -1
  103. package/src/index.d.ts +10 -0
  104. package/src/index.d.ts.map +1 -1
  105. package/src/index.js +44 -57
  106. package/src/index.js.map +1 -1
  107. package/src/interfaces/checksum-config.js +1 -2
  108. package/src/interfaces/checksum-consts.js +1 -2
  109. package/src/interfaces/configuration-provenance.d.ts +51 -0
  110. package/src/interfaces/configuration-provenance.d.ts.map +1 -0
  111. package/src/interfaces/configuration-provenance.js +23 -0
  112. package/src/interfaces/configuration-provenance.js.map +1 -0
  113. package/src/interfaces/constants.d.ts +27 -1
  114. package/src/interfaces/constants.d.ts.map +1 -1
  115. package/src/interfaces/constants.js +1 -2
  116. package/src/interfaces/ecies-config.js +1 -2
  117. package/src/interfaces/ecies-consts.js +1 -2
  118. package/src/interfaces/ecies-file-service.js +1 -2
  119. package/src/interfaces/encrypted-chunk.js +1 -4
  120. package/src/interfaces/encrypted-chunk.js.map +1 -1
  121. package/src/interfaces/encryption-state.js +1 -4
  122. package/src/interfaces/encryption-state.js.map +1 -1
  123. package/src/interfaces/frontend-member-operational.js +1 -2
  124. package/src/interfaces/guid.d.ts +78 -0
  125. package/src/interfaces/guid.d.ts.map +1 -0
  126. package/src/interfaces/guid.js +2 -0
  127. package/src/interfaces/guid.js.map +1 -0
  128. package/src/interfaces/id-provider.d.ts +83 -0
  129. package/src/interfaces/id-provider.d.ts.map +1 -0
  130. package/src/interfaces/id-provider.js +35 -0
  131. package/src/interfaces/id-provider.js.map +1 -0
  132. package/src/interfaces/index.d.ts +1 -0
  133. package/src/interfaces/index.d.ts.map +1 -1
  134. package/src/interfaces/index.js +13 -15
  135. package/src/interfaces/index.js.map +1 -1
  136. package/src/interfaces/invariant.d.ts +46 -0
  137. package/src/interfaces/invariant.d.ts.map +1 -0
  138. package/src/interfaces/invariant.js +18 -0
  139. package/src/interfaces/invariant.js.map +1 -0
  140. package/src/interfaces/library-error.js +1 -2
  141. package/src/interfaces/member-storage.js +1 -2
  142. package/src/interfaces/member-with-mnemonic.js +1 -2
  143. package/src/interfaces/multi-recipient-chunk.d.ts +36 -12
  144. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -1
  145. package/src/interfaces/multi-recipient-chunk.js +36 -14
  146. package/src/interfaces/multi-recipient-chunk.js.map +1 -1
  147. package/src/interfaces/pbkdf2-config.js +1 -2
  148. package/src/interfaces/pbkdf2-consts.js +1 -2
  149. package/src/interfaces/pbkdf2-result.js +1 -2
  150. package/src/interfaces/stream-config.js +1 -4
  151. package/src/interfaces/stream-config.js.map +1 -1
  152. package/src/interfaces/stream-header.js +1 -4
  153. package/src/interfaces/stream-header.js.map +1 -1
  154. package/src/interfaces/stream-progress.js +1 -2
  155. package/src/lib/crypto-container.js +9 -13
  156. package/src/lib/crypto-container.js.map +1 -1
  157. package/src/lib/guid.d.ts +344 -0
  158. package/src/lib/guid.d.ts.map +1 -0
  159. package/src/lib/guid.js +914 -0
  160. package/src/lib/guid.js.map +1 -0
  161. package/src/lib/id-providers/custom-provider.d.ts +36 -0
  162. package/src/lib/id-providers/custom-provider.d.ts.map +1 -0
  163. package/src/lib/id-providers/custom-provider.js +71 -0
  164. package/src/lib/id-providers/custom-provider.js.map +1 -0
  165. package/src/lib/id-providers/guidv4-provider.d.ts +46 -0
  166. package/src/lib/id-providers/guidv4-provider.d.ts.map +1 -0
  167. package/src/lib/id-providers/guidv4-provider.js +105 -0
  168. package/src/lib/id-providers/guidv4-provider.js.map +1 -0
  169. package/src/lib/id-providers/index.d.ts +30 -0
  170. package/src/lib/id-providers/index.d.ts.map +1 -0
  171. package/src/lib/id-providers/index.js +29 -0
  172. package/src/lib/id-providers/index.js.map +1 -0
  173. package/src/lib/id-providers/objectid-provider.d.ts +33 -0
  174. package/src/lib/id-providers/objectid-provider.d.ts.map +1 -0
  175. package/src/lib/id-providers/objectid-provider.js +79 -0
  176. package/src/lib/id-providers/objectid-provider.js.map +1 -0
  177. package/src/lib/id-providers/uuid-provider.d.ts +42 -0
  178. package/src/lib/id-providers/uuid-provider.d.ts.map +1 -0
  179. package/src/lib/id-providers/uuid-provider.js +96 -0
  180. package/src/lib/id-providers/uuid-provider.js.map +1 -0
  181. package/src/lib/index.d.ts +1 -0
  182. package/src/lib/index.d.ts.map +1 -1
  183. package/src/lib/index.js +2 -4
  184. package/src/lib/index.js.map +1 -1
  185. package/src/lib/invariant-validator.d.ts +59 -0
  186. package/src/lib/invariant-validator.d.ts.map +1 -0
  187. package/src/lib/invariant-validator.js +97 -0
  188. package/src/lib/invariant-validator.js.map +1 -0
  189. package/src/lib/invariants/encryption-algorithm-consistency.d.ts +17 -0
  190. package/src/lib/invariants/encryption-algorithm-consistency.d.ts.map +1 -0
  191. package/src/lib/invariants/encryption-algorithm-consistency.js +49 -0
  192. package/src/lib/invariants/encryption-algorithm-consistency.js.map +1 -0
  193. package/src/lib/invariants/index.d.ts +4 -0
  194. package/src/lib/invariants/index.d.ts.map +1 -0
  195. package/src/lib/invariants/index.js +4 -0
  196. package/src/lib/invariants/index.js.map +1 -0
  197. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts +16 -0
  198. package/src/lib/invariants/pbkdf2-profiles-validity.d.ts.map +1 -0
  199. package/src/lib/invariants/pbkdf2-profiles-validity.js +58 -0
  200. package/src/lib/invariants/pbkdf2-profiles-validity.js.map +1 -0
  201. package/src/lib/invariants/recipient-id-consistency.d.ts +18 -0
  202. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  203. package/src/lib/invariants/recipient-id-consistency.js +31 -0
  204. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  205. package/src/member.js +43 -48
  206. package/src/member.js.map +1 -1
  207. package/src/pbkdf2-profiles.js +1 -2
  208. package/src/phone-number.js +7 -11
  209. package/src/phone-number.js.map +1 -1
  210. package/src/regexes.js +3 -6
  211. package/src/regexes.js.map +1 -1
  212. package/src/secure-buffer.d.ts +17 -1
  213. package/src/secure-buffer.d.ts.map +1 -1
  214. package/src/secure-buffer.js +40 -22
  215. package/src/secure-buffer.js.map +1 -1
  216. package/src/secure-string.js +20 -24
  217. package/src/secure-string.js.map +1 -1
  218. package/src/services/aes-gcm.js +21 -25
  219. package/src/services/aes-gcm.js.map +1 -1
  220. package/src/services/chunk-processor.js +32 -36
  221. package/src/services/chunk-processor.js.map +1 -1
  222. package/src/services/ecies/crypto-core.js +33 -37
  223. package/src/services/ecies/crypto-core.js.map +1 -1
  224. package/src/services/ecies/example.js +37 -44
  225. package/src/services/ecies/example.js.map +1 -1
  226. package/src/services/ecies/file.js +1 -5
  227. package/src/services/ecies/file.js.map +1 -1
  228. package/src/services/ecies/index.js +10 -15
  229. package/src/services/ecies/index.js.map +1 -1
  230. package/src/services/ecies/integration.js +23 -28
  231. package/src/services/ecies/integration.js.map +1 -1
  232. package/src/services/ecies/interfaces.js +1 -2
  233. package/src/services/ecies/interfaces.js.map +1 -1
  234. package/src/services/ecies/manual-test.js +26 -34
  235. package/src/services/ecies/manual-test.js.map +1 -1
  236. package/src/services/ecies/multi-recipient.js +47 -51
  237. package/src/services/ecies/multi-recipient.js.map +1 -1
  238. package/src/services/ecies/service.js +27 -31
  239. package/src/services/ecies/service.js.map +1 -1
  240. package/src/services/ecies/signature.js +9 -13
  241. package/src/services/ecies/signature.js.map +1 -1
  242. package/src/services/ecies/single-recipient.js +42 -46
  243. package/src/services/ecies/single-recipient.js.map +1 -1
  244. package/src/services/encryption-stream.d.ts +3 -1
  245. package/src/services/encryption-stream.d.ts.map +1 -1
  246. package/src/services/encryption-stream.js +46 -48
  247. package/src/services/encryption-stream.js.map +1 -1
  248. package/src/services/index.js +5 -8
  249. package/src/services/index.js.map +1 -1
  250. package/src/services/multi-recipient-processor.d.ts +12 -2
  251. package/src/services/multi-recipient-processor.d.ts.map +1 -1
  252. package/src/services/multi-recipient-processor.js +65 -56
  253. package/src/services/multi-recipient-processor.js.map +1 -1
  254. package/src/services/password-login.js +33 -37
  255. package/src/services/password-login.js.map +1 -1
  256. package/src/services/pbkdf2.js +8 -12
  257. package/src/services/pbkdf2.js.map +1 -1
  258. package/src/services/progress-tracker.js +5 -9
  259. package/src/services/progress-tracker.js.map +1 -1
  260. package/src/services/resumable-encryption.js +24 -28
  261. package/src/services/resumable-encryption.js.map +1 -1
  262. package/src/services/xor.js +1 -5
  263. package/src/services/xor.js.map +1 -1
  264. package/src/test-mocks/index.js +1 -4
  265. package/src/test-mocks/index.js.map +1 -1
  266. package/src/test-mocks/mock-frontend-member.js +20 -24
  267. package/src/test-mocks/mock-frontend-member.js.map +1 -1
  268. package/src/testing.js +1 -4
  269. package/src/testing.js.map +1 -1
  270. package/src/translations/de.d.ts +2 -1
  271. package/src/translations/de.d.ts.map +1 -1
  272. package/src/translations/de.js +190 -170
  273. package/src/translations/de.js.map +1 -1
  274. package/src/translations/en-US.d.ts +2 -1
  275. package/src/translations/en-US.d.ts.map +1 -1
  276. package/src/translations/en-US.js +190 -170
  277. package/src/translations/en-US.js.map +1 -1
  278. package/src/translations/es.d.ts +2 -1
  279. package/src/translations/es.d.ts.map +1 -1
  280. package/src/translations/es.js +190 -170
  281. package/src/translations/es.js.map +1 -1
  282. package/src/translations/fr.d.ts +2 -1
  283. package/src/translations/fr.d.ts.map +1 -1
  284. package/src/translations/fr.js +190 -170
  285. package/src/translations/fr.js.map +1 -1
  286. package/src/translations/ja.d.ts +2 -1
  287. package/src/translations/ja.d.ts.map +1 -1
  288. package/src/translations/ja.js +189 -170
  289. package/src/translations/ja.js.map +1 -1
  290. package/src/translations/uk.d.ts +2 -1
  291. package/src/translations/uk.d.ts.map +1 -1
  292. package/src/translations/uk.js +192 -170
  293. package/src/translations/uk.js.map +1 -1
  294. package/src/translations/zh-cn.d.ts +2 -1
  295. package/src/translations/zh-cn.d.ts.map +1 -1
  296. package/src/translations/zh-cn.js +189 -170
  297. package/src/translations/zh-cn.js.map +1 -1
  298. package/src/types/deep-partial.js +1 -2
  299. package/src/types.d.ts +31 -0
  300. package/src/types.d.ts.map +1 -1
  301. package/src/types.js +1 -2
  302. package/src/utils.js +59 -77
  303. package/src/utils.js.map +1 -1
package/src/member.js CHANGED
@@ -1,23 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Member = void 0;
4
- const tslib_1 = require("tslib");
5
- const bson_1 = require("bson");
6
- const constants_1 = require("./constants");
7
- const email_string_1 = require("./email-string");
8
- const member_error_type_1 = tslib_1.__importDefault(require("./enumerations/member-error-type"));
9
- const member_type_1 = tslib_1.__importDefault(require("./enumerations/member-type"));
10
- const member_1 = require("./errors/member");
11
- const i18n_setup_1 = require("./i18n-setup");
12
- const encryption_stream_1 = require("./services/encryption-stream");
13
- const secure_buffer_1 = require("./secure-buffer");
14
- const utils_1 = require("./utils");
1
+ import { ObjectId } from 'bson';
2
+ import { ECIES } from './constants';
3
+ import { EmailString } from './email-string';
4
+ import MemberErrorType from './enumerations/member-error-type';
5
+ import MemberType from './enumerations/member-type';
6
+ import { MemberError } from './errors/member';
7
+ import { getEciesI18nEngine } from './i18n-setup';
8
+ import { EncryptionStream } from './services/encryption-stream';
9
+ import { SecureBuffer } from './secure-buffer';
10
+ import { base64ToUint8Array, uint8ArrayToBase64, uint8ArrayToHex, } from './utils';
15
11
  /**
16
12
  * Represents a member with cryptographic capabilities.
17
13
  * This class provides methods for signing, verifying, encrypting, and decrypting data.
18
14
  * It also manages the member's keys and wallet.
19
15
  */
20
- class Member {
16
+ export class Member {
21
17
  _eciesService;
22
18
  _id;
23
19
  _type;
@@ -38,13 +34,13 @@ class Member {
38
34
  this._eciesService = eciesService;
39
35
  // Assign original parameters
40
36
  this._type = type;
41
- this._id = id ?? new bson_1.ObjectId();
37
+ this._id = id ?? new ObjectId();
42
38
  this._name = name;
43
39
  if (!this._name || this._name.length == 0) {
44
- throw new member_1.MemberError(member_error_type_1.default.MissingMemberName, (0, i18n_setup_1.getEciesI18nEngine)());
40
+ throw new MemberError(MemberErrorType.MissingMemberName, getEciesI18nEngine());
45
41
  }
46
42
  if (this._name.trim() != this._name) {
47
- throw new member_1.MemberError(member_error_type_1.default.InvalidMemberNameWhitespace, (0, i18n_setup_1.getEciesI18nEngine)());
43
+ throw new MemberError(MemberErrorType.InvalidMemberNameWhitespace, getEciesI18nEngine());
48
44
  }
49
45
  this._email = email;
50
46
  this._publicKey = publicKey;
@@ -93,7 +89,7 @@ class Member {
93
89
  }
94
90
  get wallet() {
95
91
  if (!this._wallet) {
96
- throw new member_1.MemberError(member_error_type_1.default.NoWallet, (0, i18n_setup_1.getEciesI18nEngine)());
92
+ throw new MemberError(MemberErrorType.NoWallet, getEciesI18nEngine());
97
93
  }
98
94
  return this._wallet;
99
95
  }
@@ -115,21 +111,21 @@ class Member {
115
111
  }
116
112
  loadWallet(mnemonic, eciesParams) {
117
113
  if (this._wallet) {
118
- throw new member_1.MemberError(member_error_type_1.default.WalletAlreadyLoaded, (0, i18n_setup_1.getEciesI18nEngine)());
114
+ throw new MemberError(MemberErrorType.WalletAlreadyLoaded, getEciesI18nEngine());
119
115
  }
120
- const eciesConsts = eciesParams ?? constants_1.ECIES;
116
+ const eciesConsts = eciesParams ?? ECIES;
121
117
  const { wallet } = this._eciesService.walletAndSeedFromMnemonic(mnemonic);
122
118
  const privateKey = wallet.getPrivateKey();
123
119
  const publicKey = wallet.getPublicKey();
124
120
  const publicKeyWithPrefix = new Uint8Array(publicKey.length + 1);
125
121
  publicKeyWithPrefix[0] = eciesConsts.PUBLIC_KEY_MAGIC;
126
122
  publicKeyWithPrefix.set(publicKey, 1);
127
- if ((0, utils_1.uint8ArrayToHex)(publicKeyWithPrefix) !== (0, utils_1.uint8ArrayToHex)(this._publicKey)) {
128
- throw new member_1.MemberError(member_error_type_1.default.InvalidMnemonic, (0, i18n_setup_1.getEciesI18nEngine)());
123
+ if (uint8ArrayToHex(publicKeyWithPrefix) !== uint8ArrayToHex(this._publicKey)) {
124
+ throw new MemberError(MemberErrorType.InvalidMnemonic, getEciesI18nEngine());
129
125
  }
130
126
  this._wallet = wallet;
131
127
  this._privateKey?.dispose();
132
- this._privateKey = new secure_buffer_1.SecureBuffer(privateKey);
128
+ this._privateKey = new SecureBuffer(privateKey);
133
129
  }
134
130
  /**
135
131
  * Loads the private key and optionally the voting private key.
@@ -142,13 +138,13 @@ class Member {
142
138
  }
143
139
  sign(data) {
144
140
  if (!this._privateKey) {
145
- throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
141
+ throw new MemberError(MemberErrorType.MissingPrivateKey, getEciesI18nEngine());
146
142
  }
147
143
  return this._eciesService.signMessage(this._privateKey.value, data);
148
144
  }
149
145
  signData(data) {
150
146
  if (!this._privateKey) {
151
- throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
147
+ throw new MemberError(MemberErrorType.MissingPrivateKey, getEciesI18nEngine());
152
148
  }
153
149
  return this._eciesService.signMessage(new Uint8Array(this._privateKey.value), data);
154
150
  }
@@ -165,10 +161,10 @@ class Member {
165
161
  */
166
162
  async *encryptDataStream(source, options) {
167
163
  if (!this._privateKey && !options?.recipientPublicKey) {
168
- throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
164
+ throw new MemberError(MemberErrorType.MissingPrivateKey, getEciesI18nEngine());
169
165
  }
170
166
  const targetPublicKey = options?.recipientPublicKey || this._publicKey;
171
- const stream = new encryption_stream_1.EncryptionStream(this._eciesService);
167
+ const stream = new EncryptionStream(this._eciesService);
172
168
  // Convert ReadableStream to AsyncIterable if needed
173
169
  const asyncSource = 'getReader' in source
174
170
  ? this.readableStreamToAsyncIterable(source)
@@ -191,9 +187,9 @@ class Member {
191
187
  */
192
188
  async *decryptDataStream(source, options) {
193
189
  if (!this._privateKey) {
194
- throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
190
+ throw new MemberError(MemberErrorType.MissingPrivateKey, getEciesI18nEngine());
195
191
  }
196
- const stream = new encryption_stream_1.EncryptionStream(this._eciesService);
192
+ const stream = new EncryptionStream(this._eciesService);
197
193
  // Convert ReadableStream to AsyncIterable if needed
198
194
  const asyncSource = 'getReader' in source
199
195
  ? this.readableStreamToAsyncIterable(source)
@@ -229,12 +225,12 @@ class Member {
229
225
  async encryptData(data, recipientPublicKey) {
230
226
  // Validate input
231
227
  if (!data) {
232
- throw new member_1.MemberError(member_error_type_1.default.MissingEncryptionData, (0, i18n_setup_1.getEciesI18nEngine)());
228
+ throw new MemberError(MemberErrorType.MissingEncryptionData, getEciesI18nEngine());
233
229
  }
234
230
  // Check size limit
235
231
  const arr = data instanceof Uint8Array ? data : new TextEncoder().encode(data);
236
232
  if (arr.length > Member.MAX_ENCRYPTION_SIZE) {
237
- throw new member_1.MemberError(member_error_type_1.default.EncryptionDataTooLarge, (0, i18n_setup_1.getEciesI18nEngine)());
233
+ throw new MemberError(MemberErrorType.EncryptionDataTooLarge, getEciesI18nEngine());
238
234
  }
239
235
  // Use recipient public key or self public key
240
236
  const targetPublicKey = recipientPublicKey || this._publicKey;
@@ -242,7 +238,7 @@ class Member {
242
238
  }
243
239
  async decryptData(encryptedData) {
244
240
  if (!this._privateKey) {
245
- throw new member_1.MemberError(member_error_type_1.default.MissingPrivateKey, (0, i18n_setup_1.getEciesI18nEngine)());
241
+ throw new MemberError(MemberErrorType.MissingPrivateKey, getEciesI18nEngine());
246
242
  }
247
243
  // decryptSingleWithHeader now returns the Uint8Array directly
248
244
  return await this._eciesService.decryptSimpleOrSingleWithHeader(false, new Uint8Array(this._privateKey.value), encryptedData);
@@ -253,7 +249,7 @@ class Member {
253
249
  type: this._type,
254
250
  name: this._name,
255
251
  email: this._email.toString(),
256
- publicKey: (0, utils_1.uint8ArrayToBase64)(this._publicKey),
252
+ publicKey: uint8ArrayToBase64(this._publicKey),
257
253
  creatorId: this._creatorId.toHexString(),
258
254
  dateCreated: this._dateCreated.toISOString(),
259
255
  dateUpdated: this._dateUpdated.toISOString(),
@@ -277,22 +273,22 @@ class Member {
277
273
  storage = JSON.parse(json);
278
274
  }
279
275
  catch (error) {
280
- throw new member_1.MemberError(member_error_type_1.default.InvalidMemberData, (0, i18n_setup_1.getEciesI18nEngine)());
276
+ throw new MemberError(MemberErrorType.InvalidMemberData, getEciesI18nEngine());
281
277
  }
282
- const email = new email_string_1.EmailString(storage.email);
278
+ const email = new EmailString(storage.email);
283
279
  // Pass injected services to constructor
284
280
  const dateCreated = new Date(storage.dateCreated);
285
- return new Member(eciesService, storage.type, storage.name, email, (0, utils_1.base64ToUint8Array)(storage.publicKey), undefined, undefined, new bson_1.ObjectId(storage.id), dateCreated, new Date(storage.dateUpdated), new bson_1.ObjectId(storage.creatorId));
281
+ return new Member(eciesService, storage.type, storage.name, email, base64ToUint8Array(storage.publicKey), undefined, undefined, new ObjectId(storage.id), dateCreated, new Date(storage.dateUpdated), new ObjectId(storage.creatorId));
286
282
  }
287
- static fromMnemonic(mnemonic, eciesService, eciesParams, name = 'Test User', email = new email_string_1.EmailString('test@example.com')) {
288
- const eciesConsts = eciesParams ?? constants_1.ECIES;
283
+ static fromMnemonic(mnemonic, eciesService, eciesParams, name = 'Test User', email = new EmailString('test@example.com')) {
284
+ const eciesConsts = eciesParams ?? ECIES;
289
285
  const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
290
286
  const privateKey = wallet.getPrivateKey();
291
287
  const publicKey = wallet.getPublicKey();
292
288
  const publicKeyWithPrefix = new Uint8Array(publicKey.length + 1);
293
289
  publicKeyWithPrefix[0] = eciesConsts.PUBLIC_KEY_MAGIC;
294
290
  publicKeyWithPrefix.set(publicKey, 1);
295
- return new Member(eciesService, member_type_1.default.User, name, email, publicKeyWithPrefix, new secure_buffer_1.SecureBuffer(privateKey), wallet);
291
+ return new Member(eciesService, MemberType.User, name, email, publicKeyWithPrefix, new SecureBuffer(privateKey), wallet);
296
292
  }
297
293
  static newMember(
298
294
  // Add injected services as parameters
@@ -301,18 +297,18 @@ class Member {
301
297
  type, name, email, forceMnemonic, createdBy, eciesParams) {
302
298
  // Validate inputs first
303
299
  if (!name || name.length == 0) {
304
- throw new member_1.MemberError(member_error_type_1.default.MissingMemberName, (0, i18n_setup_1.getEciesI18nEngine)());
300
+ throw new MemberError(MemberErrorType.MissingMemberName, getEciesI18nEngine());
305
301
  }
306
302
  if (name.trim() != name) {
307
- throw new member_1.MemberError(member_error_type_1.default.InvalidMemberNameWhitespace, (0, i18n_setup_1.getEciesI18nEngine)());
303
+ throw new MemberError(MemberErrorType.InvalidMemberNameWhitespace, getEciesI18nEngine());
308
304
  }
309
305
  if (!email || email.toString().length == 0) {
310
- throw new member_1.MemberError(member_error_type_1.default.MissingEmail, (0, i18n_setup_1.getEciesI18nEngine)());
306
+ throw new MemberError(MemberErrorType.MissingEmail, getEciesI18nEngine());
311
307
  }
312
308
  if (email.toString().trim() != email.toString()) {
313
- throw new member_1.MemberError(member_error_type_1.default.InvalidEmailWhitespace, (0, i18n_setup_1.getEciesI18nEngine)());
309
+ throw new MemberError(MemberErrorType.InvalidEmailWhitespace, getEciesI18nEngine());
314
310
  }
315
- const eciesConsts = eciesParams ?? constants_1.ECIES;
311
+ const eciesConsts = eciesParams ?? ECIES;
316
312
  // Use injected services
317
313
  const mnemonic = forceMnemonic ?? eciesService.generateNewMnemonic();
318
314
  const { wallet } = eciesService.walletAndSeedFromMnemonic(mnemonic);
@@ -323,14 +319,13 @@ class Member {
323
319
  const publicKeyWithPrefix = new Uint8Array(publicKey.length + 1);
324
320
  publicKeyWithPrefix[0] = eciesConsts.PUBLIC_KEY_MAGIC;
325
321
  publicKeyWithPrefix.set(publicKey, 1);
326
- const newId = new bson_1.ObjectId();
322
+ const newId = new ObjectId();
327
323
  const dateCreated = new Date();
328
324
  return {
329
325
  // Pass injected services to constructor
330
- member: new Member(eciesService, type, name, email, publicKeyWithPrefix, new secure_buffer_1.SecureBuffer(privateKey), wallet, newId, dateCreated, dateCreated, createdBy ?? newId),
326
+ member: new Member(eciesService, type, name, email, publicKeyWithPrefix, new SecureBuffer(privateKey), wallet, newId, dateCreated, dateCreated, createdBy ?? newId),
331
327
  mnemonic,
332
328
  };
333
329
  }
334
330
  }
335
- exports.Member = Member;
336
331
  //# sourceMappingURL=member.js.map
package/src/member.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/member.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,eAAe,MAAM,kCAAkC,CAAC;AAC/D,OAAO,UAAU,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACA,aAAa,CAAe;IAC5B,GAAG,CAAW;IACd,KAAK,CAAa;IAClB,KAAK,CAAS;IACd,MAAM,CAAc;IACpB,UAAU,CAAa;IACvB,UAAU,CAAW;IACrB,YAAY,CAAO;IACnB,YAAY,CAAO;IAC5B,WAAW,CAAgB;IAC3B,OAAO,CAAU;IAEzB;IACE,sCAAsC;IACtC,YAA0B;IAC1B,sBAAsB;IACtB,IAAgB,EAChB,IAAY,EACZ,KAAkB,EAClB,SAAqB,EACrB,UAAyB,EACzB,MAAe,EACf,EAAa,EACb,WAAkB,EAClB,WAAkB,EAClB,SAAoB;QAEpB,2BAA2B;QAC3B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,6BAA6B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,2BAA2B,EAC3C,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,kFAAkF;QAClF,IAAI,IAAI,GAAgB,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG;YACV,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,IAAI,GAAG,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC;IAC1C,CAAC;IAED,mBAAmB;IACnB,IAAW,EAAE;QACX,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gCAAgC;IAChC,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAW,MAAM;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,QAAQ,EACxB,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gBAAgB;IAChB,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;IACxC,CAAC;IAEM,gBAAgB;QACrB,oFAAoF;QACpF,yDAAyD;QACzD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAEM,yBAAyB;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,QAAsB,EAAE,WAA6B;QACrE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,mBAAmB,EACnC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,mBAAmB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,gBAAgB,CAAC;QACtD,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEtC,IACE,eAAe,CAAC,mBAAmB,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EACzE,CAAC;YACD,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,eAAe,EAC/B,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,UAAwB;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAEM,IAAI,CAAC,IAAgB;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAEM,QAAQ,CAAC,IAAgB;QAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CACnC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,IAAI,CACL,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAA8B,EAAE,IAAgB;QAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAEM,eAAe,CACpB,IAAgB,EAChB,SAAqB,EACrB,SAAqB;QAErB,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CACrC,SAAS,EACT,IAAI,EACJ,SAAgC,CACjC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAU,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,aAAa;IACrE,MAAM,CAAU,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,sCAAsC;IAE3G;;OAEG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACtB,MAA8D,EAC9D,OAIC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;YACtD,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,EAAE,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExD,oDAAoD;QACpD,MAAM,WAAW,GAAG,WAAW,IAAI,MAAM;YACvC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAoC,CAAC;YAC1E,CAAC,CAAC,MAAmC,CAAC;QAExC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,eAAe,EAAE;YAC3E,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,EAAE,CAAC;YACH,cAAc,IAAI,KAAK,CAAC,QAAQ,EAAE,YAAY,IAAI,CAAC,CAAC;YACpD,eAAe,EAAE,CAAC;YAElB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,iBAAiB,CACtB,MAA8D,EAC9D,OAGC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExD,oDAAoD;QACpD,MAAM,WAAW,GAAG,WAAW,IAAI,MAAM;YACvC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,MAAoC,CAAC;YAC1E,CAAC,CAAC,MAAmC,CAAC;QAExC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,CAC5C,WAAW,EACX,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAC5B,EAAE,CAAC;YACF,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC;YAC/B,eAAe,EAAE,CAAC;YAElB,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,CAAC,6BAA6B,CAC1C,MAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC5C,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,IAAyB,EACzB,kBAA+B;QAE/B,iBAAiB;QACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,qBAAqB,EACrC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,GAAG,GACP,IAAI,YAAY,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAC5C,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,sBAAsB,EACtC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,eAAe,GAAG,kBAAkB,IAAI,IAAI,CAAC,UAAU,CAAC;QAE9D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,qBAAqB,CACnD,KAAK,EACL,eAAe,EACf,GAAG,CACJ,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,aAAyB;QAChD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,8DAA8D;QAC9D,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,+BAA+B,CAC7D,KAAK,EACL,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EACtC,aAAa,CACd,CAAC;IACJ,CAAC;IAEM,MAAM;QACX,MAAM,OAAO,GAAuB;YAClC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7B,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;YACxC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC5C,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;SAC7C,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,OAAO;QACZ,oDAAoD;QACpD,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC9B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,QAAQ,CACpB,IAAY;IACZ,sCAAsC;IACtC,YAA0B;QAE1B,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7C,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,OAAO,IAAI,MAAM,CACf,YAAY,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,KAAK,EACL,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,EACrC,SAAS,EACT,SAAS,EACT,IAAI,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EACxB,WAAW,EACX,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAC7B,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAChC,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,YAAY,CACxB,QAAsB,EACtB,YAA0B,EAC1B,WAA6B,EAC7B,IAAI,GAAG,WAAW,EAClB,KAAK,GAAG,IAAI,WAAW,CAAC,kBAAkB,CAAC;QAE3C,MAAM,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACzC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,mBAAmB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,gBAAgB,CAAC;QACtD,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,MAAM,CACf,YAAY,EACZ,UAAU,CAAC,IAAI,EACf,IAAI,EACJ,KAAK,EACL,mBAAmB,EACnB,IAAI,YAAY,CAAC,UAAU,CAAC,EAC5B,MAAM,CACP,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,SAAS;IACrB,sCAAsC;IACtC,YAA0B;IAC1B,sBAAsB;IACtB,IAAgB,EAChB,IAAY,EACZ,KAAkB,EAClB,aAA4B,EAC5B,SAAoB,EACpB,WAA6B;QAE7B,wBAAwB;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,iBAAiB,EACjC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,2BAA2B,EAC3C,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,YAAY,EAC5B,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,sBAAsB,EACtC,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,IAAI,KAAK,CAAC;QACzC,wBAAwB;QACxB,MAAM,QAAQ,GAAG,aAAa,IAAI,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAEpE,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1C,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjE,mBAAmB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,gBAAgB,CAAC;QACtD,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,OAAO;YACL,wCAAwC;YACxC,MAAM,EAAE,IAAI,MAAM,CAChB,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,mBAAmB,EACnB,IAAI,YAAY,CAAC,UAAU,CAAC,EAC5B,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,IAAI,KAAK,CACnB;YACD,QAAQ;SACT,CAAC;IACJ,CAAC"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=pbkdf2-profiles.js.map
@@ -1,16 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PhoneNumber = void 0;
4
- const enumerations_1 = require("./enumerations");
5
- const i18n_setup_1 = require("./i18n-setup");
6
- const regexes_1 = require("./regexes");
7
- class PhoneNumber {
1
+ import { EciesStringKey } from './enumerations';
2
+ import { EciesComponentId, getEciesI18nEngine } from './i18n-setup';
3
+ import { PhoneNumberRegex } from './regexes';
4
+ export class PhoneNumber {
8
5
  _number;
9
6
  constructor(number) {
10
7
  // make sure the phone number fits the regex
11
- if (!regexes_1.PhoneNumberRegex.test(number)) {
12
- const engine = (0, i18n_setup_1.getEciesI18nEngine)();
13
- throw new Error(engine.translate(i18n_setup_1.EciesComponentId, enumerations_1.EciesStringKey.Error_PhoneNumber_InvalidTemplate, { phoneNumber: number }));
8
+ if (!PhoneNumberRegex.test(number)) {
9
+ const engine = getEciesI18nEngine();
10
+ throw new Error(engine.translate(EciesComponentId, EciesStringKey.Error_PhoneNumber_InvalidTemplate, { phoneNumber: number }));
14
11
  }
15
12
  this._number = number;
16
13
  }
@@ -18,5 +15,4 @@ class PhoneNumber {
18
15
  return this._number;
19
16
  }
20
17
  }
21
- exports.PhoneNumber = PhoneNumber;
22
18
  //# sourceMappingURL=phone-number.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phone-number.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/phone-number.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAChD,6CAAoE;AACpE,uCAA6C;AAE7C,MAAa,WAAW;IACL,OAAO,CAAS;IACjC,YAAY,MAAc;QACxB,4CAA4C;QAC5C,IAAI,CAAC,0BAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAA,+BAAkB,GAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,6BAAgB,EAAE,6BAAc,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAbD,kCAaC"}
1
+ {"version":3,"file":"phone-number.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/phone-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,OAAO,WAAW;IACL,OAAO,CAAS;IACjC,YAAY,MAAc;QACxB,4CAA4C;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjI,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IACD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
package/src/regexes.js CHANGED
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PhoneNumberRegex = exports.MNEMONIC_REGEX = exports.PASSWORD_REGEX = void 0;
4
- exports.PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?])[A-Za-z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]{8,}$/;
5
- exports.MNEMONIC_REGEX = /^(?:\w+\s){11}\w+$|^(?:\w+\s){14}\w+$|^(?:\w+\s){17}\w+$|^(?:\w+\s){20}\w+$|^(?:\w+\s){23}\w+$/i;
1
+ export const PASSWORD_REGEX = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?])[A-Za-z\d!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]{8,}$/;
2
+ export const MNEMONIC_REGEX = /^(?:\w+\s){11}\w+$|^(?:\w+\s){14}\w+$|^(?:\w+\s){17}\w+$|^(?:\w+\s){20}\w+$|^(?:\w+\s){23}\w+$/i;
6
3
  /**
7
4
  * Phone number regex to validate phone numbers
8
5
  */
9
- exports.PhoneNumberRegex = /^(\+\d{1,3}[- ]?)?\d{10}$/; // Matches international phone numbers with optional country code
6
+ export const PhoneNumberRegex = /^(\+\d{1,3}[- ]?)?\d{10}$/; // Matches international phone numbers with optional country code
10
7
  //# sourceMappingURL=regexes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/regexes.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GACzB,kHAAkH,CAAC;AAExG,QAAA,cAAc,GACzB,iGAAiG,CAAC;AAEpG;;GAEG;AACU,QAAA,gBAAgB,GAAG,2BAA2B,CAAC,CAAC,iEAAiE"}
1
+ {"version":3,"file":"regexes.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/regexes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GACzB,kHAAkH,CAAC;AAErH,MAAM,CAAC,MAAM,cAAc,GACzB,iGAAiG,CAAC;AAEpG;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,CAAC,iEAAiE"}
@@ -3,8 +3,14 @@
3
3
  * The buffer is encrypted with a key derived from a ObjectID.
4
4
  * The ObjectID is stored in the clear, but the buffer is encrypted with a key derived from the ObjectID.
5
5
  * This allows the buffer to be decrypted, but only if the ObjectID and salt are known.
6
+ *
7
+ * Supports explicit resource management (TC39 proposal) for automatic disposal:
8
+ * ```typescript
9
+ * using buffer = new SecureBuffer(sensitiveData);
10
+ * // buffer automatically disposed when leaving scope
11
+ * ```
6
12
  */
7
- export declare class SecureBuffer {
13
+ export declare class SecureBuffer implements Disposable {
8
14
  private _disposed;
9
15
  private readonly _id;
10
16
  private readonly _length;
@@ -14,6 +20,16 @@ export declare class SecureBuffer {
14
20
  private _disposedAt?;
15
21
  constructor(data?: Uint8Array);
16
22
  dispose(): void;
23
+ /**
24
+ * Symbol.dispose implementation for explicit resource management
25
+ * Allows using 'using' keyword (TC39 proposal)
26
+ */
27
+ [Symbol.dispose](): void;
28
+ /**
29
+ * Static factory method that creates a SecureBuffer for a symmetric key
30
+ * Useful for managing encryption keys securely
31
+ */
32
+ static allocateKey(sizeBytes?: number): SecureBuffer;
17
33
  private assertNotDisposed;
18
34
  static fromString(data: string): SecureBuffer;
19
35
  get disposedAtStack(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"secure-buffer.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"AAQA;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IACjD,OAAO,CAAC,WAAW,CAAC,CAAS;gBACjB,IAAI,CAAC,EAAE,UAAU;IAgBtB,OAAO,IAAI,IAAI;IAWtB,OAAO,CAAC,iBAAiB;WAWX,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAGpD,IAAW,eAAe,IAAI,MAAM,GAAG,SAAS,CAE/C;IACD,IAAW,EAAE,IAAI,MAAM,CAGtB;IACD,IAAW,YAAY,IAAI,UAAU,CAGpC;IACD,IAAW,cAAc,IAAI,MAAM,CAGlC;IACD,IAAW,KAAK,IAAI,UAAU,CA+B7B;IACD,IAAW,aAAa,IAAI,MAAM,CAGjC;IACD,IAAW,gBAAgB,IAAI,MAAM,CAGpC;IACD,IAAW,mBAAmB,IAAI,MAAM,CAGvC;IACD,IAAW,QAAQ,IAAI,MAAM,CAM5B;IACD,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,eAAe;IAGvB,IAAW,MAAM,IAAI,MAAM,CAG1B;CACF"}
1
+ {"version":3,"file":"secure-buffer.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,YAAW,UAAU;IAC7C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAa;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAa;IACjD,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,IAAI,CAAC,EAAE,UAAU;IAgBtB,OAAO,IAAI,IAAI;IAYtB;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,SAAS,GAAE,MAAW,GAAG,YAAY;IAMxD,OAAO,CAAC,iBAAiB;WAWX,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY;IAGpD,IAAW,eAAe,IAAI,MAAM,GAAG,SAAS,CAE/C;IACD,IAAW,EAAE,IAAI,MAAM,CAGtB;IACD,IAAW,YAAY,IAAI,UAAU,CAGpC;IACD,IAAW,cAAc,IAAI,MAAM,CAGlC;IACD,IAAW,KAAK,IAAI,UAAU,CA+B7B;IACD,IAAW,aAAa,IAAI,MAAM,CAGjC;IACD,IAAW,gBAAgB,IAAI,MAAM,CAGpC;IACD,IAAW,mBAAmB,IAAI,MAAM,CAGvC;IACD,IAAW,QAAQ,IAAI,MAAM,CAM5B;IACD,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,sBAAsB;IAU9B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,eAAe;IAGvB,IAAW,MAAM,IAAI,MAAM,CAG1B;CACF"}
@@ -1,20 +1,23 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SecureBuffer = void 0;
4
- const secure_storage_error_type_1 = require("./enumerations/secure-storage-error-type");
5
- const disposed_1 = require("./errors/disposed");
6
- const secure_storage_1 = require("./errors/secure-storage");
7
- const bson_1 = require("bson");
8
- const i18n_setup_1 = require("./i18n-setup");
9
- const xor_1 = require("./services/xor");
10
- const utils_1 = require("./utils");
1
+ import { SecureStorageErrorType } from './enumerations/secure-storage-error-type';
2
+ import { DisposedError } from './errors/disposed';
3
+ import { SecureStorageError } from './errors/secure-storage';
4
+ import { ObjectId } from 'bson';
5
+ import { getEciesI18nEngine } from './i18n-setup';
6
+ import { XorService } from './services/xor';
7
+ import { uint8ArrayToHex } from './utils';
11
8
  /**
12
9
  * A secure string buffer is a buffer whose intent is to prevent the raw password from being stored in memory.
13
10
  * The buffer is encrypted with a key derived from a ObjectID.
14
11
  * The ObjectID is stored in the clear, but the buffer is encrypted with a key derived from the ObjectID.
15
12
  * This allows the buffer to be decrypted, but only if the ObjectID and salt are known.
13
+ *
14
+ * Supports explicit resource management (TC39 proposal) for automatic disposal:
15
+ * ```typescript
16
+ * using buffer = new SecureBuffer(sensitiveData);
17
+ * // buffer automatically disposed when leaving scope
18
+ * ```
16
19
  */
17
- class SecureBuffer {
20
+ export class SecureBuffer {
18
21
  _disposed = false;
19
22
  _id;
20
23
  _length;
@@ -23,7 +26,7 @@ class SecureBuffer {
23
26
  _obfuscatedChecksum;
24
27
  _disposedAt;
25
28
  constructor(data) {
26
- this._id = new bson_1.ObjectId();
29
+ this._id = new ObjectId();
27
30
  // don't bother encrypting an empty buffer
28
31
  if (data === undefined || data.length === 0) {
29
32
  this._length = 0;
@@ -39,7 +42,7 @@ class SecureBuffer {
39
42
  this._obfuscatedChecksum = this.createSimpleObfuscatedChecksum(data);
40
43
  }
41
44
  dispose() {
42
- const err = new disposed_1.DisposedError();
45
+ const err = new DisposedError();
43
46
  if (typeof Error.captureStackTrace === 'function') {
44
47
  Error.captureStackTrace(err, this.dispose);
45
48
  }
@@ -49,9 +52,25 @@ class SecureBuffer {
49
52
  this._obfuscatedChecksum.fill(0);
50
53
  this._disposed = true;
51
54
  }
55
+ /**
56
+ * Symbol.dispose implementation for explicit resource management
57
+ * Allows using 'using' keyword (TC39 proposal)
58
+ */
59
+ [Symbol.dispose]() {
60
+ this.dispose();
61
+ }
62
+ /**
63
+ * Static factory method that creates a SecureBuffer for a symmetric key
64
+ * Useful for managing encryption keys securely
65
+ */
66
+ static allocateKey(sizeBytes = 32) {
67
+ const keyData = new Uint8Array(sizeBytes);
68
+ // Will be filled by crypto.getRandomValues by caller
69
+ return new SecureBuffer(keyData);
70
+ }
52
71
  assertNotDisposed() {
53
72
  if (this._disposed) {
54
- const e = new disposed_1.DisposedError();
73
+ const e = new DisposedError();
55
74
  try {
56
75
  e.disposedAt = this._disposedAt;
57
76
  }
@@ -87,20 +106,20 @@ class SecureBuffer {
87
106
  try {
88
107
  const deobfuscatedResult = this.deobfuscateData(this._obfuscatedValue);
89
108
  if (deobfuscatedResult.length !== this._length) {
90
- throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueLengthMismatch, (0, i18n_setup_1.getEciesI18nEngine)());
109
+ throw new SecureStorageError(SecureStorageErrorType.DecryptedValueLengthMismatch, getEciesI18nEngine());
91
110
  }
92
111
  if (!this.validateObfuscatedChecksum(deobfuscatedResult)) {
93
- throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueChecksumMismatch, (0, i18n_setup_1.getEciesI18nEngine)());
112
+ throw new SecureStorageError(SecureStorageErrorType.DecryptedValueChecksumMismatch, getEciesI18nEngine());
94
113
  }
95
114
  return deobfuscatedResult;
96
115
  }
97
116
  catch (error) {
98
117
  // If it's already a SecureStorageError, re-throw it
99
- if (error instanceof secure_storage_1.SecureStorageError) {
118
+ if (error instanceof SecureStorageError) {
100
119
  throw error;
101
120
  }
102
121
  // Convert any other error (including AES-GCM authentication errors) to SecureStorageError
103
- throw new secure_storage_1.SecureStorageError(secure_storage_error_type_1.SecureStorageErrorType.DecryptedValueChecksumMismatch, (0, i18n_setup_1.getEciesI18nEngine)());
122
+ throw new SecureStorageError(SecureStorageErrorType.DecryptedValueChecksumMismatch, getEciesI18nEngine());
104
123
  }
105
124
  }
106
125
  get valueAsString() {
@@ -109,7 +128,7 @@ class SecureBuffer {
109
128
  }
110
129
  get valueAsHexString() {
111
130
  this.assertNotDisposed();
112
- return (0, utils_1.uint8ArrayToHex)(this.value);
131
+ return uint8ArrayToHex(this.value);
113
132
  }
114
133
  get valueAsBase64String() {
115
134
  this.assertNotDisposed();
@@ -154,15 +173,14 @@ class SecureBuffer {
154
173
  return this.validateSimpleChecksum(data, deobfuscatedChecksum);
155
174
  }
156
175
  obfuscateData(data) {
157
- return xor_1.XorService.xor(data, this._key);
176
+ return XorService.xor(data, this._key);
158
177
  }
159
178
  deobfuscateData(data) {
160
- return xor_1.XorService.xor(data, this._key);
179
+ return XorService.xor(data, this._key);
161
180
  }
162
181
  get length() {
163
182
  this.assertNotDisposed();
164
183
  return this._length;
165
184
  }
166
185
  }
167
- exports.SecureBuffer = SecureBuffer;
168
186
  //# sourceMappingURL=secure-buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"secure-buffer.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secure-buffer.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/secure-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACf,SAAS,GAAY,KAAK,CAAC;IAClB,GAAG,CAAW;IACd,OAAO,CAAS;IAChB,gBAAgB,CAAa;IAC7B,IAAI,CAAa;IACjB,mBAAmB,CAAa;IACzC,WAAW,CAAU;IAE7B,YAAY,IAAiB;QAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,0CAA0C;QAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,IAAI,CAAC,gBAAgB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjD,oEAAoE;QACpE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IACM,OAAO;QACZ,MAAM,GAAG,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,OAAQ,KAAa,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAC1D,KAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,KAAK,IAAI,mBAAmB,CAAC;QACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,YAAoB,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QAC1C,qDAAqD;QACrD,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,IAAI,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACF,CAAS,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACM,MAAM,CAAC,UAAU,CAAC,IAAY;QACnC,OAAO,IAAI,YAAY,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAW,EAAE;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,CAAC;IACD,IAAW,YAAY;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IACD,IAAW,cAAc;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAW,KAAK;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC;YACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvE,IAAI,kBAAkB,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/C,MAAM,IAAI,kBAAkB,CAC1B,sBAAsB,CAAC,4BAA4B,EACnD,kBAAkB,EAAS,CAC5B,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,kBAAkB,CAC1B,sBAAsB,CAAC,8BAA8B,EACrD,kBAAkB,EAAS,CAC5B,CAAC;YACJ,CAAC;YACD,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oDAAoD;YACpD,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;gBACxC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,0FAA0F;YAC1F,MAAM,IAAI,kBAAkB,CAC1B,sBAAsB,CAAC,8BAA8B,EACrD,kBAAkB,EAAS,CAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAW,aAAa;QACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IACD,IAAW,gBAAgB;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAW,mBAAmB;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAW,QAAQ;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,oBAAoB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAC/C,CAAC;QACF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACO,sBAAsB,CAAC,IAAyB;QACtD,MAAM,SAAS,GACb,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACO,8BAA8B,CACpC,IAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC;IAChB,CAAC;IACO,sBAAsB,CAC5B,IAAyB,EACzB,QAAgB;QAEhB,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAEO,eAAe,CAAC,CAAa,EAAE,CAAa;QAClD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,CAAC;IACtB,CAAC;IACO,0BAA0B,CAAC,IAAyB;QAC1D,MAAM,oBAAoB,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAC/C,CAAC;QACF,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACjE,CAAC;IACO,aAAa,CAAC,IAAgB;QACpC,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACO,eAAe,CAAC,IAAgB;QACtC,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,IAAW,MAAM;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}