@webitel/chat-web-sdk 0.0.2 → 0.0.4

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.
package/dist/index.js CHANGED
@@ -193,24 +193,6 @@ var require_deep_copy = __commonJS({
193
193
  }
194
194
  });
195
195
 
196
- // src/modules/messages/classes/Message.class.ts
197
- var Message = class {
198
- _serviceConfig;
199
- constructor(rawMessage, { serviceConfig }) {
200
- Object.assign(this, rawMessage);
201
- this._serviceConfig = serviceConfig;
202
- }
203
- get serviceConfig() {
204
- return this._serviceConfig;
205
- }
206
- async markRead() {
207
- throw new Error("Method not implemented.");
208
- }
209
- };
210
- function createMessage(rawMessage, { serviceConfig }) {
211
- return new Message(rawMessage, { serviceConfig });
212
- }
213
-
214
196
  // node_modules/@webitel/api-services/src/api/transformers/applyTransform.ts
215
197
  var applyTransform = (target, transformers, { debug = false, withContext = null } = {}) => {
216
198
  return transformers.reduce((result, transformer, index) => {
@@ -7073,14 +7055,11 @@ function preprocess(fn, schema) {
7073
7055
  // node_modules/zod/v4/classic/external.js
7074
7056
  config2(en_default2());
7075
7057
 
7076
- // src/modules/messages/api/Messages.api.ts
7077
- var getMessagesService = ({ axiosInstance }) => {
7058
+ // src/modules/account/api/Account.api.ts
7059
+ var getAccountService = ({ axiosInstance }) => {
7078
7060
  return {
7079
- getMessageHistory: async (threadId, params = {}) => {
7080
- const transformedParams = applyTransform(params, [
7081
- camelToSnake_transformer_default()
7082
- ]);
7083
- const response = await axiosInstance.get(`/v1/${threadId}/messages`, { params: transformedParams });
7061
+ getAccount: async () => {
7062
+ const response = await axiosInstance.get("/v1/auth/token");
7084
7063
  return applyTransform(response.data, [
7085
7064
  snakeToCamel_transformer_default()
7086
7065
  ]);
@@ -7088,56 +7067,141 @@ var getMessagesService = ({ axiosInstance }) => {
7088
7067
  };
7089
7068
  };
7090
7069
 
7091
- // src/modules/messages/utils/fetchMessageHistory.ts
7092
- var fetchRawMessageHistory = (config3) => async (threadId, params = {}) => {
7093
- const response = await getMessagesService(config3).getMessageHistory(threadId, params);
7094
- return response;
7070
+ // src/modules/account/utils/fetchAccount.ts
7071
+ var fetchAccount = async (config3) => {
7072
+ return getAccountService(config3).getAccount();
7095
7073
  };
7096
- var instantiateMessages = (rawMessages, { serviceConfig }) => {
7097
- return rawMessages.map((rawMessage) => createMessage(rawMessage, { serviceConfig }));
7098
- };
7099
- var fetchMessageHistory = async (config3, threadId, params = {}) => {
7100
- const rawResponse = await fetchRawMessageHistory(config3)(threadId, params);
7074
+
7075
+ // src/modules/account/accountSevice.ts
7076
+ function useAccountService(config3) {
7101
7077
  return {
7102
- ...rawResponse,
7103
- messages: instantiateMessages(rawResponse.messages ?? [], { serviceConfig: config3 })
7078
+ getAccount: () => fetchAccount(config3)
7104
7079
  };
7080
+ }
7081
+ var ServiceConfig = class {
7082
+ baseUrl;
7083
+ accessToken;
7084
+ axiosInstance;
7085
+ constructor({ baseUrl, accessToken }) {
7086
+ this.baseUrl = baseUrl;
7087
+ this.accessToken = accessToken;
7088
+ this.axiosInstance = axios.create({
7089
+ baseURL: this.baseUrl,
7090
+ paramsSerializer: (params) => qs2.stringify(params, {
7091
+ allowDots: true
7092
+ })
7093
+ });
7094
+ this.setupAxiosTokenHandler();
7095
+ }
7096
+ setupAxiosTokenHandler() {
7097
+ if (typeof this.accessToken === "function") {
7098
+ this.axiosInstance.interceptors.request.use(async (config3) => {
7099
+ config3.headers["X-Webitel-Access"] = await this.accessToken();
7100
+ return config3;
7101
+ });
7102
+ } else {
7103
+ this.axiosInstance.defaults.headers.common["X-Webitel-Access"] = this.accessToken;
7104
+ }
7105
+ }
7105
7106
  };
7107
+ function createServiceConfig(rawServiceConfig) {
7108
+ return new ServiceConfig(rawServiceConfig);
7109
+ }
7106
7110
 
7107
- // src/modules/messages/messagesSevice.ts
7108
- function useMessagesService(config3) {
7109
- return {
7110
- fetchMessageHistory: (threadId, params) => fetchMessageHistory(config3, threadId, params ?? {})
7111
- };
7111
+ // src/modules/configs/socketConfig/SocketConfig.class.ts
7112
+ var SocketConfig = class {
7113
+ baseUrl;
7114
+ accessToken;
7115
+ constructor({ baseUrl, accessToken }) {
7116
+ this.baseUrl = baseUrl;
7117
+ this.accessToken = accessToken;
7118
+ }
7119
+ };
7120
+ function createSocketConfig(rawSocketConfig) {
7121
+ return new SocketConfig(rawSocketConfig);
7112
7122
  }
7113
7123
 
7114
- // src/modules/threads/classes/Thread.class.ts
7115
- var Thread = class {
7124
+ // src/modules/messages/classes/Message.class.ts
7125
+ var Message = class {
7116
7126
  _serviceConfig;
7117
- id;
7118
- constructor(rawThread, { serviceConfig }) {
7119
- Object.assign(this, rawThread);
7127
+ constructor(rawMessage, {
7128
+ serviceConfig
7129
+ }) {
7130
+ Object.assign(this, rawMessage);
7120
7131
  this._serviceConfig = serviceConfig;
7121
7132
  }
7122
- async fetchMessageHistory(params) {
7123
- return useMessagesService(this.serviceConfig).fetchMessageHistory(this.id, params);
7124
- }
7125
7133
  get serviceConfig() {
7126
7134
  return this._serviceConfig;
7127
7135
  }
7136
+ async markRead() {
7137
+ throw new Error("Method not implemented.");
7138
+ }
7128
7139
  };
7129
- function createThread(rawThread, { serviceConfig }) {
7130
- return new Thread(rawThread, { serviceConfig });
7140
+ function createMessage(rawMessage, {
7141
+ serviceConfig
7142
+ }) {
7143
+ return new Message(rawMessage, {
7144
+ serviceConfig
7145
+ });
7131
7146
  }
7132
7147
 
7133
- // src/modules/threads/api/Threads.api.ts
7134
- var getThreadsService = ({ axiosInstance }) => {
7148
+ // src/modules/messages/api/Messages.api.ts
7149
+ var getMessagesService = ({ axiosInstance }) => {
7135
7150
  return {
7136
- getThreadsList: async (params = {}) => {
7151
+ getMessageHistory: async (threadId, params = {}) => {
7152
+ const transformedParams = applyTransform(params, [
7153
+ camelToSnake_transformer_default()
7154
+ ]);
7155
+ const response = await axiosInstance.get(`/v1/${threadId}/messages`, {
7156
+ params: transformedParams
7157
+ });
7158
+ return applyTransform(response.data, [
7159
+ snakeToCamel_transformer_default()
7160
+ ]);
7161
+ },
7162
+ sendTextMessage: async (params) => {
7163
+ const transformedParams = applyTransform(params, [
7164
+ camelToSnake_transformer_default()
7165
+ ]);
7166
+ const response = await axiosInstance.post(
7167
+ "/v1/messages/text",
7168
+ transformedParams
7169
+ );
7170
+ return applyTransform(response.data, [
7171
+ snakeToCamel_transformer_default()
7172
+ ]);
7173
+ },
7174
+ uploadFile: async (threadId, file2) => {
7175
+ const formData = new FormData();
7176
+ formData.append("file", file2);
7177
+ const response = await axiosInstance.post(
7178
+ `/api/storage/file/${threadId}/upload`,
7179
+ formData
7180
+ );
7181
+ return applyTransform(response.data, [
7182
+ snakeToCamel_transformer_default()
7183
+ ]);
7184
+ },
7185
+ sendFileMessage: async (params) => {
7137
7186
  const transformedParams = applyTransform(params, [
7138
7187
  camelToSnake_transformer_default()
7139
7188
  ]);
7140
- const response = await axiosInstance.get("/v1/threads", { params: transformedParams });
7189
+ const response = await axiosInstance.post(
7190
+ "/v1/messages/file",
7191
+ transformedParams
7192
+ );
7193
+ return applyTransform(response.data, [
7194
+ snakeToCamel_transformer_default()
7195
+ ]);
7196
+ },
7197
+ sendImageMessage: async (params) => {
7198
+ const transformedParams = applyTransform(params, [
7199
+ camelToSnake_transformer_default()
7200
+ ]);
7201
+ const response = await axiosInstance.post(
7202
+ "/v1/messages/image",
7203
+ transformedParams
7204
+ );
7141
7205
  return applyTransform(response.data, [
7142
7206
  snakeToCamel_transformer_default()
7143
7207
  ]);
@@ -7145,31 +7209,138 @@ var getThreadsService = ({ axiosInstance }) => {
7145
7209
  };
7146
7210
  };
7147
7211
 
7148
- // src/modules/threads/utils/fetchThreads.ts
7149
- var fetchRawThreads = (config3) => async (params = {}) => {
7150
- const response = await getThreadsService(config3).getThreadsList(params);
7212
+ // src/modules/messages/utils/fetchMessageHistory.ts
7213
+ var fetchRawMessageHistory = (config3) => async (threadId, params = {}) => {
7214
+ const response = await getMessagesService(config3).getMessageHistory(
7215
+ threadId,
7216
+ params
7217
+ );
7151
7218
  return response;
7152
7219
  };
7153
- var instantiateThreads = (rawThreads, { serviceConfig }) => {
7154
- return rawThreads.map((rawThread) => createThread(rawThread, { serviceConfig }));
7220
+ var instantiateMessages = (rawMessages, {
7221
+ serviceConfig
7222
+ }) => {
7223
+ return rawMessages.map(
7224
+ (rawMessage) => createMessage(rawMessage, {
7225
+ serviceConfig
7226
+ })
7227
+ );
7155
7228
  };
7156
- var fetchThreads = async (config3, params = {}) => {
7157
- const rawThreadsResponse = await fetchRawThreads(config3)(params);
7229
+ var fetchMessageHistory = async (config3, threadId, params = {}) => {
7230
+ const rawResponse = await fetchRawMessageHistory(config3)(threadId, params);
7158
7231
  return {
7159
- ...rawThreadsResponse,
7160
- threads: instantiateThreads(rawThreadsResponse.threads ?? [], {
7232
+ ...rawResponse,
7233
+ items: instantiateMessages(rawResponse.items ?? [], {
7161
7234
  serviceConfig: config3
7162
7235
  })
7163
7236
  };
7164
7237
  };
7165
7238
 
7166
- // src/modules/threads/threadsSevice.ts
7167
- function useThreadsService(config3) {
7239
+ // src/modules/messages/utils/sendFileMessage.ts
7240
+ var sendFileMessage = async (config3, params) => {
7241
+ const { file: file2, threadId, document, ...restParams } = params;
7242
+ const uploadResponse = await getMessagesService(config3).uploadFile(
7243
+ threadId,
7244
+ file2
7245
+ );
7246
+ const fileId = uploadResponse.id ?? uploadResponse.fileId;
7247
+ if (!fileId) {
7248
+ throw new Error("Storage upload did not return file id");
7249
+ }
7250
+ return getMessagesService(config3).sendFileMessage({
7251
+ ...restParams,
7252
+ document: {
7253
+ ...document,
7254
+ documents: [
7255
+ {
7256
+ fileName: file2.name,
7257
+ id: fileId,
7258
+ mimeType: file2.type,
7259
+ sizeBytes: String(file2.size),
7260
+ url: uploadResponse.fileUrl
7261
+ }
7262
+ ]
7263
+ }
7264
+ });
7265
+ };
7266
+
7267
+ // src/modules/messages/utils/sendImageMessage.ts
7268
+ var sendImageMessage = async (config3, params) => {
7269
+ const { file: file2, threadId, image, ...restParams } = params;
7270
+ const uploadResponse = await getMessagesService(config3).uploadFile(
7271
+ threadId,
7272
+ file2
7273
+ );
7274
+ const imageId = uploadResponse.id ?? uploadResponse.fileId;
7275
+ if (!imageId) {
7276
+ throw new Error("Storage upload did not return file id");
7277
+ }
7278
+ return getMessagesService(config3).sendImageMessage({
7279
+ ...restParams,
7280
+ image: {
7281
+ ...image,
7282
+ images: [
7283
+ {
7284
+ id: imageId,
7285
+ link: uploadResponse.fileUrl,
7286
+ mimeType: file2.type,
7287
+ name: file2.name
7288
+ }
7289
+ ]
7290
+ }
7291
+ });
7292
+ };
7293
+
7294
+ // src/modules/messages/utils/sendTextMessage.ts
7295
+ var sendTextMessage = async (config3, params) => {
7296
+ return getMessagesService(config3).sendTextMessage(params);
7297
+ };
7298
+
7299
+ // src/modules/messages/messagesSevice.ts
7300
+ function useMessagesService(config3) {
7168
7301
  return {
7169
- fetchThreads: (params) => fetchThreads(config3, params ?? {})
7302
+ fetchMessageHistory: (threadId, params) => fetchMessageHistory(config3, threadId, params ?? {}),
7303
+ sendTextMessage: (params) => sendTextMessage(config3, params),
7304
+ sendFileMessage: (params) => sendFileMessage(config3, params),
7305
+ sendImageMessage: (params) => sendImageMessage(config3, params)
7170
7306
  };
7171
7307
  }
7172
7308
 
7309
+ // src/modules/contacts/classes/Contact.class.ts
7310
+ var Contact = class {
7311
+ _serviceConfig;
7312
+ sub;
7313
+ iss;
7314
+ constructor(rawContact, {
7315
+ serviceConfig
7316
+ }) {
7317
+ Object.assign(this, rawContact);
7318
+ this._serviceConfig = serviceConfig;
7319
+ }
7320
+ async sendTextMessage(body, params = {}) {
7321
+ return useMessagesService(this.serviceConfig).sendTextMessage({
7322
+ ...params,
7323
+ body,
7324
+ to: {
7325
+ contact: {
7326
+ sub: this.sub,
7327
+ iss: this.iss
7328
+ }
7329
+ }
7330
+ });
7331
+ }
7332
+ get serviceConfig() {
7333
+ return this._serviceConfig;
7334
+ }
7335
+ };
7336
+ function createContact(rawContact, {
7337
+ serviceConfig
7338
+ }) {
7339
+ return new Contact(rawContact, {
7340
+ serviceConfig
7341
+ });
7342
+ }
7343
+
7173
7344
  // src/modules/contacts/api/Contacts.api.ts
7174
7345
  var getContactsService = ({ axiosInstance }) => {
7175
7346
  return {
@@ -7177,7 +7348,9 @@ var getContactsService = ({ axiosInstance }) => {
7177
7348
  const transformedParams = applyTransform(params, [
7178
7349
  camelToSnake_transformer_default()
7179
7350
  ]);
7180
- const response = await axiosInstance.get("/v1/contacts", { params: transformedParams });
7351
+ const response = await axiosInstance.get("/v1/contacts", {
7352
+ params: transformedParams
7353
+ });
7181
7354
  return applyTransform(response.data, [
7182
7355
  snakeToCamel_transformer_default()
7183
7356
  ]);
@@ -7185,31 +7358,19 @@ var getContactsService = ({ axiosInstance }) => {
7185
7358
  };
7186
7359
  };
7187
7360
 
7188
- // src/modules/contacts/classes/Contact.class.ts
7189
- var Contact = class {
7190
- _serviceConfig;
7191
- constructor(rawContact, { serviceConfig }) {
7192
- Object.assign(this, rawContact);
7193
- this._serviceConfig = serviceConfig;
7194
- }
7195
- async sendMessage() {
7196
- throw new Error("Method not implemented.");
7197
- }
7198
- get serviceConfig() {
7199
- return this._serviceConfig;
7200
- }
7201
- };
7202
- function createContact(rawContact, { serviceConfig }) {
7203
- return new Contact(rawContact, { serviceConfig });
7204
- }
7205
-
7206
7361
  // src/modules/contacts/utils/fetchContacts.ts
7207
7362
  var fetchRawContacts = (config3) => async (params = {}) => {
7208
7363
  const response = await getContactsService(config3).getContactsList(params);
7209
7364
  return response;
7210
7365
  };
7211
- var instantiateContacts = (rawContacts, { serviceConfig }) => {
7212
- return rawContacts.map((rawContact) => createContact(rawContact, { serviceConfig }));
7366
+ var instantiateContacts = (rawContacts, {
7367
+ serviceConfig
7368
+ }) => {
7369
+ return rawContacts.map(
7370
+ (rawContact) => createContact(rawContact, {
7371
+ serviceConfig
7372
+ })
7373
+ );
7213
7374
  };
7214
7375
  var fetchContacts = async (config3, params = {}) => {
7215
7376
  const rawResponse = await fetchRawContacts(config3)(params);
@@ -7227,52 +7388,6 @@ function useContactsService(config3) {
7227
7388
  fetchContacts: (params) => fetchContacts(config3, params ?? {})
7228
7389
  };
7229
7390
  }
7230
- var ServiceConfig = class {
7231
- baseUrl;
7232
- accessToken;
7233
- axiosInstance;
7234
- constructor({
7235
- baseUrl,
7236
- accessToken
7237
- }) {
7238
- this.baseUrl = baseUrl;
7239
- this.accessToken = accessToken;
7240
- this.axiosInstance = axios.create({
7241
- baseURL: this.baseUrl,
7242
- paramsSerializer: (params) => qs2.stringify(params, { allowDots: true })
7243
- });
7244
- this.setupAxiosTokenHandler();
7245
- }
7246
- setupAxiosTokenHandler() {
7247
- if (typeof this.accessToken === "function") {
7248
- this.axiosInstance.interceptors.request.use(async (config3) => {
7249
- config3.headers["X-Webitel-Access"] = await this.accessToken();
7250
- return config3;
7251
- });
7252
- } else {
7253
- this.axiosInstance.defaults.headers.common["X-Webitel-Access"] = this.accessToken;
7254
- }
7255
- }
7256
- };
7257
- function createServiceConfig(rawServiceConfig) {
7258
- return new ServiceConfig(rawServiceConfig);
7259
- }
7260
-
7261
- // src/modules/configs/socketConfig/SocketConfig.class.ts
7262
- var SocketConfig = class {
7263
- baseUrl;
7264
- accessToken;
7265
- constructor({
7266
- baseUrl,
7267
- accessToken
7268
- }) {
7269
- this.baseUrl = baseUrl;
7270
- this.accessToken = accessToken;
7271
- }
7272
- };
7273
- function createSocketConfig(rawSocketConfig) {
7274
- return new SocketConfig(rawSocketConfig);
7275
- }
7276
7391
 
7277
7392
  // src/modules/socket/enums/ChatsSocketMessage.enum.ts
7278
7393
  var ChatsSocketMessage = {
@@ -7294,11 +7409,11 @@ var SocketClientConnectionStatus = {
7294
7409
 
7295
7410
  // src/modules/socket/utils/getSocketMessageNameFromEvent.ts
7296
7411
  var wireToGetter = {
7297
- [ChatsSocketMessage.Connected]: (e) => e.connected,
7298
- [ChatsSocketMessage.Disconnected]: (e) => e.disconnected,
7299
- [ChatsSocketMessage.Error]: (e) => e.error,
7300
- [ChatsSocketMessage.ThreadMessage]: (e) => e.message,
7301
- [ChatsSocketMessage.ThreadCreated]: (e) => e.threadCreated
7412
+ // [ChatsSocketMessage.Connected]: (e) => e.connected,
7413
+ // [ChatsSocketMessage.Disconnected]: (e) => e.disconnected,
7414
+ // [ChatsSocketMessage.Error]: (e) => e.error,
7415
+ // [ChatsSocketMessage.ThreadMessage]: (e) => e.message,
7416
+ // [ChatsSocketMessage.ThreadCreated]: (e) => e.threadCreated,
7302
7417
  };
7303
7418
  function getSocketMessageNameFromEvent(sourceEvent) {
7304
7419
  for (const value of Object.values(ChatsSocketMessage)) {
@@ -7365,6 +7480,111 @@ function createChatsSocketClient(config3) {
7365
7480
  return new ChatsSocketClient(config3);
7366
7481
  }
7367
7482
 
7368
- export { ChatsSocketMessage, createChatsSocketClient, createServiceConfig, createSocketConfig, useContactsService, useMessagesService, useThreadsService };
7483
+ // src/modules/threads/classes/Thread.class.ts
7484
+ var Thread = class {
7485
+ _serviceConfig;
7486
+ id;
7487
+ constructor(rawThread, {
7488
+ serviceConfig
7489
+ }) {
7490
+ Object.assign(this, rawThread);
7491
+ this._serviceConfig = serviceConfig;
7492
+ }
7493
+ async fetchMessageHistory(params) {
7494
+ return useMessagesService(this.serviceConfig).fetchMessageHistory(
7495
+ this.id,
7496
+ params
7497
+ );
7498
+ }
7499
+ async sendTextMessage(body, params = {}) {
7500
+ return useMessagesService(this.serviceConfig).sendTextMessage({
7501
+ ...params,
7502
+ body,
7503
+ to: {
7504
+ threadId: this.id
7505
+ }
7506
+ });
7507
+ }
7508
+ async sendFileMessage(file2, params = {}) {
7509
+ return useMessagesService(this.serviceConfig).sendFileMessage({
7510
+ ...params,
7511
+ file: file2,
7512
+ threadId: this.id,
7513
+ to: {
7514
+ threadId: this.id
7515
+ }
7516
+ });
7517
+ }
7518
+ async sendImageMessage(file2, params = {}) {
7519
+ return useMessagesService(this.serviceConfig).sendImageMessage({
7520
+ ...params,
7521
+ file: file2,
7522
+ threadId: this.id,
7523
+ to: {
7524
+ threadId: this.id
7525
+ }
7526
+ });
7527
+ }
7528
+ get serviceConfig() {
7529
+ return this._serviceConfig;
7530
+ }
7531
+ };
7532
+ function createThread(rawThread, {
7533
+ serviceConfig
7534
+ }) {
7535
+ return new Thread(rawThread, {
7536
+ serviceConfig
7537
+ });
7538
+ }
7539
+
7540
+ // src/modules/threads/api/Threads.api.ts
7541
+ var getThreadsService = ({ axiosInstance }) => {
7542
+ return {
7543
+ getThreadsList: async (params = {}) => {
7544
+ const transformedParams = applyTransform(params, [
7545
+ camelToSnake_transformer_default()
7546
+ ]);
7547
+ const response = await axiosInstance.get("/v1/threads", {
7548
+ params: transformedParams
7549
+ });
7550
+ return applyTransform(response.data, [
7551
+ snakeToCamel_transformer_default()
7552
+ ]);
7553
+ }
7554
+ };
7555
+ };
7556
+
7557
+ // src/modules/threads/utils/fetchThreads.ts
7558
+ var fetchRawThreads = (config3) => async (params = {}) => {
7559
+ const response = await getThreadsService(config3).getThreadsList(params);
7560
+ return response;
7561
+ };
7562
+ var instantiateThreads = (rawThreads, {
7563
+ serviceConfig
7564
+ }) => {
7565
+ return rawThreads.map(
7566
+ (rawThread) => createThread(rawThread, {
7567
+ serviceConfig
7568
+ })
7569
+ );
7570
+ };
7571
+ var fetchThreads = async (config3, params = {}) => {
7572
+ const rawThreadsResponse = await fetchRawThreads(config3)(params);
7573
+ return {
7574
+ ...rawThreadsResponse,
7575
+ items: instantiateThreads(rawThreadsResponse.items ?? [], {
7576
+ serviceConfig: config3
7577
+ })
7578
+ };
7579
+ };
7580
+
7581
+ // src/modules/threads/threadsSevice.ts
7582
+ function useThreadsService(config3) {
7583
+ return {
7584
+ fetchThreads: (params) => fetchThreads(config3, params ?? {})
7585
+ };
7586
+ }
7587
+
7588
+ export { ChatsSocketMessage, createChatsSocketClient, createServiceConfig, createSocketConfig, useAccountService, useContactsService, useMessagesService, useThreadsService };
7369
7589
  //# sourceMappingURL=index.js.map
7370
7590
  //# sourceMappingURL=index.js.map