stream-chat 9.20.2 → 9.20.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,13 @@
1
+ "use strict";
1
2
  var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
6
  var __getProtoOf = Object.getPrototypeOf;
6
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __commonJS = (cb, mod) => function __require() {
8
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
9
11
  };
10
12
  var __copyProps = (to, from, except, desc) => {
11
13
  if (from && typeof from === "object" || typeof from === "function") {
@@ -23,136 +25,183 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
23
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
26
  mod
25
27
  ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
26
29
 
27
- // node_modules/base64-js/index.js
28
- var require_base64_js = __commonJS({
29
- "node_modules/base64-js/index.js"(exports) {
30
- "use strict";
31
- exports.byteLength = byteLength;
32
- exports.toByteArray = toByteArray;
33
- exports.fromByteArray = fromByteArray2;
34
- var lookup = [];
35
- var revLookup = [];
36
- var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
37
- var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
38
- for (i = 0, len = code.length; i < len; ++i) {
39
- lookup[i] = code[i];
40
- revLookup[code.charCodeAt(i)] = i;
41
- }
42
- var i;
43
- var len;
44
- revLookup["-".charCodeAt(0)] = 62;
45
- revLookup["_".charCodeAt(0)] = 63;
46
- function getLens(b64) {
47
- var len2 = b64.length;
48
- if (len2 % 4 > 0) {
49
- throw new Error("Invalid string. Length must be a multiple of 4");
50
- }
51
- var validLen = b64.indexOf("=");
52
- if (validLen === -1) validLen = len2;
53
- var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
54
- return [validLen, placeHoldersLen];
55
- }
56
- function byteLength(b64) {
57
- var lens = getLens(b64);
58
- var validLen = lens[0];
59
- var placeHoldersLen = lens[1];
60
- return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
61
- }
62
- function _byteLength(b64, validLen, placeHoldersLen) {
63
- return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
64
- }
65
- function toByteArray(b64) {
66
- var tmp;
67
- var lens = getLens(b64);
68
- var validLen = lens[0];
69
- var placeHoldersLen = lens[1];
70
- var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
71
- var curByte = 0;
72
- var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
73
- var i2;
74
- for (i2 = 0; i2 < len2; i2 += 4) {
75
- tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];
76
- arr[curByte++] = tmp >> 16 & 255;
77
- arr[curByte++] = tmp >> 8 & 255;
78
- arr[curByte++] = tmp & 255;
79
- }
80
- if (placeHoldersLen === 2) {
81
- tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;
82
- arr[curByte++] = tmp & 255;
83
- }
84
- if (placeHoldersLen === 1) {
85
- tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;
86
- arr[curByte++] = tmp >> 8 & 255;
87
- arr[curByte++] = tmp & 255;
88
- }
89
- return arr;
90
- }
91
- function tripletToBase64(num) {
92
- return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
93
- }
94
- function encodeChunk(uint8, start, end) {
95
- var tmp;
96
- var output = [];
97
- for (var i2 = start; i2 < end; i2 += 3) {
98
- tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);
99
- output.push(tripletToBase64(tmp));
100
- }
101
- return output.join("");
102
- }
103
- function fromByteArray2(uint8) {
104
- var tmp;
105
- var len2 = uint8.length;
106
- var extraBytes = len2 % 3;
107
- var parts = [];
108
- var maxChunkLength = 16383;
109
- for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {
110
- parts.push(encodeChunk(uint8, i2, i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength));
111
- }
112
- if (extraBytes === 1) {
113
- tmp = uint8[len2 - 1];
114
- parts.push(
115
- lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="
116
- );
117
- } else if (extraBytes === 2) {
118
- tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
119
- parts.push(
120
- lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="
121
- );
122
- }
123
- return parts.join("");
124
- }
125
- }
126
- });
127
-
128
- // (disabled):https
129
- var require_https = __commonJS({
130
- "(disabled):https"() {
131
- }
132
- });
133
-
134
- // node_modules/form-data/lib/browser.js
135
- var require_browser = __commonJS({
136
- "node_modules/form-data/lib/browser.js"(exports, module) {
137
- "use strict";
138
- module.exports = typeof self === "object" ? self.FormData : window.FormData;
139
- }
140
- });
141
-
142
- // (disabled):node_modules/jsonwebtoken/index.js
143
- var require_jsonwebtoken = __commonJS({
144
- "(disabled):node_modules/jsonwebtoken/index.js"() {
145
- }
146
- });
147
-
148
- // (disabled):crypto
149
- var require_crypto = __commonJS({
150
- "(disabled):crypto"() {
151
- }
30
+ // src/index.ts
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ AbstractOfflineDB: () => AbstractOfflineDB,
34
+ Allow: () => Allow,
35
+ AllowAll: () => AllowAll,
36
+ AnyResource: () => AnyResource,
37
+ AnyRole: () => AnyRole,
38
+ AttachmentManager: () => AttachmentManager,
39
+ BasePaginator: () => BasePaginator,
40
+ BaseSearchSource: () => BaseSearchSource,
41
+ BaseSearchSourceSync: () => BaseSearchSourceSync,
42
+ BuiltinPermissions: () => BuiltinPermissions,
43
+ BuiltinRoles: () => BuiltinRoles,
44
+ Campaign: () => Campaign,
45
+ Channel: () => Channel,
46
+ ChannelManager: () => ChannelManager,
47
+ ChannelSearchSource: () => ChannelSearchSource,
48
+ ChannelState: () => ChannelState,
49
+ CheckSignature: () => CheckSignature,
50
+ ClientState: () => ClientState,
51
+ CommandSearchSource: () => CommandSearchSource,
52
+ CustomDataManager: () => CustomDataManager,
53
+ DEFAULT_ATTACHMENT_MANAGER_CONFIG: () => DEFAULT_ATTACHMENT_MANAGER_CONFIG,
54
+ DEFAULT_CHANNEL_MANAGER_OPTIONS: () => DEFAULT_CHANNEL_MANAGER_OPTIONS,
55
+ DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS: () => DEFAULT_CHANNEL_MANAGER_PAGINATION_OPTIONS,
56
+ DEFAULT_COMPOSER_CONFIG: () => DEFAULT_COMPOSER_CONFIG,
57
+ DEFAULT_LINK_PREVIEW_MANAGER_CONFIG: () => DEFAULT_LINK_PREVIEW_MANAGER_CONFIG,
58
+ DEFAULT_LOCATION_COMPOSER_CONFIG: () => DEFAULT_LOCATION_COMPOSER_CONFIG,
59
+ DEFAULT_PAGINATION_OPTIONS: () => DEFAULT_PAGINATION_OPTIONS,
60
+ DEFAULT_REMINDER_MANAGER_CONFIG: () => DEFAULT_REMINDER_MANAGER_CONFIG,
61
+ DEFAULT_STOP_REFRESH_BOUNDARY_MS: () => DEFAULT_STOP_REFRESH_BOUNDARY_MS,
62
+ DEFAULT_TEXT_COMPOSER_CONFIG: () => DEFAULT_TEXT_COMPOSER_CONFIG,
63
+ Deny: () => Deny,
64
+ DenyAll: () => DenyAll,
65
+ DevToken: () => DevToken,
66
+ EVENT_MAP: () => EVENT_MAP,
67
+ ErrorFromResponse: () => ErrorFromResponse,
68
+ FilterBuilder: () => FilterBuilder,
69
+ FixedSizeQueueCache: () => FixedSizeQueueCache,
70
+ InsightMetrics: () => InsightMetrics,
71
+ JWTServerToken: () => JWTServerToken,
72
+ JWTUserToken: () => JWTUserToken,
73
+ LinkPreviewStatus: () => LinkPreviewStatus,
74
+ LinkPreviewsManager: () => LinkPreviewsManager,
75
+ LiveLocationManager: () => LiveLocationManager,
76
+ LocationComposer: () => LocationComposer,
77
+ MAX_POLL_OPTIONS: () => MAX_POLL_OPTIONS,
78
+ MODERATION_ENTITY_TYPES: () => MODERATION_ENTITY_TYPES,
79
+ MaxPriority: () => MaxPriority,
80
+ MentionsSearchSource: () => MentionsSearchSource,
81
+ MergedStateStore: () => MergedStateStore,
82
+ MessageComposer: () => MessageComposer,
83
+ MessageComposerMiddlewareExecutor: () => MessageComposerMiddlewareExecutor,
84
+ MessageDraftComposerMiddlewareExecutor: () => MessageDraftComposerMiddlewareExecutor,
85
+ MessageSearchSource: () => MessageSearchSource,
86
+ MiddlewareExecutor: () => MiddlewareExecutor,
87
+ MinPriority: () => MinPriority,
88
+ Moderation: () => Moderation,
89
+ NotificationManager: () => NotificationManager,
90
+ OfflineDBSyncManager: () => OfflineDBSyncManager,
91
+ OfflineError: () => OfflineError,
92
+ Permission: () => Permission,
93
+ Poll: () => Poll,
94
+ PollComposer: () => PollComposer,
95
+ PollComposerCompositionMiddlewareExecutor: () => PollComposerCompositionMiddlewareExecutor,
96
+ PollComposerStateMiddlewareExecutor: () => PollComposerStateMiddlewareExecutor,
97
+ PollManager: () => PollManager,
98
+ Product: () => Product,
99
+ Reminder: () => Reminder,
100
+ ReminderManager: () => ReminderManager,
101
+ ReminderPaginator: () => ReminderPaginator,
102
+ ReminderTimer: () => ReminderTimer,
103
+ SearchController: () => SearchController,
104
+ Segment: () => Segment,
105
+ StableWSConnection: () => StableWSConnection,
106
+ StateStore: () => StateStore,
107
+ StreamChat: () => StreamChat,
108
+ THREAD_MANAGER_INITIAL_STATE: () => THREAD_MANAGER_INITIAL_STATE,
109
+ TextComposer: () => TextComposer,
110
+ TextComposerMiddlewareExecutor: () => TextComposerMiddlewareExecutor,
111
+ Thread: () => Thread,
112
+ ThreadManager: () => ThreadManager,
113
+ TokenManager: () => TokenManager,
114
+ UPDATE_LIVE_LOCATION_REQUEST_MIN_THROTTLE_TIMEOUT: () => UPDATE_LIVE_LOCATION_REQUEST_MIN_THROTTLE_TIMEOUT,
115
+ UserFromToken: () => UserFromToken,
116
+ UserSearchSource: () => UserSearchSource,
117
+ VALID_MAX_VOTES_VALUE_REGEX: () => VALID_MAX_VOTES_VALUE_REGEX,
118
+ VotingVisibility: () => VotingVisibility,
119
+ accentsMap: () => accentsMap,
120
+ buildWsFatalInsight: () => buildWsFatalInsight,
121
+ buildWsSuccessAfterFailureInsight: () => buildWsSuccessAfterFailureInsight,
122
+ calculateLevenshtein: () => calculateLevenshtein,
123
+ channelManagerEventToHandlerMapping: () => channelManagerEventToHandlerMapping,
124
+ chatCodes: () => chatCodes,
125
+ createActiveCommandGuardMiddleware: () => createActiveCommandGuardMiddleware,
126
+ createAttachmentsCompositionMiddleware: () => createAttachmentsCompositionMiddleware,
127
+ createCommandInjectionMiddleware: () => createCommandInjectionMiddleware,
128
+ createCommandStringExtractionMiddleware: () => createCommandStringExtractionMiddleware,
129
+ createCommandsMiddleware: () => createCommandsMiddleware,
130
+ createCompositionDataCleanupMiddleware: () => createCompositionDataCleanupMiddleware,
131
+ createCompositionValidationMiddleware: () => createCompositionValidationMiddleware,
132
+ createCustomDataCompositionMiddleware: () => createCustomDataCompositionMiddleware,
133
+ createDraftAttachmentsCompositionMiddleware: () => createDraftAttachmentsCompositionMiddleware,
134
+ createDraftCommandInjectionMiddleware: () => createDraftCommandInjectionMiddleware,
135
+ createDraftCompositionValidationMiddleware: () => createDraftCompositionValidationMiddleware,
136
+ createDraftCustomDataCompositionMiddleware: () => createDraftCustomDataCompositionMiddleware,
137
+ createDraftLinkPreviewsCompositionMiddleware: () => createDraftLinkPreviewsCompositionMiddleware,
138
+ createDraftMessageComposerStateCompositionMiddleware: () => createDraftMessageComposerStateCompositionMiddleware,
139
+ createDraftTextComposerCompositionMiddleware: () => createDraftTextComposerCompositionMiddleware,
140
+ createFileFromBlobs: () => createFileFromBlobs,
141
+ createLinkPreviewsCompositionMiddleware: () => createLinkPreviewsCompositionMiddleware,
142
+ createMentionsMiddleware: () => createMentionsMiddleware,
143
+ createMessageComposerStateCompositionMiddleware: () => createMessageComposerStateCompositionMiddleware,
144
+ createPollComposerStateMiddleware: () => createPollComposerStateMiddleware,
145
+ createSharedLocationCompositionMiddleware: () => createSharedLocationCompositionMiddleware,
146
+ createTextComposerCompositionMiddleware: () => createTextComposerCompositionMiddleware,
147
+ createTextComposerPreValidationMiddleware: () => createTextComposerPreValidationMiddleware,
148
+ decodeBase64: () => decodeBase64,
149
+ defaultPollFieldBlurEventValidators: () => defaultPollFieldBlurEventValidators,
150
+ defaultPollFieldChangeEventValidators: () => defaultPollFieldChangeEventValidators,
151
+ encodeBase64: () => encodeBase64,
152
+ ensureIsLocalAttachment: () => ensureIsLocalAttachment,
153
+ escapeRegExp: () => escapeRegExp,
154
+ extractPollData: () => extractPollData,
155
+ extractPollEnrichedData: () => extractPollEnrichedData,
156
+ formatMessage: () => formatMessage,
157
+ generateFileName: () => generateFileName,
158
+ getAttachmentTypeFromMimeType: () => getAttachmentTypeFromMimeType,
159
+ getCompleteCommandInString: () => getCompleteCommandInString,
160
+ getExtensionFromMimeType: () => getExtensionFromMimeType,
161
+ getTokenizedSuggestionDisplayName: () => getTokenizedSuggestionDisplayName,
162
+ getTriggerCharWithToken: () => getTriggerCharWithToken,
163
+ insertItemWithTrigger: () => insertItemWithTrigger,
164
+ isAudioAttachment: () => isAudioAttachment,
165
+ isBlobButNotFile: () => isBlobButNotFile,
166
+ isFile: () => isFile,
167
+ isFileAttachment: () => isFileAttachment,
168
+ isFileList: () => isFileList,
169
+ isFileReference: () => isFileReference,
170
+ isImageAttachment: () => isImageAttachment,
171
+ isImageFile: () => isImageFile,
172
+ isLocalAttachment: () => isLocalAttachment,
173
+ isLocalAudioAttachment: () => isLocalAudioAttachment,
174
+ isLocalFileAttachment: () => isLocalFileAttachment,
175
+ isLocalImageAttachment: () => isLocalImageAttachment,
176
+ isLocalUploadAttachment: () => isLocalUploadAttachment,
177
+ isLocalVideoAttachment: () => isLocalVideoAttachment,
178
+ isLocalVoiceRecordingAttachment: () => isLocalVoiceRecordingAttachment,
179
+ isOwnUser: () => isOwnUser,
180
+ isPatch: () => isPatch,
181
+ isScrapedContent: () => isScrapedContent,
182
+ isSharedLocationResponse: () => isSharedLocationResponse,
183
+ isTargetedOptionTextUpdate: () => isTargetedOptionTextUpdate,
184
+ isUploadedAttachment: () => isUploadedAttachment,
185
+ isVideoAttachment: () => isVideoAttachment,
186
+ isVoiceRecordingAttachment: () => isVoiceRecordingAttachment,
187
+ isVoteAnswer: () => isVoteAnswer,
188
+ localMessageToNewMessagePayload: () => localMessageToNewMessagePayload,
189
+ logChatPromiseExecution: () => logChatPromiseExecution,
190
+ mapPollStateToResponse: () => mapPollStateToResponse,
191
+ pollCompositionStateProcessors: () => pollCompositionStateProcessors,
192
+ pollStateChangeValidators: () => pollStateChangeValidators,
193
+ postInsights: () => postInsights,
194
+ promoteChannel: () => promoteChannel,
195
+ readFileAsArrayBuffer: () => readFileAsArrayBuffer,
196
+ removeDiacritics: () => removeDiacritics,
197
+ replaceWordWithEntity: () => replaceWordWithEntity,
198
+ textIsEmpty: () => textIsEmpty,
199
+ timeLeftMs: () => timeLeftMs
152
200
  });
201
+ module.exports = __toCommonJS(index_exports);
153
202
 
154
203
  // src/base64.ts
155
- var import_base64_js = __toESM(require_base64_js());
204
+ var import_base64_js = require("base64-js");
156
205
  function isString(arrayOrString) {
157
206
  return typeof arrayOrString === "string";
158
207
  }
@@ -225,2154 +274,44 @@ var Campaign = class {
225
274
  };
226
275
  const result = await this.client.createCampaign(body);
227
276
  this.id = result.campaign.id;
228
- this.data = result.campaign;
229
- return result;
230
- }
231
- verifyCampaignId() {
232
- if (!this.id) {
233
- throw new Error(
234
- "Campaign id is missing. Either create the campaign using campaign.create() or set the id during instantiation - const campaign = client.campaign(id)"
235
- );
236
- }
237
- }
238
- async start(options) {
239
- this.verifyCampaignId();
240
- return await this.client.startCampaign(this.id, options);
241
- }
242
- update(data) {
243
- this.verifyCampaignId();
244
- return this.client.updateCampaign(this.id, data);
245
- }
246
- async delete() {
247
- this.verifyCampaignId();
248
- return await this.client.deleteCampaign(this.id);
249
- }
250
- stop() {
251
- this.verifyCampaignId();
252
- return this.client.stopCampaign(this.id);
253
- }
254
- get(options) {
255
- this.verifyCampaignId();
256
- return this.client.getCampaign(this.id, options);
257
- }
258
- };
259
-
260
- // node_modules/axios/lib/helpers/bind.js
261
- function bind(fn, thisArg) {
262
- return function wrap() {
263
- return fn.apply(thisArg, arguments);
264
- };
265
- }
266
-
267
- // node_modules/axios/lib/utils.js
268
- var { toString } = Object.prototype;
269
- var { getPrototypeOf } = Object;
270
- var kindOf = /* @__PURE__ */ ((cache) => (thing) => {
271
- const str = toString.call(thing);
272
- return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
273
- })(/* @__PURE__ */ Object.create(null));
274
- var kindOfTest = (type) => {
275
- type = type.toLowerCase();
276
- return (thing) => kindOf(thing) === type;
277
- };
278
- var typeOfTest = (type) => (thing) => typeof thing === type;
279
- var { isArray } = Array;
280
- var isUndefined = typeOfTest("undefined");
281
- function isBuffer(val) {
282
- return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
283
- }
284
- var isArrayBuffer = kindOfTest("ArrayBuffer");
285
- function isArrayBufferView(val) {
286
- let result;
287
- if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
288
- result = ArrayBuffer.isView(val);
289
- } else {
290
- result = val && val.buffer && isArrayBuffer(val.buffer);
291
- }
292
- return result;
293
- }
294
- var isString2 = typeOfTest("string");
295
- var isFunction = typeOfTest("function");
296
- var isNumber = typeOfTest("number");
297
- var isObject = (thing) => thing !== null && typeof thing === "object";
298
- var isBoolean = (thing) => thing === true || thing === false;
299
- var isPlainObject = (val) => {
300
- if (kindOf(val) !== "object") {
301
- return false;
302
- }
303
- const prototype3 = getPrototypeOf(val);
304
- return (prototype3 === null || prototype3 === Object.prototype || Object.getPrototypeOf(prototype3) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
305
- };
306
- var isDate = kindOfTest("Date");
307
- var isFile = kindOfTest("File");
308
- var isBlob = kindOfTest("Blob");
309
- var isFileList = kindOfTest("FileList");
310
- var isStream = (val) => isObject(val) && isFunction(val.pipe);
311
- var isFormData = (thing) => {
312
- let kind;
313
- return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
314
- kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
315
- };
316
- var isURLSearchParams = kindOfTest("URLSearchParams");
317
- var trim = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
318
- function forEach(obj, fn, { allOwnKeys = false } = {}) {
319
- if (obj === null || typeof obj === "undefined") {
320
- return;
321
- }
322
- let i;
323
- let l;
324
- if (typeof obj !== "object") {
325
- obj = [obj];
326
- }
327
- if (isArray(obj)) {
328
- for (i = 0, l = obj.length; i < l; i++) {
329
- fn.call(null, obj[i], i, obj);
330
- }
331
- } else {
332
- const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
333
- const len = keys.length;
334
- let key;
335
- for (i = 0; i < len; i++) {
336
- key = keys[i];
337
- fn.call(null, obj[key], key, obj);
338
- }
339
- }
340
- }
341
- function findKey(obj, key) {
342
- key = key.toLowerCase();
343
- const keys = Object.keys(obj);
344
- let i = keys.length;
345
- let _key;
346
- while (i-- > 0) {
347
- _key = keys[i];
348
- if (key === _key.toLowerCase()) {
349
- return _key;
350
- }
351
- }
352
- return null;
353
- }
354
- var _global = (() => {
355
- if (typeof globalThis !== "undefined") return globalThis;
356
- return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
357
- })();
358
- var isContextDefined = (context) => !isUndefined(context) && context !== _global;
359
- function merge() {
360
- const { caseless } = isContextDefined(this) && this || {};
361
- const result = {};
362
- const assignValue = (val, key) => {
363
- const targetKey = caseless && findKey(result, key) || key;
364
- if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
365
- result[targetKey] = merge(result[targetKey], val);
366
- } else if (isPlainObject(val)) {
367
- result[targetKey] = merge({}, val);
368
- } else if (isArray(val)) {
369
- result[targetKey] = val.slice();
370
- } else {
371
- result[targetKey] = val;
372
- }
373
- };
374
- for (let i = 0, l = arguments.length; i < l; i++) {
375
- arguments[i] && forEach(arguments[i], assignValue);
376
- }
377
- return result;
378
- }
379
- var extend = (a, b, thisArg, { allOwnKeys } = {}) => {
380
- forEach(b, (val, key) => {
381
- if (thisArg && isFunction(val)) {
382
- a[key] = bind(val, thisArg);
383
- } else {
384
- a[key] = val;
385
- }
386
- }, { allOwnKeys });
387
- return a;
388
- };
389
- var stripBOM = (content) => {
390
- if (content.charCodeAt(0) === 65279) {
391
- content = content.slice(1);
392
- }
393
- return content;
394
- };
395
- var inherits = (constructor, superConstructor, props, descriptors2) => {
396
- constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
397
- constructor.prototype.constructor = constructor;
398
- Object.defineProperty(constructor, "super", {
399
- value: superConstructor.prototype
400
- });
401
- props && Object.assign(constructor.prototype, props);
402
- };
403
- var toFlatObject = (sourceObj, destObj, filter2, propFilter) => {
404
- let props;
405
- let i;
406
- let prop;
407
- const merged = {};
408
- destObj = destObj || {};
409
- if (sourceObj == null) return destObj;
410
- do {
411
- props = Object.getOwnPropertyNames(sourceObj);
412
- i = props.length;
413
- while (i-- > 0) {
414
- prop = props[i];
415
- if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
416
- destObj[prop] = sourceObj[prop];
417
- merged[prop] = true;
418
- }
419
- }
420
- sourceObj = filter2 !== false && getPrototypeOf(sourceObj);
421
- } while (sourceObj && (!filter2 || filter2(sourceObj, destObj)) && sourceObj !== Object.prototype);
422
- return destObj;
423
- };
424
- var endsWith = (str, searchString, position) => {
425
- str = String(str);
426
- if (position === void 0 || position > str.length) {
427
- position = str.length;
428
- }
429
- position -= searchString.length;
430
- const lastIndex = str.indexOf(searchString, position);
431
- return lastIndex !== -1 && lastIndex === position;
432
- };
433
- var toArray = (thing) => {
434
- if (!thing) return null;
435
- if (isArray(thing)) return thing;
436
- let i = thing.length;
437
- if (!isNumber(i)) return null;
438
- const arr = new Array(i);
439
- while (i-- > 0) {
440
- arr[i] = thing[i];
441
- }
442
- return arr;
443
- };
444
- var isTypedArray = /* @__PURE__ */ ((TypedArray) => {
445
- return (thing) => {
446
- return TypedArray && thing instanceof TypedArray;
447
- };
448
- })(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
449
- var forEachEntry = (obj, fn) => {
450
- const generator = obj && obj[Symbol.iterator];
451
- const iterator = generator.call(obj);
452
- let result;
453
- while ((result = iterator.next()) && !result.done) {
454
- const pair = result.value;
455
- fn.call(obj, pair[0], pair[1]);
456
- }
457
- };
458
- var matchAll = (regExp, str) => {
459
- let matches;
460
- const arr = [];
461
- while ((matches = regExp.exec(str)) !== null) {
462
- arr.push(matches);
463
- }
464
- return arr;
465
- };
466
- var isHTMLForm = kindOfTest("HTMLFormElement");
467
- var toCamelCase = (str) => {
468
- return str.toLowerCase().replace(
469
- /[-_\s]([a-z\d])(\w*)/g,
470
- function replacer(m, p1, p2) {
471
- return p1.toUpperCase() + p2;
472
- }
473
- );
474
- };
475
- var hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
476
- var isRegExp = kindOfTest("RegExp");
477
- var reduceDescriptors = (obj, reducer) => {
478
- const descriptors2 = Object.getOwnPropertyDescriptors(obj);
479
- const reducedDescriptors = {};
480
- forEach(descriptors2, (descriptor, name) => {
481
- let ret;
482
- if ((ret = reducer(descriptor, name, obj)) !== false) {
483
- reducedDescriptors[name] = ret || descriptor;
484
- }
485
- });
486
- Object.defineProperties(obj, reducedDescriptors);
487
- };
488
- var freezeMethods = (obj) => {
489
- reduceDescriptors(obj, (descriptor, name) => {
490
- if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
491
- return false;
492
- }
493
- const value = obj[name];
494
- if (!isFunction(value)) return;
495
- descriptor.enumerable = false;
496
- if ("writable" in descriptor) {
497
- descriptor.writable = false;
498
- return;
499
- }
500
- if (!descriptor.set) {
501
- descriptor.set = () => {
502
- throw Error("Can not rewrite read-only method '" + name + "'");
503
- };
504
- }
505
- });
506
- };
507
- var toObjectSet = (arrayOrString, delimiter) => {
508
- const obj = {};
509
- const define = (arr) => {
510
- arr.forEach((value) => {
511
- obj[value] = true;
512
- });
513
- };
514
- isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
515
- return obj;
516
- };
517
- var noop = () => {
518
- };
519
- var toFiniteNumber = (value, defaultValue) => {
520
- value = +value;
521
- return Number.isFinite(value) ? value : defaultValue;
522
- };
523
- var ALPHA = "abcdefghijklmnopqrstuvwxyz";
524
- var DIGIT = "0123456789";
525
- var ALPHABET = {
526
- DIGIT,
527
- ALPHA,
528
- ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
529
- };
530
- var generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
531
- let str = "";
532
- const { length } = alphabet;
533
- while (size--) {
534
- str += alphabet[Math.random() * length | 0];
535
- }
536
- return str;
537
- };
538
- function isSpecCompliantForm(thing) {
539
- return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]);
540
- }
541
- var toJSONObject = (obj) => {
542
- const stack = new Array(10);
543
- const visit = (source, i) => {
544
- if (isObject(source)) {
545
- if (stack.indexOf(source) >= 0) {
546
- return;
547
- }
548
- if (!("toJSON" in source)) {
549
- stack[i] = source;
550
- const target = isArray(source) ? [] : {};
551
- forEach(source, (value, key) => {
552
- const reducedValue = visit(value, i + 1);
553
- !isUndefined(reducedValue) && (target[key] = reducedValue);
554
- });
555
- stack[i] = void 0;
556
- return target;
557
- }
558
- }
559
- return source;
560
- };
561
- return visit(obj, 0);
562
- };
563
- var isAsyncFn = kindOfTest("AsyncFunction");
564
- var isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
565
- var utils_default = {
566
- isArray,
567
- isArrayBuffer,
568
- isBuffer,
569
- isFormData,
570
- isArrayBufferView,
571
- isString: isString2,
572
- isNumber,
573
- isBoolean,
574
- isObject,
575
- isPlainObject,
576
- isUndefined,
577
- isDate,
578
- isFile,
579
- isBlob,
580
- isRegExp,
581
- isFunction,
582
- isStream,
583
- isURLSearchParams,
584
- isTypedArray,
585
- isFileList,
586
- forEach,
587
- merge,
588
- extend,
589
- trim,
590
- stripBOM,
591
- inherits,
592
- toFlatObject,
593
- kindOf,
594
- kindOfTest,
595
- endsWith,
596
- toArray,
597
- forEachEntry,
598
- matchAll,
599
- isHTMLForm,
600
- hasOwnProperty,
601
- hasOwnProp: hasOwnProperty,
602
- // an alias to avoid ESLint no-prototype-builtins detection
603
- reduceDescriptors,
604
- freezeMethods,
605
- toObjectSet,
606
- toCamelCase,
607
- noop,
608
- toFiniteNumber,
609
- findKey,
610
- global: _global,
611
- isContextDefined,
612
- ALPHABET,
613
- generateString,
614
- isSpecCompliantForm,
615
- toJSONObject,
616
- isAsyncFn,
617
- isThenable
618
- };
619
-
620
- // node_modules/axios/lib/core/AxiosError.js
621
- function AxiosError(message, code, config, request, response) {
622
- Error.call(this);
623
- if (Error.captureStackTrace) {
624
- Error.captureStackTrace(this, this.constructor);
625
- } else {
626
- this.stack = new Error().stack;
627
- }
628
- this.message = message;
629
- this.name = "AxiosError";
630
- code && (this.code = code);
631
- config && (this.config = config);
632
- request && (this.request = request);
633
- response && (this.response = response);
634
- }
635
- utils_default.inherits(AxiosError, Error, {
636
- toJSON: function toJSON() {
637
- return {
638
- // Standard
639
- message: this.message,
640
- name: this.name,
641
- // Microsoft
642
- description: this.description,
643
- number: this.number,
644
- // Mozilla
645
- fileName: this.fileName,
646
- lineNumber: this.lineNumber,
647
- columnNumber: this.columnNumber,
648
- stack: this.stack,
649
- // Axios
650
- config: utils_default.toJSONObject(this.config),
651
- code: this.code,
652
- status: this.response && this.response.status ? this.response.status : null
653
- };
654
- }
655
- });
656
- var prototype = AxiosError.prototype;
657
- var descriptors = {};
658
- [
659
- "ERR_BAD_OPTION_VALUE",
660
- "ERR_BAD_OPTION",
661
- "ECONNABORTED",
662
- "ETIMEDOUT",
663
- "ERR_NETWORK",
664
- "ERR_FR_TOO_MANY_REDIRECTS",
665
- "ERR_DEPRECATED",
666
- "ERR_BAD_RESPONSE",
667
- "ERR_BAD_REQUEST",
668
- "ERR_CANCELED",
669
- "ERR_NOT_SUPPORT",
670
- "ERR_INVALID_URL"
671
- // eslint-disable-next-line func-names
672
- ].forEach((code) => {
673
- descriptors[code] = { value: code };
674
- });
675
- Object.defineProperties(AxiosError, descriptors);
676
- Object.defineProperty(prototype, "isAxiosError", { value: true });
677
- AxiosError.from = (error, code, config, request, response, customProps) => {
678
- const axiosError = Object.create(prototype);
679
- utils_default.toFlatObject(error, axiosError, function filter2(obj) {
680
- return obj !== Error.prototype;
681
- }, (prop) => {
682
- return prop !== "isAxiosError";
683
- });
684
- AxiosError.call(axiosError, error.message, code, config, request, response);
685
- axiosError.cause = error;
686
- axiosError.name = error.name;
687
- customProps && Object.assign(axiosError, customProps);
688
- return axiosError;
689
- };
690
- var AxiosError_default = AxiosError;
691
-
692
- // node_modules/axios/lib/helpers/null.js
693
- var null_default = null;
694
-
695
- // node_modules/axios/lib/helpers/toFormData.js
696
- function isVisitable(thing) {
697
- return utils_default.isPlainObject(thing) || utils_default.isArray(thing);
698
- }
699
- function removeBrackets(key) {
700
- return utils_default.endsWith(key, "[]") ? key.slice(0, -2) : key;
701
- }
702
- function renderKey(path, key, dots) {
703
- if (!path) return key;
704
- return path.concat(key).map(function each(token, i) {
705
- token = removeBrackets(token);
706
- return !dots && i ? "[" + token + "]" : token;
707
- }).join(dots ? "." : "");
708
- }
709
- function isFlatArray(arr) {
710
- return utils_default.isArray(arr) && !arr.some(isVisitable);
711
- }
712
- var predicates = utils_default.toFlatObject(utils_default, {}, null, function filter(prop) {
713
- return /^is[A-Z]/.test(prop);
714
- });
715
- function toFormData(obj, formData, options) {
716
- if (!utils_default.isObject(obj)) {
717
- throw new TypeError("target must be an object");
718
- }
719
- formData = formData || new (null_default || FormData)();
720
- options = utils_default.toFlatObject(options, {
721
- metaTokens: true,
722
- dots: false,
723
- indexes: false
724
- }, false, function defined(option, source) {
725
- return !utils_default.isUndefined(source[option]);
726
- });
727
- const metaTokens = options.metaTokens;
728
- const visitor = options.visitor || defaultVisitor;
729
- const dots = options.dots;
730
- const indexes = options.indexes;
731
- const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
732
- const useBlob = _Blob && utils_default.isSpecCompliantForm(formData);
733
- if (!utils_default.isFunction(visitor)) {
734
- throw new TypeError("visitor must be a function");
735
- }
736
- function convertValue(value) {
737
- if (value === null) return "";
738
- if (utils_default.isDate(value)) {
739
- return value.toISOString();
740
- }
741
- if (!useBlob && utils_default.isBlob(value)) {
742
- throw new AxiosError_default("Blob is not supported. Use a Buffer instead.");
743
- }
744
- if (utils_default.isArrayBuffer(value) || utils_default.isTypedArray(value)) {
745
- return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
746
- }
747
- return value;
748
- }
749
- function defaultVisitor(value, key, path) {
750
- let arr = value;
751
- if (value && !path && typeof value === "object") {
752
- if (utils_default.endsWith(key, "{}")) {
753
- key = metaTokens ? key : key.slice(0, -2);
754
- value = JSON.stringify(value);
755
- } else if (utils_default.isArray(value) && isFlatArray(value) || (utils_default.isFileList(value) || utils_default.endsWith(key, "[]")) && (arr = utils_default.toArray(value))) {
756
- key = removeBrackets(key);
757
- arr.forEach(function each(el, index) {
758
- !(utils_default.isUndefined(el) || el === null) && formData.append(
759
- // eslint-disable-next-line no-nested-ternary
760
- indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + "[]",
761
- convertValue(el)
762
- );
763
- });
764
- return false;
765
- }
766
- }
767
- if (isVisitable(value)) {
768
- return true;
769
- }
770
- formData.append(renderKey(path, key, dots), convertValue(value));
771
- return false;
772
- }
773
- const stack = [];
774
- const exposedHelpers = Object.assign(predicates, {
775
- defaultVisitor,
776
- convertValue,
777
- isVisitable
778
- });
779
- function build(value, path) {
780
- if (utils_default.isUndefined(value)) return;
781
- if (stack.indexOf(value) !== -1) {
782
- throw Error("Circular reference detected in " + path.join("."));
783
- }
784
- stack.push(value);
785
- utils_default.forEach(value, function each(el, key) {
786
- const result = !(utils_default.isUndefined(el) || el === null) && visitor.call(
787
- formData,
788
- el,
789
- utils_default.isString(key) ? key.trim() : key,
790
- path,
791
- exposedHelpers
792
- );
793
- if (result === true) {
794
- build(el, path ? path.concat(key) : [key]);
795
- }
796
- });
797
- stack.pop();
798
- }
799
- if (!utils_default.isObject(obj)) {
800
- throw new TypeError("data must be an object");
801
- }
802
- build(obj);
803
- return formData;
804
- }
805
- var toFormData_default = toFormData;
806
-
807
- // node_modules/axios/lib/helpers/AxiosURLSearchParams.js
808
- function encode(str) {
809
- const charMap = {
810
- "!": "%21",
811
- "'": "%27",
812
- "(": "%28",
813
- ")": "%29",
814
- "~": "%7E",
815
- "%20": "+",
816
- "%00": "\0"
817
- };
818
- return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
819
- return charMap[match];
820
- });
821
- }
822
- function AxiosURLSearchParams(params, options) {
823
- this._pairs = [];
824
- params && toFormData_default(params, this, options);
825
- }
826
- var prototype2 = AxiosURLSearchParams.prototype;
827
- prototype2.append = function append(name, value) {
828
- this._pairs.push([name, value]);
829
- };
830
- prototype2.toString = function toString2(encoder) {
831
- const _encode = encoder ? function(value) {
832
- return encoder.call(this, value, encode);
833
- } : encode;
834
- return this._pairs.map(function each(pair) {
835
- return _encode(pair[0]) + "=" + _encode(pair[1]);
836
- }, "").join("&");
837
- };
838
- var AxiosURLSearchParams_default = AxiosURLSearchParams;
839
-
840
- // node_modules/axios/lib/helpers/buildURL.js
841
- function encode2(val) {
842
- return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
843
- }
844
- function buildURL(url, params, options) {
845
- if (!params) {
846
- return url;
847
- }
848
- const _encode = options && options.encode || encode2;
849
- const serializeFn = options && options.serialize;
850
- let serializedParams;
851
- if (serializeFn) {
852
- serializedParams = serializeFn(params, options);
853
- } else {
854
- serializedParams = utils_default.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams_default(params, options).toString(_encode);
855
- }
856
- if (serializedParams) {
857
- const hashmarkIndex = url.indexOf("#");
858
- if (hashmarkIndex !== -1) {
859
- url = url.slice(0, hashmarkIndex);
860
- }
861
- url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
862
- }
863
- return url;
864
- }
865
-
866
- // node_modules/axios/lib/core/InterceptorManager.js
867
- var InterceptorManager = class {
868
- constructor() {
869
- this.handlers = [];
870
- }
871
- /**
872
- * Add a new interceptor to the stack
873
- *
874
- * @param {Function} fulfilled The function to handle `then` for a `Promise`
875
- * @param {Function} rejected The function to handle `reject` for a `Promise`
876
- *
877
- * @return {Number} An ID used to remove interceptor later
878
- */
879
- use(fulfilled, rejected, options) {
880
- this.handlers.push({
881
- fulfilled,
882
- rejected,
883
- synchronous: options ? options.synchronous : false,
884
- runWhen: options ? options.runWhen : null
885
- });
886
- return this.handlers.length - 1;
887
- }
888
- /**
889
- * Remove an interceptor from the stack
890
- *
891
- * @param {Number} id The ID that was returned by `use`
892
- *
893
- * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
894
- */
895
- eject(id) {
896
- if (this.handlers[id]) {
897
- this.handlers[id] = null;
898
- }
899
- }
900
- /**
901
- * Clear all interceptors from the stack
902
- *
903
- * @returns {void}
904
- */
905
- clear() {
906
- if (this.handlers) {
907
- this.handlers = [];
908
- }
909
- }
910
- /**
911
- * Iterate over all the registered interceptors
912
- *
913
- * This method is particularly useful for skipping over any
914
- * interceptors that may have become `null` calling `eject`.
915
- *
916
- * @param {Function} fn The function to call for each interceptor
917
- *
918
- * @returns {void}
919
- */
920
- forEach(fn) {
921
- utils_default.forEach(this.handlers, function forEachHandler(h) {
922
- if (h !== null) {
923
- fn(h);
924
- }
925
- });
926
- }
927
- };
928
- var InterceptorManager_default = InterceptorManager;
929
-
930
- // node_modules/axios/lib/defaults/transitional.js
931
- var transitional_default = {
932
- silentJSONParsing: true,
933
- forcedJSONParsing: true,
934
- clarifyTimeoutError: false
935
- };
936
-
937
- // node_modules/axios/lib/platform/browser/classes/URLSearchParams.js
938
- var URLSearchParams_default = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams_default;
939
-
940
- // node_modules/axios/lib/platform/browser/classes/FormData.js
941
- var FormData_default = typeof FormData !== "undefined" ? FormData : null;
942
-
943
- // node_modules/axios/lib/platform/browser/classes/Blob.js
944
- var Blob_default = typeof Blob !== "undefined" ? Blob : null;
945
-
946
- // node_modules/axios/lib/platform/browser/index.js
947
- var isStandardBrowserEnv = (() => {
948
- let product;
949
- if (typeof navigator !== "undefined" && ((product = navigator.product) === "ReactNative" || product === "NativeScript" || product === "NS")) {
950
- return false;
951
- }
952
- return typeof window !== "undefined" && typeof document !== "undefined";
953
- })();
954
- var isStandardBrowserWebWorkerEnv = (() => {
955
- return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
956
- self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
957
- })();
958
- var browser_default = {
959
- isBrowser: true,
960
- classes: {
961
- URLSearchParams: URLSearchParams_default,
962
- FormData: FormData_default,
963
- Blob: Blob_default
964
- },
965
- isStandardBrowserEnv,
966
- isStandardBrowserWebWorkerEnv,
967
- protocols: ["http", "https", "file", "blob", "url", "data"]
968
- };
969
-
970
- // node_modules/axios/lib/helpers/toURLEncodedForm.js
971
- function toURLEncodedForm(data, options) {
972
- return toFormData_default(data, new browser_default.classes.URLSearchParams(), Object.assign({
973
- visitor: function(value, key, path, helpers) {
974
- if (browser_default.isNode && utils_default.isBuffer(value)) {
975
- this.append(key, value.toString("base64"));
976
- return false;
977
- }
978
- return helpers.defaultVisitor.apply(this, arguments);
979
- }
980
- }, options));
981
- }
982
-
983
- // node_modules/axios/lib/helpers/formDataToJSON.js
984
- function parsePropPath(name) {
985
- return utils_default.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
986
- return match[0] === "[]" ? "" : match[1] || match[0];
987
- });
988
- }
989
- function arrayToObject(arr) {
990
- const obj = {};
991
- const keys = Object.keys(arr);
992
- let i;
993
- const len = keys.length;
994
- let key;
995
- for (i = 0; i < len; i++) {
996
- key = keys[i];
997
- obj[key] = arr[key];
998
- }
999
- return obj;
1000
- }
1001
- function formDataToJSON(formData) {
1002
- function buildPath(path, value, target, index) {
1003
- let name = path[index++];
1004
- const isNumericKey = Number.isFinite(+name);
1005
- const isLast = index >= path.length;
1006
- name = !name && utils_default.isArray(target) ? target.length : name;
1007
- if (isLast) {
1008
- if (utils_default.hasOwnProp(target, name)) {
1009
- target[name] = [target[name], value];
1010
- } else {
1011
- target[name] = value;
1012
- }
1013
- return !isNumericKey;
1014
- }
1015
- if (!target[name] || !utils_default.isObject(target[name])) {
1016
- target[name] = [];
1017
- }
1018
- const result = buildPath(path, value, target[name], index);
1019
- if (result && utils_default.isArray(target[name])) {
1020
- target[name] = arrayToObject(target[name]);
1021
- }
1022
- return !isNumericKey;
1023
- }
1024
- if (utils_default.isFormData(formData) && utils_default.isFunction(formData.entries)) {
1025
- const obj = {};
1026
- utils_default.forEachEntry(formData, (name, value) => {
1027
- buildPath(parsePropPath(name), value, obj, 0);
1028
- });
1029
- return obj;
1030
- }
1031
- return null;
1032
- }
1033
- var formDataToJSON_default = formDataToJSON;
1034
-
1035
- // node_modules/axios/lib/defaults/index.js
1036
- function stringifySafely(rawValue, parser, encoder) {
1037
- if (utils_default.isString(rawValue)) {
1038
- try {
1039
- (parser || JSON.parse)(rawValue);
1040
- return utils_default.trim(rawValue);
1041
- } catch (e) {
1042
- if (e.name !== "SyntaxError") {
1043
- throw e;
1044
- }
1045
- }
1046
- }
1047
- return (encoder || JSON.stringify)(rawValue);
1048
- }
1049
- var defaults = {
1050
- transitional: transitional_default,
1051
- adapter: ["xhr", "http"],
1052
- transformRequest: [function transformRequest(data, headers) {
1053
- const contentType = headers.getContentType() || "";
1054
- const hasJSONContentType = contentType.indexOf("application/json") > -1;
1055
- const isObjectPayload = utils_default.isObject(data);
1056
- if (isObjectPayload && utils_default.isHTMLForm(data)) {
1057
- data = new FormData(data);
1058
- }
1059
- const isFormData2 = utils_default.isFormData(data);
1060
- if (isFormData2) {
1061
- if (!hasJSONContentType) {
1062
- return data;
1063
- }
1064
- return hasJSONContentType ? JSON.stringify(formDataToJSON_default(data)) : data;
1065
- }
1066
- if (utils_default.isArrayBuffer(data) || utils_default.isBuffer(data) || utils_default.isStream(data) || utils_default.isFile(data) || utils_default.isBlob(data)) {
1067
- return data;
1068
- }
1069
- if (utils_default.isArrayBufferView(data)) {
1070
- return data.buffer;
1071
- }
1072
- if (utils_default.isURLSearchParams(data)) {
1073
- headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
1074
- return data.toString();
1075
- }
1076
- let isFileList3;
1077
- if (isObjectPayload) {
1078
- if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
1079
- return toURLEncodedForm(data, this.formSerializer).toString();
1080
- }
1081
- if ((isFileList3 = utils_default.isFileList(data)) || contentType.indexOf("multipart/form-data") > -1) {
1082
- const _FormData = this.env && this.env.FormData;
1083
- return toFormData_default(
1084
- isFileList3 ? { "files[]": data } : data,
1085
- _FormData && new _FormData(),
1086
- this.formSerializer
1087
- );
1088
- }
1089
- }
1090
- if (isObjectPayload || hasJSONContentType) {
1091
- headers.setContentType("application/json", false);
1092
- return stringifySafely(data);
1093
- }
1094
- return data;
1095
- }],
1096
- transformResponse: [function transformResponse(data) {
1097
- const transitional2 = this.transitional || defaults.transitional;
1098
- const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
1099
- const JSONRequested = this.responseType === "json";
1100
- if (data && utils_default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
1101
- const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
1102
- const strictJSONParsing = !silentJSONParsing && JSONRequested;
1103
- try {
1104
- return JSON.parse(data);
1105
- } catch (e) {
1106
- if (strictJSONParsing) {
1107
- if (e.name === "SyntaxError") {
1108
- throw AxiosError_default.from(e, AxiosError_default.ERR_BAD_RESPONSE, this, null, this.response);
1109
- }
1110
- throw e;
1111
- }
1112
- }
1113
- }
1114
- return data;
1115
- }],
1116
- /**
1117
- * A timeout in milliseconds to abort a request. If set to 0 (default) a
1118
- * timeout is not created.
1119
- */
1120
- timeout: 0,
1121
- xsrfCookieName: "XSRF-TOKEN",
1122
- xsrfHeaderName: "X-XSRF-TOKEN",
1123
- maxContentLength: -1,
1124
- maxBodyLength: -1,
1125
- env: {
1126
- FormData: browser_default.classes.FormData,
1127
- Blob: browser_default.classes.Blob
1128
- },
1129
- validateStatus: function validateStatus(status) {
1130
- return status >= 200 && status < 300;
1131
- },
1132
- headers: {
1133
- common: {
1134
- "Accept": "application/json, text/plain, */*",
1135
- "Content-Type": void 0
1136
- }
1137
- }
1138
- };
1139
- utils_default.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
1140
- defaults.headers[method] = {};
1141
- });
1142
- var defaults_default = defaults;
1143
-
1144
- // node_modules/axios/lib/helpers/parseHeaders.js
1145
- var ignoreDuplicateOf = utils_default.toObjectSet([
1146
- "age",
1147
- "authorization",
1148
- "content-length",
1149
- "content-type",
1150
- "etag",
1151
- "expires",
1152
- "from",
1153
- "host",
1154
- "if-modified-since",
1155
- "if-unmodified-since",
1156
- "last-modified",
1157
- "location",
1158
- "max-forwards",
1159
- "proxy-authorization",
1160
- "referer",
1161
- "retry-after",
1162
- "user-agent"
1163
- ]);
1164
- var parseHeaders_default = (rawHeaders) => {
1165
- const parsed = {};
1166
- let key;
1167
- let val;
1168
- let i;
1169
- rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
1170
- i = line.indexOf(":");
1171
- key = line.substring(0, i).trim().toLowerCase();
1172
- val = line.substring(i + 1).trim();
1173
- if (!key || parsed[key] && ignoreDuplicateOf[key]) {
1174
- return;
1175
- }
1176
- if (key === "set-cookie") {
1177
- if (parsed[key]) {
1178
- parsed[key].push(val);
1179
- } else {
1180
- parsed[key] = [val];
1181
- }
1182
- } else {
1183
- parsed[key] = parsed[key] ? parsed[key] + ", " + val : val;
1184
- }
1185
- });
1186
- return parsed;
1187
- };
1188
-
1189
- // node_modules/axios/lib/core/AxiosHeaders.js
1190
- var $internals = Symbol("internals");
1191
- function normalizeHeader(header) {
1192
- return header && String(header).trim().toLowerCase();
1193
- }
1194
- function normalizeValue(value) {
1195
- if (value === false || value == null) {
1196
- return value;
1197
- }
1198
- return utils_default.isArray(value) ? value.map(normalizeValue) : String(value);
1199
- }
1200
- function parseTokens(str) {
1201
- const tokens = /* @__PURE__ */ Object.create(null);
1202
- const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
1203
- let match;
1204
- while (match = tokensRE.exec(str)) {
1205
- tokens[match[1]] = match[2];
1206
- }
1207
- return tokens;
1208
- }
1209
- var isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
1210
- function matchHeaderValue(context, value, header, filter2, isHeaderNameFilter) {
1211
- if (utils_default.isFunction(filter2)) {
1212
- return filter2.call(this, value, header);
1213
- }
1214
- if (isHeaderNameFilter) {
1215
- value = header;
1216
- }
1217
- if (!utils_default.isString(value)) return;
1218
- if (utils_default.isString(filter2)) {
1219
- return value.indexOf(filter2) !== -1;
1220
- }
1221
- if (utils_default.isRegExp(filter2)) {
1222
- return filter2.test(value);
1223
- }
1224
- }
1225
- function formatHeader(header) {
1226
- return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
1227
- return char.toUpperCase() + str;
1228
- });
1229
- }
1230
- function buildAccessors(obj, header) {
1231
- const accessorName = utils_default.toCamelCase(" " + header);
1232
- ["get", "set", "has"].forEach((methodName) => {
1233
- Object.defineProperty(obj, methodName + accessorName, {
1234
- value: function(arg1, arg2, arg3) {
1235
- return this[methodName].call(this, header, arg1, arg2, arg3);
1236
- },
1237
- configurable: true
1238
- });
1239
- });
1240
- }
1241
- var AxiosHeaders = class {
1242
- constructor(headers) {
1243
- headers && this.set(headers);
1244
- }
1245
- set(header, valueOrRewrite, rewrite) {
1246
- const self2 = this;
1247
- function setHeader(_value, _header, _rewrite) {
1248
- const lHeader = normalizeHeader(_header);
1249
- if (!lHeader) {
1250
- throw new Error("header name must be a non-empty string");
1251
- }
1252
- const key = utils_default.findKey(self2, lHeader);
1253
- if (!key || self2[key] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key] !== false) {
1254
- self2[key || _header] = normalizeValue(_value);
1255
- }
1256
- }
1257
- const setHeaders = (headers, _rewrite) => utils_default.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
1258
- if (utils_default.isPlainObject(header) || header instanceof this.constructor) {
1259
- setHeaders(header, valueOrRewrite);
1260
- } else if (utils_default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
1261
- setHeaders(parseHeaders_default(header), valueOrRewrite);
1262
- } else {
1263
- header != null && setHeader(valueOrRewrite, header, rewrite);
1264
- }
1265
- return this;
1266
- }
1267
- get(header, parser) {
1268
- header = normalizeHeader(header);
1269
- if (header) {
1270
- const key = utils_default.findKey(this, header);
1271
- if (key) {
1272
- const value = this[key];
1273
- if (!parser) {
1274
- return value;
1275
- }
1276
- if (parser === true) {
1277
- return parseTokens(value);
1278
- }
1279
- if (utils_default.isFunction(parser)) {
1280
- return parser.call(this, value, key);
1281
- }
1282
- if (utils_default.isRegExp(parser)) {
1283
- return parser.exec(value);
1284
- }
1285
- throw new TypeError("parser must be boolean|regexp|function");
1286
- }
1287
- }
1288
- }
1289
- has(header, matcher) {
1290
- header = normalizeHeader(header);
1291
- if (header) {
1292
- const key = utils_default.findKey(this, header);
1293
- return !!(key && this[key] !== void 0 && (!matcher || matchHeaderValue(this, this[key], key, matcher)));
1294
- }
1295
- return false;
1296
- }
1297
- delete(header, matcher) {
1298
- const self2 = this;
1299
- let deleted = false;
1300
- function deleteHeader(_header) {
1301
- _header = normalizeHeader(_header);
1302
- if (_header) {
1303
- const key = utils_default.findKey(self2, _header);
1304
- if (key && (!matcher || matchHeaderValue(self2, self2[key], key, matcher))) {
1305
- delete self2[key];
1306
- deleted = true;
1307
- }
1308
- }
1309
- }
1310
- if (utils_default.isArray(header)) {
1311
- header.forEach(deleteHeader);
1312
- } else {
1313
- deleteHeader(header);
1314
- }
1315
- return deleted;
1316
- }
1317
- clear(matcher) {
1318
- const keys = Object.keys(this);
1319
- let i = keys.length;
1320
- let deleted = false;
1321
- while (i--) {
1322
- const key = keys[i];
1323
- if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {
1324
- delete this[key];
1325
- deleted = true;
1326
- }
1327
- }
1328
- return deleted;
1329
- }
1330
- normalize(format) {
1331
- const self2 = this;
1332
- const headers = {};
1333
- utils_default.forEach(this, (value, header) => {
1334
- const key = utils_default.findKey(headers, header);
1335
- if (key) {
1336
- self2[key] = normalizeValue(value);
1337
- delete self2[header];
1338
- return;
1339
- }
1340
- const normalized = format ? formatHeader(header) : String(header).trim();
1341
- if (normalized !== header) {
1342
- delete self2[header];
1343
- }
1344
- self2[normalized] = normalizeValue(value);
1345
- headers[normalized] = true;
1346
- });
1347
- return this;
1348
- }
1349
- concat(...targets) {
1350
- return this.constructor.concat(this, ...targets);
1351
- }
1352
- toJSON(asStrings) {
1353
- const obj = /* @__PURE__ */ Object.create(null);
1354
- utils_default.forEach(this, (value, header) => {
1355
- value != null && value !== false && (obj[header] = asStrings && utils_default.isArray(value) ? value.join(", ") : value);
1356
- });
1357
- return obj;
1358
- }
1359
- [Symbol.iterator]() {
1360
- return Object.entries(this.toJSON())[Symbol.iterator]();
1361
- }
1362
- toString() {
1363
- return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
1364
- }
1365
- get [Symbol.toStringTag]() {
1366
- return "AxiosHeaders";
1367
- }
1368
- static from(thing) {
1369
- return thing instanceof this ? thing : new this(thing);
1370
- }
1371
- static concat(first, ...targets) {
1372
- const computed = new this(first);
1373
- targets.forEach((target) => computed.set(target));
1374
- return computed;
1375
- }
1376
- static accessor(header) {
1377
- const internals = this[$internals] = this[$internals] = {
1378
- accessors: {}
1379
- };
1380
- const accessors = internals.accessors;
1381
- const prototype3 = this.prototype;
1382
- function defineAccessor(_header) {
1383
- const lHeader = normalizeHeader(_header);
1384
- if (!accessors[lHeader]) {
1385
- buildAccessors(prototype3, _header);
1386
- accessors[lHeader] = true;
1387
- }
1388
- }
1389
- utils_default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
1390
- return this;
1391
- }
1392
- };
1393
- AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
1394
- utils_default.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key) => {
1395
- let mapped = key[0].toUpperCase() + key.slice(1);
1396
- return {
1397
- get: () => value,
1398
- set(headerValue) {
1399
- this[mapped] = headerValue;
1400
- }
1401
- };
1402
- });
1403
- utils_default.freezeMethods(AxiosHeaders);
1404
- var AxiosHeaders_default = AxiosHeaders;
1405
-
1406
- // node_modules/axios/lib/core/transformData.js
1407
- function transformData(fns, response) {
1408
- const config = this || defaults_default;
1409
- const context = response || config;
1410
- const headers = AxiosHeaders_default.from(context.headers);
1411
- let data = context.data;
1412
- utils_default.forEach(fns, function transform(fn) {
1413
- data = fn.call(config, data, headers.normalize(), response ? response.status : void 0);
1414
- });
1415
- headers.normalize();
1416
- return data;
1417
- }
1418
-
1419
- // node_modules/axios/lib/cancel/isCancel.js
1420
- function isCancel(value) {
1421
- return !!(value && value.__CANCEL__);
1422
- }
1423
-
1424
- // node_modules/axios/lib/cancel/CanceledError.js
1425
- function CanceledError(message, config, request) {
1426
- AxiosError_default.call(this, message == null ? "canceled" : message, AxiosError_default.ERR_CANCELED, config, request);
1427
- this.name = "CanceledError";
1428
- }
1429
- utils_default.inherits(CanceledError, AxiosError_default, {
1430
- __CANCEL__: true
1431
- });
1432
- var CanceledError_default = CanceledError;
1433
-
1434
- // node_modules/axios/lib/core/settle.js
1435
- function settle(resolve, reject, response) {
1436
- const validateStatus2 = response.config.validateStatus;
1437
- if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
1438
- resolve(response);
1439
- } else {
1440
- reject(new AxiosError_default(
1441
- "Request failed with status code " + response.status,
1442
- [AxiosError_default.ERR_BAD_REQUEST, AxiosError_default.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
1443
- response.config,
1444
- response.request,
1445
- response
1446
- ));
1447
- }
1448
- }
1449
-
1450
- // node_modules/axios/lib/helpers/cookies.js
1451
- var cookies_default = browser_default.isStandardBrowserEnv ? (
1452
- // Standard browser envs support document.cookie
1453
- /* @__PURE__ */ function standardBrowserEnv() {
1454
- return {
1455
- write: function write(name, value, expires, path, domain2, secure) {
1456
- const cookie = [];
1457
- cookie.push(name + "=" + encodeURIComponent(value));
1458
- if (utils_default.isNumber(expires)) {
1459
- cookie.push("expires=" + new Date(expires).toGMTString());
1460
- }
1461
- if (utils_default.isString(path)) {
1462
- cookie.push("path=" + path);
1463
- }
1464
- if (utils_default.isString(domain2)) {
1465
- cookie.push("domain=" + domain2);
1466
- }
1467
- if (secure === true) {
1468
- cookie.push("secure");
1469
- }
1470
- document.cookie = cookie.join("; ");
1471
- },
1472
- read: function read(name) {
1473
- const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
1474
- return match ? decodeURIComponent(match[3]) : null;
1475
- },
1476
- remove: function remove(name) {
1477
- this.write(name, "", Date.now() - 864e5);
1478
- }
1479
- };
1480
- }()
1481
- ) : (
1482
- // Non standard browser env (web workers, react-native) lack needed support.
1483
- /* @__PURE__ */ function nonStandardBrowserEnv() {
1484
- return {
1485
- write: function write() {
1486
- },
1487
- read: function read() {
1488
- return null;
1489
- },
1490
- remove: function remove() {
1491
- }
1492
- };
1493
- }()
1494
- );
1495
-
1496
- // node_modules/axios/lib/helpers/isAbsoluteURL.js
1497
- function isAbsoluteURL(url) {
1498
- return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
1499
- }
1500
-
1501
- // node_modules/axios/lib/helpers/combineURLs.js
1502
- function combineURLs(baseURL, relativeURL) {
1503
- return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
1504
- }
1505
-
1506
- // node_modules/axios/lib/core/buildFullPath.js
1507
- function buildFullPath(baseURL, requestedURL) {
1508
- if (baseURL && !isAbsoluteURL(requestedURL)) {
1509
- return combineURLs(baseURL, requestedURL);
1510
- }
1511
- return requestedURL;
1512
- }
1513
-
1514
- // node_modules/axios/lib/helpers/isURLSameOrigin.js
1515
- var isURLSameOrigin_default = browser_default.isStandardBrowserEnv ? (
1516
- // Standard browser envs have full support of the APIs needed to test
1517
- // whether the request URL is of the same origin as current location.
1518
- function standardBrowserEnv2() {
1519
- const msie = /(msie|trident)/i.test(navigator.userAgent);
1520
- const urlParsingNode = document.createElement("a");
1521
- let originURL;
1522
- function resolveURL(url) {
1523
- let href = url;
1524
- if (msie) {
1525
- urlParsingNode.setAttribute("href", href);
1526
- href = urlParsingNode.href;
1527
- }
1528
- urlParsingNode.setAttribute("href", href);
1529
- return {
1530
- href: urlParsingNode.href,
1531
- protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
1532
- host: urlParsingNode.host,
1533
- search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
1534
- hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
1535
- hostname: urlParsingNode.hostname,
1536
- port: urlParsingNode.port,
1537
- pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
1538
- };
1539
- }
1540
- originURL = resolveURL(window.location.href);
1541
- return function isURLSameOrigin(requestURL) {
1542
- const parsed = utils_default.isString(requestURL) ? resolveURL(requestURL) : requestURL;
1543
- return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
1544
- };
1545
- }()
1546
- ) : (
1547
- // Non standard browser envs (web workers, react-native) lack needed support.
1548
- /* @__PURE__ */ function nonStandardBrowserEnv2() {
1549
- return function isURLSameOrigin() {
1550
- return true;
1551
- };
1552
- }()
1553
- );
1554
-
1555
- // node_modules/axios/lib/helpers/parseProtocol.js
1556
- function parseProtocol(url) {
1557
- const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
1558
- return match && match[1] || "";
1559
- }
1560
-
1561
- // node_modules/axios/lib/helpers/speedometer.js
1562
- function speedometer(samplesCount, min) {
1563
- samplesCount = samplesCount || 10;
1564
- const bytes = new Array(samplesCount);
1565
- const timestamps = new Array(samplesCount);
1566
- let head = 0;
1567
- let tail = 0;
1568
- let firstSampleTS;
1569
- min = min !== void 0 ? min : 1e3;
1570
- return function push(chunkLength) {
1571
- const now = Date.now();
1572
- const startedAt = timestamps[tail];
1573
- if (!firstSampleTS) {
1574
- firstSampleTS = now;
1575
- }
1576
- bytes[head] = chunkLength;
1577
- timestamps[head] = now;
1578
- let i = tail;
1579
- let bytesCount = 0;
1580
- while (i !== head) {
1581
- bytesCount += bytes[i++];
1582
- i = i % samplesCount;
1583
- }
1584
- head = (head + 1) % samplesCount;
1585
- if (head === tail) {
1586
- tail = (tail + 1) % samplesCount;
1587
- }
1588
- if (now - firstSampleTS < min) {
1589
- return;
1590
- }
1591
- const passed = startedAt && now - startedAt;
1592
- return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
1593
- };
1594
- }
1595
- var speedometer_default = speedometer;
1596
-
1597
- // node_modules/axios/lib/adapters/xhr.js
1598
- function progressEventReducer(listener, isDownloadStream) {
1599
- let bytesNotified = 0;
1600
- const _speedometer = speedometer_default(50, 250);
1601
- return (e) => {
1602
- const loaded = e.loaded;
1603
- const total = e.lengthComputable ? e.total : void 0;
1604
- const progressBytes = loaded - bytesNotified;
1605
- const rate = _speedometer(progressBytes);
1606
- const inRange = loaded <= total;
1607
- bytesNotified = loaded;
1608
- const data = {
1609
- loaded,
1610
- total,
1611
- progress: total ? loaded / total : void 0,
1612
- bytes: progressBytes,
1613
- rate: rate ? rate : void 0,
1614
- estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
1615
- event: e
1616
- };
1617
- data[isDownloadStream ? "download" : "upload"] = true;
1618
- listener(data);
1619
- };
1620
- }
1621
- var isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
1622
- var xhr_default = isXHRAdapterSupported && function(config) {
1623
- return new Promise(function dispatchXhrRequest(resolve, reject) {
1624
- let requestData = config.data;
1625
- const requestHeaders = AxiosHeaders_default.from(config.headers).normalize();
1626
- const responseType = config.responseType;
1627
- let onCanceled;
1628
- function done() {
1629
- if (config.cancelToken) {
1630
- config.cancelToken.unsubscribe(onCanceled);
1631
- }
1632
- if (config.signal) {
1633
- config.signal.removeEventListener("abort", onCanceled);
1634
- }
1635
- }
1636
- let contentType;
1637
- if (utils_default.isFormData(requestData)) {
1638
- if (browser_default.isStandardBrowserEnv || browser_default.isStandardBrowserWebWorkerEnv) {
1639
- requestHeaders.setContentType(false);
1640
- } else if (!requestHeaders.getContentType(/^\s*multipart\/form-data/)) {
1641
- requestHeaders.setContentType("multipart/form-data");
1642
- } else if (utils_default.isString(contentType = requestHeaders.getContentType())) {
1643
- requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, "$1"));
1644
- }
1645
- }
1646
- let request = new XMLHttpRequest();
1647
- if (config.auth) {
1648
- const username = config.auth.username || "";
1649
- const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
1650
- requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password));
1651
- }
1652
- const fullPath = buildFullPath(config.baseURL, config.url);
1653
- request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
1654
- request.timeout = config.timeout;
1655
- function onloadend() {
1656
- if (!request) {
1657
- return;
1658
- }
1659
- const responseHeaders = AxiosHeaders_default.from(
1660
- "getAllResponseHeaders" in request && request.getAllResponseHeaders()
1661
- );
1662
- const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
1663
- const response = {
1664
- data: responseData,
1665
- status: request.status,
1666
- statusText: request.statusText,
1667
- headers: responseHeaders,
1668
- config,
1669
- request
1670
- };
1671
- settle(function _resolve(value) {
1672
- resolve(value);
1673
- done();
1674
- }, function _reject(err) {
1675
- reject(err);
1676
- done();
1677
- }, response);
1678
- request = null;
1679
- }
1680
- if ("onloadend" in request) {
1681
- request.onloadend = onloadend;
1682
- } else {
1683
- request.onreadystatechange = function handleLoad() {
1684
- if (!request || request.readyState !== 4) {
1685
- return;
1686
- }
1687
- if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
1688
- return;
1689
- }
1690
- setTimeout(onloadend);
1691
- };
1692
- }
1693
- request.onabort = function handleAbort() {
1694
- if (!request) {
1695
- return;
1696
- }
1697
- reject(new AxiosError_default("Request aborted", AxiosError_default.ECONNABORTED, config, request));
1698
- request = null;
1699
- };
1700
- request.onerror = function handleError() {
1701
- reject(new AxiosError_default("Network Error", AxiosError_default.ERR_NETWORK, config, request));
1702
- request = null;
1703
- };
1704
- request.ontimeout = function handleTimeout() {
1705
- let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded";
1706
- const transitional2 = config.transitional || transitional_default;
1707
- if (config.timeoutErrorMessage) {
1708
- timeoutErrorMessage = config.timeoutErrorMessage;
1709
- }
1710
- reject(new AxiosError_default(
1711
- timeoutErrorMessage,
1712
- transitional2.clarifyTimeoutError ? AxiosError_default.ETIMEDOUT : AxiosError_default.ECONNABORTED,
1713
- config,
1714
- request
1715
- ));
1716
- request = null;
1717
- };
1718
- if (browser_default.isStandardBrowserEnv) {
1719
- const xsrfValue = isURLSameOrigin_default(fullPath) && config.xsrfCookieName && cookies_default.read(config.xsrfCookieName);
1720
- if (xsrfValue) {
1721
- requestHeaders.set(config.xsrfHeaderName, xsrfValue);
1722
- }
1723
- }
1724
- requestData === void 0 && requestHeaders.setContentType(null);
1725
- if ("setRequestHeader" in request) {
1726
- utils_default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {
1727
- request.setRequestHeader(key, val);
1728
- });
1729
- }
1730
- if (!utils_default.isUndefined(config.withCredentials)) {
1731
- request.withCredentials = !!config.withCredentials;
1732
- }
1733
- if (responseType && responseType !== "json") {
1734
- request.responseType = config.responseType;
1735
- }
1736
- if (typeof config.onDownloadProgress === "function") {
1737
- request.addEventListener("progress", progressEventReducer(config.onDownloadProgress, true));
1738
- }
1739
- if (typeof config.onUploadProgress === "function" && request.upload) {
1740
- request.upload.addEventListener("progress", progressEventReducer(config.onUploadProgress));
1741
- }
1742
- if (config.cancelToken || config.signal) {
1743
- onCanceled = (cancel) => {
1744
- if (!request) {
1745
- return;
1746
- }
1747
- reject(!cancel || cancel.type ? new CanceledError_default(null, config, request) : cancel);
1748
- request.abort();
1749
- request = null;
1750
- };
1751
- config.cancelToken && config.cancelToken.subscribe(onCanceled);
1752
- if (config.signal) {
1753
- config.signal.aborted ? onCanceled() : config.signal.addEventListener("abort", onCanceled);
1754
- }
1755
- }
1756
- const protocol = parseProtocol(fullPath);
1757
- if (protocol && browser_default.protocols.indexOf(protocol) === -1) {
1758
- reject(new AxiosError_default("Unsupported protocol " + protocol + ":", AxiosError_default.ERR_BAD_REQUEST, config));
1759
- return;
1760
- }
1761
- request.send(requestData || null);
1762
- });
1763
- };
1764
-
1765
- // node_modules/axios/lib/adapters/adapters.js
1766
- var knownAdapters = {
1767
- http: null_default,
1768
- xhr: xhr_default
1769
- };
1770
- utils_default.forEach(knownAdapters, (fn, value) => {
1771
- if (fn) {
1772
- try {
1773
- Object.defineProperty(fn, "name", { value });
1774
- } catch (e) {
1775
- }
1776
- Object.defineProperty(fn, "adapterName", { value });
1777
- }
1778
- });
1779
- var renderReason = (reason) => `- ${reason}`;
1780
- var isResolvedHandle = (adapter) => utils_default.isFunction(adapter) || adapter === null || adapter === false;
1781
- var adapters_default = {
1782
- getAdapter: (adapters) => {
1783
- adapters = utils_default.isArray(adapters) ? adapters : [adapters];
1784
- const { length } = adapters;
1785
- let nameOrAdapter;
1786
- let adapter;
1787
- const rejectedReasons = {};
1788
- for (let i = 0; i < length; i++) {
1789
- nameOrAdapter = adapters[i];
1790
- let id;
1791
- adapter = nameOrAdapter;
1792
- if (!isResolvedHandle(nameOrAdapter)) {
1793
- adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
1794
- if (adapter === void 0) {
1795
- throw new AxiosError_default(`Unknown adapter '${id}'`);
1796
- }
1797
- }
1798
- if (adapter) {
1799
- break;
1800
- }
1801
- rejectedReasons[id || "#" + i] = adapter;
1802
- }
1803
- if (!adapter) {
1804
- const reasons = Object.entries(rejectedReasons).map(
1805
- ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
1806
- );
1807
- let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
1808
- throw new AxiosError_default(
1809
- `There is no suitable adapter to dispatch the request ` + s,
1810
- "ERR_NOT_SUPPORT"
1811
- );
1812
- }
1813
- return adapter;
1814
- },
1815
- adapters: knownAdapters
1816
- };
1817
-
1818
- // node_modules/axios/lib/core/dispatchRequest.js
1819
- function throwIfCancellationRequested(config) {
1820
- if (config.cancelToken) {
1821
- config.cancelToken.throwIfRequested();
1822
- }
1823
- if (config.signal && config.signal.aborted) {
1824
- throw new CanceledError_default(null, config);
1825
- }
1826
- }
1827
- function dispatchRequest(config) {
1828
- throwIfCancellationRequested(config);
1829
- config.headers = AxiosHeaders_default.from(config.headers);
1830
- config.data = transformData.call(
1831
- config,
1832
- config.transformRequest
1833
- );
1834
- if (["post", "put", "patch"].indexOf(config.method) !== -1) {
1835
- config.headers.setContentType("application/x-www-form-urlencoded", false);
1836
- }
1837
- const adapter = adapters_default.getAdapter(config.adapter || defaults_default.adapter);
1838
- return adapter(config).then(function onAdapterResolution(response) {
1839
- throwIfCancellationRequested(config);
1840
- response.data = transformData.call(
1841
- config,
1842
- config.transformResponse,
1843
- response
1844
- );
1845
- response.headers = AxiosHeaders_default.from(response.headers);
1846
- return response;
1847
- }, function onAdapterRejection(reason) {
1848
- if (!isCancel(reason)) {
1849
- throwIfCancellationRequested(config);
1850
- if (reason && reason.response) {
1851
- reason.response.data = transformData.call(
1852
- config,
1853
- config.transformResponse,
1854
- reason.response
1855
- );
1856
- reason.response.headers = AxiosHeaders_default.from(reason.response.headers);
1857
- }
1858
- }
1859
- return Promise.reject(reason);
1860
- });
1861
- }
1862
-
1863
- // node_modules/axios/lib/core/mergeConfig.js
1864
- var headersToObject = (thing) => thing instanceof AxiosHeaders_default ? thing.toJSON() : thing;
1865
- function mergeConfig(config1, config2) {
1866
- config2 = config2 || {};
1867
- const config = {};
1868
- function getMergedValue(target, source, caseless) {
1869
- if (utils_default.isPlainObject(target) && utils_default.isPlainObject(source)) {
1870
- return utils_default.merge.call({ caseless }, target, source);
1871
- } else if (utils_default.isPlainObject(source)) {
1872
- return utils_default.merge({}, source);
1873
- } else if (utils_default.isArray(source)) {
1874
- return source.slice();
1875
- }
1876
- return source;
1877
- }
1878
- function mergeDeepProperties(a, b, caseless) {
1879
- if (!utils_default.isUndefined(b)) {
1880
- return getMergedValue(a, b, caseless);
1881
- } else if (!utils_default.isUndefined(a)) {
1882
- return getMergedValue(void 0, a, caseless);
1883
- }
1884
- }
1885
- function valueFromConfig2(a, b) {
1886
- if (!utils_default.isUndefined(b)) {
1887
- return getMergedValue(void 0, b);
1888
- }
1889
- }
1890
- function defaultToConfig2(a, b) {
1891
- if (!utils_default.isUndefined(b)) {
1892
- return getMergedValue(void 0, b);
1893
- } else if (!utils_default.isUndefined(a)) {
1894
- return getMergedValue(void 0, a);
1895
- }
1896
- }
1897
- function mergeDirectKeys(a, b, prop) {
1898
- if (prop in config2) {
1899
- return getMergedValue(a, b);
1900
- } else if (prop in config1) {
1901
- return getMergedValue(void 0, a);
1902
- }
1903
- }
1904
- const mergeMap = {
1905
- url: valueFromConfig2,
1906
- method: valueFromConfig2,
1907
- data: valueFromConfig2,
1908
- baseURL: defaultToConfig2,
1909
- transformRequest: defaultToConfig2,
1910
- transformResponse: defaultToConfig2,
1911
- paramsSerializer: defaultToConfig2,
1912
- timeout: defaultToConfig2,
1913
- timeoutMessage: defaultToConfig2,
1914
- withCredentials: defaultToConfig2,
1915
- adapter: defaultToConfig2,
1916
- responseType: defaultToConfig2,
1917
- xsrfCookieName: defaultToConfig2,
1918
- xsrfHeaderName: defaultToConfig2,
1919
- onUploadProgress: defaultToConfig2,
1920
- onDownloadProgress: defaultToConfig2,
1921
- decompress: defaultToConfig2,
1922
- maxContentLength: defaultToConfig2,
1923
- maxBodyLength: defaultToConfig2,
1924
- beforeRedirect: defaultToConfig2,
1925
- transport: defaultToConfig2,
1926
- httpAgent: defaultToConfig2,
1927
- httpsAgent: defaultToConfig2,
1928
- cancelToken: defaultToConfig2,
1929
- socketPath: defaultToConfig2,
1930
- responseEncoding: defaultToConfig2,
1931
- validateStatus: mergeDirectKeys,
1932
- headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)
1933
- };
1934
- utils_default.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
1935
- const merge2 = mergeMap[prop] || mergeDeepProperties;
1936
- const configValue = merge2(config1[prop], config2[prop], prop);
1937
- utils_default.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);
1938
- });
1939
- return config;
1940
- }
1941
-
1942
- // node_modules/axios/lib/env/data.js
1943
- var VERSION = "1.6.0";
1944
-
1945
- // node_modules/axios/lib/helpers/validator.js
1946
- var validators = {};
1947
- ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
1948
- validators[type] = function validator(thing) {
1949
- return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
1950
- };
1951
- });
1952
- var deprecatedWarnings = {};
1953
- validators.transitional = function transitional(validator, version, message) {
1954
- function formatMessage2(opt, desc) {
1955
- return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
1956
- }
1957
- return (value, opt, opts) => {
1958
- if (validator === false) {
1959
- throw new AxiosError_default(
1960
- formatMessage2(opt, " has been removed" + (version ? " in " + version : "")),
1961
- AxiosError_default.ERR_DEPRECATED
1962
- );
1963
- }
1964
- if (version && !deprecatedWarnings[opt]) {
1965
- deprecatedWarnings[opt] = true;
1966
- console.warn(
1967
- formatMessage2(
1968
- opt,
1969
- " has been deprecated since v" + version + " and will be removed in the near future"
1970
- )
1971
- );
1972
- }
1973
- return validator ? validator(value, opt, opts) : true;
1974
- };
1975
- };
1976
- function assertOptions(options, schema, allowUnknown) {
1977
- if (typeof options !== "object") {
1978
- throw new AxiosError_default("options must be an object", AxiosError_default.ERR_BAD_OPTION_VALUE);
1979
- }
1980
- const keys = Object.keys(options);
1981
- let i = keys.length;
1982
- while (i-- > 0) {
1983
- const opt = keys[i];
1984
- const validator = schema[opt];
1985
- if (validator) {
1986
- const value = options[opt];
1987
- const result = value === void 0 || validator(value, opt, options);
1988
- if (result !== true) {
1989
- throw new AxiosError_default("option " + opt + " must be " + result, AxiosError_default.ERR_BAD_OPTION_VALUE);
1990
- }
1991
- continue;
1992
- }
1993
- if (allowUnknown !== true) {
1994
- throw new AxiosError_default("Unknown option " + opt, AxiosError_default.ERR_BAD_OPTION);
1995
- }
1996
- }
1997
- }
1998
- var validator_default = {
1999
- assertOptions,
2000
- validators
2001
- };
2002
-
2003
- // node_modules/axios/lib/core/Axios.js
2004
- var validators2 = validator_default.validators;
2005
- var Axios = class {
2006
- constructor(instanceConfig) {
2007
- this.defaults = instanceConfig;
2008
- this.interceptors = {
2009
- request: new InterceptorManager_default(),
2010
- response: new InterceptorManager_default()
2011
- };
2012
- }
2013
- /**
2014
- * Dispatch a request
2015
- *
2016
- * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
2017
- * @param {?Object} config
2018
- *
2019
- * @returns {Promise} The Promise to be fulfilled
2020
- */
2021
- request(configOrUrl, config) {
2022
- if (typeof configOrUrl === "string") {
2023
- config = config || {};
2024
- config.url = configOrUrl;
2025
- } else {
2026
- config = configOrUrl || {};
2027
- }
2028
- config = mergeConfig(this.defaults, config);
2029
- const { transitional: transitional2, paramsSerializer, headers } = config;
2030
- if (transitional2 !== void 0) {
2031
- validator_default.assertOptions(transitional2, {
2032
- silentJSONParsing: validators2.transitional(validators2.boolean),
2033
- forcedJSONParsing: validators2.transitional(validators2.boolean),
2034
- clarifyTimeoutError: validators2.transitional(validators2.boolean)
2035
- }, false);
2036
- }
2037
- if (paramsSerializer != null) {
2038
- if (utils_default.isFunction(paramsSerializer)) {
2039
- config.paramsSerializer = {
2040
- serialize: paramsSerializer
2041
- };
2042
- } else {
2043
- validator_default.assertOptions(paramsSerializer, {
2044
- encode: validators2.function,
2045
- serialize: validators2.function
2046
- }, true);
2047
- }
2048
- }
2049
- config.method = (config.method || this.defaults.method || "get").toLowerCase();
2050
- let contextHeaders = headers && utils_default.merge(
2051
- headers.common,
2052
- headers[config.method]
2053
- );
2054
- headers && utils_default.forEach(
2055
- ["delete", "get", "head", "post", "put", "patch", "common"],
2056
- (method) => {
2057
- delete headers[method];
2058
- }
2059
- );
2060
- config.headers = AxiosHeaders_default.concat(contextHeaders, headers);
2061
- const requestInterceptorChain = [];
2062
- let synchronousRequestInterceptors = true;
2063
- this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
2064
- if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
2065
- return;
2066
- }
2067
- synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
2068
- requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
2069
- });
2070
- const responseInterceptorChain = [];
2071
- this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
2072
- responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
2073
- });
2074
- let promise;
2075
- let i = 0;
2076
- let len;
2077
- if (!synchronousRequestInterceptors) {
2078
- const chain = [dispatchRequest.bind(this), void 0];
2079
- chain.unshift.apply(chain, requestInterceptorChain);
2080
- chain.push.apply(chain, responseInterceptorChain);
2081
- len = chain.length;
2082
- promise = Promise.resolve(config);
2083
- while (i < len) {
2084
- promise = promise.then(chain[i++], chain[i++]);
2085
- }
2086
- return promise;
2087
- }
2088
- len = requestInterceptorChain.length;
2089
- let newConfig = config;
2090
- i = 0;
2091
- while (i < len) {
2092
- const onFulfilled = requestInterceptorChain[i++];
2093
- const onRejected = requestInterceptorChain[i++];
2094
- try {
2095
- newConfig = onFulfilled(newConfig);
2096
- } catch (error) {
2097
- onRejected.call(this, error);
2098
- break;
2099
- }
2100
- }
2101
- try {
2102
- promise = dispatchRequest.call(this, newConfig);
2103
- } catch (error) {
2104
- return Promise.reject(error);
2105
- }
2106
- i = 0;
2107
- len = responseInterceptorChain.length;
2108
- while (i < len) {
2109
- promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
2110
- }
2111
- return promise;
2112
- }
2113
- getUri(config) {
2114
- config = mergeConfig(this.defaults, config);
2115
- const fullPath = buildFullPath(config.baseURL, config.url);
2116
- return buildURL(fullPath, config.params, config.paramsSerializer);
2117
- }
2118
- };
2119
- utils_default.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
2120
- Axios.prototype[method] = function(url, config) {
2121
- return this.request(mergeConfig(config || {}, {
2122
- method,
2123
- url,
2124
- data: (config || {}).data
2125
- }));
2126
- };
2127
- });
2128
- utils_default.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
2129
- function generateHTTPMethod(isForm) {
2130
- return function httpMethod(url, data, config) {
2131
- return this.request(mergeConfig(config || {}, {
2132
- method,
2133
- headers: isForm ? {
2134
- "Content-Type": "multipart/form-data"
2135
- } : {},
2136
- url,
2137
- data
2138
- }));
2139
- };
2140
- }
2141
- Axios.prototype[method] = generateHTTPMethod();
2142
- Axios.prototype[method + "Form"] = generateHTTPMethod(true);
2143
- });
2144
- var Axios_default = Axios;
2145
-
2146
- // node_modules/axios/lib/cancel/CancelToken.js
2147
- var CancelToken = class _CancelToken {
2148
- constructor(executor) {
2149
- if (typeof executor !== "function") {
2150
- throw new TypeError("executor must be a function.");
2151
- }
2152
- let resolvePromise;
2153
- this.promise = new Promise(function promiseExecutor(resolve) {
2154
- resolvePromise = resolve;
2155
- });
2156
- const token = this;
2157
- this.promise.then((cancel) => {
2158
- if (!token._listeners) return;
2159
- let i = token._listeners.length;
2160
- while (i-- > 0) {
2161
- token._listeners[i](cancel);
2162
- }
2163
- token._listeners = null;
2164
- });
2165
- this.promise.then = (onfulfilled) => {
2166
- let _resolve;
2167
- const promise = new Promise((resolve) => {
2168
- token.subscribe(resolve);
2169
- _resolve = resolve;
2170
- }).then(onfulfilled);
2171
- promise.cancel = function reject() {
2172
- token.unsubscribe(_resolve);
2173
- };
2174
- return promise;
2175
- };
2176
- executor(function cancel(message, config, request) {
2177
- if (token.reason) {
2178
- return;
2179
- }
2180
- token.reason = new CanceledError_default(message, config, request);
2181
- resolvePromise(token.reason);
2182
- });
277
+ this.data = result.campaign;
278
+ return result;
2183
279
  }
2184
- /**
2185
- * Throws a `CanceledError` if cancellation has been requested.
2186
- */
2187
- throwIfRequested() {
2188
- if (this.reason) {
2189
- throw this.reason;
280
+ verifyCampaignId() {
281
+ if (!this.id) {
282
+ throw new Error(
283
+ "Campaign id is missing. Either create the campaign using campaign.create() or set the id during instantiation - const campaign = client.campaign(id)"
284
+ );
2190
285
  }
2191
286
  }
2192
- /**
2193
- * Subscribe to the cancel signal
2194
- */
2195
- subscribe(listener) {
2196
- if (this.reason) {
2197
- listener(this.reason);
2198
- return;
2199
- }
2200
- if (this._listeners) {
2201
- this._listeners.push(listener);
2202
- } else {
2203
- this._listeners = [listener];
2204
- }
287
+ async start(options) {
288
+ this.verifyCampaignId();
289
+ return await this.client.startCampaign(this.id, options);
2205
290
  }
2206
- /**
2207
- * Unsubscribe from the cancel signal
2208
- */
2209
- unsubscribe(listener) {
2210
- if (!this._listeners) {
2211
- return;
2212
- }
2213
- const index = this._listeners.indexOf(listener);
2214
- if (index !== -1) {
2215
- this._listeners.splice(index, 1);
2216
- }
291
+ update(data) {
292
+ this.verifyCampaignId();
293
+ return this.client.updateCampaign(this.id, data);
2217
294
  }
2218
- /**
2219
- * Returns an object that contains a new `CancelToken` and a function that, when called,
2220
- * cancels the `CancelToken`.
2221
- */
2222
- static source() {
2223
- let cancel;
2224
- const token = new _CancelToken(function executor(c) {
2225
- cancel = c;
2226
- });
2227
- return {
2228
- token,
2229
- cancel
2230
- };
295
+ async delete() {
296
+ this.verifyCampaignId();
297
+ return await this.client.deleteCampaign(this.id);
298
+ }
299
+ stop() {
300
+ this.verifyCampaignId();
301
+ return this.client.stopCampaign(this.id);
302
+ }
303
+ get(options) {
304
+ this.verifyCampaignId();
305
+ return this.client.getCampaign(this.id, options);
2231
306
  }
2232
307
  };
2233
- var CancelToken_default = CancelToken;
2234
-
2235
- // node_modules/axios/lib/helpers/spread.js
2236
- function spread(callback) {
2237
- return function wrap(arr) {
2238
- return callback.apply(null, arr);
2239
- };
2240
- }
2241
-
2242
- // node_modules/axios/lib/helpers/isAxiosError.js
2243
- function isAxiosError(payload) {
2244
- return utils_default.isObject(payload) && payload.isAxiosError === true;
2245
- }
2246
-
2247
- // node_modules/axios/lib/helpers/HttpStatusCode.js
2248
- var HttpStatusCode = {
2249
- Continue: 100,
2250
- SwitchingProtocols: 101,
2251
- Processing: 102,
2252
- EarlyHints: 103,
2253
- Ok: 200,
2254
- Created: 201,
2255
- Accepted: 202,
2256
- NonAuthoritativeInformation: 203,
2257
- NoContent: 204,
2258
- ResetContent: 205,
2259
- PartialContent: 206,
2260
- MultiStatus: 207,
2261
- AlreadyReported: 208,
2262
- ImUsed: 226,
2263
- MultipleChoices: 300,
2264
- MovedPermanently: 301,
2265
- Found: 302,
2266
- SeeOther: 303,
2267
- NotModified: 304,
2268
- UseProxy: 305,
2269
- Unused: 306,
2270
- TemporaryRedirect: 307,
2271
- PermanentRedirect: 308,
2272
- BadRequest: 400,
2273
- Unauthorized: 401,
2274
- PaymentRequired: 402,
2275
- Forbidden: 403,
2276
- NotFound: 404,
2277
- MethodNotAllowed: 405,
2278
- NotAcceptable: 406,
2279
- ProxyAuthenticationRequired: 407,
2280
- RequestTimeout: 408,
2281
- Conflict: 409,
2282
- Gone: 410,
2283
- LengthRequired: 411,
2284
- PreconditionFailed: 412,
2285
- PayloadTooLarge: 413,
2286
- UriTooLong: 414,
2287
- UnsupportedMediaType: 415,
2288
- RangeNotSatisfiable: 416,
2289
- ExpectationFailed: 417,
2290
- ImATeapot: 418,
2291
- MisdirectedRequest: 421,
2292
- UnprocessableEntity: 422,
2293
- Locked: 423,
2294
- FailedDependency: 424,
2295
- TooEarly: 425,
2296
- UpgradeRequired: 426,
2297
- PreconditionRequired: 428,
2298
- TooManyRequests: 429,
2299
- RequestHeaderFieldsTooLarge: 431,
2300
- UnavailableForLegalReasons: 451,
2301
- InternalServerError: 500,
2302
- NotImplemented: 501,
2303
- BadGateway: 502,
2304
- ServiceUnavailable: 503,
2305
- GatewayTimeout: 504,
2306
- HttpVersionNotSupported: 505,
2307
- VariantAlsoNegotiates: 506,
2308
- InsufficientStorage: 507,
2309
- LoopDetected: 508,
2310
- NotExtended: 510,
2311
- NetworkAuthenticationRequired: 511
2312
- };
2313
- Object.entries(HttpStatusCode).forEach(([key, value]) => {
2314
- HttpStatusCode[value] = key;
2315
- });
2316
- var HttpStatusCode_default = HttpStatusCode;
2317
-
2318
- // node_modules/axios/lib/axios.js
2319
- function createInstance(defaultConfig) {
2320
- const context = new Axios_default(defaultConfig);
2321
- const instance = bind(Axios_default.prototype.request, context);
2322
- utils_default.extend(instance, Axios_default.prototype, context, { allOwnKeys: true });
2323
- utils_default.extend(instance, context, null, { allOwnKeys: true });
2324
- instance.create = function create(instanceConfig) {
2325
- return createInstance(mergeConfig(defaultConfig, instanceConfig));
2326
- };
2327
- return instance;
2328
- }
2329
- var axios = createInstance(defaults_default);
2330
- axios.Axios = Axios_default;
2331
- axios.CanceledError = CanceledError_default;
2332
- axios.CancelToken = CancelToken_default;
2333
- axios.isCancel = isCancel;
2334
- axios.VERSION = VERSION;
2335
- axios.toFormData = toFormData_default;
2336
- axios.AxiosError = AxiosError_default;
2337
- axios.Cancel = axios.CanceledError;
2338
- axios.all = function all(promises) {
2339
- return Promise.all(promises);
2340
- };
2341
- axios.spread = spread;
2342
- axios.isAxiosError = isAxiosError;
2343
- axios.mergeConfig = mergeConfig;
2344
- axios.AxiosHeaders = AxiosHeaders_default;
2345
- axios.formToJSON = (thing) => formDataToJSON_default(utils_default.isHTMLForm(thing) ? new FormData(thing) : thing);
2346
- axios.getAdapter = adapters_default.getAdapter;
2347
- axios.HttpStatusCode = HttpStatusCode_default;
2348
- axios.default = axios;
2349
- var axios_default = axios;
2350
-
2351
- // node_modules/axios/index.js
2352
- var {
2353
- Axios: Axios2,
2354
- AxiosError: AxiosError2,
2355
- CanceledError: CanceledError2,
2356
- isCancel: isCancel2,
2357
- CancelToken: CancelToken2,
2358
- VERSION: VERSION2,
2359
- all: all2,
2360
- Cancel,
2361
- isAxiosError: isAxiosError2,
2362
- spread: spread2,
2363
- toFormData: toFormData2,
2364
- AxiosHeaders: AxiosHeaders2,
2365
- HttpStatusCode: HttpStatusCode2,
2366
- formToJSON,
2367
- getAdapter,
2368
- mergeConfig: mergeConfig2
2369
- } = axios_default;
2370
308
 
2371
309
  // src/client.ts
2372
- var import_https = __toESM(require_https());
310
+ var import_axios3 = __toESM(require("axios"));
311
+ var import_https = __toESM(require("https"));
2373
312
 
2374
313
  // src/utils.ts
2375
- var import_form_data = __toESM(require_browser());
314
+ var import_form_data = __toESM(require("form-data"));
2376
315
 
2377
316
  // src/constants.ts
2378
317
  var DEFAULT_QUERY_CHANNELS_MESSAGE_LIST_PAGE_SIZE = 25;
@@ -2414,7 +353,7 @@ function logChatPromiseExecution(promise, name) {
2414
353
  });
2415
354
  }
2416
355
  var sleep = (m) => new Promise((r) => setTimeout(r, m));
2417
- function isFunction2(value) {
356
+ function isFunction(value) {
2418
357
  return typeof value === "function" || value instanceof Function || Object.prototype.toString.call(value) === "[object Function]";
2419
358
  }
2420
359
  var chatCodes = {
@@ -2424,7 +363,7 @@ var chatCodes = {
2424
363
  function isReadableStream(obj) {
2425
364
  return obj !== null && typeof obj === "object" && (obj.readable || typeof obj._read === "function");
2426
365
  }
2427
- function isBuffer2(obj) {
366
+ function isBuffer(obj) {
2428
367
  return obj != null && obj.constructor != null && // @ts-expect-error expected
2429
368
  typeof obj.constructor.isBuffer === "function" && // @ts-expect-error expected
2430
369
  obj.constructor.isBuffer(obj);
@@ -2456,7 +395,7 @@ function isOwnUserBaseProperty(property) {
2456
395
  }
2457
396
  function addFileToFormData(uri, name, contentType) {
2458
397
  const data = new import_form_data.default();
2459
- if (isReadableStream(uri) || isBuffer2(uri) || isFileWebAPI(uri) || isBlobWebAPI(uri)) {
398
+ if (isReadableStream(uri) || isBuffer(uri) || isFileWebAPI(uri) || isBlobWebAPI(uri)) {
2460
399
  if (name) data.append("file", uri, name);
2461
400
  else data.append("file", uri);
2462
401
  } else {
@@ -3177,8 +1116,8 @@ var promoteChannel = ({
3177
1116
  );
3178
1117
  return newChannels;
3179
1118
  };
3180
- var isDate2 = (value) => !!value.getTime;
3181
- var isLocalMessage = (message) => isDate2(message.created_at);
1119
+ var isDate = (value) => !!value.getTime;
1120
+ var isLocalMessage = (message) => isDate(message.created_at);
3182
1121
  var runDetached = (callback, options) => {
3183
1122
  const { context, onSuccessCallback = () => void 0, onErrorCallback } = options ?? {};
3184
1123
  const defaultOnError = (error) => {
@@ -3890,14 +1829,14 @@ var isUploadedAttachment = (attachment) => isAudioAttachment(attachment) || isFi
3890
1829
  var isSharedLocationResponse = (location) => !!location.latitude && !!location.longitude && !!location.channel_cid;
3891
1830
 
3892
1831
  // src/messageComposer/fileUtils.ts
3893
- var isFile2 = (fileLike) => !!fileLike.lastModified && !("uri" in fileLike);
3894
- var isFileList2 = (obj) => {
1832
+ var isFile = (fileLike) => !!fileLike.lastModified && !("uri" in fileLike);
1833
+ var isFileList = (obj) => {
3895
1834
  if (obj === null || obj === void 0) return false;
3896
1835
  if (typeof obj !== "object") return false;
3897
1836
  return typeof FileList !== "undefined" && obj instanceof FileList || "item" in obj && "length" in obj && !Array.isArray(obj);
3898
1837
  };
3899
1838
  var isBlobButNotFile = (obj) => obj instanceof Blob && !(obj instanceof File);
3900
- var isFileReference = (obj) => obj !== null && typeof obj === "object" && !isFile2(obj) && !isBlobButNotFile(obj) && typeof obj.name === "string" && typeof obj.uri === "string" && typeof obj.size === "number" && typeof obj.type === "string";
1839
+ var isFileReference = (obj) => obj !== null && typeof obj === "object" && !isFile(obj) && !isBlobButNotFile(obj) && typeof obj.name === "string" && typeof obj.uri === "string" && typeof obj.size === "number" && typeof obj.type === "string";
3901
1840
  var createFileFromBlobs = ({
3902
1841
  blobsArray,
3903
1842
  fileName,
@@ -3988,7 +1927,7 @@ var withoutConcurrency = createRunner(wrapWithContinuationTracking);
3988
1927
  var withCancellation = createRunner(wrapWithCancellation);
3989
1928
  var pendingPromises = /* @__PURE__ */ new Map();
3990
1929
  function createRunner(wrapper) {
3991
- return function run2(tag, cb) {
1930
+ return function run(tag, cb) {
3992
1931
  const { cb: wrapped, onContinued } = wrapper(tag, cb);
3993
1932
  const pending = pendingPromises.get(tag);
3994
1933
  pending?.onContinued();
@@ -4245,7 +2184,7 @@ var AttachmentPreUploadMiddlewareExecutor = class extends MiddlewareExecutor {
4245
2184
 
4246
2185
  // src/store.ts
4247
2186
  var isPatch = (value) => typeof value === "function";
4248
- var noop2 = () => {
2187
+ var noop = () => {
4249
2188
  };
4250
2189
  var StateStore = class {
4251
2190
  constructor(value) {
@@ -4446,7 +2385,7 @@ var MergedStateStore = class _MergedStateStore extends StateStore {
4446
2385
  console.warn(
4447
2386
  `${_MergedStateStore.name}.addPreprocessor is disabled, call original.addPreprocessor or merged.addPreprocessor instead`
4448
2387
  );
4449
- return noop2;
2388
+ return noop;
4450
2389
  }
4451
2390
  };
4452
2391
 
@@ -4918,7 +2857,7 @@ var _AttachmentManager = class _AttachmentManager {
4918
2857
  } = uploadConfig;
4919
2858
  const sizeLimit = size_limit || DEFAULT_UPLOAD_SIZE_LIMIT_BYTES;
4920
2859
  const mimeType = fileLike.type;
4921
- if (isFile2(fileLike) || isFileReference(fileLike)) {
2860
+ if (isFile(fileLike) || isFileReference(fileLike)) {
4922
2861
  if (allowed_file_extensions?.length && !allowed_file_extensions.some(
4923
2862
  (ext) => fileLike.name.toLowerCase().endsWith(ext.toLowerCase())
4924
2863
  )) {
@@ -4989,7 +2928,7 @@ var _AttachmentManager = class _AttachmentManager {
4989
2928
  fileLike.type
4990
2929
  );
4991
2930
  }
4992
- const file = isFile2(fileLike) ? fileLike : createFileFromBlobs({
2931
+ const file = isFile(fileLike) ? fileLike : createFileFromBlobs({
4993
2932
  blobsArray: [fileLike],
4994
2933
  fileName: generateFileName(fileLike.type),
4995
2934
  mimeType: fileLike.type
@@ -5146,7 +3085,7 @@ var _AttachmentManager = class _AttachmentManager {
5146
3085
  };
5147
3086
  this.uploadFiles = async (files) => {
5148
3087
  if (!this.isUploadEnabled) return;
5149
- const iterableFiles = isFileList2(files) ? Array.from(files) : files;
3088
+ const iterableFiles = isFileList(files) ? Array.from(files) : files;
5150
3089
  return await Promise.all(
5151
3090
  iterableFiles.slice(0, this.availableUploadSlots).map(this.uploadFile)
5152
3091
  );
@@ -5245,7 +3184,7 @@ var _AttachmentManager = class _AttachmentManager {
5245
3184
  }
5246
3185
  };
5247
3186
  _AttachmentManager.toLocalUploadAttachment = (fileLike) => {
5248
- const file = isFileReference(fileLike) || isFile2(fileLike) ? fileLike : createFileFromBlobs({
3187
+ const file = isFileReference(fileLike) || isFile(fileLike) ? fileLike : createFileFromBlobs({
5249
3188
  blobsArray: [fileLike],
5250
3189
  fileName: generateFileName(fileLike.type),
5251
3190
  mimeType: fileLike.type
@@ -5278,1135 +3217,12 @@ _AttachmentManager.toLocalUploadAttachment = (fileLike) => {
5278
3217
  };
5279
3218
  var AttachmentManager = _AttachmentManager;
5280
3219
 
5281
- // node_modules/linkifyjs/dist/linkify.mjs
5282
- var encodedTlds = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5m\xF6gensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2";
5283
- var encodedUtlds = "\u03B5\u03BB1\u03C52\u0431\u04331\u0435\u043B3\u0434\u0435\u0442\u04384\u0435\u044E2\u043A\u0430\u0442\u043E\u043B\u0438\u043A6\u043E\u043C3\u043C\u043A\u04342\u043E\u043D1\u0441\u043A\u0432\u04306\u043E\u043D\u043B\u0430\u0439\u043D5\u0440\u04333\u0440\u0443\u04412\u04442\u0441\u0430\u0439\u04423\u0440\u04313\u0443\u043A\u04403\u049B\u0430\u04373\u0570\u0561\u05753\u05D9\u05E9\u05E8\u05D0\u05DC5\u05E7\u05D5\u05DD3\u0627\u0628\u0648\u0638\u0628\u064A5\u0631\u0627\u0645\u0643\u06485\u0644\u0627\u0631\u062F\u06464\u0628\u062D\u0631\u064A\u06465\u062C\u0632\u0627\u0626\u06315\u0633\u0639\u0648\u062F\u064A\u06296\u0639\u0644\u064A\u0627\u06465\u0645\u063A\u0631\u06285\u0645\u0627\u0631\u0627\u062A5\u06CC\u0631\u0627\u06465\u0628\u0627\u0631\u062A2\u0632\u0627\u06314\u064A\u062A\u06433\u06BE\u0627\u0631\u062A5\u062A\u0648\u0646\u06334\u0633\u0648\u062F\u0627\u06463\u0631\u064A\u06295\u0634\u0628\u0643\u06294\u0639\u0631\u0627\u06422\u06282\u0645\u0627\u06464\u0641\u0644\u0633\u0637\u064A\u06466\u0642\u0637\u06313\u0643\u0627\u062B\u0648\u0644\u064A\u06436\u0648\u06453\u0645\u0635\u06312\u0644\u064A\u0633\u064A\u06275\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u06277\u0642\u06394\u0647\u0645\u0631\u0627\u06475\u067E\u0627\u06A9\u0633\u062A\u0627\u06467\u0680\u0627\u0631\u062A4\u0915\u0949\u092E3\u0928\u0947\u091F3\u092D\u093E\u0930\u09240\u092E\u094D3\u094B\u09245\u0938\u0902\u0917\u0920\u09285\u09AC\u09BE\u0982\u09B2\u09BE5\u09AD\u09BE\u09B0\u09A42\u09F0\u09A44\u0A2D\u0A3E\u0A30\u0A244\u0AAD\u0ABE\u0AB0\u0AA44\u0B2D\u0B3E\u0B30\u0B244\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE6\u0BB2\u0B99\u0BCD\u0B95\u0BC86\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD11\u0C2D\u0C3E\u0C30\u0C24\u0C4D5\u0CAD\u0CBE\u0CB0\u0CA44\u0D2D\u0D3E\u0D30\u0D24\u0D025\u0DBD\u0D82\u0D9A\u0DCF4\u0E04\u0E2D\u0E213\u0E44\u0E17\u0E223\u0EA5\u0EB2\u0EA73\u10D2\u10D42\u307F\u3093\u306A3\u30A2\u30DE\u30BE\u30F34\u30AF\u30E9\u30A6\u30C94\u30B0\u30FC\u30B0\u30EB4\u30B3\u30E02\u30B9\u30C8\u30A23\u30BB\u30FC\u30EB3\u30D5\u30A1\u30C3\u30B7\u30E7\u30F36\u30DD\u30A4\u30F3\u30C84\u4E16\u754C2\u4E2D\u4FE11\u56FD1\u570B1\u6587\u7F513\u4E9A\u9A6C\u900A3\u4F01\u4E1A2\u4F5B\u5C712\u4FE1\u606F2\u5065\u5EB72\u516B\u53662\u516C\u53F81\u76CA2\u53F0\u6E7E1\u70632\u5546\u57CE1\u5E971\u68072\u5609\u91CC0\u5927\u9152\u5E975\u5728\u7EBF2\u5927\u62FF2\u5929\u4E3B\u65593\u5A31\u4E502\u5BB6\u96FB2\u5E7F\u4E1C2\u5FAE\u535A2\u6148\u55842\u6211\u7231\u4F603\u624B\u673A2\u62DB\u80582\u653F\u52A11\u5E9C2\u65B0\u52A0\u57612\u95FB2\u65F6\u5C1A2\u66F8\u7C4D2\u673A\u67842\u6DE1\u9A6C\u95213\u6E38\u620F2\u6FB3\u95802\u70B9\u770B2\u79FB\u52A82\u7EC4\u7EC7\u673A\u67844\u7F51\u57401\u5E971\u7AD91\u7EDC2\u8054\u901A2\u8C37\u6B4C2\u8D2D\u72692\u901A\u8CA92\u96C6\u56E22\u96FB\u8A0A\u76C8\u79D14\u98DE\u5229\u6D663\u98DF\u54C12\u9910\u53852\u9999\u683C\u91CC\u62C93\u6E2F2\uB2F7\uB1371\uCEF42\uC0BC\uC1312\uD55C\uAD6D2";
5284
- var numeric = "numeric";
5285
- var ascii = "ascii";
5286
- var alpha = "alpha";
5287
- var asciinumeric = "asciinumeric";
5288
- var alphanumeric = "alphanumeric";
5289
- var domain = "domain";
5290
- var emoji = "emoji";
5291
- var scheme = "scheme";
5292
- var slashscheme = "slashscheme";
5293
- var whitespace = "whitespace";
5294
- function registerGroup(name, groups) {
5295
- if (!(name in groups)) {
5296
- groups[name] = [];
5297
- }
5298
- return groups[name];
5299
- }
5300
- function addToGroups(t, flags, groups) {
5301
- if (flags[numeric]) {
5302
- flags[asciinumeric] = true;
5303
- flags[alphanumeric] = true;
5304
- }
5305
- if (flags[ascii]) {
5306
- flags[asciinumeric] = true;
5307
- flags[alpha] = true;
5308
- }
5309
- if (flags[asciinumeric]) {
5310
- flags[alphanumeric] = true;
5311
- }
5312
- if (flags[alpha]) {
5313
- flags[alphanumeric] = true;
5314
- }
5315
- if (flags[alphanumeric]) {
5316
- flags[domain] = true;
5317
- }
5318
- if (flags[emoji]) {
5319
- flags[domain] = true;
5320
- }
5321
- for (const k in flags) {
5322
- const group = registerGroup(k, groups);
5323
- if (group.indexOf(t) < 0) {
5324
- group.push(t);
5325
- }
5326
- }
5327
- }
5328
- function flagsForToken(t, groups) {
5329
- const result = {};
5330
- for (const c in groups) {
5331
- if (groups[c].indexOf(t) >= 0) {
5332
- result[c] = true;
5333
- }
5334
- }
5335
- return result;
5336
- }
5337
- function State(token = null) {
5338
- this.j = {};
5339
- this.jr = [];
5340
- this.jd = null;
5341
- this.t = token;
5342
- }
5343
- State.groups = {};
5344
- State.prototype = {
5345
- accepts() {
5346
- return !!this.t;
5347
- },
5348
- /**
5349
- * Follow an existing transition from the given input to the next state.
5350
- * Does not mutate.
5351
- * @param {string} input character or token type to transition on
5352
- * @returns {?State<T>} the next state, if any
5353
- */
5354
- go(input) {
5355
- const state = this;
5356
- const nextState = state.j[input];
5357
- if (nextState) {
5358
- return nextState;
5359
- }
5360
- for (let i = 0; i < state.jr.length; i++) {
5361
- const regex = state.jr[i][0];
5362
- const nextState2 = state.jr[i][1];
5363
- if (nextState2 && regex.test(input)) {
5364
- return nextState2;
5365
- }
5366
- }
5367
- return state.jd;
5368
- },
5369
- /**
5370
- * Whether the state has a transition for the given input. Set the second
5371
- * argument to true to only look for an exact match (and not a default or
5372
- * regular-expression-based transition)
5373
- * @param {string} input
5374
- * @param {boolean} exactOnly
5375
- */
5376
- has(input, exactOnly = false) {
5377
- return exactOnly ? input in this.j : !!this.go(input);
5378
- },
5379
- /**
5380
- * Short for "transition all"; create a transition from the array of items
5381
- * in the given list to the same final resulting state.
5382
- * @param {string | string[]} inputs Group of inputs to transition on
5383
- * @param {Transition<T> | State<T>} [next] Transition options
5384
- * @param {Flags} [flags] Collections flags to add token to
5385
- * @param {Collections<T>} [groups] Master list of token groups
5386
- */
5387
- ta(inputs, next, flags, groups) {
5388
- for (let i = 0; i < inputs.length; i++) {
5389
- this.tt(inputs[i], next, flags, groups);
5390
- }
5391
- },
5392
- /**
5393
- * Short for "take regexp transition"; defines a transition for this state
5394
- * when it encounters a token which matches the given regular expression
5395
- * @param {RegExp} regexp Regular expression transition (populate first)
5396
- * @param {T | State<T>} [next] Transition options
5397
- * @param {Flags} [flags] Collections flags to add token to
5398
- * @param {Collections<T>} [groups] Master list of token groups
5399
- * @returns {State<T>} taken after the given input
5400
- */
5401
- tr(regexp, next, flags, groups) {
5402
- groups = groups || State.groups;
5403
- let nextState;
5404
- if (next && next.j) {
5405
- nextState = next;
5406
- } else {
5407
- nextState = new State(next);
5408
- if (flags && groups) {
5409
- addToGroups(next, flags, groups);
5410
- }
5411
- }
5412
- this.jr.push([regexp, nextState]);
5413
- return nextState;
5414
- },
5415
- /**
5416
- * Short for "take transitions", will take as many sequential transitions as
5417
- * the length of the given input and returns the
5418
- * resulting final state.
5419
- * @param {string | string[]} input
5420
- * @param {T | State<T>} [next] Transition options
5421
- * @param {Flags} [flags] Collections flags to add token to
5422
- * @param {Collections<T>} [groups] Master list of token groups
5423
- * @returns {State<T>} taken after the given input
5424
- */
5425
- ts(input, next, flags, groups) {
5426
- let state = this;
5427
- const len = input.length;
5428
- if (!len) {
5429
- return state;
5430
- }
5431
- for (let i = 0; i < len - 1; i++) {
5432
- state = state.tt(input[i]);
5433
- }
5434
- return state.tt(input[len - 1], next, flags, groups);
5435
- },
5436
- /**
5437
- * Short for "take transition", this is a method for building/working with
5438
- * state machines.
5439
- *
5440
- * If a state already exists for the given input, returns it.
5441
- *
5442
- * If a token is specified, that state will emit that token when reached by
5443
- * the linkify engine.
5444
- *
5445
- * If no state exists, it will be initialized with some default transitions
5446
- * that resemble existing default transitions.
5447
- *
5448
- * If a state is given for the second argument, that state will be
5449
- * transitioned to on the given input regardless of what that input
5450
- * previously did.
5451
- *
5452
- * Specify a token group flags to define groups that this token belongs to.
5453
- * The token will be added to corresponding entires in the given groups
5454
- * object.
5455
- *
5456
- * @param {string} input character, token type to transition on
5457
- * @param {T | State<T>} [next] Transition options
5458
- * @param {Flags} [flags] Collections flags to add token to
5459
- * @param {Collections<T>} [groups] Master list of groups
5460
- * @returns {State<T>} taken after the given input
5461
- */
5462
- tt(input, next, flags, groups) {
5463
- groups = groups || State.groups;
5464
- const state = this;
5465
- if (next && next.j) {
5466
- state.j[input] = next;
5467
- return next;
5468
- }
5469
- const t = next;
5470
- let nextState, templateState = state.go(input);
5471
- if (templateState) {
5472
- nextState = new State();
5473
- Object.assign(nextState.j, templateState.j);
5474
- nextState.jr.push.apply(nextState.jr, templateState.jr);
5475
- nextState.jd = templateState.jd;
5476
- nextState.t = templateState.t;
5477
- } else {
5478
- nextState = new State();
5479
- }
5480
- if (t) {
5481
- if (groups) {
5482
- if (nextState.t && typeof nextState.t === "string") {
5483
- const allFlags = Object.assign(flagsForToken(nextState.t, groups), flags);
5484
- addToGroups(t, allFlags, groups);
5485
- } else if (flags) {
5486
- addToGroups(t, flags, groups);
5487
- }
5488
- }
5489
- nextState.t = t;
5490
- }
5491
- state.j[input] = nextState;
5492
- return nextState;
5493
- }
5494
- };
5495
- var ta = (state, input, next, flags, groups) => state.ta(input, next, flags, groups);
5496
- var tr = (state, regexp, next, flags, groups) => state.tr(regexp, next, flags, groups);
5497
- var ts = (state, input, next, flags, groups) => state.ts(input, next, flags, groups);
5498
- var tt = (state, input, next, flags, groups) => state.tt(input, next, flags, groups);
5499
- var WORD = "WORD";
5500
- var UWORD = "UWORD";
5501
- var ASCIINUMERICAL = "ASCIINUMERICAL";
5502
- var ALPHANUMERICAL = "ALPHANUMERICAL";
5503
- var LOCALHOST = "LOCALHOST";
5504
- var TLD = "TLD";
5505
- var UTLD = "UTLD";
5506
- var SCHEME = "SCHEME";
5507
- var SLASH_SCHEME = "SLASH_SCHEME";
5508
- var NUM = "NUM";
5509
- var WS = "WS";
5510
- var NL = "NL";
5511
- var OPENBRACE = "OPENBRACE";
5512
- var CLOSEBRACE = "CLOSEBRACE";
5513
- var OPENBRACKET = "OPENBRACKET";
5514
- var CLOSEBRACKET = "CLOSEBRACKET";
5515
- var OPENPAREN = "OPENPAREN";
5516
- var CLOSEPAREN = "CLOSEPAREN";
5517
- var OPENANGLEBRACKET = "OPENANGLEBRACKET";
5518
- var CLOSEANGLEBRACKET = "CLOSEANGLEBRACKET";
5519
- var FULLWIDTHLEFTPAREN = "FULLWIDTHLEFTPAREN";
5520
- var FULLWIDTHRIGHTPAREN = "FULLWIDTHRIGHTPAREN";
5521
- var LEFTCORNERBRACKET = "LEFTCORNERBRACKET";
5522
- var RIGHTCORNERBRACKET = "RIGHTCORNERBRACKET";
5523
- var LEFTWHITECORNERBRACKET = "LEFTWHITECORNERBRACKET";
5524
- var RIGHTWHITECORNERBRACKET = "RIGHTWHITECORNERBRACKET";
5525
- var FULLWIDTHLESSTHAN = "FULLWIDTHLESSTHAN";
5526
- var FULLWIDTHGREATERTHAN = "FULLWIDTHGREATERTHAN";
5527
- var AMPERSAND = "AMPERSAND";
5528
- var APOSTROPHE = "APOSTROPHE";
5529
- var ASTERISK = "ASTERISK";
5530
- var AT = "AT";
5531
- var BACKSLASH = "BACKSLASH";
5532
- var BACKTICK = "BACKTICK";
5533
- var CARET = "CARET";
5534
- var COLON = "COLON";
5535
- var COMMA = "COMMA";
5536
- var DOLLAR = "DOLLAR";
5537
- var DOT = "DOT";
5538
- var EQUALS = "EQUALS";
5539
- var EXCLAMATION = "EXCLAMATION";
5540
- var HYPHEN = "HYPHEN";
5541
- var PERCENT = "PERCENT";
5542
- var PIPE = "PIPE";
5543
- var PLUS = "PLUS";
5544
- var POUND = "POUND";
5545
- var QUERY = "QUERY";
5546
- var QUOTE = "QUOTE";
5547
- var FULLWIDTHMIDDLEDOT = "FULLWIDTHMIDDLEDOT";
5548
- var SEMI = "SEMI";
5549
- var SLASH = "SLASH";
5550
- var TILDE = "TILDE";
5551
- var UNDERSCORE = "UNDERSCORE";
5552
- var EMOJI$1 = "EMOJI";
5553
- var SYM = "SYM";
5554
- var tk = /* @__PURE__ */ Object.freeze({
5555
- __proto__: null,
5556
- ALPHANUMERICAL,
5557
- AMPERSAND,
5558
- APOSTROPHE,
5559
- ASCIINUMERICAL,
5560
- ASTERISK,
5561
- AT,
5562
- BACKSLASH,
5563
- BACKTICK,
5564
- CARET,
5565
- CLOSEANGLEBRACKET,
5566
- CLOSEBRACE,
5567
- CLOSEBRACKET,
5568
- CLOSEPAREN,
5569
- COLON,
5570
- COMMA,
5571
- DOLLAR,
5572
- DOT,
5573
- EMOJI: EMOJI$1,
5574
- EQUALS,
5575
- EXCLAMATION,
5576
- FULLWIDTHGREATERTHAN,
5577
- FULLWIDTHLEFTPAREN,
5578
- FULLWIDTHLESSTHAN,
5579
- FULLWIDTHMIDDLEDOT,
5580
- FULLWIDTHRIGHTPAREN,
5581
- HYPHEN,
5582
- LEFTCORNERBRACKET,
5583
- LEFTWHITECORNERBRACKET,
5584
- LOCALHOST,
5585
- NL,
5586
- NUM,
5587
- OPENANGLEBRACKET,
5588
- OPENBRACE,
5589
- OPENBRACKET,
5590
- OPENPAREN,
5591
- PERCENT,
5592
- PIPE,
5593
- PLUS,
5594
- POUND,
5595
- QUERY,
5596
- QUOTE,
5597
- RIGHTCORNERBRACKET,
5598
- RIGHTWHITECORNERBRACKET,
5599
- SCHEME,
5600
- SEMI,
5601
- SLASH,
5602
- SLASH_SCHEME,
5603
- SYM,
5604
- TILDE,
5605
- TLD,
5606
- UNDERSCORE,
5607
- UTLD,
5608
- UWORD,
5609
- WORD,
5610
- WS
5611
- });
5612
- var ASCII_LETTER = /[a-z]/;
5613
- var LETTER = /\p{L}/u;
5614
- var EMOJI = /\p{Emoji}/u;
5615
- var DIGIT2 = /\d/;
5616
- var SPACE = /\s/;
5617
- var CR = "\r";
5618
- var LF = "\n";
5619
- var EMOJI_VARIATION = "\uFE0F";
5620
- var EMOJI_JOINER = "\u200D";
5621
- var OBJECT_REPLACEMENT = "\uFFFC";
5622
- var tlds = null;
5623
- var utlds = null;
5624
- function init$2(customSchemes = []) {
5625
- const groups = {};
5626
- State.groups = groups;
5627
- const Start = new State();
5628
- if (tlds == null) {
5629
- tlds = decodeTlds(encodedTlds);
5630
- }
5631
- if (utlds == null) {
5632
- utlds = decodeTlds(encodedUtlds);
5633
- }
5634
- tt(Start, "'", APOSTROPHE);
5635
- tt(Start, "{", OPENBRACE);
5636
- tt(Start, "}", CLOSEBRACE);
5637
- tt(Start, "[", OPENBRACKET);
5638
- tt(Start, "]", CLOSEBRACKET);
5639
- tt(Start, "(", OPENPAREN);
5640
- tt(Start, ")", CLOSEPAREN);
5641
- tt(Start, "<", OPENANGLEBRACKET);
5642
- tt(Start, ">", CLOSEANGLEBRACKET);
5643
- tt(Start, "\uFF08", FULLWIDTHLEFTPAREN);
5644
- tt(Start, "\uFF09", FULLWIDTHRIGHTPAREN);
5645
- tt(Start, "\u300C", LEFTCORNERBRACKET);
5646
- tt(Start, "\u300D", RIGHTCORNERBRACKET);
5647
- tt(Start, "\u300E", LEFTWHITECORNERBRACKET);
5648
- tt(Start, "\u300F", RIGHTWHITECORNERBRACKET);
5649
- tt(Start, "\uFF1C", FULLWIDTHLESSTHAN);
5650
- tt(Start, "\uFF1E", FULLWIDTHGREATERTHAN);
5651
- tt(Start, "&", AMPERSAND);
5652
- tt(Start, "*", ASTERISK);
5653
- tt(Start, "@", AT);
5654
- tt(Start, "`", BACKTICK);
5655
- tt(Start, "^", CARET);
5656
- tt(Start, ":", COLON);
5657
- tt(Start, ",", COMMA);
5658
- tt(Start, "$", DOLLAR);
5659
- tt(Start, ".", DOT);
5660
- tt(Start, "=", EQUALS);
5661
- tt(Start, "!", EXCLAMATION);
5662
- tt(Start, "-", HYPHEN);
5663
- tt(Start, "%", PERCENT);
5664
- tt(Start, "|", PIPE);
5665
- tt(Start, "+", PLUS);
5666
- tt(Start, "#", POUND);
5667
- tt(Start, "?", QUERY);
5668
- tt(Start, '"', QUOTE);
5669
- tt(Start, "/", SLASH);
5670
- tt(Start, ";", SEMI);
5671
- tt(Start, "~", TILDE);
5672
- tt(Start, "_", UNDERSCORE);
5673
- tt(Start, "\\", BACKSLASH);
5674
- tt(Start, "\u30FB", FULLWIDTHMIDDLEDOT);
5675
- const Num = tr(Start, DIGIT2, NUM, {
5676
- [numeric]: true
5677
- });
5678
- tr(Num, DIGIT2, Num);
5679
- const Asciinumeric = tr(Num, ASCII_LETTER, ASCIINUMERICAL, {
5680
- [asciinumeric]: true
5681
- });
5682
- const Alphanumeric = tr(Num, LETTER, ALPHANUMERICAL, {
5683
- [alphanumeric]: true
5684
- });
5685
- const Word = tr(Start, ASCII_LETTER, WORD, {
5686
- [ascii]: true
5687
- });
5688
- tr(Word, DIGIT2, Asciinumeric);
5689
- tr(Word, ASCII_LETTER, Word);
5690
- tr(Asciinumeric, DIGIT2, Asciinumeric);
5691
- tr(Asciinumeric, ASCII_LETTER, Asciinumeric);
5692
- const UWord = tr(Start, LETTER, UWORD, {
5693
- [alpha]: true
5694
- });
5695
- tr(UWord, ASCII_LETTER);
5696
- tr(UWord, DIGIT2, Alphanumeric);
5697
- tr(UWord, LETTER, UWord);
5698
- tr(Alphanumeric, DIGIT2, Alphanumeric);
5699
- tr(Alphanumeric, ASCII_LETTER);
5700
- tr(Alphanumeric, LETTER, Alphanumeric);
5701
- const Nl2 = tt(Start, LF, NL, {
5702
- [whitespace]: true
5703
- });
5704
- const Cr = tt(Start, CR, WS, {
5705
- [whitespace]: true
5706
- });
5707
- const Ws = tr(Start, SPACE, WS, {
5708
- [whitespace]: true
5709
- });
5710
- tt(Start, OBJECT_REPLACEMENT, Ws);
5711
- tt(Cr, LF, Nl2);
5712
- tt(Cr, OBJECT_REPLACEMENT, Ws);
5713
- tr(Cr, SPACE, Ws);
5714
- tt(Ws, CR);
5715
- tt(Ws, LF);
5716
- tr(Ws, SPACE, Ws);
5717
- tt(Ws, OBJECT_REPLACEMENT, Ws);
5718
- const Emoji = tr(Start, EMOJI, EMOJI$1, {
5719
- [emoji]: true
5720
- });
5721
- tt(Emoji, "#");
5722
- tr(Emoji, EMOJI, Emoji);
5723
- tt(Emoji, EMOJI_VARIATION, Emoji);
5724
- const EmojiJoiner = tt(Emoji, EMOJI_JOINER);
5725
- tt(EmojiJoiner, "#");
5726
- tr(EmojiJoiner, EMOJI, Emoji);
5727
- const wordjr = [[ASCII_LETTER, Word], [DIGIT2, Asciinumeric]];
5728
- const uwordjr = [[ASCII_LETTER, null], [LETTER, UWord], [DIGIT2, Alphanumeric]];
5729
- for (let i = 0; i < tlds.length; i++) {
5730
- fastts(Start, tlds[i], TLD, WORD, wordjr);
5731
- }
5732
- for (let i = 0; i < utlds.length; i++) {
5733
- fastts(Start, utlds[i], UTLD, UWORD, uwordjr);
5734
- }
5735
- addToGroups(TLD, {
5736
- tld: true,
5737
- ascii: true
5738
- }, groups);
5739
- addToGroups(UTLD, {
5740
- utld: true,
5741
- alpha: true
5742
- }, groups);
5743
- fastts(Start, "file", SCHEME, WORD, wordjr);
5744
- fastts(Start, "mailto", SCHEME, WORD, wordjr);
5745
- fastts(Start, "http", SLASH_SCHEME, WORD, wordjr);
5746
- fastts(Start, "https", SLASH_SCHEME, WORD, wordjr);
5747
- fastts(Start, "ftp", SLASH_SCHEME, WORD, wordjr);
5748
- fastts(Start, "ftps", SLASH_SCHEME, WORD, wordjr);
5749
- addToGroups(SCHEME, {
5750
- scheme: true,
5751
- ascii: true
5752
- }, groups);
5753
- addToGroups(SLASH_SCHEME, {
5754
- slashscheme: true,
5755
- ascii: true
5756
- }, groups);
5757
- customSchemes = customSchemes.sort((a, b) => a[0] > b[0] ? 1 : -1);
5758
- for (let i = 0; i < customSchemes.length; i++) {
5759
- const sch = customSchemes[i][0];
5760
- const optionalSlashSlash = customSchemes[i][1];
5761
- const flags = optionalSlashSlash ? {
5762
- [scheme]: true
5763
- } : {
5764
- [slashscheme]: true
5765
- };
5766
- if (sch.indexOf("-") >= 0) {
5767
- flags[domain] = true;
5768
- } else if (!ASCII_LETTER.test(sch)) {
5769
- flags[numeric] = true;
5770
- } else if (DIGIT2.test(sch)) {
5771
- flags[asciinumeric] = true;
5772
- } else {
5773
- flags[ascii] = true;
5774
- }
5775
- ts(Start, sch, sch, flags);
5776
- }
5777
- ts(Start, "localhost", LOCALHOST, {
5778
- ascii: true
5779
- });
5780
- Start.jd = new State(SYM);
5781
- return {
5782
- start: Start,
5783
- tokens: Object.assign({
5784
- groups
5785
- }, tk)
5786
- };
5787
- }
5788
- function run$1(start, str) {
5789
- const iterable = stringToArray(str.replace(/[A-Z]/g, (c) => c.toLowerCase()));
5790
- const charCount = iterable.length;
5791
- const tokens = [];
5792
- let cursor = 0;
5793
- let charCursor = 0;
5794
- while (charCursor < charCount) {
5795
- let state = start;
5796
- let nextState = null;
5797
- let tokenLength = 0;
5798
- let latestAccepting = null;
5799
- let sinceAccepts = -1;
5800
- let charsSinceAccepts = -1;
5801
- while (charCursor < charCount && (nextState = state.go(iterable[charCursor]))) {
5802
- state = nextState;
5803
- if (state.accepts()) {
5804
- sinceAccepts = 0;
5805
- charsSinceAccepts = 0;
5806
- latestAccepting = state;
5807
- } else if (sinceAccepts >= 0) {
5808
- sinceAccepts += iterable[charCursor].length;
5809
- charsSinceAccepts++;
5810
- }
5811
- tokenLength += iterable[charCursor].length;
5812
- cursor += iterable[charCursor].length;
5813
- charCursor++;
5814
- }
5815
- cursor -= sinceAccepts;
5816
- charCursor -= charsSinceAccepts;
5817
- tokenLength -= sinceAccepts;
5818
- tokens.push({
5819
- t: latestAccepting.t,
5820
- // token type/name
5821
- v: str.slice(cursor - tokenLength, cursor),
5822
- // string value
5823
- s: cursor - tokenLength,
5824
- // start index
5825
- e: cursor
5826
- // end index (excluding)
5827
- });
5828
- }
5829
- return tokens;
5830
- }
5831
- function stringToArray(str) {
5832
- const result = [];
5833
- const len = str.length;
5834
- let index = 0;
5835
- while (index < len) {
5836
- let first = str.charCodeAt(index);
5837
- let second;
5838
- let char = first < 55296 || first > 56319 || index + 1 === len || (second = str.charCodeAt(index + 1)) < 56320 || second > 57343 ? str[index] : str.slice(index, index + 2);
5839
- result.push(char);
5840
- index += char.length;
5841
- }
5842
- return result;
5843
- }
5844
- function fastts(state, input, t, defaultt, jr) {
5845
- let next;
5846
- const len = input.length;
5847
- for (let i = 0; i < len - 1; i++) {
5848
- const char = input[i];
5849
- if (state.j[char]) {
5850
- next = state.j[char];
5851
- } else {
5852
- next = new State(defaultt);
5853
- next.jr = jr.slice();
5854
- state.j[char] = next;
5855
- }
5856
- state = next;
5857
- }
5858
- next = new State(t);
5859
- next.jr = jr.slice();
5860
- state.j[input[len - 1]] = next;
5861
- return next;
5862
- }
5863
- function decodeTlds(encoded) {
5864
- const words = [];
5865
- const stack = [];
5866
- let i = 0;
5867
- let digits = "0123456789";
5868
- while (i < encoded.length) {
5869
- let popDigitCount = 0;
5870
- while (digits.indexOf(encoded[i + popDigitCount]) >= 0) {
5871
- popDigitCount++;
5872
- }
5873
- if (popDigitCount > 0) {
5874
- words.push(stack.join(""));
5875
- for (let popCount = parseInt(encoded.substring(i, i + popDigitCount), 10); popCount > 0; popCount--) {
5876
- stack.pop();
5877
- }
5878
- i += popDigitCount;
5879
- } else {
5880
- stack.push(encoded[i]);
5881
- i++;
5882
- }
5883
- }
5884
- return words;
5885
- }
5886
- var defaults2 = {
5887
- defaultProtocol: "http",
5888
- events: null,
5889
- format: noop3,
5890
- formatHref: noop3,
5891
- nl2br: false,
5892
- tagName: "a",
5893
- target: null,
5894
- rel: null,
5895
- validate: true,
5896
- truncate: Infinity,
5897
- className: null,
5898
- attributes: null,
5899
- ignoreTags: [],
5900
- render: null
5901
- };
5902
- function Options(opts, defaultRender = null) {
5903
- let o = Object.assign({}, defaults2);
5904
- if (opts) {
5905
- o = Object.assign(o, opts instanceof Options ? opts.o : opts);
5906
- }
5907
- const ignoredTags = o.ignoreTags;
5908
- const uppercaseIgnoredTags = [];
5909
- for (let i = 0; i < ignoredTags.length; i++) {
5910
- uppercaseIgnoredTags.push(ignoredTags[i].toUpperCase());
5911
- }
5912
- this.o = o;
5913
- if (defaultRender) {
5914
- this.defaultRender = defaultRender;
5915
- }
5916
- this.ignoreTags = uppercaseIgnoredTags;
5917
- }
5918
- Options.prototype = {
5919
- o: defaults2,
5920
- /**
5921
- * @type string[]
5922
- */
5923
- ignoreTags: [],
5924
- /**
5925
- * @param {IntermediateRepresentation} ir
5926
- * @returns {any}
5927
- */
5928
- defaultRender(ir) {
5929
- return ir;
5930
- },
5931
- /**
5932
- * Returns true or false based on whether a token should be displayed as a
5933
- * link based on the user options.
5934
- * @param {MultiToken} token
5935
- * @returns {boolean}
5936
- */
5937
- check(token) {
5938
- return this.get("validate", token.toString(), token);
5939
- },
5940
- // Private methods
5941
- /**
5942
- * Resolve an option's value based on the value of the option and the given
5943
- * params. If operator and token are specified and the target option is
5944
- * callable, automatically calls the function with the given argument.
5945
- * @template {keyof Opts} K
5946
- * @param {K} key Name of option to use
5947
- * @param {string} [operator] will be passed to the target option if it's a
5948
- * function. If not specified, RAW function value gets returned
5949
- * @param {MultiToken} [token] The token from linkify.tokenize
5950
- * @returns {Opts[K] | any}
5951
- */
5952
- get(key, operator, token) {
5953
- const isCallable = operator != null;
5954
- let option = this.o[key];
5955
- if (!option) {
5956
- return option;
5957
- }
5958
- if (typeof option === "object") {
5959
- option = token.t in option ? option[token.t] : defaults2[key];
5960
- if (typeof option === "function" && isCallable) {
5961
- option = option(operator, token);
5962
- }
5963
- } else if (typeof option === "function" && isCallable) {
5964
- option = option(operator, token.t, token);
5965
- }
5966
- return option;
5967
- },
5968
- /**
5969
- * @template {keyof Opts} L
5970
- * @param {L} key Name of options object to use
5971
- * @param {string} [operator]
5972
- * @param {MultiToken} [token]
5973
- * @returns {Opts[L] | any}
5974
- */
5975
- getObj(key, operator, token) {
5976
- let obj = this.o[key];
5977
- if (typeof obj === "function" && operator != null) {
5978
- obj = obj(operator, token.t, token);
5979
- }
5980
- return obj;
5981
- },
5982
- /**
5983
- * Convert the given token to a rendered element that may be added to the
5984
- * calling-interface's DOM
5985
- * @param {MultiToken} token Token to render to an HTML element
5986
- * @returns {any} Render result; e.g., HTML string, DOM element, React
5987
- * Component, etc.
5988
- */
5989
- render(token) {
5990
- const ir = token.render(this);
5991
- const renderFn = this.get("render", null, token) || this.defaultRender;
5992
- return renderFn(ir, token.t, token);
5993
- }
5994
- };
5995
- function noop3(val) {
5996
- return val;
5997
- }
5998
- function MultiToken(value, tokens) {
5999
- this.t = "token";
6000
- this.v = value;
6001
- this.tk = tokens;
6002
- }
6003
- MultiToken.prototype = {
6004
- isLink: false,
6005
- /**
6006
- * Return the string this token represents.
6007
- * @return {string}
6008
- */
6009
- toString() {
6010
- return this.v;
6011
- },
6012
- /**
6013
- * What should the value for this token be in the `href` HTML attribute?
6014
- * Returns the `.toString` value by default.
6015
- * @param {string} [scheme]
6016
- * @return {string}
6017
- */
6018
- toHref(scheme2) {
6019
- return this.toString();
6020
- },
6021
- /**
6022
- * @param {Options} options Formatting options
6023
- * @returns {string}
6024
- */
6025
- toFormattedString(options) {
6026
- const val = this.toString();
6027
- const truncate = options.get("truncate", val, this);
6028
- const formatted = options.get("format", val, this);
6029
- return truncate && formatted.length > truncate ? formatted.substring(0, truncate) + "\u2026" : formatted;
6030
- },
6031
- /**
6032
- *
6033
- * @param {Options} options
6034
- * @returns {string}
6035
- */
6036
- toFormattedHref(options) {
6037
- return options.get("formatHref", this.toHref(options.get("defaultProtocol")), this);
6038
- },
6039
- /**
6040
- * The start index of this token in the original input string
6041
- * @returns {number}
6042
- */
6043
- startIndex() {
6044
- return this.tk[0].s;
6045
- },
6046
- /**
6047
- * The end index of this token in the original input string (up to this
6048
- * index but not including it)
6049
- * @returns {number}
6050
- */
6051
- endIndex() {
6052
- return this.tk[this.tk.length - 1].e;
6053
- },
6054
- /**
6055
- Returns an object of relevant values for this token, which includes keys
6056
- * type - Kind of token ('url', 'email', etc.)
6057
- * value - Original text
6058
- * href - The value that should be added to the anchor tag's href
6059
- attribute
6060
- @method toObject
6061
- @param {string} [protocol] `'http'` by default
6062
- */
6063
- toObject(protocol = defaults2.defaultProtocol) {
6064
- return {
6065
- type: this.t,
6066
- value: this.toString(),
6067
- isLink: this.isLink,
6068
- href: this.toHref(protocol),
6069
- start: this.startIndex(),
6070
- end: this.endIndex()
6071
- };
6072
- },
6073
- /**
6074
- *
6075
- * @param {Options} options Formatting option
6076
- */
6077
- toFormattedObject(options) {
6078
- return {
6079
- type: this.t,
6080
- value: this.toFormattedString(options),
6081
- isLink: this.isLink,
6082
- href: this.toFormattedHref(options),
6083
- start: this.startIndex(),
6084
- end: this.endIndex()
6085
- };
6086
- },
6087
- /**
6088
- * Whether this token should be rendered as a link according to the given options
6089
- * @param {Options} options
6090
- * @returns {boolean}
6091
- */
6092
- validate(options) {
6093
- return options.get("validate", this.toString(), this);
6094
- },
6095
- /**
6096
- * Return an object that represents how this link should be rendered.
6097
- * @param {Options} options Formattinng options
6098
- */
6099
- render(options) {
6100
- const token = this;
6101
- const href = this.toHref(options.get("defaultProtocol"));
6102
- const formattedHref = options.get("formatHref", href, this);
6103
- const tagName = options.get("tagName", href, token);
6104
- const content = this.toFormattedString(options);
6105
- const attributes = {};
6106
- const className = options.get("className", href, token);
6107
- const target = options.get("target", href, token);
6108
- const rel = options.get("rel", href, token);
6109
- const attrs = options.getObj("attributes", href, token);
6110
- const eventListeners = options.getObj("events", href, token);
6111
- attributes.href = formattedHref;
6112
- if (className) {
6113
- attributes.class = className;
6114
- }
6115
- if (target) {
6116
- attributes.target = target;
6117
- }
6118
- if (rel) {
6119
- attributes.rel = rel;
6120
- }
6121
- if (attrs) {
6122
- Object.assign(attributes, attrs);
6123
- }
6124
- return {
6125
- tagName,
6126
- attributes,
6127
- content,
6128
- eventListeners
6129
- };
6130
- }
6131
- };
6132
- function createTokenClass(type, props) {
6133
- class Token extends MultiToken {
6134
- constructor(value, tokens) {
6135
- super(value, tokens);
6136
- this.t = type;
6137
- }
6138
- }
6139
- for (const p in props) {
6140
- Token.prototype[p] = props[p];
6141
- }
6142
- Token.t = type;
6143
- return Token;
6144
- }
6145
- var Email = createTokenClass("email", {
6146
- isLink: true,
6147
- toHref() {
6148
- return "mailto:" + this.toString();
6149
- }
6150
- });
6151
- var Text = createTokenClass("text");
6152
- var Nl = createTokenClass("nl");
6153
- var Url = createTokenClass("url", {
6154
- isLink: true,
6155
- /**
6156
- Lowercases relevant parts of the domain and adds the protocol if
6157
- required. Note that this will not escape unsafe HTML characters in the
6158
- URL.
6159
- @param {string} [scheme] default scheme (e.g., 'https')
6160
- @return {string} the full href
6161
- */
6162
- toHref(scheme2 = defaults2.defaultProtocol) {
6163
- return this.hasProtocol() ? this.v : `${scheme2}://${this.v}`;
6164
- },
6165
- /**
6166
- * Check whether this URL token has a protocol
6167
- * @return {boolean}
6168
- */
6169
- hasProtocol() {
6170
- const tokens = this.tk;
6171
- return tokens.length >= 2 && tokens[0].t !== LOCALHOST && tokens[1].t === COLON;
6172
- }
6173
- });
6174
- var makeState = (arg) => new State(arg);
6175
- function init$1({
6176
- groups
6177
- }) {
6178
- const qsAccepting = groups.domain.concat([AMPERSAND, ASTERISK, AT, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, NUM, PERCENT, PIPE, PLUS, POUND, SLASH, SYM, TILDE, UNDERSCORE]);
6179
- const qsNonAccepting = [APOSTROPHE, COLON, COMMA, DOT, EXCLAMATION, PERCENT, QUERY, QUOTE, SEMI, OPENANGLEBRACKET, CLOSEANGLEBRACKET, OPENBRACE, CLOSEBRACE, CLOSEBRACKET, OPENBRACKET, OPENPAREN, CLOSEPAREN, FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN, LEFTCORNERBRACKET, RIGHTCORNERBRACKET, LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET, FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN];
6180
- const localpartAccepting = [AMPERSAND, APOSTROPHE, ASTERISK, BACKSLASH, BACKTICK, CARET, DOLLAR, EQUALS, HYPHEN, OPENBRACE, CLOSEBRACE, PERCENT, PIPE, PLUS, POUND, QUERY, SLASH, SYM, TILDE, UNDERSCORE];
6181
- const Start = makeState();
6182
- const Localpart = tt(Start, TILDE);
6183
- ta(Localpart, localpartAccepting, Localpart);
6184
- ta(Localpart, groups.domain, Localpart);
6185
- const Domain = makeState(), Scheme = makeState(), SlashScheme = makeState();
6186
- ta(Start, groups.domain, Domain);
6187
- ta(Start, groups.scheme, Scheme);
6188
- ta(Start, groups.slashscheme, SlashScheme);
6189
- ta(Domain, localpartAccepting, Localpart);
6190
- ta(Domain, groups.domain, Domain);
6191
- const LocalpartAt = tt(Domain, AT);
6192
- tt(Localpart, AT, LocalpartAt);
6193
- tt(Scheme, AT, LocalpartAt);
6194
- tt(SlashScheme, AT, LocalpartAt);
6195
- const LocalpartDot = tt(Localpart, DOT);
6196
- ta(LocalpartDot, localpartAccepting, Localpart);
6197
- ta(LocalpartDot, groups.domain, Localpart);
6198
- const EmailDomain = makeState();
6199
- ta(LocalpartAt, groups.domain, EmailDomain);
6200
- ta(EmailDomain, groups.domain, EmailDomain);
6201
- const EmailDomainDot = tt(EmailDomain, DOT);
6202
- ta(EmailDomainDot, groups.domain, EmailDomain);
6203
- const Email$1 = makeState(Email);
6204
- ta(EmailDomainDot, groups.tld, Email$1);
6205
- ta(EmailDomainDot, groups.utld, Email$1);
6206
- tt(LocalpartAt, LOCALHOST, Email$1);
6207
- const EmailDomainHyphen = tt(EmailDomain, HYPHEN);
6208
- tt(EmailDomainHyphen, HYPHEN, EmailDomainHyphen);
6209
- ta(EmailDomainHyphen, groups.domain, EmailDomain);
6210
- ta(Email$1, groups.domain, EmailDomain);
6211
- tt(Email$1, DOT, EmailDomainDot);
6212
- tt(Email$1, HYPHEN, EmailDomainHyphen);
6213
- const EmailColon = tt(Email$1, COLON);
6214
- ta(EmailColon, groups.numeric, Email);
6215
- const DomainHyphen = tt(Domain, HYPHEN);
6216
- const DomainDot = tt(Domain, DOT);
6217
- tt(DomainHyphen, HYPHEN, DomainHyphen);
6218
- ta(DomainHyphen, groups.domain, Domain);
6219
- ta(DomainDot, localpartAccepting, Localpart);
6220
- ta(DomainDot, groups.domain, Domain);
6221
- const DomainDotTld = makeState(Url);
6222
- ta(DomainDot, groups.tld, DomainDotTld);
6223
- ta(DomainDot, groups.utld, DomainDotTld);
6224
- ta(DomainDotTld, groups.domain, Domain);
6225
- ta(DomainDotTld, localpartAccepting, Localpart);
6226
- tt(DomainDotTld, DOT, DomainDot);
6227
- tt(DomainDotTld, HYPHEN, DomainHyphen);
6228
- tt(DomainDotTld, AT, LocalpartAt);
6229
- const DomainDotTldColon = tt(DomainDotTld, COLON);
6230
- const DomainDotTldColonPort = makeState(Url);
6231
- ta(DomainDotTldColon, groups.numeric, DomainDotTldColonPort);
6232
- const Url$1 = makeState(Url);
6233
- const UrlNonaccept = makeState();
6234
- ta(Url$1, qsAccepting, Url$1);
6235
- ta(Url$1, qsNonAccepting, UrlNonaccept);
6236
- ta(UrlNonaccept, qsAccepting, Url$1);
6237
- ta(UrlNonaccept, qsNonAccepting, UrlNonaccept);
6238
- tt(DomainDotTld, SLASH, Url$1);
6239
- tt(DomainDotTldColonPort, SLASH, Url$1);
6240
- const SchemeColon = tt(Scheme, COLON);
6241
- const SlashSchemeColon = tt(SlashScheme, COLON);
6242
- const SlashSchemeColonSlash = tt(SlashSchemeColon, SLASH);
6243
- const UriPrefix = tt(SlashSchemeColonSlash, SLASH);
6244
- ta(Scheme, groups.domain, Domain);
6245
- tt(Scheme, DOT, DomainDot);
6246
- tt(Scheme, HYPHEN, DomainHyphen);
6247
- ta(SlashScheme, groups.domain, Domain);
6248
- tt(SlashScheme, DOT, DomainDot);
6249
- tt(SlashScheme, HYPHEN, DomainHyphen);
6250
- ta(SchemeColon, groups.domain, Url$1);
6251
- tt(SchemeColon, SLASH, Url$1);
6252
- tt(SchemeColon, QUERY, Url$1);
6253
- ta(UriPrefix, groups.domain, Url$1);
6254
- ta(UriPrefix, qsAccepting, Url$1);
6255
- tt(UriPrefix, SLASH, Url$1);
6256
- const bracketPairs = [
6257
- [OPENBRACE, CLOSEBRACE],
6258
- // {}
6259
- [OPENBRACKET, CLOSEBRACKET],
6260
- // []
6261
- [OPENPAREN, CLOSEPAREN],
6262
- // ()
6263
- [OPENANGLEBRACKET, CLOSEANGLEBRACKET],
6264
- // <>
6265
- [FULLWIDTHLEFTPAREN, FULLWIDTHRIGHTPAREN],
6266
- // ()
6267
- [LEFTCORNERBRACKET, RIGHTCORNERBRACKET],
6268
- // 「」
6269
- [LEFTWHITECORNERBRACKET, RIGHTWHITECORNERBRACKET],
6270
- // 『』
6271
- [FULLWIDTHLESSTHAN, FULLWIDTHGREATERTHAN]
6272
- // <>
6273
- ];
6274
- for (let i = 0; i < bracketPairs.length; i++) {
6275
- const [OPEN, CLOSE] = bracketPairs[i];
6276
- const UrlOpen = tt(Url$1, OPEN);
6277
- tt(UrlNonaccept, OPEN, UrlOpen);
6278
- tt(UrlOpen, CLOSE, Url$1);
6279
- const UrlOpenQ = makeState(Url);
6280
- ta(UrlOpen, qsAccepting, UrlOpenQ);
6281
- const UrlOpenSyms = makeState();
6282
- ta(UrlOpen, qsNonAccepting);
6283
- ta(UrlOpenQ, qsAccepting, UrlOpenQ);
6284
- ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms);
6285
- ta(UrlOpenSyms, qsAccepting, UrlOpenQ);
6286
- ta(UrlOpenSyms, qsNonAccepting, UrlOpenSyms);
6287
- tt(UrlOpenQ, CLOSE, Url$1);
6288
- tt(UrlOpenSyms, CLOSE, Url$1);
6289
- }
6290
- tt(Start, LOCALHOST, DomainDotTld);
6291
- tt(Start, NL, Nl);
6292
- return {
6293
- start: Start,
6294
- tokens: tk
6295
- };
6296
- }
6297
- function run(start, input, tokens) {
6298
- let len = tokens.length;
6299
- let cursor = 0;
6300
- let multis = [];
6301
- let textTokens = [];
6302
- while (cursor < len) {
6303
- let state = start;
6304
- let secondState = null;
6305
- let nextState = null;
6306
- let multiLength = 0;
6307
- let latestAccepting = null;
6308
- let sinceAccepts = -1;
6309
- while (cursor < len && !(secondState = state.go(tokens[cursor].t))) {
6310
- textTokens.push(tokens[cursor++]);
6311
- }
6312
- while (cursor < len && (nextState = secondState || state.go(tokens[cursor].t))) {
6313
- secondState = null;
6314
- state = nextState;
6315
- if (state.accepts()) {
6316
- sinceAccepts = 0;
6317
- latestAccepting = state;
6318
- } else if (sinceAccepts >= 0) {
6319
- sinceAccepts++;
6320
- }
6321
- cursor++;
6322
- multiLength++;
6323
- }
6324
- if (sinceAccepts < 0) {
6325
- cursor -= multiLength;
6326
- if (cursor < len) {
6327
- textTokens.push(tokens[cursor]);
6328
- cursor++;
6329
- }
6330
- } else {
6331
- if (textTokens.length > 0) {
6332
- multis.push(initMultiToken(Text, input, textTokens));
6333
- textTokens = [];
6334
- }
6335
- cursor -= sinceAccepts;
6336
- multiLength -= sinceAccepts;
6337
- const Multi = latestAccepting.t;
6338
- const subtokens = tokens.slice(cursor - multiLength, cursor);
6339
- multis.push(initMultiToken(Multi, input, subtokens));
6340
- }
6341
- }
6342
- if (textTokens.length > 0) {
6343
- multis.push(initMultiToken(Text, input, textTokens));
6344
- }
6345
- return multis;
6346
- }
6347
- function initMultiToken(Multi, input, tokens) {
6348
- const startIdx = tokens[0].s;
6349
- const endIdx = tokens[tokens.length - 1].e;
6350
- const value = input.slice(startIdx, endIdx);
6351
- return new Multi(value, tokens);
6352
- }
6353
- var INIT = {
6354
- scanner: null,
6355
- parser: null,
6356
- tokenQueue: [],
6357
- pluginQueue: [],
6358
- customSchemes: [],
6359
- initialized: false
6360
- };
6361
- function init() {
6362
- INIT.scanner = init$2(INIT.customSchemes);
6363
- for (let i = 0; i < INIT.tokenQueue.length; i++) {
6364
- INIT.tokenQueue[i][1]({
6365
- scanner: INIT.scanner
6366
- });
6367
- }
6368
- INIT.parser = init$1(INIT.scanner.tokens);
6369
- for (let i = 0; i < INIT.pluginQueue.length; i++) {
6370
- INIT.pluginQueue[i][1]({
6371
- scanner: INIT.scanner,
6372
- parser: INIT.parser
6373
- });
6374
- }
6375
- INIT.initialized = true;
6376
- return INIT;
6377
- }
6378
- function tokenize(str) {
6379
- if (!INIT.initialized) {
6380
- init();
6381
- }
6382
- return run(INIT.parser.start, str, run$1(INIT.scanner.start, str));
6383
- }
6384
- tokenize.scan = run$1;
6385
- function find(str, type = null, opts = null) {
6386
- if (type && typeof type === "object") {
6387
- if (opts) {
6388
- throw Error(`linkifyjs: Invalid link type ${type}; must be a string`);
6389
- }
6390
- opts = type;
6391
- type = null;
6392
- }
6393
- const options = new Options(opts);
6394
- const tokens = tokenize(str);
6395
- const filtered = [];
6396
- for (let i = 0; i < tokens.length; i++) {
6397
- const token = tokens[i];
6398
- if (token.isLink && (!type || token.t === type) && options.check(token)) {
6399
- filtered.push(token.toFormattedObject(options));
6400
- }
6401
- }
6402
- return filtered;
6403
- }
6404
-
6405
3220
  // src/messageComposer/configuration/configuration.ts
3221
+ var import_linkifyjs = require("linkifyjs");
6406
3222
  var DEFAULT_LINK_PREVIEW_MANAGER_CONFIG = {
6407
3223
  debounceURLEnrichmentMs: 1500,
6408
3224
  enabled: false,
6409
- findURLFn: (text) => find(text, "url", { defaultProtocol: "https" }).reduce((acc, link) => {
3225
+ findURLFn: (text) => (0, import_linkifyjs.find)(text, "url", { defaultProtocol: "https" }).reduce((acc, link) => {
6410
3226
  try {
6411
3227
  const url = new URL(link.href);
6412
3228
  if (link.isLink && /^[a-zA-Z0-9-.]+\.[a-zA-Z]{2,}$/.test(url.hostname)) {
@@ -6832,7 +3648,7 @@ var createPollComposerStateMiddleware = ({
6832
3648
  } = {}) => {
6833
3649
  const universalHandler = ({
6834
3650
  state,
6835
- validators: validators3,
3651
+ validators,
6836
3652
  processors
6837
3653
  }) => {
6838
3654
  const { previousState, targetFields } = state;
@@ -6861,7 +3677,7 @@ var createPollComposerStateMiddleware = ({
6861
3677
  );
6862
3678
  }
6863
3679
  const newErrors = Object.keys(targetFields).reduce((acc, key) => {
6864
- const validator = validators3[key];
3680
+ const validator = validators[key];
6865
3681
  if (validator) {
6866
3682
  const error = validator({
6867
3683
  currentError: previousState.errors[key],
@@ -12103,22 +8919,11 @@ var ClientState = class {
12103
8919
  }
12104
8920
  };
12105
8921
 
12106
- // node_modules/isomorphic-ws/browser.js
12107
- var ws = null;
12108
- if (typeof WebSocket !== "undefined") {
12109
- ws = WebSocket;
12110
- } else if (typeof MozWebSocket !== "undefined") {
12111
- ws = MozWebSocket;
12112
- } else if (typeof global !== "undefined") {
12113
- ws = global.WebSocket || global.MozWebSocket;
12114
- } else if (typeof window !== "undefined") {
12115
- ws = window.WebSocket || window.MozWebSocket;
12116
- } else if (typeof self !== "undefined") {
12117
- ws = self.WebSocket || self.MozWebSocket;
12118
- }
12119
- var browser_default2 = ws;
8922
+ // src/connection.ts
8923
+ var import_isomorphic_ws = __toESM(require("isomorphic-ws"));
12120
8924
 
12121
8925
  // src/insights.ts
8926
+ var import_axios = __toESM(require("axios"));
12122
8927
  var InsightMetrics = class {
12123
8928
  constructor() {
12124
8929
  this.connectionStartTimestamp = null;
@@ -12131,7 +8936,7 @@ var postInsights = async (insightType, insights) => {
12131
8936
  const maxAttempts = 3;
12132
8937
  for (let i = 0; i < maxAttempts; i++) {
12133
8938
  try {
12134
- await axios_default.post(
8939
+ await import_axios.default.post(
12135
8940
  `https://chat-insights.getstream.io/insights/${insightType}`,
12136
8941
  insights
12137
8942
  );
@@ -12481,8 +9286,8 @@ var StableWSConnection = class {
12481
9286
  this.ws.removeAllListeners();
12482
9287
  }
12483
9288
  let isClosedPromise;
12484
- const { ws: ws2 } = this;
12485
- if (ws2 && ws2.close && ws2.readyState === ws2.OPEN) {
9289
+ const { ws } = this;
9290
+ if (ws && ws.close && ws.readyState === ws.OPEN) {
12486
9291
  isClosedPromise = new Promise((resolve) => {
12487
9292
  const onclose = (event) => {
12488
9293
  this._log(
@@ -12491,13 +9296,13 @@ var StableWSConnection = class {
12491
9296
  );
12492
9297
  resolve();
12493
9298
  };
12494
- ws2.onclose = onclose;
9299
+ ws.onclose = onclose;
12495
9300
  setTimeout(onclose, timeout != null ? timeout : 1e3);
12496
9301
  });
12497
9302
  this._log(
12498
9303
  `disconnect() - Manually closed connection by calling client.disconnect()`
12499
9304
  );
12500
- ws2.close(
9305
+ ws.close(
12501
9306
  chatCodes.WS_CLOSED_SUCCESS,
12502
9307
  "Manually closed connection by calling client.disconnect()"
12503
9308
  );
@@ -12537,7 +9342,7 @@ var StableWSConnection = class {
12537
9342
  wsURL,
12538
9343
  requestID: this.requestID
12539
9344
  });
12540
- this.ws = new browser_default2(wsURL);
9345
+ this.ws = new import_isomorphic_ws.default(wsURL);
12541
9346
  this.ws.onopen = this.onopen.bind(this, this.wsID);
12542
9347
  this.ws.onclose = this.onclose.bind(this, this.wsID);
12543
9348
  this.ws.onerror = this.onerror.bind(this, this.wsID);
@@ -12639,8 +9444,8 @@ var StableWSConnection = class {
12639
9444
  };
12640
9445
 
12641
9446
  // src/signing.ts
12642
- var import_jsonwebtoken = __toESM(require_jsonwebtoken());
12643
- var import_crypto = __toESM(require_crypto());
9447
+ var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
9448
+ var import_crypto = __toESM(require("crypto"));
12644
9449
  function JWTUserToken(apiSecret, userId, extraData = {}, jwtOptions = {}) {
12645
9450
  if (typeof userId !== "string") {
12646
9451
  throw new TypeError("userId should be a string");
@@ -12720,7 +9525,7 @@ var TokenManager = class {
12720
9525
  this.setTokenOrProvider = async (tokenOrProvider, user) => {
12721
9526
  this.validateToken(tokenOrProvider, user);
12722
9527
  this.user = user;
12723
- if (isFunction2(tokenOrProvider)) {
9528
+ if (isFunction(tokenOrProvider)) {
12724
9529
  this.tokenProvider = tokenOrProvider;
12725
9530
  this.type = "provider";
12726
9531
  }
@@ -12751,7 +9556,7 @@ var TokenManager = class {
12751
9556
  if (!this.secret && !tokenOrProvider) {
12752
9557
  throw new Error("User token can not be empty");
12753
9558
  }
12754
- if (tokenOrProvider && typeof tokenOrProvider !== "string" && !isFunction2(tokenOrProvider)) {
9559
+ if (tokenOrProvider && typeof tokenOrProvider !== "string" && !isFunction(tokenOrProvider)) {
12755
9560
  throw new Error("user token should either be a string or a function");
12756
9561
  }
12757
9562
  if (typeof tokenOrProvider === "string") {
@@ -12814,6 +9619,9 @@ var TokenManager = class {
12814
9619
  }
12815
9620
  };
12816
9621
 
9622
+ // src/connection_fallback.ts
9623
+ var import_axios2 = __toESM(require("axios"));
9624
+
12817
9625
  // src/errors.ts
12818
9626
  var APIErrorCodes = {
12819
9627
  "-1": { name: "InternalSystemError", retryable: true },
@@ -12889,7 +9697,7 @@ var WSConnectionFallback = class {
12889
9697
  /** @private */
12890
9698
  this._req = async (params, config, retry) => {
12891
9699
  if (!this.cancelToken && !params.close) {
12892
- this.cancelToken = axios_default.CancelToken.source();
9700
+ this.cancelToken = import_axios2.default.CancelToken.source();
12893
9701
  }
12894
9702
  try {
12895
9703
  const res = await this.client.doAxiosRequest(
@@ -12925,7 +9733,7 @@ var WSConnectionFallback = class {
12925
9733
  }
12926
9734
  }
12927
9735
  } catch (error) {
12928
- if (axios_default.isCancel(error)) {
9736
+ if (import_axios2.default.isCancel(error)) {
12929
9737
  this._log(`_poll() - axios canceled request`);
12930
9738
  return;
12931
9739
  }
@@ -13068,9 +9876,9 @@ var Segment = class {
13068
9876
  this.verifySegmentId();
13069
9877
  return this.client.segmentTargetExists(this.id, targetId);
13070
9878
  }
13071
- queryTargets(filter2 = {}, sort = [], options = {}) {
9879
+ queryTargets(filter = {}, sort = [], options = {}) {
13072
9880
  this.verifySegmentId();
13073
- return this.client.querySegmentTargets(this.id, filter2, sort, options);
9881
+ return this.client.querySegmentTargets(this.id, filter, sort, options);
13074
9882
  }
13075
9883
  };
13076
9884
 
@@ -13973,8 +10781,8 @@ var PollManager = class extends WithSubscriptions {
13973
10781
  this.setOrOverwriteInCache(poll);
13974
10782
  return this.fromState(id);
13975
10783
  };
13976
- this.queryPolls = async (filter2, sort = [], options = {}) => {
13977
- const { polls, next } = await this.client.queryPolls(filter2, sort, options);
10784
+ this.queryPolls = async (filter, sort = [], options = {}) => {
10785
+ const { polls, next } = await this.client.queryPolls(filter, sort, options);
13978
10786
  const pollInstances = polls.map((poll) => {
13979
10787
  this.setOrOverwriteInCache(poll, true);
13980
10788
  return this.fromState(poll.id);
@@ -14925,7 +11733,7 @@ _ReminderManager.isReminderWsEventPayload = (event) => !!event.reminder && (even
14925
11733
  var ReminderManager = _ReminderManager;
14926
11734
 
14927
11735
  // src/client.ts
14928
- function isString3(x) {
11736
+ function isString2(x) {
14929
11737
  return typeof x === "string" || x instanceof String;
14930
11738
  }
14931
11739
  var StreamChat = class _StreamChat {
@@ -15529,10 +12337,10 @@ var StreamChat = class _StreamChat {
15529
12337
  this.mutedUsers = [];
15530
12338
  this.moderation = new Moderation(this);
15531
12339
  this.notifications = options?.notifications ?? new NotificationManager();
15532
- if (secretOrOptions && isString3(secretOrOptions)) {
12340
+ if (secretOrOptions && isString2(secretOrOptions)) {
15533
12341
  this.secret = secretOrOptions;
15534
12342
  }
15535
- const inputOptions = options ? options : secretOrOptions && !isString3(secretOrOptions) ? secretOrOptions : {};
12343
+ const inputOptions = options ? options : secretOrOptions && !isString2(secretOrOptions) ? secretOrOptions : {};
15536
12344
  this.browser = typeof inputOptions.browser !== "undefined" ? inputOptions.browser : typeof window !== "undefined";
15537
12345
  this.node = !this.browser;
15538
12346
  this.options = {
@@ -15551,7 +12359,7 @@ var StreamChat = class _StreamChat {
15551
12359
  keepAliveMsecs: 3e3
15552
12360
  });
15553
12361
  }
15554
- this.axiosInstance = axios_default.create(this.options);
12362
+ this.axiosInstance = import_axios3.default.create(this.options);
15555
12363
  this.setBaseURL(this.options.baseURL || "https://chat.stream-io-api.com");
15556
12364
  if (typeof process !== "undefined" && "env" in process && process.env.STREAM_LOCAL_TEST_RUN) {
15557
12365
  this.setBaseURL("http://localhost:3030");
@@ -15572,7 +12380,7 @@ var StreamChat = class _StreamChat {
15572
12380
  this.defaultWSTimeoutWithFallback = 6 * 1e3;
15573
12381
  this.defaultWSTimeout = 15 * 1e3;
15574
12382
  this.axiosInstance.defaults.paramsSerializer = axiosParamsSerializer;
15575
- this.logger = isFunction2(inputOptions.logger) ? inputOptions.logger : () => null;
12383
+ this.logger = isFunction(inputOptions.logger) ? inputOptions.logger : () => null;
15576
12384
  this.recoverStateOnReconnect = this.options.recoverStateOnReconnect;
15577
12385
  this.threads = new ThreadManager({ client: this });
15578
12386
  this.polls = new PollManager({ client: this });
@@ -16180,9 +12988,9 @@ var StreamChat = class _StreamChat {
16180
12988
  *
16181
12989
  * @return {Promise<{ QueryReactionsAPIResponse } search channels response
16182
12990
  */
16183
- async queryReactions(messageID, filter2, sort = [], options = {}) {
12991
+ async queryReactions(messageID, filter, sort = [], options = {}) {
16184
12992
  const payload = {
16185
- filter: filter2,
12993
+ filter,
16186
12994
  sort: normalizeQuerySort(sort),
16187
12995
  ...options
16188
12996
  };
@@ -16190,7 +12998,7 @@ var StreamChat = class _StreamChat {
16190
12998
  try {
16191
12999
  const reactionsFromDb = await this.offlineDb.getReactions({
16192
13000
  messageId: messageID,
16193
- filters: filter2,
13001
+ filters: filter,
16194
13002
  sort,
16195
13003
  limit: options.limit
16196
13004
  });
@@ -16886,7 +13694,7 @@ var StreamChat = class _StreamChat {
16886
13694
  const now = /* @__PURE__ */ new Date();
16887
13695
  now.setSeconds(now.getSeconds() + timeoutOrExpirationDate);
16888
13696
  pinExpires = now.toISOString();
16889
- } else if (isString3(timeoutOrExpirationDate)) {
13697
+ } else if (isString2(timeoutOrExpirationDate)) {
16890
13698
  pinExpires = timeoutOrExpirationDate;
16891
13699
  } else if (timeoutOrExpirationDate instanceof Date) {
16892
13700
  pinExpires = timeoutOrExpirationDate.toISOString();
@@ -17181,8 +13989,8 @@ var StreamChat = class _StreamChat {
17181
13989
  if (this.userAgent) {
17182
13990
  return this.userAgent;
17183
13991
  }
17184
- const version = "9.20.2";
17185
- const clientBundle = "browser-esm";
13992
+ const version = "9.20.3";
13993
+ const clientBundle = "node-cjs";
17186
13994
  let userAgentString = "";
17187
13995
  if (this.sdkIdentifier) {
17188
13996
  userAgentString = `stream-chat-${this.sdkIdentifier.name}-v${this.sdkIdentifier.version}-llc-v${version}`;
@@ -17576,12 +14384,12 @@ var StreamChat = class _StreamChat {
17576
14384
  body
17577
14385
  );
17578
14386
  }
17579
- querySegmentTargets(id, filter2 = {}, sort = [], options = {}) {
14387
+ querySegmentTargets(id, filter = {}, sort = [], options = {}) {
17580
14388
  this.validateServerSideAuth();
17581
14389
  return this.post(
17582
14390
  this.baseURL + `/segments/${encodeURIComponent(id)}/targets/query`,
17583
14391
  {
17584
- filter: filter2 || {},
14392
+ filter: filter || {},
17585
14393
  sort: sort || [],
17586
14394
  ...options
17587
14395
  }
@@ -17611,10 +14419,10 @@ var StreamChat = class _StreamChat {
17611
14419
  *
17612
14420
  * @return {Segment[]} Segments
17613
14421
  */
17614
- querySegments(filter2, sort, options = {}) {
14422
+ querySegments(filter, sort, options = {}) {
17615
14423
  this.validateServerSideAuth();
17616
14424
  return this.post(this.baseURL + `/segments/query`, {
17617
- filter: filter2,
14425
+ filter,
17618
14426
  sort,
17619
14427
  ...options
17620
14428
  });
@@ -17672,10 +14480,10 @@ var StreamChat = class _StreamChat {
17672
14480
  *
17673
14481
  * @return {Campaign[]} Campaigns
17674
14482
  */
17675
- async queryCampaigns(filter2, sort, options) {
14483
+ async queryCampaigns(filter, sort, options) {
17676
14484
  this.validateServerSideAuth();
17677
14485
  return await this.post(this.baseURL + `/campaigns/query`, {
17678
- filter: filter2,
14486
+ filter,
17679
14487
  sort,
17680
14488
  ...options || {}
17681
14489
  });
@@ -18114,12 +14922,12 @@ var StreamChat = class _StreamChat {
18114
14922
  * @param userId string The user id (only serverside)
18115
14923
  * @returns {APIResponse & QueryPollsResponse} The polls
18116
14924
  */
18117
- async queryPolls(filter2 = {}, sort = [], options = {}, userId) {
14925
+ async queryPolls(filter = {}, sort = [], options = {}, userId) {
18118
14926
  const q = userId ? `?user_id=${userId}` : "";
18119
14927
  return await this.post(
18120
14928
  this.baseURL + `/polls/query${q}`,
18121
14929
  {
18122
- filter: filter2,
14930
+ filter,
18123
14931
  sort: normalizeQuerySort(sort),
18124
14932
  ...options
18125
14933
  }
@@ -18134,12 +14942,12 @@ var StreamChat = class _StreamChat {
18134
14942
  * @param userId string The user id (only serverside)
18135
14943
  * @returns {APIResponse & PollVotesAPIResponse} The poll votes
18136
14944
  */
18137
- async queryPollVotes(pollId, filter2 = {}, sort = [], options = {}, userId) {
14945
+ async queryPollVotes(pollId, filter = {}, sort = [], options = {}, userId) {
18138
14946
  const q = userId ? `?user_id=${userId}` : "";
18139
14947
  return await this.post(
18140
14948
  this.baseURL + `/polls/${encodeURIComponent(pollId)}/votes${q}`,
18141
14949
  {
18142
- filter: filter2,
14950
+ filter,
18143
14951
  sort: normalizeQuerySort(sort),
18144
14952
  ...options
18145
14953
  }
@@ -18154,12 +14962,12 @@ var StreamChat = class _StreamChat {
18154
14962
  * @param userId string The user id (only serverside)
18155
14963
  * @returns {APIResponse & PollAnswersAPIResponse} The poll votes
18156
14964
  */
18157
- async queryPollAnswers(pollId, filter2 = {}, sort = [], options = {}, userId) {
14965
+ async queryPollAnswers(pollId, filter = {}, sort = [], options = {}, userId) {
18158
14966
  const q = userId ? `?user_id=${userId}` : "";
18159
14967
  return await this.post(
18160
14968
  this.baseURL + `/polls/${encodeURIComponent(pollId)}/votes${q}`,
18161
14969
  {
18162
- filter: { ...filter2, is_answer: true },
14970
+ filter: { ...filter, is_answer: true },
18163
14971
  sort: normalizeQuerySort(sort),
18164
14972
  ...options
18165
14973
  }
@@ -18172,11 +14980,11 @@ var StreamChat = class _StreamChat {
18172
14980
  * @param options Option object, {limit: 10}
18173
14981
  * @returns {APIResponse & QueryMessageHistoryResponse} The message histories
18174
14982
  */
18175
- async queryMessageHistory(filter2 = {}, sort = [], options = {}) {
14983
+ async queryMessageHistory(filter = {}, sort = [], options = {}) {
18176
14984
  return await this.post(
18177
14985
  this.baseURL + "/messages/history",
18178
14986
  {
18179
- filter: filter2,
14987
+ filter,
18180
14988
  sort: normalizeQuerySort(sort),
18181
14989
  ...options
18182
14990
  }
@@ -18263,9 +15071,9 @@ var StreamChat = class _StreamChat {
18263
15071
  * @param {QueryRemindersOptions} options The options for querying reminders
18264
15072
  * @returns {Promise<QueryRemindersResponse>}
18265
15073
  */
18266
- async queryReminders({ filter: filter2, sort, ...rest } = {}) {
15074
+ async queryReminders({ filter, sort, ...rest } = {}) {
18267
15075
  return await this.post(`${this.baseURL}/reminders/query`, {
18268
- filter: filter2,
15076
+ filter,
18269
15077
  sort: sort && normalizeQuerySort(sort),
18270
15078
  ...rest
18271
15079
  });
@@ -18495,6 +15303,7 @@ var OfflineError = class extends Error {
18495
15303
  };
18496
15304
 
18497
15305
  // src/offline-support/offline_sync_manager.ts
15306
+ var import_axios4 = require("axios");
18498
15307
  var OfflineDBSyncManager = class {
18499
15308
  constructor({
18500
15309
  client,
@@ -18619,7 +15428,7 @@ var OfflineDBSyncManager = class {
18619
15428
  });
18620
15429
  } catch (e) {
18621
15430
  console.log("An error has occurred while syncing the DB.", e);
18622
- if (isAxiosError2(e) && e.code === "ECONNABORTED") {
15431
+ if ((0, import_axios4.isAxiosError)(e) && e.code === "ECONNABORTED") {
18623
15432
  return;
18624
15433
  }
18625
15434
  const error = e;
@@ -19507,7 +16316,8 @@ var FixedSizeQueueCache = class {
19507
16316
  return foundItem;
19508
16317
  }
19509
16318
  };
19510
- export {
16319
+ // Annotate the CommonJS export names for ESM import in node:
16320
+ 0 && (module.exports = {
19511
16321
  AbstractOfflineDB,
19512
16322
  Allow,
19513
16323
  AllowAll,
@@ -19641,9 +16451,9 @@ export {
19641
16451
  insertItemWithTrigger,
19642
16452
  isAudioAttachment,
19643
16453
  isBlobButNotFile,
19644
- isFile2 as isFile,
16454
+ isFile,
19645
16455
  isFileAttachment,
19646
- isFileList2 as isFileList,
16456
+ isFileList,
19647
16457
  isFileReference,
19648
16458
  isImageAttachment,
19649
16459
  isImageFile,
@@ -19675,5 +16485,5 @@ export {
19675
16485
  replaceWordWithEntity,
19676
16486
  textIsEmpty,
19677
16487
  timeLeftMs
19678
- };
19679
- //# sourceMappingURL=index.js.map
16488
+ });
16489
+ //# sourceMappingURL=index.node.js.map