@secrecy/lib 1.7.0 → 1.8.0

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 (152) hide show
  1. package/LICENSE +1 -1
  2. package/dist/lib/base-client.js +91 -0
  3. package/dist/lib/cache.js +4 -0
  4. package/dist/lib/client/SecrecryCareClient.js +19 -0
  5. package/dist/lib/client/SecrecyAppClient.js +87 -0
  6. package/dist/lib/client/SecrecyCloudClient.js +475 -0
  7. package/dist/lib/client/SecrecyDbClient.js +10 -0
  8. package/dist/lib/client/SecrecyMailClient.js +283 -0
  9. package/dist/lib/client/SecrecyPayClient.js +34 -0
  10. package/dist/lib/client/SecrecyUserClient.js +27 -0
  11. package/dist/lib/client/SecrecyWalletClient.js +50 -0
  12. package/dist/lib/client/convert/file.js +29 -0
  13. package/dist/lib/client/convert/mail.js +42 -0
  14. package/dist/lib/client/convert/node.js +100 -0
  15. package/dist/lib/client/helpers.js +103 -0
  16. package/dist/lib/client/index.js +49 -0
  17. package/dist/lib/client/storage.js +7 -0
  18. package/dist/lib/client/types/app.js +1 -0
  19. package/dist/lib/client/types/file.js +1 -0
  20. package/dist/lib/client/types/index.js +15 -0
  21. package/dist/lib/client/types/mail.js +1 -0
  22. package/dist/lib/client/types/node.js +1 -0
  23. package/dist/lib/client/types/user.js +1 -0
  24. package/dist/lib/client.js +47 -0
  25. package/dist/lib/crypto/file.js +184 -0
  26. package/dist/lib/crypto/index.js +41 -0
  27. package/dist/lib/error/client.js +10 -0
  28. package/dist/lib/error/index.js +10 -0
  29. package/dist/lib/error/server.js +27 -0
  30. package/dist/lib/index.js +10 -0
  31. package/dist/lib/minify/index.js +23 -0
  32. package/dist/lib/minify/lz4.js +517 -0
  33. package/dist/lib/sodium.js +5 -0
  34. package/dist/lib/types.js +1 -0
  35. package/dist/lib/utils/array.js +25 -0
  36. package/dist/lib/utils/base64.js +2 -0
  37. package/dist/lib/utils/popup-tools.js +180 -0
  38. package/dist/lib/utils/promise.js +20 -0
  39. package/dist/lib/utils/store-buddy.js +60 -0
  40. package/dist/lib/utils/time.js +13 -0
  41. package/dist/lib/worker/md5.js +18 -0
  42. package/dist/lib/worker/sodium.js +95 -0
  43. package/dist/lib/worker/workerCodes.js +254 -0
  44. package/dist/types/base-client.d.ts +28 -0
  45. package/dist/types/cache.d.ts +11 -0
  46. package/dist/types/client/SecrecryCareClient.d.ts +9 -0
  47. package/dist/types/client/SecrecyAppClient.d.ts +20 -0
  48. package/dist/types/client/SecrecyCloudClient.d.ts +88 -0
  49. package/dist/types/client/SecrecyDbClient.d.ts +7 -0
  50. package/dist/types/client/SecrecyMailClient.d.ts +42 -0
  51. package/dist/types/client/SecrecyPayClient.d.ts +27 -0
  52. package/dist/types/client/SecrecyUserClient.d.ts +14 -0
  53. package/dist/{client → types/client}/SecrecyWalletClient.d.ts +9 -12
  54. package/dist/types/client/convert/file.d.ts +4 -0
  55. package/dist/types/client/convert/mail.d.ts +8 -0
  56. package/dist/types/client/convert/node.d.ts +7 -0
  57. package/dist/types/client/helpers.d.ts +26 -0
  58. package/dist/types/client/index.d.ts +29 -0
  59. package/dist/{client → types/client}/storage.d.ts +2 -2
  60. package/dist/types/client/types/app.d.ts +2 -0
  61. package/dist/types/client/types/file.d.ts +6 -0
  62. package/dist/types/client/types/index.d.ts +46 -0
  63. package/dist/types/client/types/mail.d.ts +87 -0
  64. package/dist/{client/types/Node.d.ts → types/client/types/node.d.ts} +20 -25
  65. package/dist/types/client/types/user.d.ts +3 -0
  66. package/dist/types/client.d.ts +12138 -0
  67. package/dist/{crypto → types/crypto}/file.d.ts +4 -4
  68. package/dist/{crypto → types/crypto}/index.d.ts +1 -4
  69. package/dist/types/error/client.d.ts +22 -0
  70. package/dist/types/error/index.d.ts +40 -0
  71. package/dist/types/error/server.d.ts +26 -0
  72. package/dist/types/index.d.ts +13 -0
  73. package/dist/{minify → types/minify}/index.d.ts +1 -1
  74. package/dist/types/minify/lz4.d.ts +35 -0
  75. package/dist/{sodium.d.ts → types/sodium.d.ts} +1 -1
  76. package/dist/types/types.d.ts +10 -0
  77. package/dist/{utils/utils.d.ts → types/utils/array.d.ts} +0 -1
  78. package/dist/types/utils/base64.d.ts +1 -0
  79. package/dist/types/utils/popup-tools.d.ts +52 -0
  80. package/dist/types/utils/promise.d.ts +1 -0
  81. package/dist/types/utils/store-buddy.d.ts +130 -0
  82. package/dist/{worker → types/worker}/sodium.d.ts +1 -1
  83. package/package.json +48 -73
  84. package/dist/BaseClient.d.ts +0 -111
  85. package/dist/BaseClient.js +0 -506
  86. package/dist/PopupTools.d.ts +0 -17
  87. package/dist/PopupTools.js +0 -195
  88. package/dist/ZeusThunder.d.ts +0 -2
  89. package/dist/ZeusThunder.js +0 -65
  90. package/dist/cache.d.ts +0 -6
  91. package/dist/cache.js +0 -4
  92. package/dist/client/SecrecyAppClient.d.ts +0 -17
  93. package/dist/client/SecrecyAppClient.js +0 -226
  94. package/dist/client/SecrecyCloudClient.d.ts +0 -89
  95. package/dist/client/SecrecyCloudClient.js +0 -1405
  96. package/dist/client/SecrecyDbClient.d.ts +0 -48
  97. package/dist/client/SecrecyDbClient.js +0 -419
  98. package/dist/client/SecrecyMailClient.d.ts +0 -42
  99. package/dist/client/SecrecyMailClient.js +0 -1022
  100. package/dist/client/SecrecyPayClient.d.ts +0 -28
  101. package/dist/client/SecrecyPayClient.js +0 -68
  102. package/dist/client/SecrecyWalletClient.js +0 -73
  103. package/dist/client/convert/file.d.ts +0 -5
  104. package/dist/client/convert/file.js +0 -33
  105. package/dist/client/convert/mail.d.ts +0 -3
  106. package/dist/client/convert/mail.js +0 -42
  107. package/dist/client/convert/node.d.ts +0 -9
  108. package/dist/client/convert/node.js +0 -87
  109. package/dist/client/helpers.d.ts +0 -28
  110. package/dist/client/helpers.js +0 -119
  111. package/dist/client/index.d.ts +0 -34
  112. package/dist/client/index.js +0 -46
  113. package/dist/client/storage.js +0 -12
  114. package/dist/client/types/File.d.ts +0 -14
  115. package/dist/client/types/File.js +0 -3
  116. package/dist/client/types/Inputs.d.ts +0 -16
  117. package/dist/client/types/Inputs.js +0 -3
  118. package/dist/client/types/Node.js +0 -3
  119. package/dist/client/types/UserAppNotifications.d.ts +0 -6
  120. package/dist/client/types/UserAppNotifications.js +0 -3
  121. package/dist/client/types/UserAppSettings.d.ts +0 -5
  122. package/dist/client/types/UserAppSettings.js +0 -3
  123. package/dist/client/types/index.d.ts +0 -120
  124. package/dist/client/types/index.js +0 -8
  125. package/dist/client/types/selectors.d.ts +0 -400
  126. package/dist/client/types/selectors.js +0 -135
  127. package/dist/crypto/file.js +0 -195
  128. package/dist/crypto/index.js +0 -45
  129. package/dist/error.d.ts +0 -33
  130. package/dist/error.js +0 -3
  131. package/dist/index.d.ts +0 -14
  132. package/dist/index.js +0 -10
  133. package/dist/minify/index.js +0 -23
  134. package/dist/minify/lz4.d.ts +0 -5
  135. package/dist/minify/lz4.js +0 -539
  136. package/dist/sodium.js +0 -6
  137. package/dist/utils/encoders.d.ts +0 -26
  138. package/dist/utils/encoders.js +0 -18
  139. package/dist/utils/store-buddy.d.ts +0 -14
  140. package/dist/utils/store-buddy.js +0 -58
  141. package/dist/utils/time.js +0 -12
  142. package/dist/utils/utils.js +0 -47
  143. package/dist/worker/md5.js +0 -24
  144. package/dist/worker/sodium.js +0 -118
  145. package/dist/worker/workerCodes.js +0 -255
  146. package/dist/zeus/const.d.ts +0 -7
  147. package/dist/zeus/const.js +0 -1846
  148. package/dist/zeus/index.d.ts +0 -8721
  149. package/dist/zeus/index.js +0 -642
  150. /package/dist/{utils → types/utils}/time.d.ts +0 -0
  151. /package/dist/{worker → types/worker}/md5.d.ts +0 -0
  152. /package/dist/{worker → types/worker}/workerCodes.d.ts +0 -0
@@ -1,135 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- import { Selector } from "../../zeus/index.js";
5
- export const fileSelector = Selector("File")({
6
- id: true,
7
- size: true,
8
- sizeBefore: true,
9
- createdAt: true,
10
- md5: true,
11
- md5Encrypted: true,
12
- access: {
13
- key: true,
14
- sharedBy: {
15
- keyPair: {
16
- pub: true
17
- }
18
- }
19
- }
20
- });
21
- export const userSelector = Selector("User")({
22
- id: true,
23
- firstname: true,
24
- lastname: true,
25
- email: true,
26
- publicKey: true
27
- });
28
- export const nodeSelector = Selector("Node")({
29
- id: true,
30
- isFavorite: true,
31
- type: true,
32
- createdAt: true,
33
- deletedAt: true,
34
- createdBy: {
35
- user: userSelector
36
- },
37
- sizes: {
38
- size: true,
39
- sizeBefore: true
40
- },
41
- updatedAt: true,
42
- name: true,
43
- access: {
44
- rights: true,
45
- isRoot: true,
46
- nameKey: true,
47
- sharedBy: {
48
- keyPair: {
49
- pub: true
50
- }
51
- },
52
- userApp: {
53
- user: userSelector
54
- }
55
- },
56
- accesses: {
57
- rights: true,
58
- isRoot: true,
59
- nameKey: true,
60
- sharedBy: {
61
- keyPair: {
62
- pub: true
63
- }
64
- },
65
- userApp: {
66
- user: userSelector
67
- }
68
- },
69
- breadcrumb: {
70
- id: true,
71
- name: true,
72
- nameKey: true,
73
- pubKey: true
74
- },
75
- parentId: true,
76
- currentFileId: true
77
- });
78
- export const nodeFullSelector = Selector("Node")(_objectSpread(_objectSpread({}, nodeSelector), {}, {
79
- parent: nodeSelector,
80
- children: nodeSelector,
81
- history: fileSelector,
82
- current: fileSelector
83
- }));
84
- export const mailSelector = Selector("Mail")({
85
- id: true,
86
- type: true,
87
- body: true,
88
- subject: true,
89
- openedAt: true,
90
- createdAt: true,
91
- deletedAt: true,
92
- recipients: _objectSpread(_objectSpread({}, userSelector), {}, {
93
- publicKey: false
94
- }),
95
- recipient: _objectSpread(_objectSpread({}, userSelector), {}, {
96
- publicKey: false
97
- }),
98
- sender: userSelector,
99
- mailIntegrity: {
100
- id: true,
101
- hash: true,
102
- hashKey: true,
103
- replyTo: {
104
- id: true
105
- },
106
- temporaryRecipients: {
107
- email: true
108
- },
109
- recipients: _objectSpread(_objectSpread({}, userSelector), {}, {
110
- publicKey: false
111
- })
112
- },
113
- mailIntegrityDraft: {
114
- id: true,
115
- hash: true,
116
- hashKey: true,
117
- replyTo: {
118
- id: true
119
- },
120
- temporaryRecipients: {
121
- email: true
122
- },
123
- recipients: _objectSpread(_objectSpread({}, userSelector), {}, {
124
- publicKey: false
125
- })
126
- },
127
- files: {
128
- fileKey: true,
129
- filename: true,
130
- file: {
131
- id: true
132
- }
133
- }
134
- });
135
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWxlY3RvciIsImZpbGVTZWxlY3RvciIsImlkIiwic2l6ZSIsInNpemVCZWZvcmUiLCJjcmVhdGVkQXQiLCJtZDUiLCJtZDVFbmNyeXB0ZWQiLCJhY2Nlc3MiLCJrZXkiLCJzaGFyZWRCeSIsImtleVBhaXIiLCJwdWIiLCJ1c2VyU2VsZWN0b3IiLCJmaXJzdG5hbWUiLCJsYXN0bmFtZSIsImVtYWlsIiwicHVibGljS2V5Iiwibm9kZVNlbGVjdG9yIiwiaXNGYXZvcml0ZSIsInR5cGUiLCJkZWxldGVkQXQiLCJjcmVhdGVkQnkiLCJ1c2VyIiwic2l6ZXMiLCJ1cGRhdGVkQXQiLCJuYW1lIiwicmlnaHRzIiwiaXNSb290IiwibmFtZUtleSIsInVzZXJBcHAiLCJhY2Nlc3NlcyIsImJyZWFkY3J1bWIiLCJwdWJLZXkiLCJwYXJlbnRJZCIsImN1cnJlbnRGaWxlSWQiLCJub2RlRnVsbFNlbGVjdG9yIiwicGFyZW50IiwiY2hpbGRyZW4iLCJoaXN0b3J5IiwiY3VycmVudCIsIm1haWxTZWxlY3RvciIsImJvZHkiLCJzdWJqZWN0Iiwib3BlbmVkQXQiLCJyZWNpcGllbnRzIiwicmVjaXBpZW50Iiwic2VuZGVyIiwibWFpbEludGVncml0eSIsImhhc2giLCJoYXNoS2V5IiwicmVwbHlUbyIsInRlbXBvcmFyeVJlY2lwaWVudHMiLCJtYWlsSW50ZWdyaXR5RHJhZnQiLCJmaWxlcyIsImZpbGVLZXkiLCJmaWxlbmFtZSIsImZpbGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3R5cGVzL3NlbGVjdG9ycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RvciB9IGZyb20gXCIuLi8uLi96ZXVzL2luZGV4LmpzXCI7XG5cbmV4cG9ydCBjb25zdCBmaWxlU2VsZWN0b3IgPSBTZWxlY3RvcihcIkZpbGVcIikoe1xuICBpZDogdHJ1ZSxcbiAgc2l6ZTogdHJ1ZSxcbiAgc2l6ZUJlZm9yZTogdHJ1ZSxcbiAgY3JlYXRlZEF0OiB0cnVlLFxuICBtZDU6IHRydWUsXG4gIG1kNUVuY3J5cHRlZDogdHJ1ZSxcbiAgYWNjZXNzOiB7XG4gICAga2V5OiB0cnVlLFxuICAgIHNoYXJlZEJ5OiB7XG4gICAgICBrZXlQYWlyOiB7XG4gICAgICAgIHB1YjogdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyU2VsZWN0b3IgPSBTZWxlY3RvcihcIlVzZXJcIikoe1xuICBpZDogdHJ1ZSxcbiAgZmlyc3RuYW1lOiB0cnVlLFxuICBsYXN0bmFtZTogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIHB1YmxpY0tleTogdHJ1ZVxufSk7XG5cbmV4cG9ydCBjb25zdCBub2RlU2VsZWN0b3IgPSBTZWxlY3RvcihcIk5vZGVcIikoe1xuICBpZDogdHJ1ZSxcbiAgaXNGYXZvcml0ZTogdHJ1ZSxcbiAgdHlwZTogdHJ1ZSxcbiAgY3JlYXRlZEF0OiB0cnVlLFxuICBkZWxldGVkQXQ6IHRydWUsXG4gIGNyZWF0ZWRCeToge1xuICAgIHVzZXI6IHVzZXJTZWxlY3RvclxuICB9LFxuICBzaXplczoge1xuICAgIHNpemU6IHRydWUsXG4gICAgc2l6ZUJlZm9yZTogdHJ1ZVxuICB9LFxuICB1cGRhdGVkQXQ6IHRydWUsXG4gIG5hbWU6IHRydWUsXG4gIGFjY2Vzczoge1xuICAgIHJpZ2h0czogdHJ1ZSxcbiAgICBpc1Jvb3Q6IHRydWUsXG4gICAgbmFtZUtleTogdHJ1ZSxcbiAgICBzaGFyZWRCeToge1xuICAgICAga2V5UGFpcjoge1xuICAgICAgICBwdWI6IHRydWVcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZXJBcHA6IHtcbiAgICAgIHVzZXI6IHVzZXJTZWxlY3RvclxuICAgIH1cbiAgfSxcbiAgYWNjZXNzZXM6IHtcbiAgICByaWdodHM6IHRydWUsXG4gICAgaXNSb290OiB0cnVlLFxuICAgIG5hbWVLZXk6IHRydWUsXG4gICAgc2hhcmVkQnk6IHtcbiAgICAgIGtleVBhaXI6IHtcbiAgICAgICAgcHViOiB0cnVlXG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VyQXBwOiB7XG4gICAgICB1c2VyOiB1c2VyU2VsZWN0b3JcbiAgICB9XG4gIH0sXG4gIGJyZWFkY3J1bWI6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBuYW1lOiB0cnVlLFxuICAgIG5hbWVLZXk6IHRydWUsXG4gICAgcHViS2V5OiB0cnVlXG4gIH0sXG4gIHBhcmVudElkOiB0cnVlLFxuICBjdXJyZW50RmlsZUlkOiB0cnVlXG59KTtcblxuZXhwb3J0IGNvbnN0IG5vZGVGdWxsU2VsZWN0b3IgPSBTZWxlY3RvcihcIk5vZGVcIikoe1xuICAuLi5ub2RlU2VsZWN0b3IsXG4gIHBhcmVudDogbm9kZVNlbGVjdG9yLFxuICBjaGlsZHJlbjogbm9kZVNlbGVjdG9yLFxuICBoaXN0b3J5OiBmaWxlU2VsZWN0b3IsXG4gIGN1cnJlbnQ6IGZpbGVTZWxlY3RvclxufSk7XG5cbmV4cG9ydCBjb25zdCBtYWlsU2VsZWN0b3IgPSBTZWxlY3RvcihcIk1haWxcIikoe1xuICBpZDogdHJ1ZSxcbiAgdHlwZTogdHJ1ZSxcbiAgYm9keTogdHJ1ZSxcbiAgc3ViamVjdDogdHJ1ZSxcbiAgb3BlbmVkQXQ6IHRydWUsXG4gIGNyZWF0ZWRBdDogdHJ1ZSxcbiAgZGVsZXRlZEF0OiB0cnVlLFxuICByZWNpcGllbnRzOiB7XG4gICAgLi4udXNlclNlbGVjdG9yLFxuICAgIHB1YmxpY0tleTogZmFsc2VcbiAgfSxcbiAgcmVjaXBpZW50OiB7XG4gICAgLi4udXNlclNlbGVjdG9yLFxuICAgIHB1YmxpY0tleTogZmFsc2VcbiAgfSxcbiAgc2VuZGVyOiB1c2VyU2VsZWN0b3IsXG4gIG1haWxJbnRlZ3JpdHk6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBoYXNoOiB0cnVlLFxuICAgIGhhc2hLZXk6IHRydWUsXG4gICAgcmVwbHlUbzoge1xuICAgICAgaWQ6IHRydWVcbiAgICB9LFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IHtcbiAgICAgIGVtYWlsOiB0cnVlXG4gICAgfSxcbiAgICByZWNpcGllbnRzOiB7XG4gICAgICAuLi51c2VyU2VsZWN0b3IsXG4gICAgICBwdWJsaWNLZXk6IGZhbHNlXG4gICAgfVxuICB9LFxuICBtYWlsSW50ZWdyaXR5RHJhZnQ6IHtcbiAgICBpZDogdHJ1ZSxcbiAgICBoYXNoOiB0cnVlLFxuICAgIGhhc2hLZXk6IHRydWUsXG4gICAgcmVwbHlUbzoge1xuICAgICAgaWQ6IHRydWVcbiAgICB9LFxuICAgIHRlbXBvcmFyeVJlY2lwaWVudHM6IHtcbiAgICAgIGVtYWlsOiB0cnVlXG4gICAgfSxcbiAgICByZWNpcGllbnRzOiB7XG4gICAgICAuLi51c2VyU2VsZWN0b3IsXG4gICAgICBwdWJsaWNLZXk6IGZhbHNlXG4gICAgfVxuICB9LFxuICBmaWxlczoge1xuICAgIGZpbGVLZXk6IHRydWUsXG4gICAgZmlsZW5hbWU6IHRydWUsXG4gICAgZmlsZToge1xuICAgICAgaWQ6IHRydWVcbiAgICB9XG4gIH1cbn0pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxRQUFRLFFBQVEscUJBQXFCO0FBRTlDLE9BQU8sTUFBTUMsWUFBWSxHQUFHRCxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7RUFDM0NFLEVBQUUsRUFBRSxJQUFJO0VBQ1JDLElBQUksRUFBRSxJQUFJO0VBQ1ZDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCQyxTQUFTLEVBQUUsSUFBSTtFQUNmQyxHQUFHLEVBQUUsSUFBSTtFQUNUQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsTUFBTSxFQUFFO0lBQ05DLEdBQUcsRUFBRSxJQUFJO0lBQ1RDLFFBQVEsRUFBRTtNQUNSQyxPQUFPLEVBQUU7UUFDUEMsR0FBRyxFQUFFO01BQ1A7SUFDRjtFQUNGO0FBQ0YsQ0FBQyxDQUFDO0FBRUYsT0FBTyxNQUFNQyxZQUFZLEdBQUdiLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztFQUMzQ0UsRUFBRSxFQUFFLElBQUk7RUFDUlksU0FBUyxFQUFFLElBQUk7RUFDZkMsUUFBUSxFQUFFLElBQUk7RUFDZEMsS0FBSyxFQUFFLElBQUk7RUFD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
@@ -1,195 +0,0 @@
1
- import { setup, sodium } from "../sodium.js";
2
- import SparkMD5 from "spark-md5";
3
- import { chunks } from "../utils/utils.js";
4
- function assert(c, message) {
5
- if (!c) {
6
- throw new Error(message);
7
- }
8
- }
9
- export function secretstreamKeygen() {
10
- return sodium.crypto_secretstream_xchacha20poly1305_keygen();
11
- }
12
- function encrypt(key) {
13
- let destroyed = false;
14
- const {
15
- state,
16
- header
17
- } = sodium.crypto_secretstream_xchacha20poly1305_init_push(key);
18
- const encrypt = (tag, plaintext) => {
19
- assert(destroyed === false, "state already destroyed");
20
- return sodium.crypto_secretstream_xchacha20poly1305_push(state, plaintext, null, tag);
21
- };
22
- function destroy() {
23
- assert(destroyed === false, "state already destroyed");
24
- destroyed = true;
25
- }
26
- return {
27
- encrypt,
28
- destroy,
29
- header
30
- };
31
- }
32
- function decrypt(header, key) {
33
- assert(header.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES, `header must be at least HEADERBYTES (${sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES}) long`);
34
- assert(key.byteLength >= sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES, `key must be at least KEYBYTES (${sodium.crypto_secretstream_xchacha20poly1305_KEYBYTES}) long`);
35
- let destroyed = false;
36
- const state = sodium.crypto_secretstream_xchacha20poly1305_init_pull(header, key);
37
- const decrypt = ciphertext => {
38
- assert(destroyed === false, "state already destroyed");
39
- return sodium.crypto_secretstream_xchacha20poly1305_pull(state, ciphertext);
40
- };
41
- function destroy() {
42
- assert(destroyed === false, "state already destroyed");
43
- destroyed = true;
44
- }
45
- return {
46
- decrypt,
47
- destroy
48
- };
49
- }
50
- export const CHUNK_SIZE = 8192;
51
- export async function encryptSecretstream(key, data, progress, abort) {
52
- await setup();
53
- const {
54
- encrypt: crypt,
55
- destroy,
56
- header
57
- } = encrypt(key);
58
- const cryptedChunk = CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;
59
- const max = Math.ceil(data.byteLength / CHUNK_SIZE) * cryptedChunk + header.byteLength;
60
- progress?.({
61
- percent: 0,
62
- total: max,
63
- current: 0
64
- });
65
- const final = new Uint8Array(max);
66
- const sparkEncrypted = new SparkMD5.ArrayBuffer();
67
- const spark = new SparkMD5.ArrayBuffer();
68
- final.set(header);
69
- sparkEncrypted.append(header);
70
- let total = header.byteLength;
71
- progress?.({
72
- percent: total / max,
73
- total: max,
74
- current: total
75
- });
76
- let lastPercent = total / max;
77
- for (const chunk of chunks(data, CHUNK_SIZE)) {
78
- if (abort?.signal.aborted) {
79
- throw new Error(`Encrypt aborted`);
80
- }
81
- spark.append(chunk);
82
- const tag = chunk.length < CHUNK_SIZE ? sodium.crypto_secretstream_xchacha20poly1305_TAG_FINAL : sodium.crypto_secretstream_xchacha20poly1305_TAG_MESSAGE;
83
- const crypted = crypt(tag, chunk);
84
- sparkEncrypted.append(crypted);
85
- final.set(crypted, total);
86
- total += crypted.byteLength;
87
- const percent = total / max;
88
- if (percent > lastPercent + 0.01) {
89
- progress?.({
90
- percent,
91
- total: max,
92
- current: total
93
- });
94
- lastPercent = percent;
95
- }
96
- }
97
- destroy();
98
- progress?.({
99
- percent: 1,
100
- total,
101
- current: total
102
- });
103
- return {
104
- data: final.slice(0, total),
105
- md5Encrypted: sparkEncrypted.end(),
106
- md5: spark.end()
107
- };
108
- }
109
- export async function decryptSecretstream(key, data, progress, abort) {
110
- await setup();
111
- const header = data.slice(0, sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);
112
- data = data.slice(sodium.crypto_secretstream_xchacha20poly1305_HEADERBYTES);
113
- const {
114
- decrypt: decryptt,
115
- destroy
116
- } = decrypt(header, key);
117
- const chunkSize = CHUNK_SIZE + sodium.crypto_secretstream_xchacha20poly1305_ABYTES;
118
- const max = Math.ceil(data.byteLength / chunkSize) * CHUNK_SIZE;
119
- progress?.({
120
- percent: 0,
121
- total: max,
122
- current: 0
123
- });
124
- const final = new Uint8Array(max);
125
- let total = 0;
126
- let lastPercent = total / max;
127
- for (const chunk of chunks(data, chunkSize)) {
128
- if (abort?.signal.aborted) {
129
- throw new Error(`Decrypt aborted`);
130
- }
131
- const tmp = decryptt(chunk);
132
- final.set(tmp.message, total);
133
- total += tmp.message.byteLength;
134
- const percent = total / max;
135
- if (percent > lastPercent + 0.01) {
136
- progress?.({
137
- percent,
138
- total: max,
139
- current: total
140
- });
141
- lastPercent = percent;
142
- }
143
- }
144
- destroy();
145
- progress?.({
146
- percent: 1,
147
- total,
148
- current: total
149
- });
150
- return final.slice(0, total);
151
- }
152
-
153
- // async function mainSecretstream(random: Uint8Array): Promise<void> {
154
- // const key = secretstreamKeygen();
155
- // console.time("secretstream_encrypt");
156
- // const crypted = encryptSecretstream(key, random);
157
- // console.timeEnd("secretstream_encrypt");
158
- // console.time("secretstream_decrypt");
159
- // const decrypted = decryptSecretstream(key, crypted);
160
- // console.timeEnd("secretstream_decrypt");
161
- // const first = to_hex(random).slice(0, 32);
162
- // const final = to_hex(decrypted).slice(0, 32);
163
- // console.log({
164
- // first,
165
- // final,
166
- // equals: first === final
167
- // });
168
- // }
169
- // async function mainSecretbox(random: Uint8Array): Promise<void> {
170
- // const key = generateSecretBox();
171
- // console.time("secretbox_encrypt");
172
- // const crypted = encryptFile(random, key);
173
- // console.timeEnd("secretbox_encrypt");
174
- // console.time("secretbox_decrypt");
175
- // const decrypted = decryptFile(crypted, key);
176
- // console.timeEnd("secretbox_decrypt");
177
- // const first = to_hex(random).slice(0, 32);
178
- // const final = to_hex(decrypted).slice(0, 32);
179
- // console.log({
180
- // first,
181
- // final,
182
- // equals: first === final
183
- // });
184
- // }
185
-
186
- // async function main(): Promise<void> {
187
- // await ready;
188
- // console.time("randombytes_buf");
189
- // const random = randombytes_buf(1_000_000 * 1024);
190
- // console.timeEnd("randombytes_buf");
191
- // await Promise.all([mainSecretstream(random), mainSecretbox(random)]);
192
- // }
193
-
194
- // main();
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXR1cCIsInNvZGl1bSIsIlNwYXJrTUQ1IiwiY2h1bmtzIiwiYXNzZXJ0IiwiYyIsIm1lc3NhZ2UiLCJFcnJvciIsInNlY3JldHN0cmVhbUtleWdlbiIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfa2V5Z2VuIiwiZW5jcnlwdCIsImtleSIsImRlc3Ryb3llZCIsInN0YXRlIiwiaGVhZGVyIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1c2giLCJ0YWciLCJwbGFpbnRleHQiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1c2giLCJkZXN0cm95IiwiZGVjcnlwdCIsImJ5dGVMZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTIiwiY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdWxsIiwiY2lwaGVydGV4dCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVsbCIsIkNIVU5LX1NJWkUiLCJlbmNyeXB0U2VjcmV0c3RyZWFtIiwiZGF0YSIsInByb2dyZXNzIiwiYWJvcnQiLCJjcnlwdCIsImNyeXB0ZWRDaHVuayIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTIiwibWF4IiwiTWF0aCIsImNlaWwiLCJwZXJjZW50IiwidG90YWwiLCJjdXJyZW50IiwiZmluYWwiLCJVaW50OEFycmF5Iiwic3BhcmtFbmNyeXB0ZWQiLCJBcnJheUJ1ZmZlciIsInNwYXJrIiwic2V0IiwiYXBwZW5kIiwibGFzdFBlcmNlbnQiLCJjaHVuayIsInNpZ25hbCIsImFib3J0ZWQiLCJsZW5ndGgiLCJjcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X1RBR19GSU5BTCIsImNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfVEFHX01FU1NBR0UiLCJjcnlwdGVkIiwic2xpY2UiLCJtZDVFbmNyeXB0ZWQiLCJlbmQiLCJtZDUiLCJkZWNyeXB0U2VjcmV0c3RyZWFtIiwiZGVjcnlwdHQiLCJjaHVua1NpemUiLCJ0bXAiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY3J5cHRvL2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBNZXNzYWdlVGFnIH0gZnJvbSBcImxpYnNvZGl1bS13cmFwcGVyc1wiO1xuaW1wb3J0IHsgc2V0dXAsIHNvZGl1bSB9IGZyb20gXCIuLi9zb2RpdW0uanNcIjtcbmltcG9ydCBTcGFya01ENSBmcm9tIFwic3BhcmstbWQ1XCI7XG5pbXBvcnQgeyBjaHVua3MgfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHMuanNcIjtcblxuZXhwb3J0IHR5cGUgRW5jcnlwdGVkRmlsZSA9IHtcbiAgZGF0YTogVWludDhBcnJheTtcbiAgbWQ1OiBzdHJpbmc7XG4gIG1kNUVuY3J5cHRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gYXNzZXJ0KGM6IGJvb2xlYW4sIG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbn1cblxudHlwZSBFbmNyeXB0Rm4gPSAodGFnOiBudW1iZXIsIHBsYWludGV4dDogVWludDhBcnJheSkgPT4gVWludDhBcnJheTtcblxudHlwZSBEZWNyeXB0Rm4gPSAoY2lwaGVydGV4dDogVWludDhBcnJheSkgPT4gTWVzc2FnZVRhZztcblxuZXhwb3J0IGZ1bmN0aW9uIHNlY3JldHN0cmVhbUtleWdlbigpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X2tleWdlbigpO1xufVxuXG5mdW5jdGlvbiBlbmNyeXB0KGtleTogVWludDhBcnJheSk6IHtcbiAgZGVzdHJveTogKCkgPT4gdm9pZDtcbiAgZW5jcnlwdDogRW5jcnlwdEZuO1xuICBoZWFkZXI6IFVpbnQ4QXJyYXk7XG59IHtcbiAgbGV0IGRlc3Ryb3llZCA9IGZhbHNlO1xuICBjb25zdCB7IHN0YXRlLCBoZWFkZXIgfSA9XG4gICAgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfaW5pdF9wdXNoKGtleSk7XG5cbiAgY29uc3QgZW5jcnlwdDogRW5jcnlwdEZuID0gKHRhZywgcGxhaW50ZXh0KSA9PiB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG5cbiAgICByZXR1cm4gc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfcHVzaChcbiAgICAgIHN0YXRlLFxuICAgICAgcGxhaW50ZXh0LFxuICAgICAgbnVsbCxcbiAgICAgIHRhZ1xuICAgICk7XG4gIH07XG5cbiAgZnVuY3Rpb24gZGVzdHJveSgpOiB2b2lkIHtcbiAgICBhc3NlcnQoZGVzdHJveWVkID09PSBmYWxzZSwgXCJzdGF0ZSBhbHJlYWR5IGRlc3Ryb3llZFwiKTtcbiAgICBkZXN0cm95ZWQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbmNyeXB0LFxuICAgIGRlc3Ryb3ksXG4gICAgaGVhZGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRlY3J5cHQoXG4gIGhlYWRlcjogVWludDhBcnJheSxcbiAga2V5OiBVaW50OEFycmF5XG4pOiB7XG4gIGRlc3Ryb3k6ICgpID0+IHZvaWQ7XG4gIGRlY3J5cHQ6IERlY3J5cHRGbjtcbn0ge1xuICBhc3NlcnQoXG4gICAgaGVhZGVyLmJ5dGVMZW5ndGggPj1cbiAgICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTLFxuICAgIGBoZWFkZXIgbXVzdCBiZSBhdCBsZWFzdCBIRUFERVJCWVRFUyAoJHtzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9IRUFERVJCWVRFU30pIGxvbmdgXG4gICk7XG4gIGFzc2VydChcbiAgICBrZXkuYnl0ZUxlbmd0aCA+PSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9LRVlCWVRFUyxcbiAgICBga2V5IG11c3QgYmUgYXQgbGVhc3QgS0VZQllURVMgKCR7c29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfS0VZQllURVN9KSBsb25nYFxuICApO1xuXG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgY29uc3Qgc3RhdGUgPSBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9pbml0X3B1bGwoXG4gICAgaGVhZGVyLFxuICAgIGtleVxuICApO1xuXG4gIGNvbnN0IGRlY3J5cHQ6IERlY3J5cHRGbiA9IGNpcGhlcnRleHQgPT4ge1xuICAgIGFzc2VydChkZXN0cm95ZWQgPT09IGZhbHNlLCBcInN0YXRlIGFscmVhZHkgZGVzdHJveWVkXCIpO1xuXG4gICAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X3B1bGwoc3RhdGUsIGNpcGhlcnRleHQpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgYXNzZXJ0KGRlc3Ryb3llZCA9PT0gZmFsc2UsIFwic3RhdGUgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZGVjcnlwdCxcbiAgICBkZXN0cm95XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBDSFVOS19TSVpFID0gODE5MjtcblxuZXhwb3J0IHR5cGUgUHJvZ3Jlc3MgPSB7XG4gIHBlcmNlbnQ6IG51bWJlcjtcbiAgdG90YWw6IG51bWJlcjtcbiAgY3VycmVudDogbnVtYmVyO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuY3J5cHRTZWNyZXRzdHJlYW0oXG4gIGtleTogVWludDhBcnJheSxcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHJvZ3Jlc3M/OiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBhYm9ydD86IEFib3J0Q29udHJvbGxlclxuKTogUHJvbWlzZTxFbmNyeXB0ZWRGaWxlPiB7XG4gIGF3YWl0IHNldHVwKCk7XG4gIGNvbnN0IHsgZW5jcnlwdDogY3J5cHQsIGRlc3Ryb3ksIGhlYWRlciB9ID0gZW5jcnlwdChrZXkpO1xuICBjb25zdCBjcnlwdGVkQ2h1bmsgPVxuICAgIENIVU5LX1NJWkUgKyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9BQllURVM7XG4gIGNvbnN0IG1heCA9XG4gICAgTWF0aC5jZWlsKGRhdGEuYnl0ZUxlbmd0aCAvIENIVU5LX1NJWkUpICogY3J5cHRlZENodW5rICsgaGVhZGVyLmJ5dGVMZW5ndGg7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgY29uc3Qgc3BhcmtFbmNyeXB0ZWQgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcbiAgY29uc3Qgc3BhcmsgPSBuZXcgU3BhcmtNRDUuQXJyYXlCdWZmZXIoKTtcblxuICBmaW5hbC5zZXQoaGVhZGVyKTtcbiAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGhlYWRlcik7XG4gIGxldCB0b3RhbCA9IGhlYWRlci5ieXRlTGVuZ3RoO1xuICBwcm9ncmVzcz8uKHtcbiAgICBwZXJjZW50OiB0b3RhbCAvIG1heCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IHRvdGFsXG4gIH0pO1xuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBDSFVOS19TSVpFKSkge1xuICAgIGlmIChhYm9ydD8uc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW5jcnlwdCBhYm9ydGVkYCk7XG4gICAgfVxuICAgIHNwYXJrLmFwcGVuZChjaHVuayk7XG4gICAgY29uc3QgdGFnID1cbiAgICAgIGNodW5rLmxlbmd0aCA8IENIVU5LX1NJWkVcbiAgICAgICAgPyBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfRklOQUxcbiAgICAgICAgOiBzb2RpdW0uY3J5cHRvX3NlY3JldHN0cmVhbV94Y2hhY2hhMjBwb2x5MTMwNV9UQUdfTUVTU0FHRTtcbiAgICBjb25zdCBjcnlwdGVkID0gY3J5cHQodGFnLCBjaHVuayk7XG4gICAgc3BhcmtFbmNyeXB0ZWQuYXBwZW5kKGNyeXB0ZWQpO1xuICAgIGZpbmFsLnNldChjcnlwdGVkLCB0b3RhbCk7XG4gICAgdG90YWwgKz0gY3J5cHRlZC5ieXRlTGVuZ3RoO1xuICAgIGNvbnN0IHBlcmNlbnQgPSB0b3RhbCAvIG1heDtcbiAgICBpZiAocGVyY2VudCA+IGxhc3RQZXJjZW50ICsgMC4wMSkge1xuICAgICAgcHJvZ3Jlc3M/Lih7XG4gICAgICAgIHBlcmNlbnQsXG4gICAgICAgIHRvdGFsOiBtYXgsXG4gICAgICAgIGN1cnJlbnQ6IHRvdGFsXG4gICAgICB9KTtcbiAgICAgIGxhc3RQZXJjZW50ID0gcGVyY2VudDtcbiAgICB9XG4gIH1cblxuICBkZXN0cm95KCk7XG4gIHByb2dyZXNzPy4oe1xuICAgIHBlcmNlbnQ6IDEsXG4gICAgdG90YWwsXG4gICAgY3VycmVudDogdG90YWxcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgZGF0YTogZmluYWwuc2xpY2UoMCwgdG90YWwpLFxuICAgIG1kNUVuY3J5cHRlZDogc3BhcmtFbmNyeXB0ZWQuZW5kKCksXG4gICAgbWQ1OiBzcGFyay5lbmQoKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVjcnlwdFNlY3JldHN0cmVhbShcbiAga2V5OiBVaW50OEFycmF5LFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwcm9ncmVzcz86IChwcm9ncmVzczogUHJvZ3Jlc3MpID0+IFByb21pc2U8dm9pZD4sXG4gIGFib3J0PzogQWJvcnRDb250cm9sbGVyXG4pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgYXdhaXQgc2V0dXAoKTtcbiAgY29uc3QgaGVhZGVyID0gZGF0YS5zbGljZShcbiAgICAwLFxuICAgIHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTXG4gICk7XG4gIGRhdGEgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fc2VjcmV0c3RyZWFtX3hjaGFjaGEyMHBvbHkxMzA1X0hFQURFUkJZVEVTKTtcblxuICBjb25zdCB7IGRlY3J5cHQ6IGRlY3J5cHR0LCBkZXN0cm95IH0gPSBkZWNyeXB0KGhlYWRlciwga2V5KTtcbiAgY29uc3QgY2h1bmtTaXplID1cbiAgICBDSFVOS19TSVpFICsgc29kaXVtLmNyeXB0b19zZWNyZXRzdHJlYW1feGNoYWNoYTIwcG9seTEzMDVfQUJZVEVTO1xuICBjb25zdCBtYXggPSBNYXRoLmNlaWwoZGF0YS5ieXRlTGVuZ3RoIC8gY2h1bmtTaXplKSAqIENIVU5LX1NJWkU7XG5cbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMCxcbiAgICB0b3RhbDogbWF4LFxuICAgIGN1cnJlbnQ6IDBcbiAgfSk7XG4gIGNvbnN0IGZpbmFsID0gbmV3IFVpbnQ4QXJyYXkobWF4KTtcbiAgbGV0IHRvdGFsID0gMDtcblxuICBsZXQgbGFzdFBlcmNlbnQgPSB0b3RhbCAvIG1heDtcblxuICBmb3IgKGNvbnN0IGNodW5rIG9mIGNodW5rcyhkYXRhLCBjaHVua1NpemUpKSB7XG4gICAgaWYgKGFib3J0Py5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZWNyeXB0IGFib3J0ZWRgKTtcbiAgICB9XG4gICAgY29uc3QgdG1wID0gZGVjcnlwdHQoY2h1bmspO1xuICAgIGZpbmFsLnNldCh0bXAubWVzc2FnZSwgdG90YWwpO1xuICAgIHRvdGFsICs9IHRtcC5tZXNzYWdlLmJ5dGVMZW5ndGg7XG4gICAgY29uc3QgcGVyY2VudCA9IHRvdGFsIC8gbWF4O1xuICAgIGlmIChwZXJjZW50ID4gbGFzdFBlcmNlbnQgKyAwLjAxKSB7XG4gICAgICBwcm9ncmVzcz8uKHtcbiAgICAgICAgcGVyY2VudCxcbiAgICAgICAgdG90YWw6IG1heCxcbiAgICAgICAgY3VycmVudDogdG90YWxcbiAgICAgIH0pO1xuICAgICAgbGFzdFBlcmNlbnQgPSBwZXJjZW50O1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKTtcbiAgcHJvZ3Jlc3M/Lih7XG4gICAgcGVyY2VudDogMSxcbiAgICB0b3RhbCxcbiAgICBjdXJyZW50OiB0b3RhbFxuICB9KTtcbiAgcmV0dXJuIGZpbmFsLnNsaWNlKDAsIHRvdGFsKTtcbn1cblxuLy8gYXN5bmMgZnVuY3Rpb24gbWFpblNlY3JldHN0cmVhbShyYW5kb206IFVpbnQ4QXJyYXkpOiBQcm9taXNlPHZvaWQ+IHtcbi8vICAgY29uc3Qga2V5ID0gc2VjcmV0c3RyZWFtS2V5Z2VuKCk7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zdCBjcnlwdGVkID0gZW5jcnlwdFNlY3JldHN0cmVhbShrZXksIHJhbmRvbSk7XG4vLyAgIGNvbnNvbGUudGltZUVuZChcInNlY3JldHN0cmVhbV9lbmNyeXB0XCIpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZGVjcnlwdGVkID0gZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIGNyeXB0ZWQpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRzdHJlYW1fZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG4vLyBhc3luYyBmdW5jdGlvbiBtYWluU2VjcmV0Ym94KHJhbmRvbTogVWludDhBcnJheSk6IFByb21pc2U8dm9pZD4ge1xuLy8gICBjb25zdCBrZXkgPSBnZW5lcmF0ZVNlY3JldEJveCgpO1xuLy8gICBjb25zb2xlLnRpbWUoXCJzZWNyZXRib3hfZW5jcnlwdFwiKTtcbi8vICAgY29uc3QgY3J5cHRlZCA9IGVuY3J5cHRGaWxlKHJhbmRvbSwga2V5KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwic2VjcmV0Ym94X2VuY3J5cHRcIik7XG4vLyAgIGNvbnNvbGUudGltZShcInNlY3JldGJveF9kZWNyeXB0XCIpO1xuLy8gICBjb25zdCBkZWNyeXB0ZWQgPSBkZWNyeXB0RmlsZShjcnlwdGVkLCBrZXkpO1xuLy8gICBjb25zb2xlLnRpbWVFbmQoXCJzZWNyZXRib3hfZGVjcnlwdFwiKTtcbi8vICAgY29uc3QgZmlyc3QgPSB0b19oZXgocmFuZG9tKS5zbGljZSgwLCAzMik7XG4vLyAgIGNvbnN0IGZpbmFsID0gdG9faGV4KGRlY3J5cHRlZCkuc2xpY2UoMCwgMzIpO1xuLy8gICBjb25zb2xlLmxvZyh7XG4vLyAgICAgZmlyc3QsXG4vLyAgICAgZmluYWwsXG4vLyAgICAgZXF1YWxzOiBmaXJzdCA9PT0gZmluYWxcbi8vICAgfSk7XG4vLyB9XG5cbi8vIGFzeW5jIGZ1bmN0aW9uIG1haW4oKTogUHJvbWlzZTx2b2lkPiB7XG4vLyAgIGF3YWl0IHJlYWR5O1xuLy8gICBjb25zb2xlLnRpbWUoXCJyYW5kb21ieXRlc19idWZcIik7XG4vLyAgIGNvbnN0IHJhbmRvbSA9IHJhbmRvbWJ5dGVzX2J1ZigxXzAwMF8wMDAgKiAxMDI0KTtcbi8vICAgY29uc29sZS50aW1lRW5kKFwicmFuZG9tYnl0ZXNfYnVmXCIpO1xuLy8gICBhd2FpdCBQcm9taXNlLmFsbChbbWFpblNlY3JldHN0cmVhbShyYW5kb20pLCBtYWluU2VjcmV0Ym94KHJhbmRvbSldKTtcbi8vIH1cblxuLy8gbWFpbigpO1xuIl0sIm1hcHBpbmdzIjoiQUFDQSxTQUFTQSxLQUFLLEVBQUVDLE1BQU0sUUFBUSxjQUFjO0FBQzVDLE9BQU9DLFFBQVEsTUFBTSxXQUFXO0FBQ2hDLFNBQVNDLE1BQU0sUUFBUSxtQkFBbUI7QUFRMUMsU0FBU0MsTUFBTSxDQUFDQyxDQUFVLEVBQUVDLE9BQWUsRUFBUTtFQUNqRCxJQUFJLENBQUNELENBQUMsRUFBRTtJQUNOLE1BQU0sSUFBSUUsS0FBSyxDQUFDRCxPQUFPLENBQUM7RUFDMUI7QUFDRjtBQU1BLE9BQU8sU0FBU0Usa0JBQWtCLEdBQWU7RUFDL0MsT0FBT1AsTUFBTSxDQUFDUSw0Q0FBNEMsRUFBRTtBQUM5RDtBQUVBLFNBQVNDLE9BQU8sQ0FBQ0MsR0FBZSxFQUk5QjtFQUNBLElBQUlDLFNBQVMsR0FBRyxLQUFLO0VBQ3JCLE1BQU07SUFBRUMsS0FBSztJQUFFQztFQUFPLENBQUMsR0FDckJiLE1BQU0sQ0FBQ2MsK0NBQStDLENBQUNKLEdBQUcsQ0FBQztFQUU3RCxNQUFNRCxPQUFrQixHQUFHLENBQUNNLEdBQUcsRUFBRUMsU0FBUyxLQUFLO0lBQzdDYixNQUFNLENBQUNRLFNBQVMsS0FBSyxLQUFLLEVBQUUseUJBQXlCLENBQUM7SUFFdEQsT0FBT1gsTUFBTSxDQUFDaUIsMENBQTBDLENBQ3RETCxLQUFLLEVBQ0xJLFNBQVMsRUFDVCxJQUFJLEVBQ0pELEdBQUcsQ0FDSjtFQUNILENBQUM7RUFFRCxTQUFTRyxPQUFPLEdBQVM7SUFDdkJmLE1BQU0sQ0FBQ1EsU0FBUyxLQUFLLEtBQUssRUFBRSx5QkFBeUIsQ0FBQztJQUN0REEsU0FBUyxHQUFHLElBQUk7RUFD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
@@ -1,45 +0,0 @@
1
- import { concatenate } from "../utils/utils.js";
2
- import { sodium } from "../sodium.js";
3
- export function encryptCryptoBox(data, publicKeyBob, privateKeyAlice) {
4
- const nonce = sodium.randombytes_buf(sodium.crypto_box_NONCEBYTES);
5
- const crypt = sodium.crypto_box_easy(data, nonce, sodium.from_hex(publicKeyBob), sodium.from_hex(privateKeyAlice));
6
- return concatenate(nonce, crypt);
7
- }
8
- export function generateCryptoBoxKeyPair() {
9
- return sodium.crypto_box_keypair("hex");
10
- }
11
- export function decryptCryptoBox(data, publicKeyAlice, privateKeyBob) {
12
- if (data.length < sodium.crypto_box_NONCEBYTES + sodium.crypto_box_MACBYTES) {
13
- throw "data too short";
14
- }
15
- const nonce = data.slice(0, sodium.crypto_box_NONCEBYTES);
16
- const cipher = data.slice(sodium.crypto_box_NONCEBYTES);
17
- return sodium.crypto_box_open_easy(cipher, nonce, sodium.from_hex(publicKeyAlice), sodium.from_hex(privateKeyBob));
18
- }
19
- export function generateSecretBoxKey() {
20
- return sodium.randombytes_buf(sodium.crypto_secretbox_KEYBYTES, "hex");
21
- }
22
- export function encryptSecretBox(data, key) {
23
- const nonce = sodium.randombytes_buf(sodium.crypto_secretbox_NONCEBYTES);
24
- const crypt = sodium.crypto_secretbox_easy(data, nonce, sodium.from_hex(key));
25
- return concatenate(nonce, crypt);
26
- }
27
- export function decryptSecretBox(data, key) {
28
- if (data.length < sodium.crypto_secretbox_NONCEBYTES + sodium.crypto_secretbox_MACBYTES) {
29
- throw "data too short";
30
- }
31
- const nonce = data.slice(0, sodium.crypto_secretbox_NONCEBYTES);
32
- const cipher = data.slice(sodium.crypto_secretbox_NONCEBYTES);
33
- return sodium.crypto_secretbox_open_easy(cipher, nonce, sodium.from_hex(key));
34
- }
35
- export function encryptAnonymous(data, receiverPublicKey) {
36
- return sodium.crypto_box_seal(data, sodium.from_hex(receiverPublicKey));
37
- }
38
- export function decryptAnonymous(data, _ref) {
39
- let {
40
- privateKey,
41
- publicKey
42
- } = _ref;
43
- return sodium.crypto_box_seal_open(data, sodium.from_hex(publicKey), sodium.from_hex(privateKey));
44
- }
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25jYXRlbmF0ZSIsInNvZGl1bSIsImVuY3J5cHRDcnlwdG9Cb3giLCJkYXRhIiwicHVibGljS2V5Qm9iIiwicHJpdmF0ZUtleUFsaWNlIiwibm9uY2UiLCJyYW5kb21ieXRlc19idWYiLCJjcnlwdG9fYm94X05PTkNFQllURVMiLCJjcnlwdCIsImNyeXB0b19ib3hfZWFzeSIsImZyb21faGV4IiwiZ2VuZXJhdGVDcnlwdG9Cb3hLZXlQYWlyIiwiY3J5cHRvX2JveF9rZXlwYWlyIiwiZGVjcnlwdENyeXB0b0JveCIsInB1YmxpY0tleUFsaWNlIiwicHJpdmF0ZUtleUJvYiIsImxlbmd0aCIsImNyeXB0b19ib3hfTUFDQllURVMiLCJzbGljZSIsImNpcGhlciIsImNyeXB0b19ib3hfb3Blbl9lYXN5IiwiZ2VuZXJhdGVTZWNyZXRCb3hLZXkiLCJjcnlwdG9fc2VjcmV0Ym94X0tFWUJZVEVTIiwiZW5jcnlwdFNlY3JldEJveCIsImtleSIsImNyeXB0b19zZWNyZXRib3hfTk9OQ0VCWVRFUyIsImNyeXB0b19zZWNyZXRib3hfZWFzeSIsImRlY3J5cHRTZWNyZXRCb3giLCJjcnlwdG9fc2VjcmV0Ym94X01BQ0JZVEVTIiwiY3J5cHRvX3NlY3JldGJveF9vcGVuX2Vhc3kiLCJlbmNyeXB0QW5vbnltb3VzIiwicmVjZWl2ZXJQdWJsaWNLZXkiLCJjcnlwdG9fYm94X3NlYWwiLCJkZWNyeXB0QW5vbnltb3VzIiwicHJpdmF0ZUtleSIsInB1YmxpY0tleSIsImNyeXB0b19ib3hfc2VhbF9vcGVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NyeXB0by9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25jYXRlbmF0ZSB9IGZyb20gXCIuLi91dGlscy91dGlscy5qc1wiO1xuaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uL3NvZGl1bS5qc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXIge1xuICBwdWJsaWNLZXk6IHN0cmluZztcbiAgcHJpdmF0ZUtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jcnlwdENyeXB0b0JveChcbiAgZGF0YTogVWludDhBcnJheSxcbiAgcHVibGljS2V5Qm9iOiBzdHJpbmcsXG4gIHByaXZhdGVLZXlBbGljZTogc3RyaW5nXG4pOiBVaW50OEFycmF5IHtcbiAgY29uc3Qgbm9uY2UgPSBzb2RpdW0ucmFuZG9tYnl0ZXNfYnVmKHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICBjb25zdCBjcnlwdCA9IHNvZGl1bS5jcnlwdG9fYm94X2Vhc3koXG4gICAgZGF0YSxcbiAgICBub25jZSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHVibGljS2V5Qm9iKSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHJpdmF0ZUtleUFsaWNlKVxuICApO1xuICByZXR1cm4gY29uY2F0ZW5hdGUobm9uY2UsIGNyeXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ3J5cHRvQm94S2V5UGFpcigpOiBLZXlQYWlyIHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X2tleXBhaXIoXCJoZXhcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0Q3J5cHRvQm94KFxuICBkYXRhOiBVaW50OEFycmF5LFxuICBwdWJsaWNLZXlBbGljZTogc3RyaW5nLFxuICBwcml2YXRlS2V5Qm9iOiBzdHJpbmdcbik6IFVpbnQ4QXJyYXkge1xuICBpZiAoZGF0YS5sZW5ndGggPCBzb2RpdW0uY3J5cHRvX2JveF9OT05DRUJZVEVTICsgc29kaXVtLmNyeXB0b19ib3hfTUFDQllURVMpIHtcbiAgICB0aHJvdyBcImRhdGEgdG9vIHNob3J0XCI7XG4gIH1cbiAgY29uc3Qgbm9uY2UgPSBkYXRhLnNsaWNlKDAsIHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICBjb25zdCBjaXBoZXIgPSBkYXRhLnNsaWNlKHNvZGl1bS5jcnlwdG9fYm94X05PTkNFQllURVMpO1xuICByZXR1cm4gc29kaXVtLmNyeXB0b19ib3hfb3Blbl9lYXN5KFxuICAgIGNpcGhlcixcbiAgICBub25jZSxcbiAgICBzb2RpdW0uZnJvbV9oZXgocHVibGljS2V5QWxpY2UpLFxuICAgIHNvZGl1bS5mcm9tX2hleChwcml2YXRlS2V5Qm9iKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVTZWNyZXRCb3hLZXkoKTogc3RyaW5nIHtcbiAgcmV0dXJuIHNvZGl1bS5yYW5kb21ieXRlc19idWYoc29kaXVtLmNyeXB0b19zZWNyZXRib3hfS0VZQllURVMsIFwiaGV4XCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5jcnlwdFNlY3JldEJveChkYXRhOiBVaW50OEFycmF5LCBrZXk6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCBub25jZSA9IHNvZGl1bS5yYW5kb21ieXRlc19idWYoc29kaXVtLmNyeXB0b19zZWNyZXRib3hfTk9OQ0VCWVRFUyk7XG4gIGNvbnN0IGNyeXB0ID0gc29kaXVtLmNyeXB0b19zZWNyZXRib3hfZWFzeShkYXRhLCBub25jZSwgc29kaXVtLmZyb21faGV4KGtleSkpO1xuICByZXR1cm4gY29uY2F0ZW5hdGUobm9uY2UsIGNyeXB0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY3J5cHRTZWNyZXRCb3goZGF0YTogVWludDhBcnJheSwga2V5OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgaWYgKFxuICAgIGRhdGEubGVuZ3RoIDxcbiAgICBzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTICsgc29kaXVtLmNyeXB0b19zZWNyZXRib3hfTUFDQllURVNcbiAgKSB7XG4gICAgdGhyb3cgXCJkYXRhIHRvbyBzaG9ydFwiO1xuICB9XG4gIGNvbnN0IG5vbmNlID0gZGF0YS5zbGljZSgwLCBzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTKTtcbiAgY29uc3QgY2lwaGVyID0gZGF0YS5zbGljZShzb2RpdW0uY3J5cHRvX3NlY3JldGJveF9OT05DRUJZVEVTKTtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fc2VjcmV0Ym94X29wZW5fZWFzeShjaXBoZXIsIG5vbmNlLCBzb2RpdW0uZnJvbV9oZXgoa2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNyeXB0QW5vbnltb3VzKFxuICBkYXRhOiBVaW50OEFycmF5LFxuICByZWNlaXZlclB1YmxpY0tleTogc3RyaW5nXG4pOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X3NlYWwoZGF0YSwgc29kaXVtLmZyb21faGV4KHJlY2VpdmVyUHVibGljS2V5KSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNyeXB0QW5vbnltb3VzKFxuICBkYXRhOiBVaW50OEFycmF5LFxuICB7IHByaXZhdGVLZXksIHB1YmxpY0tleSB9OiBLZXlQYWlyXG4pOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIHNvZGl1bS5jcnlwdG9fYm94X3NlYWxfb3BlbihcbiAgICBkYXRhLFxuICAgIHNvZGl1bS5mcm9tX2hleChwdWJsaWNLZXkpLFxuICAgIHNvZGl1bS5mcm9tX2hleChwcml2YXRlS2V5KVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFXLFFBQVEsbUJBQW1CO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxjQUFjO0FBT3JDLE9BQU8sU0FBU0MsZ0JBQWdCLENBQzlCQyxJQUFnQixFQUNoQkMsWUFBb0IsRUFDcEJDLGVBQXVCLEVBQ1g7RUFDWixNQUFNQyxLQUFLLEdBQUdMLE1BQU0sQ0FBQ00sZUFBZSxDQUFDTixNQUFNLENBQUNPLHFCQUFxQixDQUFDO0VBQ2xFLE1BQU1DLEtBQUssR0FBR1IsTUFBTSxDQUFDUyxlQUFlLENBQ2xDUCxJQUFJLEVBQ0pHLEtBQUssRUFDTEwsTUFBTSxDQUFDVSxRQUFRLENBQUNQLFlBQVksQ0FBQyxFQUM3QkgsTUFBTSxDQUFDVSxRQUFRLENBQUNOLGVBQWUsQ0FBQyxDQUNqQztFQUNELE9BQU9MLFdBQVcsQ0FBQ00sS0FBSyxFQUFFRyxLQUFLLENBQUM7QUFD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
package/dist/error.d.ts DELETED
@@ -1,33 +0,0 @@
1
- export type ErrorType = "ErrorUpgradePlan" | "ErrorNotFound" | "ErrorNotExist" | "ErrorAccessDenied" | "ErrorLangNotExist" | "ErrorLimit" | "ErrorStripe" | "ErrorBasic";
2
- export interface ErrorBase {
3
- message: string;
4
- __typename: ErrorType;
5
- }
6
- export interface ErrorUpgradePlan extends ErrorBase {
7
- __typename: "ErrorUpgradePlan";
8
- }
9
- export interface ErrorNotFound extends ErrorBase {
10
- __typename: "ErrorNotFound";
11
- field?: string | undefined;
12
- }
13
- export interface ErrorNotExist extends ErrorBase {
14
- __typename: "ErrorNotExist";
15
- field?: string | undefined;
16
- }
17
- export interface ErrorAccessDenied extends ErrorBase {
18
- __typename: "ErrorAccessDenied";
19
- }
20
- export interface ErrorLangNotExist extends ErrorBase {
21
- __typename: "ErrorLangNotExist";
22
- }
23
- export interface ErrorLimit extends ErrorBase {
24
- __typename: "ErrorLimit";
25
- field?: string | undefined;
26
- }
27
- export interface ErrorBasic extends ErrorBase {
28
- __typename: "ErrorBasic";
29
- }
30
- export interface ErrorStripe extends ErrorBase {
31
- __typename: "ErrorStripe";
32
- }
33
- export type SecrecyError = ErrorUpgradePlan | ErrorNotFound | ErrorNotExist | ErrorAccessDenied | ErrorLangNotExist | ErrorLimit | ErrorStripe | ErrorBasic;
package/dist/error.js DELETED
@@ -1,3 +0,0 @@
1
- export {};
2
- export {};
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEVycm9yVHlwZSA9XG4gIHwgXCJFcnJvclVwZ3JhZGVQbGFuXCJcbiAgfCBcIkVycm9yTm90Rm91bmRcIlxuICB8IFwiRXJyb3JOb3RFeGlzdFwiXG4gIHwgXCJFcnJvckFjY2Vzc0RlbmllZFwiXG4gIHwgXCJFcnJvckxhbmdOb3RFeGlzdFwiXG4gIHwgXCJFcnJvckxpbWl0XCJcbiAgfCBcIkVycm9yU3RyaXBlXCJcbiAgfCBcIkVycm9yQmFzaWNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFcnJvckJhc2Uge1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIF9fdHlwZW5hbWU6IEVycm9yVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvclVwZ3JhZGVQbGFuIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvclVwZ3JhZGVQbGFuXCI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JOb3RGb3VuZCBleHRlbmRzIEVycm9yQmFzZSB7XG4gIF9fdHlwZW5hbWU6IFwiRXJyb3JOb3RGb3VuZFwiO1xuICBmaWVsZD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvck5vdEV4aXN0IGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvck5vdEV4aXN0XCI7XG4gIGZpZWxkPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yQWNjZXNzRGVuaWVkIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvckFjY2Vzc0RlbmllZFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTGFuZ05vdEV4aXN0IGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvckxhbmdOb3RFeGlzdFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTGltaXQgZXh0ZW5kcyBFcnJvckJhc2Uge1xuICBfX3R5cGVuYW1lOiBcIkVycm9yTGltaXRcIjtcbiAgZmllbGQ/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JCYXNpYyBleHRlbmRzIEVycm9yQmFzZSB7XG4gIF9fdHlwZW5hbWU6IFwiRXJyb3JCYXNpY1wiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yU3RyaXBlIGV4dGVuZHMgRXJyb3JCYXNlIHtcbiAgX190eXBlbmFtZTogXCJFcnJvclN0cmlwZVwiO1xufVxuXG5leHBvcnQgdHlwZSBTZWNyZWN5RXJyb3IgPVxuICB8IEVycm9yVXBncmFkZVBsYW5cbiAgfCBFcnJvck5vdEZvdW5kXG4gIHwgRXJyb3JOb3RFeGlzdFxuICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gIHwgRXJyb3JMYW5nTm90RXhpc3RcbiAgfCBFcnJvckxpbWl0XG4gIHwgRXJyb3JTdHJpcGVcbiAgfCBFcnJvckJhc2ljO1xuIl0sIm1hcHBpbmdzIjoiIn0=
package/dist/index.d.ts DELETED
@@ -1,14 +0,0 @@
1
- export * from "./client/index.js";
2
- export * from "./crypto/index.js";
3
- export type { Progress } from "./crypto/file.js";
4
- export type { User, QueryLimits, DownloadProgress, UserData, MailLimitsValues, CloudLimits, SendReport, SuccessResponse } from "./BaseClient.js";
5
- export { BaseClient } from "./BaseClient.js";
6
- export type { Node, NodeFull, FileMetadata, SecrecyUserApp, BaseMail, ReceivedMail, SentMail, PublicUser, UserAppSettings, NodeSize, UserAppNotifications, MailFile, MailIntegrity, DraftMail, Mail, WaitingReceivedMail, MailRecipientInput } from "./client/types/index.js";
7
- export * from "./client/helpers.js";
8
- export * from "./sodium.js";
9
- export * from "./utils/store-buddy.js";
10
- export { Lang, FileContentType, MailType, PlanKind, Rights, PayInputType, UserRole, InfuraNetwork, SortByDate, Thunder } from "./zeus/index.js";
11
- export type { GraphQLTypes } from "./zeus/index.js";
12
- export * from "./error.js";
13
- export type { InputType } from "./zeus";
14
- export { Selector } from "./zeus";
package/dist/index.js DELETED
@@ -1,10 +0,0 @@
1
- export * from "./client/index.js";
2
- export * from "./crypto/index.js";
3
- export { BaseClient } from "./BaseClient.js";
4
- export * from "./client/helpers.js";
5
- export * from "./sodium.js";
6
- export * from "./utils/store-buddy.js";
7
- export { Lang, FileContentType, MailType, PlanKind, Rights, PayInputType, UserRole, InfuraNetwork, SortByDate, Thunder } from "./zeus/index.js";
8
- export * from "./error.js";
9
- export { Selector } from "./zeus";
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlQ2xpZW50IiwiTGFuZyIsIkZpbGVDb250ZW50VHlwZSIsIk1haWxUeXBlIiwiUGxhbktpbmQiLCJSaWdodHMiLCJQYXlJbnB1dFR5cGUiLCJVc2VyUm9sZSIsIkluZnVyYU5ldHdvcmsiLCJTb3J0QnlEYXRlIiwiVGh1bmRlciIsIlNlbGVjdG9yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2NsaWVudC9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY3J5cHRvL2luZGV4LmpzXCI7XG5leHBvcnQgdHlwZSB7IFByb2dyZXNzIH0gZnJvbSBcIi4vY3J5cHRvL2ZpbGUuanNcIjtcbmV4cG9ydCB0eXBlIHtcbiAgVXNlcixcbiAgUXVlcnlMaW1pdHMsXG4gIERvd25sb2FkUHJvZ3Jlc3MsXG4gIFVzZXJEYXRhLFxuICBNYWlsTGltaXRzVmFsdWVzLFxuICBDbG91ZExpbWl0cyxcbiAgU2VuZFJlcG9ydCxcbiAgU3VjY2Vzc1Jlc3BvbnNlXG59IGZyb20gXCIuL0Jhc2VDbGllbnQuanNcIjtcbmV4cG9ydCB7IEJhc2VDbGllbnQgfSBmcm9tIFwiLi9CYXNlQ2xpZW50LmpzXCI7XG5leHBvcnQgdHlwZSB7XG4gIE5vZGUsXG4gIE5vZGVGdWxsLFxuICBGaWxlTWV0YWRhdGEsXG4gIFNlY3JlY3lVc2VyQXBwLFxuICBCYXNlTWFpbCxcbiAgUmVjZWl2ZWRNYWlsLFxuICBTZW50TWFpbCxcbiAgUHVibGljVXNlcixcbiAgVXNlckFwcFNldHRpbmdzLFxuICBOb2RlU2l6ZSxcbiAgVXNlckFwcE5vdGlmaWNhdGlvbnMsXG4gIE1haWxGaWxlLFxuICBNYWlsSW50ZWdyaXR5LFxuICBEcmFmdE1haWwsXG4gIE1haWwsXG4gIFdhaXRpbmdSZWNlaXZlZE1haWwsXG4gIE1haWxSZWNpcGllbnRJbnB1dFxufSBmcm9tIFwiLi9jbGllbnQvdHlwZXMvaW5kZXguanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NsaWVudC9oZWxwZXJzLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zb2RpdW0uanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3V0aWxzL3N0b3JlLWJ1ZGR5LmpzXCI7XG5leHBvcnQge1xuICBMYW5nLFxuICBGaWxlQ29udGVudFR5cGUsXG4gIE1haWxUeXBlLFxuICBQbGFuS2luZCxcbiAgUmlnaHRzLFxuICBQYXlJbnB1dFR5cGUsXG4gIFVzZXJSb2xlLFxuICBJbmZ1cmFOZXR3b3JrLFxuICBTb3J0QnlEYXRlLFxuICBUaHVuZGVyXG59IGZyb20gXCIuL3pldXMvaW5kZXguanNcIjtcbmV4cG9ydCB0eXBlIHsgR3JhcGhRTFR5cGVzIH0gZnJvbSBcIi4vemV1cy9pbmRleC5qc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZXJyb3IuanNcIjtcbmV4cG9ydCB0eXBlIHsgSW5wdXRUeXBlIH0gZnJvbSBcIi4vemV1c1wiO1xuZXhwb3J0IHsgU2VsZWN0b3IgfSBmcm9tIFwiLi96ZXVzXCI7XG4iXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsbUJBQW1CO0FBWWpDLFNBQVNBLFVBQVUsUUFBUSxpQkFBaUI7QUFvQjVDLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsYUFBYTtBQUMzQixjQUFjLHdCQUF3QjtBQUN0QyxTQUNFQyxJQUFJLEVBQ0pDLGVBQWUsRUFDZkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxRQUFRLEVBQ1JDLGFBQWEsRUFDYkMsVUFBVSxFQUNWQyxPQUFPLFFBQ0YsaUJBQWlCO0FBRXhCLGNBQWMsWUFBWTtBQUUxQixTQUFTQyxRQUFRLFFBQVEsUUFBUSJ9
@@ -1,23 +0,0 @@
1
- import { calcUncompressedLen, compressBlockBound, compressBlockHC, uncompressBlock } from "./lz4.js";
2
- import { concatenate } from "../utils/utils.js";
3
- export function compress(data) {
4
- if (data.byteLength > 15_000_000) {
5
- return concatenate(new Uint8Array([0]), data);
6
- }
7
- const compressed = new Uint8Array(compressBlockBound(data.byteLength));
8
- const compressedSize = compressBlockHC(data, compressed, 0);
9
- if (compressedSize === 0) {
10
- return concatenate(new Uint8Array([0]), data);
11
- }
12
- return concatenate(new Uint8Array([1]), compressed.slice(0, compressedSize));
13
- }
14
- export function uncompress(data) {
15
- const realData = data.slice(1);
16
- if (data[0] === 0) {
17
- return realData;
18
- }
19
- const dst = new Uint8Array(calcUncompressedLen(realData));
20
- const uncompressedSize = uncompressBlock(realData, dst);
21
- return dst.slice(0, uncompressedSize);
22
- }
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYWxjVW5jb21wcmVzc2VkTGVuIiwiY29tcHJlc3NCbG9ja0JvdW5kIiwiY29tcHJlc3NCbG9ja0hDIiwidW5jb21wcmVzc0Jsb2NrIiwiY29uY2F0ZW5hdGUiLCJjb21wcmVzcyIsImRhdGEiLCJieXRlTGVuZ3RoIiwiVWludDhBcnJheSIsImNvbXByZXNzZWQiLCJjb21wcmVzc2VkU2l6ZSIsInNsaWNlIiwidW5jb21wcmVzcyIsInJlYWxEYXRhIiwiZHN0IiwidW5jb21wcmVzc2VkU2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taW5pZnkvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2FsY1VuY29tcHJlc3NlZExlbixcbiAgY29tcHJlc3NCbG9ja0JvdW5kLFxuICBjb21wcmVzc0Jsb2NrSEMsXG4gIHVuY29tcHJlc3NCbG9ja1xufSBmcm9tIFwiLi9sejQuanNcIjtcbmltcG9ydCB7IGNvbmNhdGVuYXRlIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wcmVzcyhkYXRhOiBVaW50OEFycmF5KTogVWludDhBcnJheSB7XG4gIGlmIChkYXRhLmJ5dGVMZW5ndGggPiAxNV8wMDBfMDAwKSB7XG4gICAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFswXSksIGRhdGEpO1xuICB9XG4gIGNvbnN0IGNvbXByZXNzZWQgPSBuZXcgVWludDhBcnJheShjb21wcmVzc0Jsb2NrQm91bmQoZGF0YS5ieXRlTGVuZ3RoKSk7XG4gIGNvbnN0IGNvbXByZXNzZWRTaXplID0gY29tcHJlc3NCbG9ja0hDKGRhdGEsIGNvbXByZXNzZWQsIDApO1xuICBpZiAoY29tcHJlc3NlZFNpemUgPT09IDApIHtcbiAgICByZXR1cm4gY29uY2F0ZW5hdGUobmV3IFVpbnQ4QXJyYXkoWzBdKSwgZGF0YSk7XG4gIH1cbiAgcmV0dXJuIGNvbmNhdGVuYXRlKG5ldyBVaW50OEFycmF5KFsxXSksIGNvbXByZXNzZWQuc2xpY2UoMCwgY29tcHJlc3NlZFNpemUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuY29tcHJlc3MoZGF0YTogVWludDhBcnJheSk6IFVpbnQ4QXJyYXkge1xuICBjb25zdCByZWFsRGF0YSA9IGRhdGEuc2xpY2UoMSk7XG4gIGlmIChkYXRhWzBdID09PSAwKSB7XG4gICAgcmV0dXJuIHJlYWxEYXRhO1xuICB9XG4gIGNvbnN0IGRzdCA9IG5ldyBVaW50OEFycmF5KGNhbGNVbmNvbXByZXNzZWRMZW4ocmVhbERhdGEpKTtcbiAgY29uc3QgdW5jb21wcmVzc2VkU2l6ZSA9IHVuY29tcHJlc3NCbG9jayhyZWFsRGF0YSwgZHN0KTtcbiAgcmV0dXJuIGRzdC5zbGljZSgwLCB1bmNvbXByZXNzZWRTaXplKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRUEsbUJBQW1CLEVBQ25CQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsZUFBZSxRQUNWLFVBQVU7QUFDakIsU0FBU0MsV0FBVyxRQUFRLG1CQUFtQjtBQUUvQyxPQUFPLFNBQVNDLFFBQVEsQ0FBQ0MsSUFBZ0IsRUFBYztFQUNyRCxJQUFJQSxJQUFJLENBQUNDLFVBQVUsR0FBRyxVQUFVLEVBQUU7SUFDaEMsT0FBT0gsV0FBVyxDQUFDLElBQUlJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVGLElBQUksQ0FBQztFQUMvQztFQUNBLE1BQU1HLFVBQVUsR0FBRyxJQUFJRCxVQUFVLENBQUNQLGtCQUFrQixDQUFDSyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxDQUFDO0VBQ3RFLE1BQU1HLGNBQWMsR0FBR1IsZUFBZSxDQUFDSSxJQUFJLEVBQUVHLFVBQVUsRUFBRSxDQUFDLENBQUM7RUFDM0QsSUFBSUMsY0FBYyxLQUFLLENBQUMsRUFBRTtJQUN4QixPQUFPTixXQUFXLENBQUMsSUFBSUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUYsSUFBSSxDQUFDO0VBQy9DO0VBQ0EsT0FBT0YsV0FBVyxDQUFDLElBQUlJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVDLFVBQVUsQ0FBQ0UsS0FBSyxDQUFDLENBQUMsRUFBRUQsY0FBYyxDQUFDLENBQUM7QUFDOUU7QUFFQSxPQUFPLFNBQVNFLFVBQVUsQ0FBQ04sSUFBZ0IsRUFBYztFQUN2RCxNQUFNTyxRQUFRLEdBQUdQLElBQUksQ0FBQ0ssS0FBSyxDQUFDLENBQUMsQ0FBQztFQUM5QixJQUFJTCxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFO0lBQ2pCLE9BQU9PLFFBQVE7RUFDakI7RUFDQSxNQUFNQyxHQUFHLEdBQUcsSUFBSU4sVUFBVSxDQUFDUixtQkFBbUIsQ0FBQ2EsUUFBUSxDQUFDLENBQUM7RUFDekQsTUFBTUUsZ0JBQWdCLEdBQUdaLGVBQWUsQ0FBQ1UsUUFBUSxFQUFFQyxHQUFHLENBQUM7RUFDdkQsT0FBT0EsR0FBRyxDQUFDSCxLQUFLLENBQUMsQ0FBQyxFQUFFSSxnQkFBZ0IsQ0FBQztBQUN2QyJ9
@@ -1,5 +0,0 @@
1
- export declare function calcUncompressedLen(src: Uint8Array): number;
2
- export declare function uncompressBlock(src: Uint8Array, dest: Uint8Array): number;
3
- export declare function compressBlockBound(n: number): number;
4
- export declare function compressBlock(src: Uint8Array, dest: Uint8Array, soffset: number): number;
5
- export declare function compressBlockHC(src: Uint8Array, dest: Uint8Array, soffset: number): number;