@secrecy/lib 1.0.0-dev.68 → 1.0.0-dev.69

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 (196) hide show
  1. package/dist/index.cjs +257 -2
  2. package/dist/index.d.ts +5016 -18
  3. package/dist/index.js +257 -2
  4. package/package.json +4 -4
  5. package/dist/BaseClient-e5e97df7.d.ts +0 -351
  6. package/dist/BaseClient.cjs +0 -2
  7. package/dist/BaseClient.cjs.map +0 -1
  8. package/dist/BaseClient.d.ts +0 -16
  9. package/dist/BaseClient.js +0 -2
  10. package/dist/BaseClient.js.map +0 -1
  11. package/dist/PopupTools.cjs +0 -2
  12. package/dist/PopupTools.cjs.map +0 -1
  13. package/dist/PopupTools.d.ts +0 -18
  14. package/dist/PopupTools.js +0 -2
  15. package/dist/PopupTools.js.map +0 -1
  16. package/dist/ZeusThunder.cjs +0 -2
  17. package/dist/ZeusThunder.cjs.map +0 -1
  18. package/dist/ZeusThunder.d.ts +0 -6
  19. package/dist/ZeusThunder.js +0 -2
  20. package/dist/ZeusThunder.js.map +0 -1
  21. package/dist/cache.cjs +0 -2
  22. package/dist/cache.cjs.map +0 -1
  23. package/dist/cache.d.ts +0 -24
  24. package/dist/cache.js +0 -2
  25. package/dist/cache.js.map +0 -1
  26. package/dist/chunk-UPFDSEKI.js +0 -2
  27. package/dist/chunk-UPFDSEKI.js.map +0 -1
  28. package/dist/chunk-XDPEU3HV.cjs +0 -2
  29. package/dist/chunk-XDPEU3HV.cjs.map +0 -1
  30. package/dist/client/SecrecyAppClient.cjs +0 -2
  31. package/dist/client/SecrecyAppClient.cjs.map +0 -1
  32. package/dist/client/SecrecyAppClient.d.ts +0 -16
  33. package/dist/client/SecrecyAppClient.js +0 -2
  34. package/dist/client/SecrecyAppClient.js.map +0 -1
  35. package/dist/client/SecrecyCloudClient.cjs +0 -2
  36. package/dist/client/SecrecyCloudClient.cjs.map +0 -1
  37. package/dist/client/SecrecyCloudClient.d.ts +0 -16
  38. package/dist/client/SecrecyCloudClient.js +0 -2
  39. package/dist/client/SecrecyCloudClient.js.map +0 -1
  40. package/dist/client/SecrecyDbClient.cjs +0 -2
  41. package/dist/client/SecrecyDbClient.cjs.map +0 -1
  42. package/dist/client/SecrecyDbClient.d.ts +0 -16
  43. package/dist/client/SecrecyDbClient.js +0 -2
  44. package/dist/client/SecrecyDbClient.js.map +0 -1
  45. package/dist/client/SecrecyMailClient.cjs +0 -2
  46. package/dist/client/SecrecyMailClient.cjs.map +0 -1
  47. package/dist/client/SecrecyMailClient.d.ts +0 -16
  48. package/dist/client/SecrecyMailClient.js +0 -2
  49. package/dist/client/SecrecyMailClient.js.map +0 -1
  50. package/dist/client/SecrecyPayClient.cjs +0 -2
  51. package/dist/client/SecrecyPayClient.cjs.map +0 -1
  52. package/dist/client/SecrecyPayClient.d.ts +0 -16
  53. package/dist/client/SecrecyPayClient.js +0 -2
  54. package/dist/client/SecrecyPayClient.js.map +0 -1
  55. package/dist/client/SecrecyWalletClient.cjs +0 -2
  56. package/dist/client/SecrecyWalletClient.cjs.map +0 -1
  57. package/dist/client/SecrecyWalletClient.d.ts +0 -16
  58. package/dist/client/SecrecyWalletClient.js +0 -2
  59. package/dist/client/SecrecyWalletClient.js.map +0 -1
  60. package/dist/client/convert/file.cjs +0 -2
  61. package/dist/client/convert/file.cjs.map +0 -1
  62. package/dist/client/convert/file.d.ts +0 -11
  63. package/dist/client/convert/file.js +0 -2
  64. package/dist/client/convert/file.js.map +0 -1
  65. package/dist/client/convert/mail.cjs +0 -2
  66. package/dist/client/convert/mail.cjs.map +0 -1
  67. package/dist/client/convert/mail.d.ts +0 -13
  68. package/dist/client/convert/mail.js +0 -2
  69. package/dist/client/convert/mail.js.map +0 -1
  70. package/dist/client/convert/node.cjs +0 -2
  71. package/dist/client/convert/node.cjs.map +0 -1
  72. package/dist/client/convert/node.d.ts +0 -18
  73. package/dist/client/convert/node.js +0 -2
  74. package/dist/client/convert/node.js.map +0 -1
  75. package/dist/client/helpers.cjs +0 -2
  76. package/dist/client/helpers.cjs.map +0 -1
  77. package/dist/client/helpers.d.ts +0 -16
  78. package/dist/client/helpers.js +0 -2
  79. package/dist/client/helpers.js.map +0 -1
  80. package/dist/client/index.cjs +0 -2
  81. package/dist/client/index.cjs.map +0 -1
  82. package/dist/client/index.d.ts +0 -16
  83. package/dist/client/index.js +0 -2
  84. package/dist/client/index.js.map +0 -1
  85. package/dist/client/storage.cjs +0 -2
  86. package/dist/client/storage.cjs.map +0 -1
  87. package/dist/client/storage.d.ts +0 -10
  88. package/dist/client/storage.js +0 -2
  89. package/dist/client/storage.js.map +0 -1
  90. package/dist/client/types/File.cjs +0 -1
  91. package/dist/client/types/File.cjs.map +0 -1
  92. package/dist/client/types/File.d.ts +0 -18
  93. package/dist/client/types/File.js +0 -1
  94. package/dist/client/types/File.js.map +0 -1
  95. package/dist/client/types/Inputs.cjs +0 -1
  96. package/dist/client/types/Inputs.cjs.map +0 -1
  97. package/dist/client/types/Inputs.d.ts +0 -18
  98. package/dist/client/types/Inputs.js +0 -1
  99. package/dist/client/types/Inputs.js.map +0 -1
  100. package/dist/client/types/Node.cjs +0 -1
  101. package/dist/client/types/Node.cjs.map +0 -1
  102. package/dist/client/types/Node.d.ts +0 -9
  103. package/dist/client/types/Node.js +0 -1
  104. package/dist/client/types/Node.js.map +0 -1
  105. package/dist/client/types/UserAppNotifications.cjs +0 -1
  106. package/dist/client/types/UserAppNotifications.cjs.map +0 -1
  107. package/dist/client/types/UserAppNotifications.d.ts +0 -8
  108. package/dist/client/types/UserAppNotifications.js +0 -1
  109. package/dist/client/types/UserAppNotifications.js.map +0 -1
  110. package/dist/client/types/UserAppSettings.cjs +0 -1
  111. package/dist/client/types/UserAppSettings.cjs.map +0 -1
  112. package/dist/client/types/UserAppSettings.d.ts +0 -7
  113. package/dist/client/types/UserAppSettings.js +0 -1
  114. package/dist/client/types/UserAppSettings.js.map +0 -1
  115. package/dist/client/types/index.cjs +0 -2
  116. package/dist/client/types/index.cjs.map +0 -1
  117. package/dist/client/types/index.d.ts +0 -176
  118. package/dist/client/types/index.js +0 -2
  119. package/dist/client/types/index.js.map +0 -1
  120. package/dist/client/types/selectors.cjs +0 -2
  121. package/dist/client/types/selectors.cjs.map +0 -1
  122. package/dist/client/types/selectors.d.ts +0 -402
  123. package/dist/client/types/selectors.js +0 -2
  124. package/dist/client/types/selectors.js.map +0 -1
  125. package/dist/crypto/file.cjs +0 -2
  126. package/dist/crypto/file.cjs.map +0 -1
  127. package/dist/crypto/file.d.ts +0 -16
  128. package/dist/crypto/file.js +0 -2
  129. package/dist/crypto/file.js.map +0 -1
  130. package/dist/crypto/index.cjs +0 -2
  131. package/dist/crypto/index.cjs.map +0 -1
  132. package/dist/crypto/index.d.ts +0 -14
  133. package/dist/crypto/index.js +0 -2
  134. package/dist/crypto/index.js.map +0 -1
  135. package/dist/error.cjs +0 -1
  136. package/dist/error.cjs.map +0 -1
  137. package/dist/error.d.ts +0 -35
  138. package/dist/error.js +0 -1
  139. package/dist/error.js.map +0 -1
  140. package/dist/index.cjs.map +0 -1
  141. package/dist/index.js.map +0 -1
  142. package/dist/minify/index.cjs +0 -2
  143. package/dist/minify/index.cjs.map +0 -1
  144. package/dist/minify/index.d.ts +0 -4
  145. package/dist/minify/index.js +0 -2
  146. package/dist/minify/index.js.map +0 -1
  147. package/dist/minify/lz4.cjs +0 -3
  148. package/dist/minify/lz4.cjs.map +0 -1
  149. package/dist/minify/lz4.d.ts +0 -7
  150. package/dist/minify/lz4.js +0 -3
  151. package/dist/minify/lz4.js.map +0 -1
  152. package/dist/sodium.cjs +0 -2
  153. package/dist/sodium.cjs.map +0 -1
  154. package/dist/sodium.d.ts +0 -5
  155. package/dist/sodium.js +0 -2
  156. package/dist/sodium.js.map +0 -1
  157. package/dist/utils/store-buddy.cjs +0 -2
  158. package/dist/utils/store-buddy.cjs.map +0 -1
  159. package/dist/utils/store-buddy.d.ts +0 -15
  160. package/dist/utils/store-buddy.js +0 -2
  161. package/dist/utils/store-buddy.js.map +0 -1
  162. package/dist/utils/time.cjs +0 -2
  163. package/dist/utils/time.cjs.map +0 -1
  164. package/dist/utils/time.d.ts +0 -12
  165. package/dist/utils/time.js +0 -2
  166. package/dist/utils/time.js.map +0 -1
  167. package/dist/utils/utils.cjs +0 -2
  168. package/dist/utils/utils.cjs.map +0 -1
  169. package/dist/utils/utils.d.ts +0 -6
  170. package/dist/utils/utils.js +0 -2
  171. package/dist/utils/utils.js.map +0 -1
  172. package/dist/worker/md5.cjs +0 -2
  173. package/dist/worker/md5.cjs.map +0 -1
  174. package/dist/worker/md5.d.ts +0 -3
  175. package/dist/worker/md5.js +0 -2
  176. package/dist/worker/md5.js.map +0 -1
  177. package/dist/worker/sodium.cjs +0 -2
  178. package/dist/worker/sodium.cjs.map +0 -1
  179. package/dist/worker/sodium.d.ts +0 -6
  180. package/dist/worker/sodium.js +0 -2
  181. package/dist/worker/sodium.js.map +0 -1
  182. package/dist/worker/workerCodes.cjs +0 -254
  183. package/dist/worker/workerCodes.cjs.map +0 -1
  184. package/dist/worker/workerCodes.d.ts +0 -4
  185. package/dist/worker/workerCodes.js +0 -254
  186. package/dist/worker/workerCodes.js.map +0 -1
  187. package/dist/zeus/const.cjs +0 -2
  188. package/dist/zeus/const.cjs.map +0 -1
  189. package/dist/zeus/const.d.ts +0 -9
  190. package/dist/zeus/const.js +0 -2
  191. package/dist/zeus/const.js.map +0 -1
  192. package/dist/zeus/index.cjs +0 -5
  193. package/dist/zeus/index.cjs.map +0 -1
  194. package/dist/zeus/index.d.ts +0 -8218
  195. package/dist/zeus/index.js +0 -5
  196. package/dist/zeus/index.js.map +0 -1
@@ -1,351 +0,0 @@
1
- import { DownloadProgress as DownloadProgress$1 } from 'ky';
2
- import { Thunder, NodeType, Rights, MailType, InfuraNetwork, UserRole, Lang } from './zeus/index.js';
3
- import { ErrorAccessDenied, ErrorNotExist, ErrorLimit, ErrorNotFound, ErrorBasic } from './error.js';
4
- import { Progress } from './crypto/file.js';
5
- import { KeyPair } from './crypto/index.js';
6
- import { FileMetadata } from './client/types/File.js';
7
- import { Node, NodeFull, Mail, WaitingReceivedMail, DraftMail, ReceivedMail, SentMail, SecrecyUserApp } from './client/types/index.js';
8
- import { UserAppSettings } from './client/types/UserAppSettings.js';
9
- import { UserAppNotifications } from './client/types/UserAppNotifications.js';
10
- import { JwtPayload } from 'jsonwebtoken';
11
- import { Document } from 'bson';
12
- import { providers } from 'ethers';
13
-
14
- declare class SecrecyCloudClient {
15
- #private;
16
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
17
- addFileToHistory({ fileId, nodeId }: {
18
- fileId: string;
19
- nodeId: string;
20
- }): Promise<SuccessResponse<Node> | ErrorAccessDenied | ErrorNotExist | null>;
21
- uploadFile({ file, encryptProgress, uploadProgress, signal }: {
22
- file: globalThis.File | Uint8Array;
23
- encryptProgress?: ProgressCallback;
24
- uploadProgress?: ProgressCallback;
25
- signal?: AbortSignal;
26
- }): Promise<SuccessResponse<string> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | null>;
27
- uploadFileInCloud({ file, name, nodeId, encryptProgress, uploadProgress, signal }: {
28
- file: globalThis.File | Uint8Array;
29
- name: string;
30
- nodeId?: string;
31
- encryptProgress?: ProgressCallback;
32
- uploadProgress?: ProgressCallback;
33
- signal?: AbortSignal;
34
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | ErrorBasic | ErrorNotExist | null>;
35
- deletedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
36
- sharedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
37
- nodesSharedWithMe(type?: NodeType | null | undefined): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
38
- deleteNodeSharing({ nodeId, userId }: {
39
- nodeId: string;
40
- userId: string;
41
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
42
- duplicateNode({ nodeId, folderId, customName }: {
43
- nodeId: string;
44
- folderId?: string | null | undefined;
45
- customName?: string | null | undefined;
46
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
47
- deleteNodeCloudTrash({ ids }: {
48
- ids: Array<string>;
49
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
50
- createFolder({ name, parentFolderId }: {
51
- name: string;
52
- parentFolderId?: string | null;
53
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
54
- node({ id, deleted }?: {
55
- id?: string | null | undefined;
56
- deleted?: boolean | null | undefined;
57
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | null>;
58
- fileMetadata({ id }: {
59
- id: string;
60
- }): Promise<SuccessResponse<FileMetadata> | ErrorAccessDenied | null>;
61
- shareNode({ nodeId, userId, rights }: {
62
- nodeId: string;
63
- userId: string;
64
- rights: Rights;
65
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
66
- updateNode({ nodeId, name, isFavorite, deletedAt }: {
67
- nodeId: string;
68
- name?: string | null | undefined;
69
- isFavorite?: boolean | null | undefined;
70
- deletedAt?: Date | null | undefined;
71
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
72
- fileContent({ fileId, onDownloadProgress, progressDecrypt, signal }: {
73
- fileId: string;
74
- onDownloadProgress?: (progress: DownloadProgress) => void;
75
- progressDecrypt?: ProgressCallback;
76
- signal?: AbortSignal;
77
- }): Promise<SuccessResponse<Uint8Array> | ErrorAccessDenied | ErrorBasic | null>;
78
- deleteFile({ fileId, nodeId }: {
79
- fileId: string;
80
- nodeId: string;
81
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
82
- deleteNode({ nodeId }: {
83
- nodeId: string;
84
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
85
- emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
86
- recoverNode(id: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
87
- moveNodes({ nodeIds, parentNodeId }: {
88
- nodeIds: string[];
89
- parentNodeId?: string | null | undefined;
90
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
91
- saveInCloud({ fileId, name, nodeId }: {
92
- fileId: string;
93
- name: string;
94
- nodeId?: string;
95
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorBasic | ErrorLimit | ErrorNotFound | ErrorNotExist | null>;
96
- private perNode;
97
- }
98
-
99
- declare class SecrecyMailClient {
100
- #private;
101
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
102
- get({ id }: {
103
- id: string;
104
- }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null>;
105
- recover({ mailId }: {
106
- mailId: string;
107
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
108
- deletedMails({ mailType }: {
109
- mailType: MailType;
110
- }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
111
- create(data: NewMail, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null>;
112
- waitingReceivedMails(): Promise<SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null>;
113
- updateDraft(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<SuccessResponse<DraftMail> | ErrorNotFound | ErrorAccessDenied | ErrorBasic | null>;
114
- deleteDraft(draftId: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
115
- deleteTrash({ ids }: {
116
- ids: Array<string>;
117
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
118
- emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
119
- delete({ mailId }: {
120
- mailId: string;
121
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
122
- sendDraft(draftId: string, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
123
- sendWaitingEmails(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
124
- createDraft({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null>;
125
- read({ mailId }: {
126
- mailId: string;
127
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
128
- unread({ mailId }: {
129
- mailId: string;
130
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
131
- receivedMails(): Promise<SuccessResponse<ReceivedMail[]> | ErrorNotFound | null>;
132
- sentMails(): Promise<SuccessResponse<SentMail[]> | ErrorNotFound | null>;
133
- draftMails(): Promise<SuccessResponse<DraftMail[]> | ErrorNotFound | null>;
134
- unreadReceivedMailsCount(): Promise<SuccessResponse<number> | ErrorAccessDenied | null>;
135
- private _eachUser;
136
- }
137
-
138
- declare class SecrecyAppClient {
139
- #private;
140
- jwt: string;
141
- jwtDecoded: JwtPayload;
142
- constructor(uaJwt: string, _client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
143
- get userId(): string;
144
- getJwt(): Promise<string>;
145
- updateNotifications(notifications: Partial<UserAppNotifications>): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null>;
146
- notifications(): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | ErrorNotFound | null>;
147
- settings(): Promise<SuccessResponse<UserAppSettings> | ErrorNotFound | null>;
148
- updateSettings(settings: Partial<UserAppSettings>): Promise<SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null>;
149
- }
150
-
151
- declare class SecrecyDbClient {
152
- #private;
153
- constructor(_client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
154
- get<U>({ field, userId }: {
155
- field: string;
156
- userId?: string | null | undefined;
157
- }): Promise<SuccessResponse<U> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
158
- set<T extends UserData, U extends Document>({ value, userId }: {
159
- value: U;
160
- userId?: string | null | undefined;
161
- }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorNotFound | null>;
162
- search<T>({ search, field }: {
163
- field: string;
164
- search: string;
165
- }): Promise<SuccessResponse<T[]> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
166
- }
167
-
168
- declare type SuccessWalletResponse<T> = {
169
- success: true;
170
- data: T;
171
- };
172
- declare type ErrorWalletResponse = {
173
- success: false;
174
- error: string;
175
- };
176
- declare type SecrecyWalletResponse<T> = SuccessWalletResponse<T> | ErrorWalletResponse;
177
- declare class SecrecyWalletClient {
178
- #private;
179
- constructor(client: SecrecyClient);
180
- createTransaction({ env, network, tx }: {
181
- env?: SecrecyEnv;
182
- network?: InfuraNetwork;
183
- tx: providers.TransactionRequest;
184
- }): Promise<SecrecyWalletResponse<{
185
- id: string;
186
- hash: string;
187
- }>>;
188
- createSignature({ env, network, message }: {
189
- env?: SecrecyEnv;
190
- network?: InfuraNetwork;
191
- message: string;
192
- }): Promise<SecrecyWalletResponse<string>>;
193
- }
194
-
195
- declare class SecrecyPayClient {
196
- #private;
197
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
198
- }
199
-
200
- declare type NewMail = {
201
- body: string;
202
- subject: string;
203
- files: {
204
- id: string;
205
- name: string;
206
- }[];
207
- recipientsIds: string[];
208
- replyTo?: string | null | undefined;
209
- };
210
- declare type ProgressCallback = (progress: Progress) => Promise<void>;
211
- declare const encryptName: (name: string, nameKey: string) => Promise<string>;
212
- declare class SecrecyClient extends BaseClient {
213
- #private;
214
- cloud: SecrecyCloudClient;
215
- mail: SecrecyMailClient;
216
- app: SecrecyAppClient;
217
- db: SecrecyDbClient;
218
- wallet: SecrecyWalletClient;
219
- pay: SecrecyPayClient;
220
- constructor(uaSession: string, uaKeys: KeyPair, uaJwt: string, env: SecrecyEnv);
221
- get publicKey(): string;
222
- logout(sessionId?: string | null | undefined): Promise<void>;
223
- }
224
-
225
- declare function parseInfos(): SecrecyUserApp | null;
226
- declare const getUrl: ({ env, hash, path }: {
227
- env: string;
228
- hash: string;
229
- path: string;
230
- }) => string;
231
- declare type HashInfos = {
232
- appUrl: string;
233
- backPath?: string;
234
- appCode?: string | null | undefined;
235
- path?: string | null | undefined;
236
- redirect?: boolean;
237
- scopes?: {
238
- email: boolean;
239
- };
240
- };
241
- declare type SecrecyEnv = "dev" | "prod";
242
- declare type UseSecrecyParams = Omit<HashInfos, "appUrl"> & {
243
- env: SecrecyEnv;
244
- session?: boolean | undefined;
245
- };
246
- declare type Value<T extends UseSecrecyParams> = T extends {
247
- redirect: true;
248
- } ? SecrecyClient | null : SecrecyClient;
249
- declare function getSecrecyClient(env: SecrecyEnv, session?: boolean | undefined): SecrecyClient | null;
250
- declare function login<T extends UseSecrecyParams>({ appCode, path, redirect, scopes, backPath, env, session }?: T): Promise<Value<T>>;
251
-
252
- declare type SuccessResponse<T> = {
253
- __typename: "SuccessResponse";
254
- data: T;
255
- };
256
- declare type DownloadProgress = DownloadProgress$1;
257
- declare type SendReport = {
258
- id: string;
259
- user: {
260
- id: string;
261
- firstname: string;
262
- lastname: string;
263
- email: string;
264
- };
265
- reportedUser: {
266
- id: string;
267
- firstname: string;
268
- lastname: string;
269
- email: string;
270
- };
271
- customMessage?: string | undefined;
272
- };
273
- declare type UserData<T extends Record<string, unknown> = Record<string, unknown>> = {
274
- isSuperuser: boolean;
275
- isSearchable: boolean;
276
- } & T;
277
- declare type UserBase = {
278
- email: string;
279
- phone: string;
280
- lastname: string;
281
- role: UserRole;
282
- firstname: string;
283
- id: string;
284
- deletedAt?: Date;
285
- lastLogin: Date;
286
- lang: Lang;
287
- };
288
- declare type WithPublicKey = {
289
- withPublicKey?: boolean;
290
- };
291
- declare type User<T extends WithPublicKey = WithPublicKey> = T extends {
292
- withPublicKey: true;
293
- } ? UserBase & {
294
- publicKey: string;
295
- } : UserBase;
296
- declare type ClassGetUserParams = WithPublicKey & {
297
- userId?: string;
298
- userEmail?: string;
299
- };
300
- declare type StaticGetUserParams = ClassGetUserParams & {
301
- env: SecrecyEnv;
302
- };
303
- declare type CloudLimits = {
304
- count: bigint;
305
- maxCount?: bigint | undefined;
306
- size: bigint;
307
- maxSize?: bigint | undefined;
308
- };
309
- declare type MailLimitsValues = {
310
- count: bigint;
311
- maxCount?: bigint | undefined;
312
- fileSize: bigint;
313
- maxFileSize?: bigint | undefined;
314
- fileCount: bigint;
315
- maxFileCount?: bigint | undefined;
316
- };
317
- declare type QueryLimits = {
318
- cloud: CloudLimits;
319
- mail: {
320
- sent: MailLimitsValues;
321
- received: MailLimitsValues;
322
- };
323
- };
324
- declare class BaseClient {
325
- static readonly getBaseUrl: (env?: SecrecyEnv, graphcdn?: boolean) => string;
326
- static readonly getBaseClient: (env: SecrecyEnv, session?: string | null | undefined) => ReturnType<typeof Thunder>;
327
- protected thunder: ReturnType<typeof Thunder>;
328
- sessionId: string;
329
- constructor(session: string, env: SecrecyEnv);
330
- logout(sessionId?: string | null | undefined): Promise<void>;
331
- me<T extends WithPublicKey = WithPublicKey>(params?: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
332
- static user<T extends StaticGetUserParams>(params: T, sessionId?: string | null | undefined): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
333
- user<T extends ClassGetUserParams>(params: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
334
- updateProfile({ firstname, lastname, lang }: {
335
- firstname: string | null;
336
- lastname: string | null;
337
- lang: Lang | null;
338
- }): Promise<SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null>;
339
- static isCryptoTransactionDone({ env, idOrHash, network }: {
340
- env: SecrecyEnv;
341
- idOrHash: string;
342
- network?: InfuraNetwork;
343
- }): Promise<boolean>;
344
- limits(): Promise<SuccessResponse<QueryLimits> | ErrorAccessDenied | ErrorNotExist | ErrorLimit | ErrorNotFound | null>;
345
- reportUser(reportedUserId: string, customMessage?: string): Promise<SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null>;
346
- getSponsorshipLink({ backUrl }: {
347
- backUrl: string;
348
- }): Promise<string | null>;
349
- }
350
-
351
- export { BaseClient as B, CloudLimits as C, DownloadProgress as D, HashInfos as H, MailLimitsValues as M, NewMail as N, ProgressCallback as P, QueryLimits as Q, SendReport as S, UserBase as U, Value as V, User as a, UserData as b, SuccessResponse as c, SecrecyClient as d, encryptName as e, SecrecyEnv as f, getUrl as g, UseSecrecyParams as h, getSecrecyClient as i, SecrecyCloudClient as j, SecrecyMailClient as k, login as l, SecrecyAppClient as m, SecrecyDbClient as n, SecrecyWalletResponse as o, parseInfos as p, SecrecyWalletClient as q, SecrecyPayClient as r };
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');var _libutils = require('@secrecy/lib-utils');var _cachejs = require('./cache.js');var _storagejs = require('./client/storage.js');var _indexjs = require('./zeus/index.js');var _ZeusThunderjs = require('./ZeusThunder.js');const E=(u,r)=>{const{user:e}=_indexjs.Selector.call(void 0, "Query")({user:[{userId:u},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};function m(u){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var t;const r=E((t=u.userId)!=null?t:u.userEmail,u.withPublicKey),{user:e}=yield u.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null})}const l=class{constructor(r,e){_chunkXDPEU3HVcjs.c.call(void 0, this,"thunder");_chunkXDPEU3HVcjs.c.call(void 0, this,"sessionId");this.sessionId=r,this.thunder=l.getBaseClient(e,r)}logout(r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){if(!r){const e=_storagejs.getStorage.call(void 0, !1),t=_storagejs.getStorage.call(void 0, !0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),_cachejs.usersCache.clear()}try{yield this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}})}me(r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){return this.user(r||{withPublicKey:!0})})}static user(r,e){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var n;const t=yield m({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&_cachejs.usersCache.set(t.data.id,t.data),t):null})}user(r){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){var t;const e=yield m({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&_cachejs.usersCache.set(e.data.id,e.data),e):null})}updateProfile(n){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({firstname:r,lastname:e,lang:t}){const{updateProfile:s}=yield this.thunder("mutation",{scalars:{Json:{encode:i=>JSON.stringify(i),decode:i=>JSON.parse(i)},DateTime:{decode:i=>new Date(i),encode:i=>i.toISOString()},BigInt:{decode:i=>BigInt(i),encode:i=>i.toString()}}})({updateProfile:[{firstname:r,lastname:e,lang:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return s?s.__typename==="ErrorAccessDenied"||s.__typename==="ErrorNotFound"?s:s.updateProfile?{__typename:"SuccessResponse",data:s.updateProfile}:null:null})}static isCryptoTransactionDone(n){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({env:r,idOrHash:e,network:t=_indexjs.InfuraNetwork.mainnet}){const{isCryptoTransactionDone:s}=yield l.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return s&&s.__typename==="IsCryptoTransactionDoneResponse"?s.done:!1})}limits(){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{limits:r}=yield this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null})}reportUser(r,e){return _chunkXDPEU3HVcjs.h.call(void 0, this,null,function*(){const{sendReport:t}=yield this.thunder("mutation")({sendReport:[{reportedUserId:r,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null})}getSponsorshipLink(e){return _chunkXDPEU3HVcjs.h.call(void 0, this,arguments,function*({backUrl:r}){const t=yield this.me({withPublicKey:!1});return!t||t.__typename==="ErrorNotFound"?null:_libutils.getLink.call(void 0, {app:"auth",path:`/sign-up?gf=${btoa(t.data.email)}&au=${btoa(r)}`})})}};let c=l;_chunkXDPEU3HVcjs.c.call(void 0, c,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),_chunkXDPEU3HVcjs.c.call(void 0, c,"getBaseClient",(r,e)=>_ZeusThunderjs.createThunder.call(void 0, l.getBaseUrl(r),e));exports.BaseClient = c;
2
- //# sourceMappingURL=BaseClient.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/BaseClient.ts"],"names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","__async","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","_0","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = await this.thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorAccessDenied\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n limits: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorAccessDenied\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n}\n"]}
@@ -1,16 +0,0 @@
1
- import 'ky';
2
- export { B as BaseClient, C as CloudLimits, D as DownloadProgress, M as MailLimitsValues, Q as QueryLimits, S as SendReport, c as SuccessResponse, a as User, U as UserBase, b as UserData } from './BaseClient-e5e97df7.js';
3
- import './zeus/index.js';
4
- import './error.js';
5
- import './crypto/file.js';
6
- import './crypto/index.js';
7
- import './client/types/File.js';
8
- import './client/types/selectors.js';
9
- import './zeus/const.js';
10
- import './client/types/index.js';
11
- import './client/types/UserAppSettings.js';
12
- import './client/types/UserAppNotifications.js';
13
- import './client/types/Inputs.js';
14
- import 'jsonwebtoken';
15
- import 'bson';
16
- import 'ethers';
@@ -1,2 +0,0 @@
1
- import{c as a,h as o}from"./chunk-UPFDSEKI.js";import{getLink as g}from"@secrecy/lib-utils";import{usersCache as d}from"./cache.js";import{getStorage as p}from"./client/storage.js";import{InfuraNetwork as y}from"./zeus/index.js";import{Selector as f}from"./zeus/index.js";import{createThunder as _}from"./ZeusThunder.js";const E=(u,r)=>{const{user:e}=f("Query")({user:[{userId:u},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};function m(u){return o(this,null,function*(){var t;const r=E((t=u.userId)!=null?t:u.userEmail,u.withPublicKey),{user:e}=yield u.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null})}const l=class{constructor(r,e){a(this,"thunder");a(this,"sessionId");this.sessionId=r,this.thunder=l.getBaseClient(e,r)}logout(r){return o(this,null,function*(){if(!r){const e=p(!1),t=p(!0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),d.clear()}try{yield this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}})}me(r){return o(this,null,function*(){return this.user(r||{withPublicKey:!0})})}static user(r,e){return o(this,null,function*(){var n;const t=yield m({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&d.set(t.data.id,t.data),t):null})}user(r){return o(this,null,function*(){var t;const e=yield m({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&d.set(e.data.id,e.data),e):null})}updateProfile(n){return o(this,arguments,function*({firstname:r,lastname:e,lang:t}){const{updateProfile:s}=yield this.thunder("mutation",{scalars:{Json:{encode:i=>JSON.stringify(i),decode:i=>JSON.parse(i)},DateTime:{decode:i=>new Date(i),encode:i=>i.toISOString()},BigInt:{decode:i=>BigInt(i),encode:i=>i.toString()}}})({updateProfile:[{firstname:r,lastname:e,lang:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return s?s.__typename==="ErrorAccessDenied"||s.__typename==="ErrorNotFound"?s:s.updateProfile?{__typename:"SuccessResponse",data:s.updateProfile}:null:null})}static isCryptoTransactionDone(n){return o(this,arguments,function*({env:r,idOrHash:e,network:t=y.mainnet}){const{isCryptoTransactionDone:s}=yield l.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return s&&s.__typename==="IsCryptoTransactionDoneResponse"?s.done:!1})}limits(){return o(this,null,function*(){const{limits:r}=yield this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null})}reportUser(r,e){return o(this,null,function*(){const{sendReport:t}=yield this.thunder("mutation")({sendReport:[{reportedUserId:r,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null})}getSponsorshipLink(e){return o(this,arguments,function*({backUrl:r}){const t=yield this.me({withPublicKey:!1});return!t||t.__typename==="ErrorNotFound"?null:g({app:"auth",path:`/sign-up?gf=${btoa(t.data.email)}&au=${btoa(r)}`})})}};let c=l;a(c,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),a(c,"getBaseClient",(r,e)=>_(l.getBaseUrl(r),e));export{c as BaseClient};
2
- //# sourceMappingURL=BaseClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/BaseClient.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = await this.thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorAccessDenied\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n limits: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorAccessDenied\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n}\n"],"mappings":"+CAEA,OAAS,WAAAA,MAAe,qBACxB,OAAS,cAAAC,MAAkB,aAE3B,OAAS,cAAAC,MAAkB,sBAE3B,OAAS,iBAAAC,MAAqB,kBAC9B,OAAS,YAAAC,MAAgB,kBACzB,OAAS,iBAAAC,MAAqB,mBAuC9B,MAAMC,EAAkB,CACtBC,EACAC,IACG,CACH,KAAM,CAAE,KAAAC,CAAK,EAAIL,EAAS,OAAO,EAAE,CACjC,KAAM,CACJ,CAAE,OAAAG,CAAO,EACT,CACE,sBAAuB,CACrB,WAAY,GACZ,QAAS,GACT,MAAO,EACT,EACA,qBAAsB,CACpB,WAAY,GACZ,KAAM,CACJ,GAAI,GACJ,UAAW,GACX,SAAU,GACV,KAAM,GACN,UAAWC,EAAgB,GAAO,OAClC,MAAO,GACP,MAAO,GACP,KAAM,GACN,UAAW,GACX,UAAW,EACb,CACF,CACF,CACF,CACF,CAAC,EACD,OAAOC,CACT,EAkCA,SAAeC,EACbC,EAC0D,QAAAC,EAAA,sBApH5D,IAAAC,EAqHE,MAAMC,EAAWR,GACfO,EAAAF,EAAO,SAAP,KAAAE,EAAiBF,EAAO,UACxBA,EAAO,aACT,EACM,CAAE,KAAMI,CAAa,EAAI,MAAMJ,EAAO,OAAO,QAAS,CAC1D,QAAS,CACP,KAAM,CACJ,OAASK,GAAe,KAAK,UAAUA,CAAC,EACxC,OAASA,GAAe,KAAK,MAAMA,CAAW,CAChD,EACA,SAAU,CACR,OAASA,GAAe,IAAI,KAAKA,CAAW,EAC5C,OAASA,GAAgBA,EAAW,YAAY,CAClD,EACA,OAAQ,CACN,OAASA,GAAe,OAAOA,CAAW,EAC1C,OAASA,GAAgBA,EAAa,SAAS,CACjD,CACF,CACF,CAAC,EAAE,CACD,KAAMF,CACR,CAAC,EAED,OAAKC,EAIDA,EAAa,aAAe,gBACvBA,EAGJA,EAAa,KAIX,CACL,WAAY,kBACZ,KAAMA,EAAa,IACrB,EANS,KARA,IAeX,GA0BO,MAAME,EAAN,KAAiB,CA+BtB,YAAYC,EAAiBC,EAAiB,CAJ9CC,EAAA,KAAU,WAEVA,EAAA,KAAO,aAGL,KAAK,UAAYF,EACjB,KAAK,QAAUD,EAAW,cAAcE,EAAKD,CAAO,CACtD,CAEM,OAAOG,EAAsD,QAAAT,EAAA,sBACjE,GAAI,CAACS,EAAW,CACd,MAAMC,EAAQpB,EAAW,EAAK,EACxBgB,EAAUhB,EAAW,EAAI,EAC/BoB,EAAM,IAAI,MAAM,EAChBA,EAAM,YAAY,MAAM,EACxBA,EAAM,eAAe,MAAM,EAC3BJ,EAAQ,IAAI,MAAM,EAClBA,EAAQ,YAAY,MAAM,EAC1BA,EAAQ,eAAe,MAAM,EAC7BjB,EAAW,MAAM,CACnB,CACA,GAAI,CACF,MAAM,KAAK,QAAQ,UAAU,EAAE,CAC7B,OAAQ,CACN,CACE,UAAWoB,CACb,EACA,CACE,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,mBAAoB,CAClB,WAAY,GACZ,QAAS,EACX,EACA,uBAAwB,CACtB,WAAY,GACZ,OAAQ,EACV,CACF,CACF,CACF,CAAC,CACH,OAAQ,EAAN,CAEF,CACF,GAEM,GACJV,EAC0D,QAAAC,EAAA,sBAC1D,OAAO,KAAK,KAAKD,GAAW,CAAE,cAAe,EAAK,CAAO,CAC3D,GAEA,OAAa,KACXA,EACAU,EAC0D,QAAAT,EAAA,sBA1Q9D,IAAAC,EA2QI,MAAMJ,EAAO,MAAMC,EAAW,CAC5B,OAAQ,KAAK,cAAcC,EAAO,IAAKU,CAAS,EAChD,QAAQR,EAAAF,EAAO,SAAP,KAAAE,EAAiBF,EAAO,UAChC,cAAeA,EAAO,aACxB,CAAC,EAED,OAAKF,GAIDA,EAAK,aAAe,iBAIpBA,GACFR,EAAW,IAAIQ,EAAK,KAAK,GAAIA,EAAK,IAAI,EAGjCA,GAXE,IAYX,GAEM,KACJE,EAC0D,QAAAC,EAAA,sBAlS9D,IAAAC,EAmSI,MAAMJ,EAAO,MAAMC,EAAW,CAC5B,OAAQ,KAAK,QACb,QAAQG,EAAAF,EAAO,SAAP,KAAAE,EAAiBF,EAAO,UAChC,cAAeA,EAAO,aACxB,CAAC,EAED,OAAKF,GAIDA,EAAK,aAAe,iBAIpBA,GACFR,EAAW,IAAIQ,EAAK,KAAK,GAAIA,EAAK,IAAI,EAGjCA,GAXE,IAYX,GAEM,cAAcc,EAUlB,QAAAX,EAAA,yBAVkB,CAClB,UAAAY,EACA,SAAAC,EACA,KAAAC,CACF,EAME,CACA,KAAM,CAAE,cAAAC,CAAc,EAAI,MAAM,KAAK,QAAQ,WAAY,CACvD,QAAS,CACP,KAAM,CACJ,OAASX,GAAe,KAAK,UAAUA,CAAC,EACxC,OAASA,GAAe,KAAK,MAAMA,CAAW,CAChD,EACA,SAAU,CACR,OAASA,GAAe,IAAI,KAAKA,CAAW,EAC5C,OAASA,GAAgBA,EAAW,YAAY,CAClD,EACA,OAAQ,CACN,OAASA,GAAe,OAAOA,CAAW,EAC1C,OAASA,GAAgBA,EAAa,SAAS,CACjD,CACF,CACF,CAAC,EAAE,CACD,cAAe,CACb,CACE,UAAAQ,EACA,SAAAC,EACA,KAAAC,CACF,EACA,CACE,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,sBAAuB,CACrB,WAAY,GACZ,QAAS,EACX,EACA,8BAA+B,CAC7B,WAAY,GACZ,cAAe,CACb,GAAI,GACJ,UAAW,GACX,SAAU,GACV,KAAM,GACN,MAAO,GACP,MAAO,GACP,KAAM,GACN,UAAW,GACX,UAAW,EACb,CACF,CACF,CACF,CACF,CAAC,EAED,OAAKC,EAIDA,EAAc,aAAe,qBAI7BA,EAAc,aAAe,gBACxBA,EAGJA,EAAc,cAIZ,CACL,WAAY,kBACZ,KAAMA,EAAc,aACtB,EANS,KAZA,IAmBX,GAEA,OAAa,wBAAwBJ,EAQhB,QAAAX,EAAA,yBARgB,CACnC,IAAAO,EACA,SAAAS,EACA,QAAAC,EAAU1B,EAAc,OAC1B,EAIqB,CACnB,KAAM,CAAE,wBAAA2B,CAAwB,EAAI,MAAMb,EAAW,cAAcE,CAAG,EACpE,OACF,EAAE,CACA,wBAAyB,CACvB,CACE,SAAAS,EACA,QAAAC,CACF,EACA,CACE,WAAY,GACZ,wCAAyC,CACvC,KAAM,EACR,EACA,sBAAuB,CACrB,QAAS,EACX,CACF,CACF,CACF,CAAC,EAED,OAAKC,GAIEA,EAAwB,aAC7B,kCACEA,EAAwB,KALnB,EAOX,GAEM,QAOJ,QAAAlB,EAAA,sBACA,KAAM,CAAE,OAAAmB,CAAO,EAAI,MAAM,KAAK,QAAQ,QAAS,CAC7C,QAAS,CACP,KAAM,CACJ,OAAS,GAAe,KAAK,UAAU,CAAC,EACxC,OAAS,GAAe,KAAK,MAAM,CAAW,CAChD,EACA,SAAU,CACR,OAAS,GAAe,IAAI,KAAK,CAAW,EAC5C,OAAS,GAAgB,EAAW,YAAY,CAClD,EACA,OAAQ,CACN,OAAS,GAAe,OAAO,CAAW,EAC1C,OAAS,GAAgB,EAAa,SAAS,CACjD,CACF,CACF,CAAC,EAAE,CACD,OAAQ,CACN,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,mBAAoB,CAClB,WAAY,GACZ,QAAS,EACX,EACA,sBAAuB,CACrB,WAAY,GACZ,QAAS,EACX,EACA,sBAAuB,CACrB,WAAY,GACZ,QAAS,EACX,EACA,oBAAqB,CACnB,WAAY,GACZ,MAAO,CACL,KAAM,GACN,QAAS,GACT,MAAO,GACP,SAAU,EACZ,EACA,KAAM,CACJ,SAAU,CACR,MAAO,GACP,SAAU,GACV,UAAW,GACX,aAAc,GACd,SAAU,GACV,YAAa,EACf,EACA,KAAM,CACJ,MAAO,GACP,SAAU,GACV,UAAW,GACX,aAAc,GACd,SAAU,GACV,YAAa,EACf,CACF,CACF,CACF,CACF,CAAC,EAED,OAAKA,EAIDA,EAAO,aAAe,qBAGtBA,EAAO,aAAe,iBAGtBA,EAAO,aAAe,cAGtBA,EAAO,aAAe,gBACjBA,EAGF,CACL,WAAY,kBACZ,KAAMA,CACR,EAnBS,IAoBX,GAEM,WACJC,EACAC,EAGA,QAAArB,EAAA,sBACA,KAAM,CAAE,WAAAsB,CAAW,EAAI,MAAM,KAAK,QAAQ,UAAU,EAAE,CACpD,WAAY,CACV,CACE,eAAAF,EACA,cAAAC,CACF,EACA,CACE,0BAA2B,CACzB,WAAY,GACZ,QAAS,EACX,EACA,sBAAuB,CACrB,WAAY,GACZ,QAAS,EACX,EACA,2BAA4B,CAC1B,WAAY,GACZ,WAAY,CACV,GAAI,GACJ,cAAe,GACf,KAAM,CACJ,GAAI,GACJ,UAAW,GACX,SAAU,GACV,MAAO,EACT,EACA,aAAc,CACZ,GAAI,GACJ,UAAW,GACX,SAAU,GACV,MAAO,EACT,CACF,CACF,CACF,CACF,CACF,CAAC,EAED,OAAKC,EAIDA,EAAW,aAAe,qBAI1BA,EAAW,aAAe,gBACrBA,EAGJA,EAAW,WAIT,CACL,WAAY,kBACZ,KAAMA,EAAW,UACnB,EANS,KAZA,IAmBX,GAEM,mBAAmBX,EAIE,QAAAX,EAAA,yBAJF,CACvB,QAAAuB,CACF,EAE2B,CACzB,MAAMC,EAAK,MAAM,KAAK,GAAG,CAAE,cAAe,EAAM,CAAC,EAMjD,MAJI,CAACA,GAIDA,EAAG,aAAe,gBACb,KAGFpC,EAAQ,CACb,IAAK,OACL,KAAM,eAAe,KAAKoC,EAAG,KAAK,KAAK,QAAQ,KAAKD,CAAO,GAC7D,CAAC,CACH,GACF,EA/aO,IAAME,EAANpB,EACLG,EADWiB,EACY,aAAa,CAClClB,EAAkB,OAClBmB,EAAW,KACA,CACX,MAAMC,EAAS,QAAQ,IAAI,4BAC3B,GAAIA,EACF,OAAOA,EAGT,OAAQpB,OACD,OACH,OAAOmB,EACH,+BACA,qCACD,cAEH,MAAO,qCAEb,GAEAlB,EArBWiB,EAqBK,gBAAgB,CAC9BlB,EACAD,IAEAb,EAAcY,EAAW,WAAWE,CAAG,EAAGD,CAAO","names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","__async","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","_0","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=_chunkXDPEU3HVcjs.a.call(void 0, {},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}exports.popup = E; exports.popupResponse = k; exports.popupWithPost = P;
2
- //# sourceMappingURL=PopupTools.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/PopupTools.ts"],"names":["defaultOptions","popupCount","optionsToString","options","k","v","defaultPopupName","optionsResolveCentered","result","__spreadValues","width","height","openPopupWithPost","url","postData","name","form","win","key","input","popupExecute","execute","callback","popupName","popupOptions","popupCallback","optionsString","isMessageSent","interval","popupCallbackOnce","err","data","onMessage","message","popup","popupWithPost","openWithPostData","popupUrl","popupResponse","id"],"mappings":"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","sourcesContent":["/**\n * TS Rewrite of https://github.com/enhancv/popup-tools\n */\n\ntype YesNo = \"yes\" | \"no\";\ntype Options = {\n width?: number;\n height?: number;\n menubar: YesNo;\n resizable: YesNo;\n location: YesNo;\n scrollbars: YesNo;\n centered?: boolean;\n left?: number;\n top?: number;\n};\n\nconst defaultOptions: Options = {\n width: 700,\n height: 520,\n menubar: \"no\",\n resizable: \"yes\",\n location: \"yes\",\n scrollbars: \"no\",\n centered: true\n};\n\ntype Callback = (err?: Error, data?: unknown) => void;\n\ntype WindowOpen = (\n popupUrl: string,\n popupName: string,\n optionsString: string\n) => Window | null;\n\nlet popupCount = 1;\n\n/**\n * Return options converted to a string\n *\n * @param {Object} options\n * @return {String}\n */\nfunction optionsToString<T extends Options>(options: T): string {\n return Object.entries(options)\n .map(([k, v]) => `${k}=${v}`)\n .join(\",\");\n}\n\n/**\n * Get a unique name on each call\n * @return {String}\n */\nfunction defaultPopupName(): string {\n popupCount += 1;\n return `Popup ${popupCount}`;\n}\n\n/**\n * Convert \"centered: true\" key into concrete left and top arguments\n * Both can be overwritten\n *\n * @param {Object} options\n * @return {Object}\n */\nfunction optionsResolveCentered(options: Options): Options {\n if (!options.width || !options.height) {\n throw new Error(\"Should have width and height\");\n }\n const result = { ...options };\n const width = window.outerWidth - options.width;\n const height = window.outerHeight - options.height;\n\n if (options.centered) {\n result.left = options.left || Math.round(window.screenX + width / 2);\n result.top = options.top || Math.round(window.screenY + height / 2.5);\n delete result.centered;\n }\n return result;\n}\n\n/**\n * Create a form element, add hidden inputs for all the post data\n * and post it into a newly opened popup\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @return {Object}\n */\nfunction openPopupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: string\n): Window | null {\n const form = document.createElement(\"form\");\n let win: Window | null = null;\n\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", name);\n\n Object.keys(postData).forEach(function addFormItem(key) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = key;\n input.value = postData[key];\n form.appendChild(input);\n });\n\n document.body.appendChild(form);\n\n win = window.open(\"/\", name, options);\n win?.document.write(\"Loading...\");\n\n form.submit();\n document.body.removeChild(form);\n\n return win;\n}\n\n/**\n * Open a popup using the first argument. Wait for it to close.\n * Returns the window object\n *\n * @param {Function}\n * @param {String}\n * @param {String}\n * @param {Object}\n * @param {Function}\n * @return {Object}\n */\nfunction popupExecute(\n execute: WindowOpen,\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n const popupName = name || defaultPopupName();\n const popupOptions = optionsResolveCentered(\n Object.assign({}, defaultOptions, options)\n );\n const popupCallback =\n callback ||\n function noop(): void {\n //\n };\n const optionsString = optionsToString(popupOptions);\n const win = execute(url, popupName, optionsString);\n let isMessageSent = false;\n let interval: number;\n\n function popupCallbackOnce(err?: Error, data?: unknown): void {\n if (!isMessageSent) {\n isMessageSent = true;\n popupCallback(err, data);\n }\n }\n\n function onMessage(message?: MessageEvent): void {\n const data = message ? message.data : undefined;\n\n if (data && data.id === popupName) {\n popupCallbackOnce(undefined, data.data);\n window.removeEventListener(\"message\", onMessage);\n clearInterval(interval);\n }\n }\n\n window.addEventListener(\"message\", onMessage, false);\n\n if (win) {\n interval = window.setInterval(function closePopupCallback() {\n if (win === null || win.closed) {\n setTimeout(function delayWindowClosing() {\n clearInterval(interval);\n popupCallbackOnce(new Error(\"Popup closed\"));\n }, 500);\n }\n }, 100);\n } else {\n popupCallbackOnce(new Error(\"Popup blocked\"));\n }\n\n return win;\n}\n\n/**\n * Open a popup using the first argument.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popup(\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n return popupExecute(window.open, url, name, options, callback);\n}\n\n/**\n * Open a popup using the first argument.\n * Post the data into the open popup.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n function openWithPostData(\n popupUrl: string,\n popupName: string,\n optionsString: string\n ): Window | null {\n return openPopupWithPost(popupUrl, postData, popupName, optionsString);\n }\n\n return popupExecute(openWithPostData, url, name, options, callback);\n}\n\n/**\n * Return html that when executed, will trigger the popup to callback with a response\n *\n * @param {Object}\n * @return {String}\n */\nexport function popupResponse<T>(id: string, data: T): string {\n const jsonData = JSON.stringify({ id, data });\n\n return `<script>window.opener.postMessage(${jsonData}, \"*\");setTimeout(function() { window.close(); }, 50);</script>`;\n}\n"]}
@@ -1,18 +0,0 @@
1
- declare type YesNo = "yes" | "no";
2
- declare type Options = {
3
- width?: number;
4
- height?: number;
5
- menubar: YesNo;
6
- resizable: YesNo;
7
- location: YesNo;
8
- scrollbars: YesNo;
9
- centered?: boolean;
10
- left?: number;
11
- top?: number;
12
- };
13
- declare type Callback = (err?: Error, data?: unknown) => void;
14
- declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
- declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
16
- declare function popupResponse<T>(id: string, data: T): string;
17
-
18
- export { popup, popupResponse, popupWithPost };
@@ -1,2 +0,0 @@
1
- import{a as h}from"./chunk-UPFDSEKI.js";const O={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let b=1;function v(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function W(){return b+=1,`Popup ${b}`}function C(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t=h({},n),e=window.outerWidth-n.width,r=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+r/2.5),delete t.centered),t}function y(n,t,e,r){const o=document.createElement("form");let i=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),i=window.open("/",e,r),i==null||i.document.write("Loading..."),o.submit(),document.body.removeChild(o),i}function m(n,t,e,r,o){const i=e||W(),l=C(Object.assign({},O,r)),u=o||function(){},s=v(l),a=n(t,i,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===i&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function E(n,t,e,r){return m(window.open,n,t,e,r)}function P(n,t,e,r,o){function i(l,u,s){return y(l,t,u,s)}return m(i,n,e,r,o)}function k(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}export{E as popup,k as popupResponse,P as popupWithPost};
2
- //# sourceMappingURL=PopupTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/PopupTools.ts"],"sourcesContent":["/**\n * TS Rewrite of https://github.com/enhancv/popup-tools\n */\n\ntype YesNo = \"yes\" | \"no\";\ntype Options = {\n width?: number;\n height?: number;\n menubar: YesNo;\n resizable: YesNo;\n location: YesNo;\n scrollbars: YesNo;\n centered?: boolean;\n left?: number;\n top?: number;\n};\n\nconst defaultOptions: Options = {\n width: 700,\n height: 520,\n menubar: \"no\",\n resizable: \"yes\",\n location: \"yes\",\n scrollbars: \"no\",\n centered: true\n};\n\ntype Callback = (err?: Error, data?: unknown) => void;\n\ntype WindowOpen = (\n popupUrl: string,\n popupName: string,\n optionsString: string\n) => Window | null;\n\nlet popupCount = 1;\n\n/**\n * Return options converted to a string\n *\n * @param {Object} options\n * @return {String}\n */\nfunction optionsToString<T extends Options>(options: T): string {\n return Object.entries(options)\n .map(([k, v]) => `${k}=${v}`)\n .join(\",\");\n}\n\n/**\n * Get a unique name on each call\n * @return {String}\n */\nfunction defaultPopupName(): string {\n popupCount += 1;\n return `Popup ${popupCount}`;\n}\n\n/**\n * Convert \"centered: true\" key into concrete left and top arguments\n * Both can be overwritten\n *\n * @param {Object} options\n * @return {Object}\n */\nfunction optionsResolveCentered(options: Options): Options {\n if (!options.width || !options.height) {\n throw new Error(\"Should have width and height\");\n }\n const result = { ...options };\n const width = window.outerWidth - options.width;\n const height = window.outerHeight - options.height;\n\n if (options.centered) {\n result.left = options.left || Math.round(window.screenX + width / 2);\n result.top = options.top || Math.round(window.screenY + height / 2.5);\n delete result.centered;\n }\n return result;\n}\n\n/**\n * Create a form element, add hidden inputs for all the post data\n * and post it into a newly opened popup\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @return {Object}\n */\nfunction openPopupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: string\n): Window | null {\n const form = document.createElement(\"form\");\n let win: Window | null = null;\n\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", name);\n\n Object.keys(postData).forEach(function addFormItem(key) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = key;\n input.value = postData[key];\n form.appendChild(input);\n });\n\n document.body.appendChild(form);\n\n win = window.open(\"/\", name, options);\n win?.document.write(\"Loading...\");\n\n form.submit();\n document.body.removeChild(form);\n\n return win;\n}\n\n/**\n * Open a popup using the first argument. Wait for it to close.\n * Returns the window object\n *\n * @param {Function}\n * @param {String}\n * @param {String}\n * @param {Object}\n * @param {Function}\n * @return {Object}\n */\nfunction popupExecute(\n execute: WindowOpen,\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n const popupName = name || defaultPopupName();\n const popupOptions = optionsResolveCentered(\n Object.assign({}, defaultOptions, options)\n );\n const popupCallback =\n callback ||\n function noop(): void {\n //\n };\n const optionsString = optionsToString(popupOptions);\n const win = execute(url, popupName, optionsString);\n let isMessageSent = false;\n let interval: number;\n\n function popupCallbackOnce(err?: Error, data?: unknown): void {\n if (!isMessageSent) {\n isMessageSent = true;\n popupCallback(err, data);\n }\n }\n\n function onMessage(message?: MessageEvent): void {\n const data = message ? message.data : undefined;\n\n if (data && data.id === popupName) {\n popupCallbackOnce(undefined, data.data);\n window.removeEventListener(\"message\", onMessage);\n clearInterval(interval);\n }\n }\n\n window.addEventListener(\"message\", onMessage, false);\n\n if (win) {\n interval = window.setInterval(function closePopupCallback() {\n if (win === null || win.closed) {\n setTimeout(function delayWindowClosing() {\n clearInterval(interval);\n popupCallbackOnce(new Error(\"Popup closed\"));\n }, 500);\n }\n }, 100);\n } else {\n popupCallbackOnce(new Error(\"Popup blocked\"));\n }\n\n return win;\n}\n\n/**\n * Open a popup using the first argument.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popup(\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n return popupExecute(window.open, url, name, options, callback);\n}\n\n/**\n * Open a popup using the first argument.\n * Post the data into the open popup.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n function openWithPostData(\n popupUrl: string,\n popupName: string,\n optionsString: string\n ): Window | null {\n return openPopupWithPost(popupUrl, postData, popupName, optionsString);\n }\n\n return popupExecute(openWithPostData, url, name, options, callback);\n}\n\n/**\n * Return html that when executed, will trigger the popup to callback with a response\n *\n * @param {Object}\n * @return {String}\n */\nexport function popupResponse<T>(id: string, data: T): string {\n const jsonData = JSON.stringify({ id, data });\n\n return `<script>window.opener.postMessage(${jsonData}, \"*\");setTimeout(function() { window.close(); }, 50);</script>`;\n}\n"],"mappings":"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","names":["defaultOptions","popupCount","optionsToString","options","k","v","defaultPopupName","optionsResolveCentered","result","__spreadValues","width","height","openPopupWithPost","url","postData","name","form","win","key","input","popupExecute","execute","callback","popupName","popupOptions","popupCallback","optionsString","isMessageSent","interval","popupCallbackOnce","err","data","onMessage","message","popup","popupWithPost","openWithPostData","popupUrl","popupResponse","id"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXDPEU3HVcjs = require('./chunk-XDPEU3HV.cjs');var _indexjs = require('./zeus/index.js');const f=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(R){n(o)}}).catch(n)}),y=(e,r)=>(R,...P)=>_chunkXDPEU3HVcjs.h.call(void 0, void 0,[R,...P],function*(n,o={}){const i=fetch;let s=n;const a=e[1]||{};if(a.method&&a.method==="GET")return s=encodeURIComponent(n),i(`${e[0]}?query=${s}`,a).then(f).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,g=setTimeout(()=>h.abort(),2e4),m=yield i(`${e[0]}`,_chunkXDPEU3HVcjs.a.call(void 0, {body:JSON.stringify({query:s,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(f).then(t=>{if(t.errors)throw new (0, _indexjs.GraphQLError)(t);return t.data});return clearTimeout(g),m}),w= exports.createThunder =(e,r)=>_indexjs.Thunder.call(void 0, y([e,{mode:"cors",credentials:"same-origin"}],r));exports.createThunder = w;
2
- //# sourceMappingURL=ZeusThunder.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ZeusThunder.ts"],"names":["GraphQLError","Thunder","handleFetchResponse","response","_","reject","text","err","apiFetch","options","session","_0","_1","__async","query","variables","fetchFunction","queryString","fetchOptions","headers","controller","id","res","__spreadValues","createThunder","url"],"mappings":"gDACA,OAAS,gBAAAA,EAAc,WAAAC,MAAe,kBAEtC,MAAMC,EACJC,GAKKA,EAAS,GAcPA,EAAS,KAAK,EAbZ,IAAI,QAAQ,CAACC,EAAGC,IAAW,CAChCF,EACG,KAAK,EACL,KAAKG,GAAQ,CACZ,GAAI,CACFD,EAAO,KAAK,MAAMC,CAAI,CAAC,CACzB,OAASC,EAAP,CACAF,EAAOC,CAAI,CACb,CACF,CAAC,EACA,MAAMD,CAAM,CACjB,CAAC,EAKCG,EACJ,CAACC,EAAuBC,IACxB,CACEC,KAE6CC,IAAAC,EAAA,QAF7CF,EAE6C,GAAAC,GAAA,UAF7CE,EACAC,EAAiC,CAAC,EACW,CAC7C,MAAMC,EAAgB,MACtB,IAAIC,EAAcH,EAClB,MAAMI,EAAeT,EAAQ,IAAM,CAAC,EACpC,GAAIS,EAAa,QAAUA,EAAa,SAAW,MACjD,OAAAD,EAAc,mBAAmBH,CAAK,EAC/BE,EAAc,GAAGP,EAAQ,YAAYQ,IAAeC,CAAY,EACpE,KAAKhB,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EAEL,MAAMgB,EAAkC,CACtC,eAAgB,mBAChB,kBAAmB,UAAU,QAC/B,EAEIT,IACFS,EAAQ,mBAAqBT,GAE/B,MAAMU,EAAa,IAAI,gBACjBC,EAAK,WAAW,IAAMD,EAAW,MAAM,EAAG,GAAK,EAC/CE,EAAM,MAAMN,EAAc,GAAGP,EAAQ,KAAMc,EAAA,CAC/C,KAAM,KAAK,UAAU,CAAE,MAAON,EAAa,UAAAF,CAAU,CAAC,EACtD,OAAQ,OACR,QAAAI,EACA,OAAQC,EAAW,QAChBF,EACJ,EACE,KAAKhB,CAAmB,EACxB,KAAMC,GAA8B,CACnC,GAAIA,EAAS,OACX,MAAM,IAAIH,EAAaG,CAAQ,EAEjC,OAAOA,EAAS,IAClB,CAAC,EACH,oBAAakB,CAAE,EACRC,CACT,GAEWE,EAAgB,CAC3BC,EACAf,IAEAT,EACEO,EACE,CACEiB,EACA,CACE,KAAM,OACN,YAAa,aACf,CACF,EACAf,CACF,CACF","sourcesContent":["import type { fetchOptions, GraphQLResponse } from \"./zeus/index.js\";\nimport { GraphQLError, Thunder } from \"./zeus/index.js\";\n\nconst handleFetchResponse = (\n response: Parameters<\n // eslint-disable-next-line @typescript-eslint/ban-types\n Extract<Parameters<ReturnType<typeof fetch>[\"then\"]>[0], Function>\n >[0]\n): Promise<GraphQLResponse> => {\n if (!response.ok) {\n return new Promise((_, reject) => {\n response\n .text()\n .then(text => {\n try {\n reject(JSON.parse(text));\n } catch (err) {\n reject(text);\n }\n })\n .catch(reject);\n });\n }\n return response.json() as Promise<GraphQLResponse>;\n};\n\nconst apiFetch =\n (options: fetchOptions, session?: string | null | undefined) =>\n async (\n query: string,\n variables: Record<string, any> = {}\n ): Promise<Record<string, any> | undefined> => {\n const fetchFunction = fetch;\n let queryString = query;\n const fetchOptions = options[1] || {};\n if (fetchOptions.method && fetchOptions.method === \"GET\") {\n queryString = encodeURIComponent(query);\n return fetchFunction(`${options[0]}?query=${queryString}`, fetchOptions)\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n }\n const headers: Record<string, string> = {\n \"content-type\": \"application/json\",\n \"accept-language\": navigator.language\n };\n\n if (session) {\n headers[\"secrecy-session\"] = session;\n }\n const controller = new AbortController();\n const id = setTimeout(() => controller.abort(), 20000);\n const res = await fetchFunction(`${options[0]}`, {\n body: JSON.stringify({ query: queryString, variables }),\n method: \"POST\",\n headers,\n signal: controller.signal,\n ...fetchOptions\n })\n .then(handleFetchResponse)\n .then((response: GraphQLResponse) => {\n if (response.errors) {\n throw new GraphQLError(response);\n }\n return response.data;\n });\n clearTimeout(id);\n return res;\n };\n\nexport const createThunder = (\n url: string,\n session?: string | null | undefined\n): ReturnType<typeof Thunder> =>\n Thunder(\n apiFetch(\n [\n url,\n {\n mode: \"cors\",\n credentials: \"same-origin\"\n }\n ],\n session\n )\n );\n"]}
@@ -1,6 +0,0 @@
1
- import { Thunder } from './zeus/index.js';
2
- import './zeus/const.js';
3
-
4
- declare const createThunder: (url: string, session?: string | null | undefined) => ReturnType<typeof Thunder>;
5
-
6
- export { createThunder };
@@ -1,2 +0,0 @@
1
- import{a as d,h as u}from"./chunk-UPFDSEKI.js";import{GraphQLError as p,Thunder as l}from"./zeus/index.js";const f=e=>e.ok?e.json():new Promise((r,n)=>{e.text().then(o=>{try{n(JSON.parse(o))}catch(R){n(o)}}).catch(n)}),y=(e,r)=>(R,...P)=>u(void 0,[R,...P],function*(n,o={}){const i=fetch;let s=n;const a=e[1]||{};if(a.method&&a.method==="GET")return s=encodeURIComponent(n),i(`${e[0]}?query=${s}`,a).then(f).then(t=>{if(t.errors)throw new p(t);return t.data});const c={"content-type":"application/json","accept-language":navigator.language};r&&(c["secrecy-session"]=r);const h=new AbortController,g=setTimeout(()=>h.abort(),2e4),m=yield i(`${e[0]}`,d({body:JSON.stringify({query:s,variables:o}),method:"POST",headers:c,signal:h.signal},a)).then(f).then(t=>{if(t.errors)throw new p(t);return t.data});return clearTimeout(g),m}),w=(e,r)=>l(y([e,{mode:"cors",credentials:"same-origin"}],r));export{w as createThunder};
2
- //# sourceMappingURL=ZeusThunder.js.map