@digitaldefiance/node-ecies-lib 3.0.8 → 4.1.1

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 (119) hide show
  1. package/README.md +232 -408
  2. package/package.json +3 -3
  3. package/src/builders/member-builder.d.ts +1 -2
  4. package/src/builders/member-builder.d.ts.map +1 -1
  5. package/src/builders/member-builder.js.map +1 -1
  6. package/src/constants.d.ts.map +1 -1
  7. package/src/constants.js +38 -9
  8. package/src/constants.js.map +1 -1
  9. package/src/i18n/ecies-i18n-factory.d.ts +2 -52
  10. package/src/i18n/ecies-i18n-factory.d.ts.map +1 -1
  11. package/src/i18n/ecies-i18n-factory.js +9 -63
  12. package/src/i18n/ecies-i18n-factory.js.map +1 -1
  13. package/src/i18n/node-ecies-i18n-setup.d.ts.map +1 -1
  14. package/src/i18n/node-ecies-i18n-setup.js +5 -53
  15. package/src/i18n/node-ecies-i18n-setup.js.map +1 -1
  16. package/src/i18n/node-keys.d.ts +57 -0
  17. package/src/i18n/node-keys.d.ts.map +1 -0
  18. package/src/i18n/node-keys.js +67 -0
  19. package/src/i18n/node-keys.js.map +1 -0
  20. package/src/i18n/translations/de.d.ts +1 -1
  21. package/src/i18n/translations/de.d.ts.map +1 -1
  22. package/src/i18n/translations/de.js +51 -46
  23. package/src/i18n/translations/de.js.map +1 -1
  24. package/src/i18n/translations/en-GB.d.ts +1 -1
  25. package/src/i18n/translations/en-GB.d.ts.map +1 -1
  26. package/src/i18n/translations/en-GB.js +51 -46
  27. package/src/i18n/translations/en-GB.js.map +1 -1
  28. package/src/i18n/translations/en-US.d.ts +1 -1
  29. package/src/i18n/translations/en-US.d.ts.map +1 -1
  30. package/src/i18n/translations/en-US.js +52 -46
  31. package/src/i18n/translations/en-US.js.map +1 -1
  32. package/src/i18n/translations/es.d.ts +1 -1
  33. package/src/i18n/translations/es.d.ts.map +1 -1
  34. package/src/i18n/translations/es.js +51 -46
  35. package/src/i18n/translations/es.js.map +1 -1
  36. package/src/i18n/translations/fr.d.ts +1 -1
  37. package/src/i18n/translations/fr.d.ts.map +1 -1
  38. package/src/i18n/translations/fr.js +51 -46
  39. package/src/i18n/translations/fr.js.map +1 -1
  40. package/src/i18n/translations/index.d.ts +2 -0
  41. package/src/i18n/translations/index.d.ts.map +1 -1
  42. package/src/i18n/translations/index.js +5 -1
  43. package/src/i18n/translations/index.js.map +1 -1
  44. package/src/i18n/translations/ja.d.ts +1 -1
  45. package/src/i18n/translations/ja.d.ts.map +1 -1
  46. package/src/i18n/translations/ja.js +51 -46
  47. package/src/i18n/translations/ja.js.map +1 -1
  48. package/src/i18n/translations/uk.d.ts +1 -1
  49. package/src/i18n/translations/uk.d.ts.map +1 -1
  50. package/src/i18n/translations/uk.js +51 -46
  51. package/src/i18n/translations/uk.js.map +1 -1
  52. package/src/i18n/translations/zh-cn.d.ts +1 -1
  53. package/src/i18n/translations/zh-cn.d.ts.map +1 -1
  54. package/src/i18n/translations/zh-cn.js +51 -46
  55. package/src/i18n/translations/zh-cn.js.map +1 -1
  56. package/src/interfaces/authenticated-cipher.d.ts +3 -0
  57. package/src/interfaces/authenticated-cipher.d.ts.map +1 -1
  58. package/src/interfaces/authenticated-decipher.d.ts +3 -0
  59. package/src/interfaces/authenticated-decipher.d.ts.map +1 -1
  60. package/src/interfaces/backend-member-operational.d.ts +1 -1
  61. package/src/interfaces/backend-member-operational.d.ts.map +1 -1
  62. package/src/interfaces/constants.d.ts +26 -17
  63. package/src/interfaces/constants.d.ts.map +1 -1
  64. package/src/interfaces/multi-encrypted-parsed-header.d.ts +5 -2
  65. package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -1
  66. package/src/interfaces/multi-recipient-chunk.d.ts +16 -0
  67. package/src/interfaces/multi-recipient-chunk.d.ts.map +1 -1
  68. package/src/interfaces/multi-recipient-chunk.js +10 -0
  69. package/src/interfaces/multi-recipient-chunk.js.map +1 -1
  70. package/src/lib/index.d.ts +2 -0
  71. package/src/lib/index.d.ts.map +1 -1
  72. package/src/lib/index.js +2 -0
  73. package/src/lib/index.js.map +1 -1
  74. package/src/lib/invariant-validator.d.ts +62 -0
  75. package/src/lib/invariant-validator.d.ts.map +1 -0
  76. package/src/lib/invariant-validator.js +108 -0
  77. package/src/lib/invariant-validator.js.map +1 -0
  78. package/src/lib/invariants/index.d.ts +8 -0
  79. package/src/lib/invariants/index.d.ts.map +1 -0
  80. package/src/lib/invariants/index.js +12 -0
  81. package/src/lib/invariants/index.js.map +1 -0
  82. package/src/lib/invariants/recipient-id-consistency.d.ts +22 -0
  83. package/src/lib/invariants/recipient-id-consistency.d.ts.map +1 -0
  84. package/src/lib/invariants/recipient-id-consistency.js +62 -0
  85. package/src/lib/invariants/recipient-id-consistency.js.map +1 -0
  86. package/src/member.d.ts +6 -6
  87. package/src/member.d.ts.map +1 -1
  88. package/src/member.js +13 -20
  89. package/src/member.js.map +1 -1
  90. package/src/services/aes-gcm.d.ts +2 -2
  91. package/src/services/aes-gcm.d.ts.map +1 -1
  92. package/src/services/aes-gcm.js +8 -2
  93. package/src/services/aes-gcm.js.map +1 -1
  94. package/src/services/ecies/crypto-core.d.ts +21 -0
  95. package/src/services/ecies/crypto-core.d.ts.map +1 -1
  96. package/src/services/ecies/crypto-core.js +62 -7
  97. package/src/services/ecies/crypto-core.js.map +1 -1
  98. package/src/services/ecies/multi-recipient.d.ts +11 -7
  99. package/src/services/ecies/multi-recipient.d.ts.map +1 -1
  100. package/src/services/ecies/multi-recipient.js +200 -71
  101. package/src/services/ecies/multi-recipient.js.map +1 -1
  102. package/src/services/ecies/service.d.ts +1 -1
  103. package/src/services/ecies/service.d.ts.map +1 -1
  104. package/src/services/ecies/service.js +2 -2
  105. package/src/services/ecies/service.js.map +1 -1
  106. package/src/services/ecies/single-recipient.d.ts +1 -1
  107. package/src/services/ecies/single-recipient.d.ts.map +1 -1
  108. package/src/services/ecies/single-recipient.js +76 -43
  109. package/src/services/ecies/single-recipient.js.map +1 -1
  110. package/src/services/encryption-stream.js +3 -4
  111. package/src/services/encryption-stream.js.map +1 -1
  112. package/src/services/multi-recipient-processor.d.ts +42 -9
  113. package/src/services/multi-recipient-processor.d.ts.map +1 -1
  114. package/src/services/multi-recipient-processor.js +273 -177
  115. package/src/services/multi-recipient-processor.js.map +1 -1
  116. package/src/test-mocks/mock-backend-member.d.ts +7 -8
  117. package/src/test-mocks/mock-backend-member.d.ts.map +1 -1
  118. package/src/test-mocks/mock-backend-member.js +4 -4
  119. package/src/test-mocks/mock-backend-member.js.map +1 -1
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MockBackendMember = void 0;
4
4
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
5
  const faker_1 = require("@faker-js/faker");
6
- const mongodb_1 = require("mongodb");
6
+ const crypto_1 = require("crypto");
7
7
  const createMockWallet = () => ({
8
8
  getPrivateKey: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 64 }), 'hex'),
9
9
  getPublicKey: () => Buffer.from(faker_1.faker.string.hexadecimal({ length: 128 }), 'hex'),
@@ -23,7 +23,7 @@ class MockBackendMember {
23
23
  _wallet;
24
24
  _hasPrivateKey;
25
25
  constructor(data = {}) {
26
- this._id = data.id || new mongodb_1.ObjectId();
26
+ this._id = data.id || (0, crypto_1.randomBytes)(12);
27
27
  this._type = data.type || faker_1.faker.helpers.enumValue(ecies_lib_1.MemberType);
28
28
  this._name = data.name || faker_1.faker.person.fullName();
29
29
  this._email = data.email || new ecies_lib_1.EmailString(faker_1.faker.internet.email());
@@ -99,12 +99,12 @@ class MockBackendMember {
99
99
  }
100
100
  toJson() {
101
101
  return JSON.stringify({
102
- id: this._id.toString(),
102
+ id: this._id.toString('hex'),
103
103
  type: this._type,
104
104
  name: this._name,
105
105
  email: this._email.toString(),
106
106
  publicKey: this._publicKey.toString('base64'),
107
- creatorId: this._creatorId.toString(),
107
+ creatorId: this._creatorId.toString('hex'),
108
108
  dateCreated: this._dateCreated.toISOString(),
109
109
  dateUpdated: this._dateUpdated.toISOString(),
110
110
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mock-backend-member.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/test-mocks/mock-backend-member.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-backend-member.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/test-mocks/mock-backend-member.ts"],"names":[],"mappings":"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"}