@pear-protocol/hyperliquid-sdk 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/useTrading.d.ts +19 -6
- package/dist/hyperliquid-service.d.ts +75 -0
- package/dist/index.d.ts +102 -5
- package/dist/index.esm.js +3040 -8
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +3040 -6
- package/dist/index.js.map +1 -1
- package/dist/provider.d.ts +11 -0
- package/package.json +11 -3
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/client.ts","../src/migration-sdk.ts","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/react-use-websocket/dist/lib/constants.js","../node_modules/react-use-websocket/dist/lib/globals.js","../node_modules/react-use-websocket/dist/lib/socket-io.js","../node_modules/react-use-websocket/dist/lib/heartbeat.js","../node_modules/react-use-websocket/dist/lib/manage-subscribers.js","../node_modules/react-use-websocket/dist/lib/util.js","../node_modules/react-use-websocket/dist/lib/attach-listener.js","../node_modules/react-use-websocket/dist/lib/attach-shared-listeners.js","../node_modules/react-use-websocket/dist/lib/create-or-join.js","../node_modules/react-use-websocket/dist/lib/get-url.js","../node_modules/react-use-websocket/dist/lib/proxy.js","../node_modules/react-use-websocket/dist/lib/use-websocket.js","../node_modules/react-use-websocket/dist/lib/use-socket-io.js","../node_modules/react-use-websocket/dist/lib/use-event-source.js","../node_modules/react-use-websocket/dist/index.js","../src/provider.tsx","../src/hooks/useAddress.ts","../src/hooks/useTrading.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosResponse, AxiosError } from 'axios';\nimport {\n PearHyperliquidConfig,\n ApiResponse,\n ApiErrorResponse,\n SyncTradeHistoryDto,\n SyncTradeHistoryResponseDto,\n SyncOpenPositionDto,\n SyncOpenPositionResponseDto,\n SyncOpenOrderDto,\n SyncOpenOrderResponseDto,\n} from './types';\n\n/**\n * Main SDK client for Pear Protocol Hyperliquid API integration\n */\nexport class PearHyperliquidClient {\n private httpClient: AxiosInstance;\n private baseUrl: string;\n\n constructor(config: PearHyperliquidConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, ''); // Remove trailing slash\n \n this.httpClient = axios.create({\n baseURL: this.baseUrl,\n timeout: config.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n // Add response interceptor for error handling\n this.httpClient.interceptors.response.use(\n (response: AxiosResponse) => response,\n (error: AxiosError) => {\n const apiError: ApiErrorResponse = {\n statusCode: error.response?.status || 500,\n message: (error.response?.data as any)?.message || error.message,\n error: (error.response?.data as any)?.error,\n };\n return Promise.reject(apiError);\n }\n );\n }\n\n /**\n * Get the configured base URL\n */\n public getBaseUrl(): string {\n return this.baseUrl;\n }\n\n /**\n * Update request headers\n */\n public setHeaders(headers: Record<string, string>): void {\n this.httpClient.defaults.headers = {\n ...this.httpClient.defaults.headers,\n ...headers,\n };\n }\n\n /**\n * Set authorization header\n */\n public setAuthToken(token: string): void {\n this.setHeaders({ Authorization: `Bearer ${token}` });\n }\n\n /**\n * Make a generic HTTP request\n */\n private async makeRequest<T>(\n method: 'GET' | 'POST' | 'PUT' | 'DELETE',\n endpoint: string,\n data?: any\n ): Promise<ApiResponse<T>> {\n const response = await this.httpClient.request({\n method,\n url: endpoint,\n data,\n });\n\n return {\n data: response.data,\n status: response.status,\n headers: response.headers as Record<string, string>,\n };\n }\n\n /**\n * Sync trade history data from old database structure to new database format\n * @param payload - Trade history data with user address\n * @returns Promise with sync result\n */\n public async syncTradeHistory(\n payload: SyncTradeHistoryDto\n ): Promise<ApiResponse<SyncTradeHistoryResponseDto>> {\n return this.makeRequest<SyncTradeHistoryResponseDto>(\n 'POST',\n '/syncer/trade-histories',\n payload\n );\n }\n\n /**\n * Sync open positions data from old database structure to new database format\n * @param payload - Open positions data with user address\n * @returns Promise with sync result\n */\n public async syncOpenPositions(\n payload: SyncOpenPositionDto\n ): Promise<ApiResponse<SyncOpenPositionResponseDto>> {\n return this.makeRequest<SyncOpenPositionResponseDto>(\n 'POST',\n '/syncer/open-positions',\n payload\n );\n }\n\n /**\n * Sync open orders data from old database structure to new database format\n * @param payload - Open orders data with user address\n * @returns Promise with sync result\n */\n public async syncOpenOrders(\n payload: SyncOpenOrderDto\n ): Promise<ApiResponse<SyncOpenOrderResponseDto>> {\n return this.makeRequest<SyncOpenOrderResponseDto>(\n 'POST',\n '/syncer/open-orders',\n payload\n );\n }\n}","import { PearHyperliquidClient } from './client';\nimport {\n SyncTradeHistoryDto,\n SyncTradeHistoryResponseDto,\n SyncOpenPositionDto,\n SyncOpenPositionResponseDto,\n SyncOpenOrderDto,\n SyncOpenOrderResponseDto,\n ApiResponse,\n} from './types';\n\n/**\n * Main Migration SDK Class - Simple request/response pattern\n */\nexport class PearMigrationSDK {\n private client: PearHyperliquidClient;\n private isTradeHistorySyncRunning: boolean = false;\n private isOpenPositionsSyncRunning: boolean = false;\n private isOpenOrdersSyncRunning: boolean = false;\n\n constructor(client: PearHyperliquidClient) {\n this.client = client;\n }\n\n /**\n * Sync trade history data - can only run one at a time\n * If called while already running, returns immediately without making request\n */\n async syncTradeHistory(payload: SyncTradeHistoryDto): Promise<ApiResponse<SyncTradeHistoryResponseDto> | null> {\n // If sync is already running, return immediately\n if (this.isTradeHistorySyncRunning) {\n return null;\n }\n\n try {\n this.isTradeHistorySyncRunning = true;\n const response = await this.client.syncTradeHistory(payload);\n return response;\n } finally {\n this.isTradeHistorySyncRunning = false;\n }\n }\n\n /**\n * Sync open positions data - can only run one at a time\n * If called while already running, returns immediately without making request\n */\n async syncOpenPositions(payload: SyncOpenPositionDto): Promise<ApiResponse<SyncOpenPositionResponseDto> | null> {\n // If sync is already running, return immediately\n if (this.isOpenPositionsSyncRunning) {\n return null;\n }\n\n try {\n this.isOpenPositionsSyncRunning = true;\n const response = await this.client.syncOpenPositions(payload);\n return response;\n } finally {\n this.isOpenPositionsSyncRunning = false;\n }\n }\n\n /**\n * Sync open orders data - can only run one at a time\n * If called while already running, returns immediately without making request\n */\n async syncOpenOrders(payload: SyncOpenOrderDto): Promise<ApiResponse<SyncOpenOrderResponseDto> | null> {\n // If sync is already running, return immediately\n if (this.isOpenOrdersSyncRunning) {\n return null;\n }\n\n try {\n this.isOpenOrdersSyncRunning = true;\n const response = await this.client.syncOpenOrders(payload);\n return response;\n } finally {\n this.isOpenOrdersSyncRunning = false;\n }\n }\n\n /**\n * Check if any sync is currently running\n */\n isSyncInProgress(): boolean {\n return this.isTradeHistorySyncRunning || this.isOpenPositionsSyncRunning || this.isOpenOrdersSyncRunning;\n }\n\n /**\n * Check if trade history sync is currently running\n */\n isTradeHistorySyncInProgress(): boolean {\n return this.isTradeHistorySyncRunning;\n }\n\n /**\n * Check if open positions sync is currently running\n */\n isOpenPositionsSyncInProgress(): boolean {\n return this.isOpenPositionsSyncRunning;\n }\n\n /**\n * Check if open orders sync is currently running\n */\n isOpenOrdersSyncInProgress(): boolean {\n return this.isOpenOrdersSyncRunning;\n }\n\n /**\n * Get the underlying client instance\n */\n getClient(): PearHyperliquidClient {\n return this.client;\n }\n\n /**\n * Set authorization token on the client\n */\n setAuthToken(token: string): void {\n this.client.setAuthToken(token);\n }\n\n /**\n * Set custom headers on the client\n */\n setHeaders(headers: Record<string, string>): void {\n this.client.setHeaders(headers);\n }\n\n /**\n * Get base URL from client\n */\n getBaseUrl(): string {\n return this.client.getBaseUrl();\n }\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEventSourceSupported = exports.isReactNative = exports.ReadyState = exports.DEFAULT_HEARTBEAT = exports.UNPARSABLE_JSON_OBJECT = exports.DEFAULT_RECONNECT_INTERVAL_MS = exports.DEFAULT_RECONNECT_LIMIT = exports.SOCKET_IO_PING_CODE = exports.SOCKET_IO_PATH = exports.SOCKET_IO_PING_INTERVAL = exports.DEFAULT_EVENT_SOURCE_OPTIONS = exports.EMPTY_EVENT_HANDLERS = exports.DEFAULT_OPTIONS = void 0;\nvar MILLISECONDS = 1;\nvar SECONDS = 1000 * MILLISECONDS;\nexports.DEFAULT_OPTIONS = {};\nexports.EMPTY_EVENT_HANDLERS = {};\nexports.DEFAULT_EVENT_SOURCE_OPTIONS = {\n withCredentials: false,\n events: exports.EMPTY_EVENT_HANDLERS,\n};\nexports.SOCKET_IO_PING_INTERVAL = 25 * SECONDS;\nexports.SOCKET_IO_PATH = '/socket.io/?EIO=3&transport=websocket';\nexports.SOCKET_IO_PING_CODE = '2';\nexports.DEFAULT_RECONNECT_LIMIT = 20;\nexports.DEFAULT_RECONNECT_INTERVAL_MS = 5000;\nexports.UNPARSABLE_JSON_OBJECT = {};\nexports.DEFAULT_HEARTBEAT = {\n message: 'ping',\n timeout: 60000,\n interval: 25000,\n};\nvar ReadyState;\n(function (ReadyState) {\n ReadyState[ReadyState[\"UNINSTANTIATED\"] = -1] = \"UNINSTANTIATED\";\n ReadyState[ReadyState[\"CONNECTING\"] = 0] = \"CONNECTING\";\n ReadyState[ReadyState[\"OPEN\"] = 1] = \"OPEN\";\n ReadyState[ReadyState[\"CLOSING\"] = 2] = \"CLOSING\";\n ReadyState[ReadyState[\"CLOSED\"] = 3] = \"CLOSED\";\n})(ReadyState || (exports.ReadyState = ReadyState = {}));\nvar eventSourceSupported = function () {\n try {\n return 'EventSource' in globalThis;\n }\n catch (e) {\n return false;\n }\n};\nexports.isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';\nexports.isEventSourceSupported = !exports.isReactNative && eventSourceSupported();\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetWebSockets = exports.sharedWebSockets = void 0;\nexports.sharedWebSockets = {};\nvar resetWebSockets = function (url) {\n if (url && exports.sharedWebSockets.hasOwnProperty(url)) {\n delete exports.sharedWebSockets[url];\n }\n else {\n for (var url_1 in exports.sharedWebSockets) {\n if (exports.sharedWebSockets.hasOwnProperty(url_1)) {\n delete exports.sharedWebSockets[url_1];\n }\n }\n }\n};\nexports.resetWebSockets = resetWebSockets;\n//# sourceMappingURL=globals.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setUpSocketIOPing = exports.appendQueryParams = exports.parseSocketIOUrl = void 0;\nvar constants_1 = require(\"./constants\");\nvar parseSocketIOUrl = function (url) {\n if (url) {\n var isSecure = /^https|wss/.test(url);\n var strippedProtocol = url.replace(/^(https?|wss?)(:\\/\\/)?/, '');\n var removedFinalBackSlack = strippedProtocol.replace(/\\/$/, '');\n var protocol = isSecure ? 'wss' : 'ws';\n return \"\".concat(protocol, \"://\").concat(removedFinalBackSlack).concat(constants_1.SOCKET_IO_PATH);\n }\n else if (url === '') {\n var isSecure = /^https/.test(window.location.protocol);\n var protocol = isSecure ? 'wss' : 'ws';\n var port = window.location.port ? \":\".concat(window.location.port) : '';\n return \"\".concat(protocol, \"://\").concat(window.location.hostname).concat(port).concat(constants_1.SOCKET_IO_PATH);\n }\n return url;\n};\nexports.parseSocketIOUrl = parseSocketIOUrl;\nvar appendQueryParams = function (url, params) {\n if (params === void 0) { params = {}; }\n var hasParamsRegex = /\\?([\\w]+=[\\w]+)/;\n var alreadyHasParams = hasParamsRegex.test(url);\n var stringified = \"\".concat(Object.entries(params).reduce(function (next, _a) {\n var key = _a[0], value = _a[1];\n return next + \"\".concat(key, \"=\").concat(value, \"&\");\n }, '').slice(0, -1));\n return \"\".concat(url).concat(alreadyHasParams ? '&' : '?').concat(stringified);\n};\nexports.appendQueryParams = appendQueryParams;\nvar setUpSocketIOPing = function (sendMessage, interval) {\n if (interval === void 0) { interval = constants_1.SOCKET_IO_PING_INTERVAL; }\n var ping = function () { return sendMessage(constants_1.SOCKET_IO_PING_CODE); };\n return window.setInterval(ping, interval);\n};\nexports.setUpSocketIOPing = setUpSocketIOPing;\n//# sourceMappingURL=socket-io.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.heartbeat = heartbeat;\nvar constants_1 = require(\"./constants\");\nfunction getLastMessageTime(lastMessageTime) {\n if (Array.isArray(lastMessageTime)) {\n return lastMessageTime.reduce(function (p, c) { return (p.current > c.current) ? p : c; }).current;\n }\n return lastMessageTime.current;\n}\nfunction heartbeat(ws, lastMessageTime, options) {\n var _a = options || {}, _b = _a.interval, interval = _b === void 0 ? constants_1.DEFAULT_HEARTBEAT.interval : _b, _c = _a.timeout, timeout = _c === void 0 ? constants_1.DEFAULT_HEARTBEAT.timeout : _c, _d = _a.message, message = _d === void 0 ? constants_1.DEFAULT_HEARTBEAT.message : _d;\n // how often check interval between ping messages\n // minimum is 100ms\n // maximum is ${interval / 10}ms\n var intervalCheck = Math.max(100, interval / 10);\n var lastPingSentAt = Date.now();\n var heartbeatInterval = setInterval(function () {\n var timeNow = Date.now();\n var lastMessageReceivedAt = getLastMessageTime(lastMessageTime);\n if (lastMessageReceivedAt + timeout <= timeNow) {\n console.warn(\"Heartbeat timed out, closing connection, last message received \".concat(timeNow - lastMessageReceivedAt, \"ms ago, last ping sent \").concat(timeNow - lastPingSentAt, \"ms ago\"));\n ws.close();\n }\n else {\n if (lastMessageReceivedAt + interval <= timeNow && lastPingSentAt + interval <= timeNow) {\n try {\n if (typeof message === 'function') {\n ws.send(message());\n }\n else {\n ws.send(message);\n }\n lastPingSentAt = timeNow;\n }\n catch (err) {\n console.error(\"Heartbeat failed, closing connection\", err instanceof Error ? err.message : err);\n ws.close();\n }\n }\n }\n }, intervalCheck);\n ws.addEventListener(\"close\", function () {\n clearInterval(heartbeatInterval);\n });\n return function () { };\n}\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetSubscribers = exports.removeSubscriber = exports.addSubscriber = exports.hasSubscribers = exports.getSubscribers = void 0;\nvar subscribers = {};\nvar EMPTY_LIST = [];\nvar getSubscribers = function (url) {\n if ((0, exports.hasSubscribers)(url)) {\n return Array.from(subscribers[url]);\n }\n return EMPTY_LIST;\n};\nexports.getSubscribers = getSubscribers;\nvar hasSubscribers = function (url) {\n var _a;\n return ((_a = subscribers[url]) === null || _a === void 0 ? void 0 : _a.size) > 0;\n};\nexports.hasSubscribers = hasSubscribers;\nvar addSubscriber = function (url, subscriber) {\n subscribers[url] = subscribers[url] || new Set();\n subscribers[url].add(subscriber);\n};\nexports.addSubscriber = addSubscriber;\nvar removeSubscriber = function (url, subscriber) {\n subscribers[url].delete(subscriber);\n};\nexports.removeSubscriber = removeSubscriber;\nvar resetSubscribers = function (url) {\n if (url && subscribers.hasOwnProperty(url)) {\n delete subscribers[url];\n }\n else {\n for (var url_1 in subscribers) {\n if (subscribers.hasOwnProperty(url_1)) {\n delete subscribers[url_1];\n }\n }\n }\n};\nexports.resetSubscribers = resetSubscribers;\n//# sourceMappingURL=manage-subscribers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertIsWebSocket = assertIsWebSocket;\nexports.resetGlobalState = resetGlobalState;\nvar globals_1 = require(\"./globals\");\nvar manage_subscribers_1 = require(\"./manage-subscribers\");\nfunction assertIsWebSocket(webSocketInstance, skip) {\n if (!skip && webSocketInstance instanceof WebSocket === false)\n throw new Error('');\n}\n;\nfunction resetGlobalState(url) {\n (0, manage_subscribers_1.resetSubscribers)(url);\n (0, globals_1.resetWebSockets)(url);\n}\n;\n//# sourceMappingURL=util.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attachListeners = void 0;\nvar socket_io_1 = require(\"./socket-io\");\nvar heartbeat_1 = require(\"./heartbeat\");\nvar constants_1 = require(\"./constants\");\nvar util_1 = require(\"./util\");\nvar bindMessageHandler = function (webSocketInstance, optionsRef, setLastMessage, lastMessageTime) {\n webSocketInstance.onmessage = function (message) {\n var _a;\n optionsRef.current.onMessage && optionsRef.current.onMessage(message);\n if (typeof (lastMessageTime === null || lastMessageTime === void 0 ? void 0 : lastMessageTime.current) === 'number') {\n lastMessageTime.current = Date.now();\n }\n if (typeof optionsRef.current.filter === 'function' && optionsRef.current.filter(message) !== true) {\n return;\n }\n if (optionsRef.current.heartbeat &&\n typeof optionsRef.current.heartbeat !== \"boolean\" &&\n ((_a = optionsRef.current.heartbeat) === null || _a === void 0 ? void 0 : _a.returnMessage) === message.data) {\n return;\n }\n setLastMessage(message);\n };\n};\nvar bindOpenHandler = function (webSocketInstance, optionsRef, setReadyState, reconnectCount, lastMessageTime) {\n webSocketInstance.onopen = function (event) {\n optionsRef.current.onOpen && optionsRef.current.onOpen(event);\n reconnectCount.current = 0;\n setReadyState(constants_1.ReadyState.OPEN);\n //start heart beat here\n if (optionsRef.current.heartbeat && webSocketInstance instanceof WebSocket) {\n var heartbeatOptions = typeof optionsRef.current.heartbeat === \"boolean\"\n ? undefined\n : optionsRef.current.heartbeat;\n lastMessageTime.current = Date.now();\n (0, heartbeat_1.heartbeat)(webSocketInstance, lastMessageTime, heartbeatOptions);\n }\n };\n};\nvar bindCloseHandler = function (webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount) {\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n return function () { };\n }\n (0, util_1.assertIsWebSocket)(webSocketInstance, optionsRef.current.skipAssert);\n var reconnectTimeout;\n webSocketInstance.onclose = function (event) {\n var _a;\n optionsRef.current.onClose && optionsRef.current.onClose(event);\n setReadyState(constants_1.ReadyState.CLOSED);\n if (optionsRef.current.shouldReconnect && optionsRef.current.shouldReconnect(event)) {\n var reconnectAttempts = (_a = optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT;\n if (reconnectCount.current < reconnectAttempts) {\n var nextReconnectInterval = typeof optionsRef.current.reconnectInterval === 'function' ?\n optionsRef.current.reconnectInterval(reconnectCount.current) :\n optionsRef.current.reconnectInterval;\n reconnectTimeout = window.setTimeout(function () {\n reconnectCount.current++;\n reconnect();\n }, nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS);\n }\n else {\n optionsRef.current.onReconnectStop && optionsRef.current.onReconnectStop(reconnectAttempts);\n console.warn(\"Max reconnect attempts of \".concat(reconnectAttempts, \" exceeded\"));\n }\n }\n };\n return function () { return reconnectTimeout && window.clearTimeout(reconnectTimeout); };\n};\nvar bindErrorHandler = function (webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount) {\n var reconnectTimeout;\n webSocketInstance.onerror = function (error) {\n var _a;\n optionsRef.current.onError && optionsRef.current.onError(error);\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n optionsRef.current.onClose && optionsRef.current.onClose(__assign(__assign({}, error), { code: 1006, reason: \"An error occurred with the EventSource: \".concat(error), wasClean: false }));\n setReadyState(constants_1.ReadyState.CLOSED);\n webSocketInstance.close();\n }\n if (optionsRef.current.retryOnError) {\n if (reconnectCount.current < ((_a = optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT)) {\n var nextReconnectInterval = typeof optionsRef.current.reconnectInterval === 'function' ?\n optionsRef.current.reconnectInterval(reconnectCount.current) :\n optionsRef.current.reconnectInterval;\n reconnectTimeout = window.setTimeout(function () {\n reconnectCount.current++;\n reconnect();\n }, nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS);\n }\n else {\n optionsRef.current.onReconnectStop && optionsRef.current.onReconnectStop(optionsRef.current.reconnectAttempts);\n console.warn(\"Max reconnect attempts of \".concat(optionsRef.current.reconnectAttempts, \" exceeded\"));\n }\n }\n };\n return function () { return reconnectTimeout && window.clearTimeout(reconnectTimeout); };\n};\nvar attachListeners = function (webSocketInstance, setters, optionsRef, reconnect, reconnectCount, lastMessageTime, sendMessage) {\n var setLastMessage = setters.setLastMessage, setReadyState = setters.setReadyState;\n var interval;\n var cancelReconnectOnClose;\n var cancelReconnectOnError;\n if (optionsRef.current.fromSocketIO) {\n interval = (0, socket_io_1.setUpSocketIOPing)(sendMessage);\n }\n bindMessageHandler(webSocketInstance, optionsRef, setLastMessage, lastMessageTime);\n bindOpenHandler(webSocketInstance, optionsRef, setReadyState, reconnectCount, lastMessageTime);\n cancelReconnectOnClose = bindCloseHandler(webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount);\n cancelReconnectOnError = bindErrorHandler(webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount);\n return function () {\n setReadyState(constants_1.ReadyState.CLOSING);\n cancelReconnectOnClose();\n cancelReconnectOnError();\n webSocketInstance.close();\n if (interval)\n clearInterval(interval);\n };\n};\nexports.attachListeners = attachListeners;\n//# sourceMappingURL=attach-listener.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attachSharedListeners = void 0;\nvar globals_1 = require(\"./globals\");\nvar constants_1 = require(\"./constants\");\nvar manage_subscribers_1 = require(\"./manage-subscribers\");\nvar socket_io_1 = require(\"./socket-io\");\nvar heartbeat_1 = require(\"./heartbeat\");\nvar bindMessageHandler = function (webSocketInstance, url, heartbeatOptions) {\n webSocketInstance.onmessage = function (message) {\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n var _a;\n if (subscriber.optionsRef.current.onMessage) {\n subscriber.optionsRef.current.onMessage(message);\n }\n if (typeof ((_a = subscriber === null || subscriber === void 0 ? void 0 : subscriber.lastMessageTime) === null || _a === void 0 ? void 0 : _a.current) === 'number') {\n subscriber.lastMessageTime.current = Date.now();\n }\n if (typeof subscriber.optionsRef.current.filter === 'function' &&\n subscriber.optionsRef.current.filter(message) !== true) {\n return;\n }\n if (heartbeatOptions &&\n typeof heartbeatOptions !== \"boolean\" &&\n (heartbeatOptions === null || heartbeatOptions === void 0 ? void 0 : heartbeatOptions.returnMessage) === message.data)\n return;\n subscriber.setLastMessage(message);\n });\n };\n};\nvar bindOpenHandler = function (webSocketInstance, url, heartbeatOptions) {\n webSocketInstance.onopen = function (event) {\n var subscribers = (0, manage_subscribers_1.getSubscribers)(url);\n subscribers.forEach(function (subscriber) {\n subscriber.reconnectCount.current = 0;\n if (subscriber.optionsRef.current.onOpen) {\n subscriber.optionsRef.current.onOpen(event);\n }\n subscriber.setReadyState(constants_1.ReadyState.OPEN);\n var onMessageCb;\n if (heartbeatOptions && webSocketInstance instanceof WebSocket) {\n subscriber.lastMessageTime.current = Date.now();\n }\n });\n if (heartbeatOptions && webSocketInstance instanceof WebSocket) {\n (0, heartbeat_1.heartbeat)(webSocketInstance, subscribers.map(function (subscriber) { return subscriber.lastMessageTime; }), typeof heartbeatOptions === 'boolean' ? undefined : heartbeatOptions);\n }\n };\n};\nvar bindCloseHandler = function (webSocketInstance, url) {\n if (webSocketInstance instanceof WebSocket) {\n webSocketInstance.onclose = function (event) {\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n if (subscriber.optionsRef.current.onClose) {\n subscriber.optionsRef.current.onClose(event);\n }\n subscriber.setReadyState(constants_1.ReadyState.CLOSED);\n });\n delete globals_1.sharedWebSockets[url];\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n var _a;\n if (subscriber.optionsRef.current.shouldReconnect &&\n subscriber.optionsRef.current.shouldReconnect(event)) {\n var reconnectAttempts = (_a = subscriber.optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT;\n if (subscriber.reconnectCount.current < reconnectAttempts) {\n var nextReconnectInterval = typeof subscriber.optionsRef.current.reconnectInterval === 'function' ?\n subscriber.optionsRef.current.reconnectInterval(subscriber.reconnectCount.current) :\n subscriber.optionsRef.current.reconnectInterval;\n setTimeout(function () {\n subscriber.reconnectCount.current++;\n subscriber.reconnect.current();\n }, nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS);\n }\n else {\n subscriber.optionsRef.current.onReconnectStop && subscriber.optionsRef.current.onReconnectStop(subscriber.optionsRef.current.reconnectAttempts);\n console.warn(\"Max reconnect attempts of \".concat(reconnectAttempts, \" exceeded\"));\n }\n }\n });\n };\n }\n};\nvar bindErrorHandler = function (webSocketInstance, url) {\n webSocketInstance.onerror = function (error) {\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n if (subscriber.optionsRef.current.onError) {\n subscriber.optionsRef.current.onError(error);\n }\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n subscriber.optionsRef.current.onClose && subscriber.optionsRef.current.onClose(__assign(__assign({}, error), { code: 1006, reason: \"An error occurred with the EventSource: \".concat(error), wasClean: false }));\n subscriber.setReadyState(constants_1.ReadyState.CLOSED);\n }\n });\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n webSocketInstance.close();\n }\n };\n};\nvar attachSharedListeners = function (webSocketInstance, url, optionsRef, sendMessage) {\n var interval;\n if (optionsRef.current.fromSocketIO) {\n interval = (0, socket_io_1.setUpSocketIOPing)(sendMessage);\n }\n bindMessageHandler(webSocketInstance, url, optionsRef.current.heartbeat);\n bindCloseHandler(webSocketInstance, url);\n bindOpenHandler(webSocketInstance, url, optionsRef.current.heartbeat);\n bindErrorHandler(webSocketInstance, url);\n return function () {\n if (interval)\n clearInterval(interval);\n };\n};\nexports.attachSharedListeners = attachSharedListeners;\n//# sourceMappingURL=attach-shared-listeners.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createOrJoinSocket = void 0;\nvar globals_1 = require(\"./globals\");\nvar constants_1 = require(\"./constants\");\nvar attach_listener_1 = require(\"./attach-listener\");\nvar attach_shared_listeners_1 = require(\"./attach-shared-listeners\");\nvar manage_subscribers_1 = require(\"./manage-subscribers\");\n//TODO ensure that all onClose callbacks are called\nvar cleanSubscribers = function (url, subscriber, optionsRef, setReadyState, clearSocketIoPingInterval) {\n return function () {\n (0, manage_subscribers_1.removeSubscriber)(url, subscriber);\n if (!(0, manage_subscribers_1.hasSubscribers)(url)) {\n try {\n var socketLike = globals_1.sharedWebSockets[url];\n if (socketLike instanceof WebSocket) {\n socketLike.onclose = function (event) {\n if (optionsRef.current.onClose) {\n optionsRef.current.onClose(event);\n }\n setReadyState(constants_1.ReadyState.CLOSED);\n };\n }\n socketLike.close();\n }\n catch (e) {\n }\n if (clearSocketIoPingInterval)\n clearSocketIoPingInterval();\n delete globals_1.sharedWebSockets[url];\n }\n };\n};\nvar createOrJoinSocket = function (webSocketRef, url, setReadyState, optionsRef, setLastMessage, startRef, reconnectCount, lastMessageTime, sendMessage) {\n if (!constants_1.isEventSourceSupported && optionsRef.current.eventSourceOptions) {\n if (constants_1.isReactNative) {\n throw new Error('EventSource is not supported in ReactNative');\n }\n else {\n throw new Error('EventSource is not supported');\n }\n }\n if (optionsRef.current.share) {\n var clearSocketIoPingInterval = null;\n if (globals_1.sharedWebSockets[url] === undefined) {\n globals_1.sharedWebSockets[url] = optionsRef.current.eventSourceOptions ?\n new EventSource(url, optionsRef.current.eventSourceOptions) :\n new WebSocket(url, optionsRef.current.protocols);\n webSocketRef.current = globals_1.sharedWebSockets[url];\n setReadyState(constants_1.ReadyState.CONNECTING);\n clearSocketIoPingInterval = (0, attach_shared_listeners_1.attachSharedListeners)(globals_1.sharedWebSockets[url], url, optionsRef, sendMessage);\n }\n else {\n webSocketRef.current = globals_1.sharedWebSockets[url];\n setReadyState(globals_1.sharedWebSockets[url].readyState);\n }\n var subscriber = {\n setLastMessage: setLastMessage,\n setReadyState: setReadyState,\n optionsRef: optionsRef,\n reconnectCount: reconnectCount,\n lastMessageTime: lastMessageTime,\n reconnect: startRef,\n };\n (0, manage_subscribers_1.addSubscriber)(url, subscriber);\n return cleanSubscribers(url, subscriber, optionsRef, setReadyState, clearSocketIoPingInterval);\n }\n else {\n webSocketRef.current = optionsRef.current.eventSourceOptions ?\n new EventSource(url, optionsRef.current.eventSourceOptions) :\n new WebSocket(url, optionsRef.current.protocols);\n setReadyState(constants_1.ReadyState.CONNECTING);\n if (!webSocketRef.current) {\n throw new Error('WebSocket failed to be created');\n }\n return (0, attach_listener_1.attachListeners)(webSocketRef.current, {\n setLastMessage: setLastMessage,\n setReadyState: setReadyState\n }, optionsRef, startRef.current, reconnectCount, lastMessageTime, sendMessage);\n }\n};\nexports.createOrJoinSocket = createOrJoinSocket;\n//# sourceMappingURL=create-or-join.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUrl = void 0;\nvar socket_io_1 = require(\"./socket-io\");\nvar constants_1 = require(\"./constants\");\nvar waitFor = function (duration) { return new Promise(function (resolve) { return window.setTimeout(resolve, duration); }); };\nvar getUrl = function (url_1, optionsRef_1) {\n var args_1 = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args_1[_i - 2] = arguments[_i];\n }\n return __awaiter(void 0, __spreadArray([url_1, optionsRef_1], args_1, true), void 0, function (url, optionsRef, retriedAttempts) {\n var convertedUrl, e_1, reconnectLimit, nextReconnectInterval, parsedUrl, parsedWithQueryParams;\n var _a, _b, _c;\n if (retriedAttempts === void 0) { retriedAttempts = 0; }\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!(typeof url === 'function')) return [3 /*break*/, 10];\n _d.label = 1;\n case 1:\n _d.trys.push([1, 3, , 9]);\n return [4 /*yield*/, url()];\n case 2:\n convertedUrl = _d.sent();\n return [3 /*break*/, 9];\n case 3:\n e_1 = _d.sent();\n if (!optionsRef.current.retryOnError) return [3 /*break*/, 7];\n reconnectLimit = (_a = optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT;\n if (!(retriedAttempts < reconnectLimit)) return [3 /*break*/, 5];\n nextReconnectInterval = typeof optionsRef.current.reconnectInterval === 'function' ?\n optionsRef.current.reconnectInterval(retriedAttempts) :\n optionsRef.current.reconnectInterval;\n return [4 /*yield*/, waitFor(nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS)];\n case 4:\n _d.sent();\n return [2 /*return*/, (0, exports.getUrl)(url, optionsRef, retriedAttempts + 1)];\n case 5:\n (_c = (_b = optionsRef.current).onReconnectStop) === null || _c === void 0 ? void 0 : _c.call(_b, retriedAttempts);\n return [2 /*return*/, null];\n case 6: return [3 /*break*/, 8];\n case 7: return [2 /*return*/, null];\n case 8: return [3 /*break*/, 9];\n case 9: return [3 /*break*/, 11];\n case 10:\n convertedUrl = url;\n _d.label = 11;\n case 11:\n parsedUrl = optionsRef.current.fromSocketIO ?\n (0, socket_io_1.parseSocketIOUrl)(convertedUrl) :\n convertedUrl;\n parsedWithQueryParams = optionsRef.current.queryParams ?\n (0, socket_io_1.appendQueryParams)(parsedUrl, optionsRef.current.queryParams) :\n parsedUrl;\n return [2 /*return*/, parsedWithQueryParams];\n }\n });\n });\n};\nexports.getUrl = getUrl;\n//# sourceMappingURL=get-url.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.websocketWrapper = void 0;\nvar websocketWrapper = function (webSocket, start) {\n return new Proxy(webSocket, {\n get: function (obj, key) {\n var val = obj[key];\n if (key === 'reconnect')\n return start;\n if (typeof val === 'function') {\n console.error('Calling methods directly on the websocket is not supported at this moment. You must use the methods returned by useWebSocket.');\n //Prevent error thrown by invoking a non-function\n return function () { };\n }\n else {\n return val;\n }\n },\n set: function (obj, key, val) {\n if (/^on/.test(key)) {\n console.warn('The websocket\\'s event handlers should be defined through the options object passed into useWebSocket.');\n return false;\n }\n else {\n obj[key] = val;\n return true;\n }\n },\n });\n};\nexports.websocketWrapper = websocketWrapper;\nexports.default = exports.websocketWrapper;\n//# sourceMappingURL=proxy.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useWebSocket = void 0;\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar constants_1 = require(\"./constants\");\nvar create_or_join_1 = require(\"./create-or-join\");\nvar get_url_1 = require(\"./get-url\");\nvar proxy_1 = __importDefault(require(\"./proxy\"));\nvar util_1 = require(\"./util\");\nvar useWebSocket = function (url, options, connect) {\n if (options === void 0) { options = constants_1.DEFAULT_OPTIONS; }\n if (connect === void 0) { connect = true; }\n var _a = (0, react_1.useState)(null), lastMessage = _a[0], setLastMessage = _a[1];\n var _b = (0, react_1.useState)({}), readyState = _b[0], setReadyState = _b[1];\n var lastJsonMessage = (0, react_1.useMemo)(function () {\n if (!options.disableJson && lastMessage) {\n try {\n return JSON.parse(lastMessage.data);\n }\n catch (e) {\n return constants_1.UNPARSABLE_JSON_OBJECT;\n }\n }\n return null;\n }, [lastMessage, options.disableJson]);\n var convertedUrl = (0, react_1.useRef)(null);\n var webSocketRef = (0, react_1.useRef)(null);\n var startRef = (0, react_1.useRef)(function () { return void 0; });\n var reconnectCount = (0, react_1.useRef)(0);\n var lastMessageTime = (0, react_1.useRef)(Date.now());\n var messageQueue = (0, react_1.useRef)([]);\n var webSocketProxy = (0, react_1.useRef)(null);\n var optionsCache = (0, react_1.useRef)(options);\n optionsCache.current = options;\n var readyStateFromUrl = convertedUrl.current && readyState[convertedUrl.current] !== undefined ?\n readyState[convertedUrl.current] :\n url !== null && connect === true ?\n constants_1.ReadyState.CONNECTING :\n constants_1.ReadyState.UNINSTANTIATED;\n var stringifiedQueryParams = options.queryParams ? JSON.stringify(options.queryParams) : null;\n var sendMessage = (0, react_1.useCallback)(function (message, keep) {\n var _a;\n if (keep === void 0) { keep = true; }\n if (constants_1.isEventSourceSupported && webSocketRef.current instanceof EventSource) {\n console.warn('Unable to send a message from an eventSource');\n return;\n }\n if (((_a = webSocketRef.current) === null || _a === void 0 ? void 0 : _a.readyState) === constants_1.ReadyState.OPEN) {\n (0, util_1.assertIsWebSocket)(webSocketRef.current, optionsCache.current.skipAssert);\n webSocketRef.current.send(message);\n }\n else if (keep) {\n messageQueue.current.push(message);\n }\n }, []);\n var sendJsonMessage = (0, react_1.useCallback)(function (message, keep) {\n if (keep === void 0) { keep = true; }\n sendMessage(JSON.stringify(message), keep);\n }, [sendMessage]);\n var getWebSocket = (0, react_1.useCallback)(function () {\n if (optionsCache.current.share !== true || (constants_1.isEventSourceSupported && webSocketRef.current instanceof EventSource)) {\n return webSocketRef.current;\n }\n if (webSocketProxy.current === null && webSocketRef.current) {\n (0, util_1.assertIsWebSocket)(webSocketRef.current, optionsCache.current.skipAssert);\n webSocketProxy.current = (0, proxy_1.default)(webSocketRef.current, startRef);\n }\n return webSocketProxy.current;\n }, []);\n (0, react_1.useEffect)(function () {\n if (url !== null && connect === true) {\n var removeListeners_1;\n var expectClose_1 = false;\n var createOrJoin_1 = true;\n var start_1 = function () { return __awaiter(void 0, void 0, void 0, function () {\n var _a, protectedSetLastMessage, protectedSetReadyState;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = convertedUrl;\n return [4 /*yield*/, (0, get_url_1.getUrl)(url, optionsCache)];\n case 1:\n _a.current = _b.sent();\n if (convertedUrl.current === null) {\n console.error('Failed to get a valid URL. WebSocket connection aborted.');\n convertedUrl.current = 'ABORTED';\n (0, react_dom_1.flushSync)(function () { return setReadyState(function (prev) { return (__assign(__assign({}, prev), { ABORTED: constants_1.ReadyState.CLOSED })); }); });\n return [2 /*return*/];\n }\n protectedSetLastMessage = function (message) {\n if (!expectClose_1) {\n (0, react_dom_1.flushSync)(function () { return setLastMessage(message); });\n }\n };\n protectedSetReadyState = function (state) {\n if (!expectClose_1) {\n (0, react_dom_1.flushSync)(function () { return setReadyState(function (prev) {\n var _a;\n return (__assign(__assign({}, prev), (convertedUrl.current && (_a = {}, _a[convertedUrl.current] = state, _a))));\n }); });\n }\n };\n if (createOrJoin_1) {\n removeListeners_1 = (0, create_or_join_1.createOrJoinSocket)(webSocketRef, convertedUrl.current, protectedSetReadyState, optionsCache, protectedSetLastMessage, startRef, reconnectCount, lastMessageTime, sendMessage);\n }\n return [2 /*return*/];\n }\n });\n }); };\n startRef.current = function () {\n if (!expectClose_1) {\n if (webSocketProxy.current)\n webSocketProxy.current = null;\n removeListeners_1 === null || removeListeners_1 === void 0 ? void 0 : removeListeners_1();\n start_1();\n }\n };\n start_1();\n return function () {\n expectClose_1 = true;\n createOrJoin_1 = false;\n if (webSocketProxy.current)\n webSocketProxy.current = null;\n removeListeners_1 === null || removeListeners_1 === void 0 ? void 0 : removeListeners_1();\n setLastMessage(null);\n };\n }\n else if (url === null || connect === false) {\n reconnectCount.current = 0; // reset reconnection attempts\n setReadyState(function (prev) {\n var _a;\n return (__assign(__assign({}, prev), (convertedUrl.current && (_a = {}, _a[convertedUrl.current] = constants_1.ReadyState.CLOSED, _a))));\n });\n }\n }, [url, connect, stringifiedQueryParams, sendMessage]);\n (0, react_1.useEffect)(function () {\n if (readyStateFromUrl === constants_1.ReadyState.OPEN) {\n messageQueue.current.splice(0).forEach(function (message) {\n sendMessage(message);\n });\n }\n }, [readyStateFromUrl]);\n return {\n sendMessage: sendMessage,\n sendJsonMessage: sendJsonMessage,\n lastMessage: lastMessage,\n lastJsonMessage: lastJsonMessage,\n readyState: readyStateFromUrl,\n getWebSocket: getWebSocket,\n };\n};\nexports.useWebSocket = useWebSocket;\n//# sourceMappingURL=use-websocket.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSocketIO = void 0;\nvar react_1 = require(\"react\");\nvar use_websocket_1 = require(\"./use-websocket\");\nvar constants_1 = require(\"./constants\");\nvar emptyEvent = {\n type: 'empty',\n payload: null,\n};\nvar getSocketData = function (event) {\n if (!event || !event.data) {\n return emptyEvent;\n }\n var match = event.data.match(/\\[.*]/);\n if (!match) {\n return emptyEvent;\n }\n var data = JSON.parse(match);\n if (!Array.isArray(data) || !data[1]) {\n return emptyEvent;\n }\n return {\n type: data[0],\n payload: data[1],\n };\n};\nvar useSocketIO = function (url, options, connect) {\n if (options === void 0) { options = constants_1.DEFAULT_OPTIONS; }\n if (connect === void 0) { connect = true; }\n var optionsWithSocketIO = (0, react_1.useMemo)(function () { return (__assign(__assign({}, options), { fromSocketIO: true })); }, []);\n var _a = (0, use_websocket_1.useWebSocket)(url, optionsWithSocketIO, connect), sendMessage = _a.sendMessage, sendJsonMessage = _a.sendJsonMessage, lastMessage = _a.lastMessage, readyState = _a.readyState, getWebSocket = _a.getWebSocket;\n var socketIOLastMessage = (0, react_1.useMemo)(function () {\n return getSocketData(lastMessage);\n }, [lastMessage]);\n return {\n sendMessage: sendMessage,\n sendJsonMessage: sendJsonMessage,\n lastMessage: socketIOLastMessage,\n lastJsonMessage: socketIOLastMessage,\n readyState: readyState,\n getWebSocket: getWebSocket,\n };\n};\nexports.useSocketIO = useSocketIO;\n//# sourceMappingURL=use-socket-io.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useEventSource = void 0;\nvar react_1 = require(\"react\");\nvar use_websocket_1 = require(\"./use-websocket\");\nvar constants_1 = require(\"./constants\");\nvar useEventSource = function (url, _a, connect) {\n if (_a === void 0) { _a = constants_1.DEFAULT_EVENT_SOURCE_OPTIONS; }\n var withCredentials = _a.withCredentials, events = _a.events, options = __rest(_a, [\"withCredentials\", \"events\"]);\n if (connect === void 0) { connect = true; }\n var optionsWithEventSource = __assign(__assign({}, options), { eventSourceOptions: {\n withCredentials: withCredentials,\n } });\n var eventsRef = (0, react_1.useRef)(constants_1.EMPTY_EVENT_HANDLERS);\n if (events) {\n eventsRef.current = events;\n }\n var _b = (0, use_websocket_1.useWebSocket)(url, optionsWithEventSource, connect), lastMessage = _b.lastMessage, readyState = _b.readyState, getWebSocket = _b.getWebSocket;\n (0, react_1.useEffect)(function () {\n if (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) {\n Object.entries(eventsRef.current).forEach(function (_a) {\n var type = _a[0], handler = _a[1];\n if (type === lastMessage.type) {\n handler(lastMessage);\n }\n });\n }\n }, [lastMessage]);\n return {\n lastEvent: lastMessage,\n readyState: readyState,\n getEventSource: getWebSocket,\n };\n};\nexports.useEventSource = useEventSource;\n//# sourceMappingURL=use-event-source.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetGlobalState = exports.useEventSource = exports.ReadyState = exports.useSocketIO = exports.default = void 0;\nvar use_websocket_1 = require(\"./lib/use-websocket\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return use_websocket_1.useWebSocket; } });\nvar use_socket_io_1 = require(\"./lib/use-socket-io\");\nObject.defineProperty(exports, \"useSocketIO\", { enumerable: true, get: function () { return use_socket_io_1.useSocketIO; } });\nvar constants_1 = require(\"./lib/constants\");\nObject.defineProperty(exports, \"ReadyState\", { enumerable: true, get: function () { return constants_1.ReadyState; } });\nvar use_event_source_1 = require(\"./lib/use-event-source\");\nObject.defineProperty(exports, \"useEventSource\", { enumerable: true, get: function () { return use_event_source_1.useEventSource; } });\nvar util_1 = require(\"./lib/util\");\nObject.defineProperty(exports, \"resetGlobalState\", { enumerable: true, get: function () { return util_1.resetGlobalState; } });\n//# sourceMappingURL=index.js.map","import React, { createContext, useContext, ReactNode, useMemo, useState, useCallback, useEffect } from 'react';\nimport useWebSocket, { ReadyState } from 'react-use-websocket';\nimport { PearHyperliquidClient } from './client';\nimport { PearHyperliquidConfig } from './types';\nimport { PearMigrationSDK } from './migration-sdk';\nimport type {\n PaginatedTradeHistoryResponseDto,\n OpenPositionDto,\n OpenLimitOrderDto,\n AccountSummaryResponseDto,\n WebSocketChannel,\n WebSocketDataMessage,\n} from './types';\n\ninterface WebSocketData {\n tradeHistories: PaginatedTradeHistoryResponseDto | null;\n openPositions: OpenPositionDto[] | null;\n openOrders: OpenLimitOrderDto[] | null;\n accountSummary: AccountSummaryResponseDto | null;\n}\n\nexport interface PearHyperliquidContextType {\n // Existing clients\n client: PearHyperliquidClient;\n migrationSDK: PearMigrationSDK;\n \n // Address management\n address: string | null;\n setAddress: (address: string | null) => void;\n \n // WebSocket state\n connectionStatus: ReadyState;\n isConnected: boolean;\n \n // WebSocket data\n data: WebSocketData;\n lastError: string | null;\n}\n\nexport const PearHyperliquidContext = createContext<PearHyperliquidContextType | undefined>(undefined);\n\ninterface PearHyperliquidProviderProps {\n config: PearHyperliquidConfig;\n /**\n * WebSocket server URL\n * @default 'wss://hl-v2.pearprotocol.io/ws'\n */\n wsUrl?: string;\n children: ReactNode;\n}\n\n/**\n * React Provider for PearHyperliquidClient\n */\nexport const PearHyperliquidProvider: React.FC<PearHyperliquidProviderProps> = ({\n config,\n wsUrl = 'wss://hl-v2.pearprotocol.io/ws',\n children,\n}) => {\n const client = useMemo(() => new PearHyperliquidClient(config), [config]);\n const migrationSDK = useMemo(() => new PearMigrationSDK(client), [client]);\n \n // Address state\n const [address, setAddress] = useState<string | null>(null);\n \n // WebSocket data state\n const [data, setData] = useState<WebSocketData>({\n tradeHistories: null,\n openPositions: null,\n openOrders: null,\n accountSummary: null,\n });\n const [lastError, setLastError] = useState<string | null>(null);\n\n // WebSocket connection\n const { lastMessage, readyState, sendMessage } = useWebSocket(\n address ? wsUrl : null, // Only connect when address is set\n {\n shouldReconnect: () => true,\n reconnectAttempts: 5,\n reconnectInterval: 3000,\n }\n );\n\n const isConnected = readyState === ReadyState.OPEN;\n\n // Handle incoming WebSocket messages\n useEffect(() => {\n if (lastMessage !== null) {\n try {\n const message = JSON.parse(lastMessage.data);\n \n // Handle subscription responses\n if ('success' in message || 'error' in message) {\n if (message.error) {\n setLastError(message.error);\n } else {\n setLastError(null);\n }\n return;\n }\n\n // Handle channel data messages\n if ('channel' in message && 'data' in message) {\n const dataMessage = message as WebSocketDataMessage;\n \n switch (dataMessage.channel) {\n case 'trade-histories':\n setData(prev => ({ \n ...prev, \n tradeHistories: dataMessage.data as PaginatedTradeHistoryResponseDto \n }));\n break;\n case 'open-positions':\n setData(prev => ({ \n ...prev, \n openPositions: dataMessage.data as OpenPositionDto[] \n }));\n break;\n case 'open-orders':\n setData(prev => ({ \n ...prev, \n openOrders: dataMessage.data as OpenLimitOrderDto[] \n }));\n break;\n case 'account-summary':\n setData(prev => ({ \n ...prev, \n accountSummary: dataMessage.data as AccountSummaryResponseDto \n }));\n break;\n }\n }\n } catch (error) {\n setLastError(`Failed to parse message: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n }, [lastMessage]);\n\n // Handle address changes - subscribe/unsubscribe\n useEffect(() => {\n if (isConnected && address) {\n // Subscribe to new address\n sendMessage(JSON.stringify({\n action: 'subscribe',\n address: address\n }));\n \n // Clear previous data\n setData({\n tradeHistories: null,\n openPositions: null,\n openOrders: null,\n accountSummary: null,\n });\n setLastError(null);\n } else if (isConnected && !address) {\n // Clear data when address is removed\n setData({\n tradeHistories: null,\n openPositions: null,\n openOrders: null,\n accountSummary: null,\n });\n }\n }, [isConnected, address, sendMessage]);\n\n const contextValue = useMemo(() => ({\n // Existing clients\n client,\n migrationSDK,\n \n // Address management\n address,\n setAddress,\n \n // WebSocket state\n connectionStatus: readyState,\n isConnected,\n \n // WebSocket data\n data,\n lastError,\n }), [client, migrationSDK, address, readyState, isConnected, data, lastError]);\n\n return (\n <PearHyperliquidContext.Provider value={contextValue}>\n {children}\n </PearHyperliquidContext.Provider>\n );\n};\n\n/**\n * Hook to use PearHyperliquidClient from context\n */\nexport const usePearHyperliquidClient = (): PearHyperliquidClient => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('usePearHyperliquidClient must be used within a PearHyperliquidProvider');\n }\n \n return context.client;\n};\n\n/**\n * Hook to use migration SDK from context\n */\nexport const useMigrationSDK = (): PearMigrationSDK => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useMigrationSDK must be used within a PearHyperliquidProvider');\n }\n \n return context.migrationSDK;\n};","import { useContext } from 'react';\nimport { PearHyperliquidContext } from '../provider';\n\n/**\n * Hook to manage address (login/logout functionality)\n */\nexport const useAddress = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useAddress must be used within a PearHyperliquidProvider');\n }\n \n return {\n address: context.address,\n setAddress: context.setAddress,\n clearAddress: () => context.setAddress(null),\n isLoggedIn: !!context.address,\n };\n};","import { useContext } from 'react';\nimport { PearHyperliquidContext } from '../provider';\n\n/**\n * Hook to access trade histories\n */\nexport const useTradeHistories = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useTradeHistories must be used within a PearHyperliquidProvider');\n }\n \n return context.data.tradeHistories;\n};\n\n/**\n * Hook to access open positions\n */\nexport const useOpenPositions = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useOpenPositions must be used within a PearHyperliquidProvider');\n }\n \n return context.data.openPositions;\n};\n\n/**\n * Hook to access open orders\n */\nexport const useOpenOrders = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useOpenOrders must be used within a PearHyperliquidProvider');\n }\n \n return context.data.openOrders;\n};\n\n/**\n * Hook to access account summary\n */\nexport const useAccountSummary = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useAccountSummary must be used within a PearHyperliquidProvider');\n }\n \n return context.data.accountSummary;\n};"],"names":["jsxRuntimeModule","require$$0","require$$1","constants_1","heartbeat_1","globals_1","manage_subscribers_1","__assign","this","socket_io_1","require$$2","util_1","require$$3","bindMessageHandler","bindOpenHandler","bindCloseHandler","bindErrorHandler","attachSharedListeners_1","require$$4","react_1","require$$5","require$$6","useWebSocket","use_websocket_1","useEventSource_1","ReadyState","_jsx"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/client.ts","../src/migration-sdk.ts","../node_modules/@nktkas/hyperliquid/esm/src/base.js","../node_modules/@nktkas/hyperliquid/esm/src/transports/base.js","../node_modules/@nktkas/hyperliquid/esm/src/clients/info.js","../node_modules/@nktkas/hyperliquid/esm/src/clients/subscription.js","../node_modules/@nktkas/hyperliquid/esm/src/transports/http/http_transport.js","../node_modules/@nktkas/hyperliquid/esm/deps/jsr.io/@std/async/1.0.13/delay.js","../node_modules/@nktkas/hyperliquid/esm/src/transports/websocket/_reconnecting_websocket.js","../node_modules/@nktkas/hyperliquid/esm/deps/jsr.io/@derzade/typescript-event-target/1.1.1/src/TypedEventTarget.js","../node_modules/@nktkas/hyperliquid/esm/src/transports/websocket/_hyperliquid_event_target.js","../node_modules/@nktkas/hyperliquid/esm/src/transports/websocket/_websocket_async_request.js","../node_modules/@nktkas/hyperliquid/esm/src/transports/websocket/websocket_transport.js","../src/hyperliquid-service.ts","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/react-use-websocket/dist/lib/constants.js","../node_modules/react-use-websocket/dist/lib/globals.js","../node_modules/react-use-websocket/dist/lib/socket-io.js","../node_modules/react-use-websocket/dist/lib/heartbeat.js","../node_modules/react-use-websocket/dist/lib/manage-subscribers.js","../node_modules/react-use-websocket/dist/lib/util.js","../node_modules/react-use-websocket/dist/lib/attach-listener.js","../node_modules/react-use-websocket/dist/lib/attach-shared-listeners.js","../node_modules/react-use-websocket/dist/lib/create-or-join.js","../node_modules/react-use-websocket/dist/lib/get-url.js","../node_modules/react-use-websocket/dist/lib/proxy.js","../node_modules/react-use-websocket/dist/lib/use-websocket.js","../node_modules/react-use-websocket/dist/lib/use-socket-io.js","../node_modules/react-use-websocket/dist/lib/use-event-source.js","../node_modules/react-use-websocket/dist/index.js","../src/provider.tsx","../src/hooks/useAddress.ts","../src/hooks/useTrading.ts"],"sourcesContent":["import axios, { AxiosInstance, AxiosResponse, AxiosError } from 'axios';\nimport {\n PearHyperliquidConfig,\n ApiResponse,\n ApiErrorResponse,\n SyncTradeHistoryDto,\n SyncTradeHistoryResponseDto,\n SyncOpenPositionDto,\n SyncOpenPositionResponseDto,\n SyncOpenOrderDto,\n SyncOpenOrderResponseDto,\n} from './types';\n\n/**\n * Main SDK client for Pear Protocol Hyperliquid API integration\n */\nexport class PearHyperliquidClient {\n private httpClient: AxiosInstance;\n private baseUrl: string;\n\n constructor(config: PearHyperliquidConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, ''); // Remove trailing slash\n \n this.httpClient = axios.create({\n baseURL: this.baseUrl,\n timeout: config.timeout || 30000,\n headers: {\n 'Content-Type': 'application/json',\n ...config.headers,\n },\n });\n\n // Add response interceptor for error handling\n this.httpClient.interceptors.response.use(\n (response: AxiosResponse) => response,\n (error: AxiosError) => {\n const apiError: ApiErrorResponse = {\n statusCode: error.response?.status || 500,\n message: (error.response?.data as any)?.message || error.message,\n error: (error.response?.data as any)?.error,\n };\n return Promise.reject(apiError);\n }\n );\n }\n\n /**\n * Get the configured base URL\n */\n public getBaseUrl(): string {\n return this.baseUrl;\n }\n\n /**\n * Update request headers\n */\n public setHeaders(headers: Record<string, string>): void {\n this.httpClient.defaults.headers = {\n ...this.httpClient.defaults.headers,\n ...headers,\n };\n }\n\n /**\n * Set authorization header\n */\n public setAuthToken(token: string): void {\n this.setHeaders({ Authorization: `Bearer ${token}` });\n }\n\n /**\n * Make a generic HTTP request\n */\n private async makeRequest<T>(\n method: 'GET' | 'POST' | 'PUT' | 'DELETE',\n endpoint: string,\n data?: any\n ): Promise<ApiResponse<T>> {\n const response = await this.httpClient.request({\n method,\n url: endpoint,\n data,\n });\n\n return {\n data: response.data,\n status: response.status,\n headers: response.headers as Record<string, string>,\n };\n }\n\n /**\n * Sync trade history data from old database structure to new database format\n * @param payload - Trade history data with user address\n * @returns Promise with sync result\n */\n public async syncTradeHistory(\n payload: SyncTradeHistoryDto\n ): Promise<ApiResponse<SyncTradeHistoryResponseDto>> {\n return this.makeRequest<SyncTradeHistoryResponseDto>(\n 'POST',\n '/syncer/trade-histories',\n payload\n );\n }\n\n /**\n * Sync open positions data from old database structure to new database format\n * @param payload - Open positions data with user address\n * @returns Promise with sync result\n */\n public async syncOpenPositions(\n payload: SyncOpenPositionDto\n ): Promise<ApiResponse<SyncOpenPositionResponseDto>> {\n return this.makeRequest<SyncOpenPositionResponseDto>(\n 'POST',\n '/syncer/open-positions',\n payload\n );\n }\n\n /**\n * Sync open orders data from old database structure to new database format\n * @param payload - Open orders data with user address\n * @returns Promise with sync result\n */\n public async syncOpenOrders(\n payload: SyncOpenOrderDto\n ): Promise<ApiResponse<SyncOpenOrderResponseDto>> {\n return this.makeRequest<SyncOpenOrderResponseDto>(\n 'POST',\n '/syncer/open-orders',\n payload\n );\n }\n}","import { PearHyperliquidClient } from './client';\nimport {\n SyncTradeHistoryDto,\n SyncTradeHistoryResponseDto,\n SyncOpenPositionDto,\n SyncOpenPositionResponseDto,\n SyncOpenOrderDto,\n SyncOpenOrderResponseDto,\n ApiResponse,\n} from './types';\n\n/**\n * Main Migration SDK Class - Simple request/response pattern\n */\nexport class PearMigrationSDK {\n private client: PearHyperliquidClient;\n private isTradeHistorySyncRunning: boolean = false;\n private isOpenPositionsSyncRunning: boolean = false;\n private isOpenOrdersSyncRunning: boolean = false;\n\n constructor(client: PearHyperliquidClient) {\n this.client = client;\n }\n\n /**\n * Sync trade history data - can only run one at a time\n * If called while already running, returns immediately without making request\n */\n async syncTradeHistory(payload: SyncTradeHistoryDto): Promise<ApiResponse<SyncTradeHistoryResponseDto> | null> {\n // If sync is already running, return immediately\n if (this.isTradeHistorySyncRunning) {\n return null;\n }\n\n try {\n this.isTradeHistorySyncRunning = true;\n const response = await this.client.syncTradeHistory(payload);\n return response;\n } finally {\n this.isTradeHistorySyncRunning = false;\n }\n }\n\n /**\n * Sync open positions data - can only run one at a time\n * If called while already running, returns immediately without making request\n */\n async syncOpenPositions(payload: SyncOpenPositionDto): Promise<ApiResponse<SyncOpenPositionResponseDto> | null> {\n // If sync is already running, return immediately\n if (this.isOpenPositionsSyncRunning) {\n return null;\n }\n\n try {\n this.isOpenPositionsSyncRunning = true;\n const response = await this.client.syncOpenPositions(payload);\n return response;\n } finally {\n this.isOpenPositionsSyncRunning = false;\n }\n }\n\n /**\n * Sync open orders data - can only run one at a time\n * If called while already running, returns immediately without making request\n */\n async syncOpenOrders(payload: SyncOpenOrderDto): Promise<ApiResponse<SyncOpenOrderResponseDto> | null> {\n // If sync is already running, return immediately\n if (this.isOpenOrdersSyncRunning) {\n return null;\n }\n\n try {\n this.isOpenOrdersSyncRunning = true;\n const response = await this.client.syncOpenOrders(payload);\n return response;\n } finally {\n this.isOpenOrdersSyncRunning = false;\n }\n }\n\n /**\n * Check if any sync is currently running\n */\n isSyncInProgress(): boolean {\n return this.isTradeHistorySyncRunning || this.isOpenPositionsSyncRunning || this.isOpenOrdersSyncRunning;\n }\n\n /**\n * Check if trade history sync is currently running\n */\n isTradeHistorySyncInProgress(): boolean {\n return this.isTradeHistorySyncRunning;\n }\n\n /**\n * Check if open positions sync is currently running\n */\n isOpenPositionsSyncInProgress(): boolean {\n return this.isOpenPositionsSyncRunning;\n }\n\n /**\n * Check if open orders sync is currently running\n */\n isOpenOrdersSyncInProgress(): boolean {\n return this.isOpenOrdersSyncRunning;\n }\n\n /**\n * Get the underlying client instance\n */\n getClient(): PearHyperliquidClient {\n return this.client;\n }\n\n /**\n * Set authorization token on the client\n */\n setAuthToken(token: string): void {\n this.client.setAuthToken(token);\n }\n\n /**\n * Set custom headers on the client\n */\n setHeaders(headers: Record<string, string>): void {\n this.client.setHeaders(headers);\n }\n\n /**\n * Get base URL from client\n */\n getBaseUrl(): string {\n return this.client.getBaseUrl();\n }\n}","/** Base error class for all SDK errors. */\nexport class HyperliquidError extends Error {\n constructor(message) {\n super(message);\n this.name = \"HyperliquidError\";\n }\n}\n","import { HyperliquidError } from \"../base.js\";\n/** Base class for all transport-related errors. */\nexport class TransportError extends HyperliquidError {\n constructor(message) {\n super(message);\n this.name = \"TransportError\";\n }\n}\n","/**\n * Info client for interacting with the Hyperliquid API.\n * @typeParam T The type of transport used to connect to the Hyperliquid API.\n */\nexport class InfoClient {\n transport;\n /**\n * Initialises a new instance.\n * @param args - The arguments for initialisation.\n *\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n * ```\n */\n constructor(args) {\n this.transport = args.transport;\n }\n allMids(args_or_signal, maybeSignal) {\n const args = args_or_signal instanceof AbortSignal ? {} : args_or_signal;\n const signal = args_or_signal instanceof AbortSignal ? args_or_signal : maybeSignal;\n const request = {\n type: \"allMids\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Block details by block height.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Block details response.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.blockDetails({ height: 123 });\n * ```\n */\n async blockDetails(args, signal) {\n const request = {\n type: \"blockDetails\",\n ...args,\n };\n const { blockDetails } = await this.transport.request(\"explorer\", request, signal);\n return blockDetails;\n }\n /**\n * Request candlestick snapshots.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of candlestick data points.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#candle-snapshot\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.candleSnapshot({\n * coin: \"ETH\",\n * interval: \"1h\",\n * startTime: Date.now() - 1000 * 60 * 60 * 24\n * });\n * ```\n */\n candleSnapshot(args, signal) {\n const request = {\n type: \"candleSnapshot\",\n req: args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request clearinghouse state.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Account summary for perpetual trading.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-users-perpetuals-account-summary\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.clearinghouseState({ user: \"0x...\" });\n * ```\n */\n clearinghouseState(args, signal) {\n const request = {\n type: \"clearinghouseState\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user staking delegations.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's delegations to validators.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-delegations\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.delegations({ user: \"0x...\" });\n * ```\n */\n delegations(args, signal) {\n const request = {\n type: \"delegations\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user staking history.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's staking updates.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-history\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.delegatorHistory({ user: \"0x...\" });\n * ```\n */\n delegatorHistory(args, signal) {\n const request = {\n type: \"delegatorHistory\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user staking rewards.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's staking rewards.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-rewards\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.delegatorRewards({ user: \"0x...\" });\n * ```\n */\n delegatorRewards(args, signal) {\n const request = {\n type: \"delegatorRewards\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user staking summary.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Summary of a user's staking delegations.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-staking-summary\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.delegatorSummary({ user: \"0x...\" });\n * ```\n */\n delegatorSummary(args, signal) {\n const request = {\n type: \"delegatorSummary\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user's extra agents.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns User's extra agents.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.extraAgents({ user: \"0x...\" });\n * ```\n */\n extraAgents(args, signal) {\n const request = {\n type: \"extraAgents\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request frontend open orders.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of open orders with additional frontend information.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders-with-additional-frontend-info\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.frontendOpenOrders({ user: \"0x...\" });\n * ```\n */\n frontendOpenOrders(args, signal) {\n const request = {\n type: \"frontendOpenOrders\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request funding history.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of historical funding rate data for an asset.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-historical-funding-rates\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.fundingHistory({\n * coin: \"ETH\",\n * startTime: Date.now() - 1000 * 60 * 60 * 24\n * });\n * ```\n */\n fundingHistory(args, signal) {\n const request = {\n type: \"fundingHistory\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user's historical orders.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's historical orders.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-historical-orders\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.historicalOrders({ user: \"0x...\" });\n * ```\n */\n historicalOrders(args, signal) {\n const request = {\n type: \"historicalOrders\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request to check if a user is a VIP.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Boolean indicating user's VIP status.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.isVip({ user: \"0x...\" });\n * ```\n */\n isVip(args, signal) {\n const request = {\n type: \"isVip\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request L2 order book.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns L2 order book snapshot.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#l2-book-snapshot\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.l2Book({ coin: \"ETH\", nSigFigs: 2 });\n * ```\n */\n l2Book(args, signal) {\n const request = {\n type: \"l2Book\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request legal verification status of a user.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Legal verification status for a user.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.legalCheck({ user: \"0x...\" });\n * ```\n */\n legalCheck(args, signal) {\n const request = {\n type: \"legalCheck\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request builder fee approval.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Maximum builder fee approval.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#check-builder-fee-approval\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.maxBuilderFee({ user: \"0x...\", builder: \"0x...\" });\n * ```\n */\n maxBuilderFee(args, signal) {\n const request = {\n type: \"maxBuilderFee\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n meta(args_or_signal, maybeSignal) {\n const args = args_or_signal instanceof AbortSignal ? {} : args_or_signal;\n const signal = args_or_signal instanceof AbortSignal ? args_or_signal : maybeSignal;\n const request = {\n type: \"meta\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request metadata and asset contexts.\n * @param signal - An optional abort signal.\n * @returns Metadata and context information for each perpetual asset.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-asset-contexts-includes-mark-price-current-funding-open-interest-etc\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.metaAndAssetCtxs();\n * ```\n */\n metaAndAssetCtxs(signal) {\n const request = {\n type: \"metaAndAssetCtxs\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request open orders.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of open order.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-open-orders\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.openOrders({ user: \"0x...\" });\n * ```\n */\n openOrders(args, signal) {\n const request = {\n type: \"openOrders\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request order status.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Result of an order status lookup.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-order-status-by-oid-or-cloid\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.orderStatus({ user: \"0x...\", oid: 12345 });\n * ```\n */\n orderStatus(args, signal) {\n const request = {\n type: \"orderStatus\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request for the status of the perpetual deploy auction.\n * @param signal - An optional abort signal.\n * @returns Status of the perpetual deploy auction.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-information-about-the-perp-deploy-auction\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.perpDeployAuctionStatus();\n * ```\n */\n perpDeployAuctionStatus(signal) {\n const request = {\n type: \"perpDeployAuctionStatus\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request all perpetual dexs.\n * @param signal - An optional abort signal.\n * @returns Array of perpetual dexes.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-all-perpetual-dexs\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.perpDexs();\n * ```\n */\n perpDexs(signal) {\n const request = {\n type: \"perpDexs\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request perpetuals at open interest cap.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of perpetuals at open interest caps.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#query-perps-at-open-interest-caps\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.perpsAtOpenInterestCap();\n * ```\n */\n perpsAtOpenInterestCap(signal) {\n const request = {\n type: \"perpsAtOpenInterestCap\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request portfolio.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Portfolio of a user.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-portfolio\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.portfolio({ user: \"0x...\" });\n * ```\n */\n portfolio(args, signal) {\n const request = {\n type: \"portfolio\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request predicted funding rates.\n * @param signal - An optional abort signal.\n * @returns Array of predicted funding rates.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-predicted-funding-rates-for-different-venues\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.predictedFundings();\n * ```\n */\n predictedFundings(signal) {\n const request = {\n type: \"predictedFundings\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user's existence check before transfer.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Pre-transfer user existence check result.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.preTransferCheck({ user: \"0x...\", source: \"0x...\" });\n * ```\n */\n preTransferCheck(args, signal) {\n const request = {\n type: \"preTransferCheck\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user referral.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Referral information for a user.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-referral-information\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.referral({ user: \"0x...\" });\n * ```\n */\n referral(args, signal) {\n const request = {\n type: \"referral\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request spot clearinghouse state.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Balances for spot tokens.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-a-users-token-balances\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.spotClearinghouseState({ user: \"0x...\" });\n * ```\n */\n spotClearinghouseState(args, signal) {\n const request = {\n type: \"spotClearinghouseState\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request spot deploy state.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns The deploy state of a user.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-the-spot-deploy-auction\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.spotDeployState({ user: \"0x...\" });\n * ```\n */\n spotDeployState(args, signal) {\n const request = {\n type: \"spotDeployState\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request spot trading metadata.\n * @param signal - An optional abort signal.\n * @returns Metadata for spot assets.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-metadata\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.spotMeta();\n * ```\n */\n spotMeta(signal) {\n const request = {\n type: \"spotMeta\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request spot metadata and asset contexts.\n * @param signal - An optional abort signal.\n * @returns Metadata and context information for each spot asset.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-spot-asset-contexts\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.spotMetaAndAssetCtxs();\n * ```\n */\n spotMetaAndAssetCtxs(signal) {\n const request = {\n type: \"spotMetaAndAssetCtxs\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user sub-accounts.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user sub-account or null if the user does not have any sub-accounts.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-subaccounts\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.subAccounts({ user: \"0x...\" });\n * ```\n */\n subAccounts(args, signal) {\n const request = {\n type: \"subAccounts\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request token details.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns The details of a token.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/spot#retrieve-information-about-a-token\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.tokenDetails({ tokenId: \"0x...\" });\n * ```\n */\n tokenDetails(args, signal) {\n const request = {\n type: \"tokenDetails\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request twap history of a user.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns The twap history of a user.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.twapHistory({ user: \"0x...\" });\n * ```\n */\n twapHistory(args, signal) {\n const request = {\n type: \"twapHistory\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Transaction details by transaction hash.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Transaction details response.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.txDetails({ hash: \"0x...\" });\n * ```\n */\n async txDetails(args, signal) {\n const request = {\n type: \"txDetails\",\n ...args,\n };\n const { tx } = await this.transport.request(\"explorer\", request, signal);\n return tx;\n }\n /**\n * User details by user's address.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns User details response.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userDetails({ user: \"0x...\" });\n * ```\n */\n async userDetails(args, signal) {\n const request = {\n type: \"userDetails\",\n ...args,\n };\n const { txs } = await this.transport.request(\"explorer\", request, signal);\n return txs;\n }\n /**\n * Request user fees.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns User fees.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userFees({ user: \"0x...\" });\n * ```\n */\n userFees(args, signal) {\n const request = {\n type: \"userFees\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user fills.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's trade fill.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userFills({ user: \"0x...\" });\n * ```\n */\n userFills(args, signal) {\n const request = {\n type: \"userFills\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user fills by time.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's trade fill.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-fills-by-time\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userFillsByTime({\n * user: \"0x...\",\n * startTime: Date.now() - 1000 * 60 * 60 * 24\n * });\n * ```\n */\n userFillsByTime(args, signal) {\n const request = {\n type: \"userFillsByTime\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user funding.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's funding ledger update.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userFunding({\n * user: \"0x...\",\n * startTime: Date.now() - 1000 * 60 * 60 * 24\n * });\n * ```\n */\n userFunding(args, signal) {\n const request = {\n type: \"userFunding\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user non-funding ledger updates.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's non-funding ledger update.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-a-users-funding-history-or-non-funding-ledger-updates\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userNonFundingLedgerUpdates({\n * user: \"0x...\",\n * startTime: Date.now() - 1000 * 60 * 60 * 24\n * });\n * ```\n */\n userNonFundingLedgerUpdates(args, signal) {\n const request = {\n type: \"userNonFundingLedgerUpdates\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user rate limits.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns User's rate limits.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-user-rate-limits\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userRateLimit({ user: \"0x...\" });\n * ```\n */\n userRateLimit(args, signal) {\n const request = {\n type: \"userRateLimit\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user role.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns User's role.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#query-a-users-role\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userRole({ user: \"0x...\" });\n * ```\n */\n userRole(args, signal) {\n const request = {\n type: \"userRole\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request multi-sig signers for a user.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Multi-sig signers for a user or null if the user does not have any multi-sig signers.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userToMultiSigSigners({ user: \"0x...\" });\n * ```\n */\n userToMultiSigSigners(args, signal) {\n const request = {\n type: \"userToMultiSigSigners\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user twap slice fills.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's twap slice fill.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-twap-slice-fills\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userTwapSliceFills({ user: \"0x...\" });\n * ```\n */\n userTwapSliceFills(args, signal) {\n const request = {\n type: \"userTwapSliceFills\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user twap slice fills by time.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's twap slice fill.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userTwapSliceFillsByTime({\n * user: \"0x...\",\n * startTime: Date.now() - 1000 * 60 * 60 * 24\n * });\n * ```\n */\n userTwapSliceFillsByTime(args, signal) {\n const request = {\n type: \"userTwapSliceFillsByTime\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request user vault deposits.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of user's vault deposits.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-a-users-vault-deposits\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.userVaultDeposits({ user: \"0x...\" });\n * ```\n */\n userVaultEquities(args, signal) {\n const request = {\n type: \"userVaultEquities\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request validator summaries.\n * @param args - The parameters for the request.\n * @returns Array of validator summaries.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.validatorSummaries();\n * ```\n */\n validatorSummaries(signal) {\n const request = {\n type: \"validatorSummaries\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request details of a vault.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Details of a vault or null if the vault does not exist.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint#retrieve-details-for-a-vault\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.vaultDetails({ vaultAddress: \"0x...\" });\n * ```\n */\n vaultDetails(args, signal) {\n const request = {\n type: \"vaultDetails\",\n ...args,\n };\n return this.transport.request(\"info\", request, signal);\n }\n /**\n * Request a list of vaults less than 2 hours old.\n * @param args - The parameters for the request.\n * @param signal - An optional abort signal.\n * @returns Array of vault summaries.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.HttpTransport(); // or WebSocketTransport\n * const infoClient = new hl.InfoClient({ transport });\n *\n * const data = await infoClient.vaultSummaries();\n * ```\n */\n vaultSummaries(signal) {\n const request = {\n type: \"vaultSummaries\",\n };\n return this.transport.request(\"info\", request, signal);\n }\n async [Symbol.asyncDispose]() {\n await this.transport[Symbol.asyncDispose]?.();\n }\n}\n","/**\n * Subscription client for subscribing to various Hyperliquid events.\n * @typeParam T The type of transport used to connect to the Hyperliquid Websocket API.\n */\nexport class SubscriptionClient {\n transport;\n /**\n * Initialises a new instance.\n * @param args - The arguments for initialisation.\n *\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n * ```\n */\n constructor(args) {\n this.transport = args.transport;\n }\n /**\n * Subscribe to context updates for a specific perpetual asset.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.activeAssetCtx({ coin: \"BTC\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n activeAssetCtx(args, listener) {\n const channel = args.coin.startsWith(\"@\") ? \"activeSpotAssetCtx\" : \"activeAssetCtx\";\n const payload = {\n type: \"activeAssetCtx\",\n coin: args.coin,\n };\n return this.transport.subscribe(channel, payload, (e) => {\n if (e.detail.coin === args.coin) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to trading data updates for a specific asset and user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.activeAssetData({ coin: \"BTC\", user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n activeAssetData(args, listener) {\n const payload = {\n type: \"activeAssetData\",\n coin: args.coin,\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.coin === args.coin && e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n allMids(args_or_listener, maybeListener) {\n const args = typeof args_or_listener === \"function\" ? {} : args_or_listener;\n const listener = typeof args_or_listener === \"function\" ? args_or_listener : maybeListener;\n const payload = {\n type: \"allMids\",\n dex: args.dex,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n listener(e.detail);\n });\n }\n /**\n * Subscribe to best bid and offer updates for a specific asset.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.bbo({ coin: \"BTC\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n bbo(args, listener) {\n const payload = {\n type: \"bbo\",\n coin: args.coin,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.coin === args.coin) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to candlestick data updates for a specific asset.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.candle({ coin: \"BTC\", interval: \"1h\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n candle(args, listener) {\n const payload = {\n type: \"candle\",\n coin: args.coin,\n interval: args.interval,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.s === args.coin && e.detail.i === args.interval) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to explorer block updates.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n * @note Make sure the endpoint in the {@link transport} supports this method.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.explorerBlock((data) => {\n * console.log(data);\n * });\n * ```\n */\n explorerBlock(listener) {\n const payload = {\n type: \"explorerBlock\",\n };\n return this.transport.subscribe(\"_explorerBlock\", payload, (e) => {\n listener(e.detail);\n });\n }\n /**\n * Subscribe to explorer transaction updates.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n * @note Make sure the endpoint in the {@link transport} supports this method.\n *\n * @see null - no documentation\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.explorerTxs((data) => {\n * console.log(data);\n * });\n * ```\n */\n explorerTxs(listener) {\n const payload = {\n type: \"explorerTxs\",\n };\n return this.transport.subscribe(\"_explorerTxs\", payload, (e) => {\n listener(e.detail);\n });\n }\n /**\n * Subscribe to L2 order book updates for a specific asset.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.l2Book({ coin: \"BTC\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n l2Book(args, listener) {\n const payload = {\n type: \"l2Book\",\n coin: args.coin,\n nSigFigs: args.nSigFigs ?? null,\n mantissa: args.mantissa ?? null,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.coin === args.coin) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to notification updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.notification({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n notification(args, listener) {\n const payload = {\n type: \"notification\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n listener(e.detail);\n });\n }\n /**\n * Subscribe to order status updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.orderUpdates({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n orderUpdates(args, listener) {\n const payload = {\n type: \"orderUpdates\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n listener(e.detail);\n });\n }\n /**\n * Subscribe to real-time trade updates for a specific asset.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.trades({ coin: \"BTC\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n trades(args, listener) {\n const payload = {\n type: \"trades\",\n coin: args.coin,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail[0]?.coin === args.coin) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to non-order events for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @note Different subscriptions cannot be distinguished from each other.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.userEvents({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n userEvents(args, listener) {\n const payload = {\n type: \"userEvents\",\n user: args.user,\n };\n return this.transport.subscribe(\"user\", payload, (e) => {\n listener(e.detail);\n });\n }\n /**\n * Subscribe to trade fill updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.userFills({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n userFills(args, listener) {\n const payload = {\n type: \"userFills\",\n user: args.user,\n aggregateByTime: args.aggregateByTime ?? false,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to funding payment updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.userFundings({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n userFundings(args, listener) {\n const payload = {\n type: \"userFundings\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to non-funding ledger updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.userNonFundingLedgerUpdates({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n userNonFundingLedgerUpdates(args, listener) {\n const payload = {\n type: \"userNonFundingLedgerUpdates\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to TWAP order history updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.userTwapHistory({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n userTwapHistory(args, listener) {\n const payload = {\n type: \"userTwapHistory\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to TWAP execution updates for a specific user.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.userTwapSliceFills({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n userTwapSliceFills(args, listener) {\n const payload = {\n type: \"userTwapSliceFills\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n /**\n * Subscribe to comprehensive user and market data updates.\n * @param args - The parameters for the subscription.\n * @param listener - The callback function to be called when the event is received.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n *\n * @see https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/websocket/subscriptions\n * @example\n * ```ts\n * import * as hl from \"@nktkas/hyperliquid\";\n *\n * const transport = new hl.WebSocketTransport();\n * const subsClient = new hl.SubscriptionClient({ transport });\n *\n * const sub = await subsClient.webData2({ user: \"0x...\" }, (data) => {\n * console.log(data);\n * });\n * ```\n */\n webData2(args, listener) {\n const payload = {\n type: \"webData2\",\n user: args.user,\n };\n return this.transport.subscribe(payload.type, payload, (e) => {\n if (e.detail.user === args.user.toLowerCase()) {\n listener(e.detail);\n }\n });\n }\n async [Symbol.asyncDispose]() {\n await this.transport[Symbol.asyncDispose]?.();\n }\n}\n","import { TransportError } from \"../base.js\";\n/**\n * Error thrown when an HTTP response is deemed invalid:\n * - Non-200 status code\n * - Unexpected content type\n */\nexport class HttpRequestError extends TransportError {\n response;\n responseBody;\n /**\n * Creates a new HTTP request error.\n * @param response - The failed HTTP response.\n * @param responseBody - The raw response body content, if available.\n */\n constructor(response, responseBody) {\n let message = `HTTP request failed: status ${response.status}`;\n if (responseBody)\n message += `, body \"${responseBody}\"`;\n super(message);\n this.response = response;\n this.responseBody = responseBody;\n this.name = \"HttpRequestError\";\n }\n}\n/** HTTP implementation of the REST transport interface. */\nexport class HttpTransport {\n isTestnet;\n timeout;\n server;\n fetchOptions;\n onRequest;\n onResponse;\n /**\n * Creates a new HTTP transport instance.\n * @param options - Configuration options for the HTTP transport layer.\n */\n constructor(options) {\n this.isTestnet = options?.isTestnet ?? false;\n this.timeout = options?.timeout === undefined ? 10_000 : options.timeout;\n this.server = {\n mainnet: {\n api: options?.server?.mainnet?.api ?? \"https://api.hyperliquid.xyz\",\n rpc: options?.server?.mainnet?.rpc ?? \"https://rpc.hyperliquid.xyz\",\n },\n testnet: {\n api: options?.server?.testnet?.api ?? \"https://api.hyperliquid-testnet.xyz\",\n rpc: options?.server?.testnet?.rpc ?? \"https://rpc.hyperliquid-testnet.xyz\",\n },\n };\n this.fetchOptions = options?.fetchOptions ?? {};\n this.onRequest = options?.onRequest;\n this.onResponse = options?.onResponse;\n }\n /**\n * Sends a request to the Hyperliquid API via fetch.\n * @param endpoint - The API endpoint to send the request to.\n * @param payload - The payload to send with the request.\n * @param signal - An optional abort signal.\n * @returns A promise that resolves with parsed JSON response body.\n * @throws {HttpRequestError} - Thrown when an HTTP response is deemed invalid.\n * @throws May throw {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/fetch#exceptions | fetch errors}.\n */\n async request(endpoint, payload, signal) {\n // Construct a Request\n const url = new URL(endpoint, this.server[this.isTestnet ? \"testnet\" : \"mainnet\"][endpoint === \"explorer\" ? \"rpc\" : \"api\"]);\n const init = mergeRequestInit({\n body: JSON.stringify(payload),\n headers: {\n \"Accept-Encoding\": \"gzip, deflate, br, zstd\",\n \"Content-Type\": \"application/json\",\n },\n keepalive: true,\n method: \"POST\",\n signal: this.timeout ? AbortSignal.timeout(this.timeout) : undefined,\n }, this.fetchOptions, { signal });\n let request = new Request(url, init);\n // Call the onRequest callback, if provided\n if (this.onRequest) {\n const customRequest = await this.onRequest(request);\n if (customRequest instanceof Request)\n request = customRequest;\n }\n // Send the Request and wait for a Response\n let response = await fetch(request);\n // Call the onResponse callback, if provided\n if (this.onResponse) {\n const customResponse = await this.onResponse(response);\n if (customResponse instanceof Response)\n response = customResponse;\n }\n // Validate the Response\n if (!response.ok || !response.headers.get(\"Content-Type\")?.includes(\"application/json\")) {\n // Unload the response body to prevent memory leaks\n const body = await response.text().catch(() => undefined);\n throw new HttpRequestError(response, body);\n }\n // Parse the response body\n const body = await response.json();\n // Check if the response is an error\n if (body?.type === \"error\") {\n throw new HttpRequestError(response, body?.message);\n }\n // Return the response body\n return body;\n }\n}\n/** Merges multiple {@linkcode HeadersInit} into one {@linkcode Headers}. */\nfunction mergeHeadersInit(...inits) {\n if (inits.length === 0 || inits.length === 1) {\n return new Headers(inits[0]);\n }\n const merged = new Headers();\n for (const headers of inits) {\n const iterator = Symbol.iterator in headers ? headers : Object.entries(headers);\n for (const [key, value] of iterator) {\n merged.set(key, value);\n }\n }\n return merged;\n}\n/** Merges multiple {@linkcode RequestInit} into one {@linkcode RequestInit}. */\nfunction mergeRequestInit(...inits) {\n const merged = inits.reduce((acc, init) => ({ ...acc, ...init }), {});\n const headersList = inits.map((init) => init.headers)\n .filter((headers) => typeof headers === \"object\");\n if (headersList.length > 0) {\n merged.headers = mergeHeadersInit(...headersList);\n }\n const signals = inits.map((init) => init.signal)\n .filter((signal) => signal instanceof AbortSignal);\n if (signals.length > 0) {\n merged.signal = signals.length > 1 ? AbortSignal.any(signals) : signals[0];\n }\n return merged;\n}\n","// Copyright 2018-2025 the Deno authors. MIT license.\n// This module is browser compatible.\n/**\n * Resolve a {@linkcode Promise} after a given amount of milliseconds.\n *\n * @throws {DOMException} If the optional signal is aborted before the delay\n * duration, and `signal.reason` is undefined.\n * @param ms Duration in milliseconds for how long the delay should last.\n * @param options Additional options.\n *\n * @example Basic usage\n * ```ts no-assert\n * import { delay } from \"@std/async/delay\";\n *\n * // ...\n * const delayedPromise = delay(100);\n * const result = await delayedPromise;\n * // ...\n * ```\n *\n * @example Disable persistence\n *\n * Setting `persistent` to `false` will allow the process to continue to run as\n * long as the timer exists.\n *\n * ```ts no-assert ignore\n * import { delay } from \"@std/async/delay\";\n *\n * // ...\n * await delay(100, { persistent: false });\n * // ...\n * ```\n */\nexport function delay(ms, options = {}) {\n const { signal, persistent = true } = options;\n if (signal?.aborted)\n return Promise.reject(signal.reason);\n return new Promise((resolve, reject) => {\n const abort = () => {\n clearTimeout(i);\n reject(signal?.reason);\n };\n const done = () => {\n signal?.removeEventListener(\"abort\", abort);\n resolve();\n };\n const i = setTimeout(done, ms);\n signal?.addEventListener(\"abort\", abort, { once: true });\n if (persistent === false) {\n try {\n // @ts-ignore For browser compatibility\n Deno.unrefTimer(i);\n }\n catch (error) {\n if (!(error instanceof ReferenceError)) {\n throw error;\n }\n // deno-lint-ignore no-console\n console.error(\"`persistent` option is only available in Deno\");\n }\n }\n });\n}\n","// deno-lint-ignore-file no-explicit-any\nimport { delay } from \"../../../deps/jsr.io/@std/async/1.0.13/delay.js\";\nimport { TransportError } from \"../base.js\";\n/** Simple FIFO (First In, First Out) buffer implementation. */\nclass FIFOMessageBuffer {\n queue = [];\n push(data, signal) {\n this.queue.push({ data, signal });\n }\n *[Symbol.iterator]() {\n while (this.queue.length > 0) {\n const { data, signal } = this.queue.shift();\n if (signal?.aborted)\n continue;\n yield data;\n }\n }\n}\n/** Error thrown when reconnection problems occur. */\nexport class ReconnectingWebSocketError extends TransportError {\n code;\n constructor(code, cause) {\n super(`Error when reconnecting WebSocket: ${code}`);\n this.code = code;\n this.name = \"ReconnectingWebSocketError\";\n this.cause = cause;\n }\n}\n/**\n * A WebSocket that automatically reconnects when disconnected.\n * Fully compatible with standard WebSocket API.\n */\nexport class ReconnectingWebSocket {\n _socket;\n _protocols;\n _listeners = [];\n _attempt = 0;\n reconnectOptions;\n reconnectAbortController = new AbortController();\n constructor(url, protocols, options) {\n this.reconnectOptions = {\n maxRetries: options?.maxRetries ?? 3,\n connectionTimeout: options?.connectionTimeout === undefined ? 10_000 : options.connectionTimeout,\n connectionDelay: options?.connectionDelay ?? ((n) => Math.min(~~(1 << n) * 150, 10_000)),\n shouldReconnect: options?.shouldReconnect ?? (() => true),\n messageBuffer: options?.messageBuffer ?? new FIFOMessageBuffer(),\n };\n this._socket = this._createSocket(url, protocols);\n this._protocols = protocols;\n this._setupEventListeners();\n }\n _createSocket(url, protocols) {\n const socket = new WebSocket(url, protocols);\n if (this.reconnectOptions.connectionTimeout === null)\n return socket;\n const timeoutId = setTimeout(() => {\n socket.removeEventListener(\"open\", openHandler);\n socket.removeEventListener(\"close\", closeHandler);\n socket.close(3008, \"Timeout\"); // https://www.iana.org/assignments/websocket/websocket.xml#close-code-number\n }, this.reconnectOptions.connectionTimeout);\n const openHandler = () => {\n socket.removeEventListener(\"close\", closeHandler);\n clearTimeout(timeoutId);\n };\n const closeHandler = () => {\n socket.removeEventListener(\"open\", openHandler);\n clearTimeout(timeoutId);\n };\n socket.addEventListener(\"open\", openHandler, { once: true });\n socket.addEventListener(\"close\", closeHandler, { once: true });\n return socket;\n }\n /** Initializes the internal event listeners for the socket. */\n _setupEventListeners() {\n this._socket.addEventListener(\"open\", this._open, { once: true });\n this._socket.addEventListener(\"close\", this._close, { once: true });\n }\n _open = () => {\n // Reset the attempt counter\n this._attempt = 0;\n // Send all buffered messages\n for (const message of this.reconnectOptions.messageBuffer) {\n this._socket.send(message);\n }\n };\n _close = async (event) => {\n try {\n // If the event was triggered but the socket is not closing, ignore it\n if (this._socket.readyState !== ReconnectingWebSocket.CLOSING &&\n this._socket.readyState !== ReconnectingWebSocket.CLOSED)\n return;\n // If the instance is terminated, do not attempt to reconnect\n if (this.reconnectAbortController.signal.aborted)\n return;\n // Check if reconnection should be attempted\n if (++this._attempt > this.reconnectOptions.maxRetries) {\n this._cleanup(\"RECONNECTION_LIMIT_REACHED\");\n return;\n }\n const userDecision = await this.reconnectOptions.shouldReconnect(event, this.reconnectAbortController.signal);\n if (this.reconnectAbortController.signal.aborted)\n return;\n if (!userDecision) {\n this._cleanup(\"RECONNECTION_STOPPED_BY_USER\");\n return;\n }\n // Delay before reconnecting\n const reconnectDelay = typeof this.reconnectOptions.connectionDelay === \"number\"\n ? this.reconnectOptions.connectionDelay\n : await this.reconnectOptions.connectionDelay(this._attempt, this.reconnectAbortController.signal);\n if (this.reconnectAbortController.signal.aborted)\n return;\n await delay(reconnectDelay, { signal: this.reconnectAbortController.signal });\n // Create a new WebSocket instance\n const { onclose, onerror, onmessage, onopen } = this._socket;\n this._socket = this._createSocket(this._socket.url, this._protocols);\n // Reconnect all listeners\n this._setupEventListeners();\n this._listeners.forEach(({ type, listenerProxy, options }) => {\n this._socket.addEventListener(type, listenerProxy, options);\n });\n this._socket.onclose = onclose;\n this._socket.onerror = onerror;\n this._socket.onmessage = onmessage;\n this._socket.onopen = onopen;\n }\n catch (error) {\n this._cleanup(\"UNKNOWN_ERROR\", error);\n }\n };\n /** Clean up internal resources. */\n _cleanup(code, cause) {\n this.reconnectAbortController.abort(new ReconnectingWebSocketError(code, cause));\n this._listeners = [];\n this._socket.close();\n }\n // WebSocket property implementations\n get url() {\n return this._socket.url;\n }\n get readyState() {\n return this._socket.readyState;\n }\n get bufferedAmount() {\n return this._socket.bufferedAmount;\n }\n get extensions() {\n return this._socket.extensions;\n }\n get protocol() {\n return this._socket.protocol;\n }\n get binaryType() {\n return this._socket.binaryType;\n }\n set binaryType(value) {\n this._socket.binaryType = value;\n }\n CONNECTING = 0;\n OPEN = 1;\n CLOSING = 2;\n CLOSED = 3;\n static CONNECTING = 0;\n static OPEN = 1;\n static CLOSING = 2;\n static CLOSED = 3;\n get onclose() {\n return this._socket.onclose;\n }\n set onclose(value) {\n this._socket.onclose = value;\n }\n get onerror() {\n return this._socket.onerror;\n }\n set onerror(value) {\n this._socket.onerror = value;\n }\n get onmessage() {\n return this._socket.onmessage;\n }\n set onmessage(value) {\n this._socket.onmessage = value;\n }\n get onopen() {\n return this._socket.onopen;\n }\n set onopen(value) {\n this._socket.onopen = value;\n }\n /**\n * @param permanently - If `true`, the connection will be permanently closed. Default is `true`.\n */\n close(code, reason, permanently = true) {\n this._socket.close(code, reason);\n if (permanently)\n this._cleanup(\"USER_INITIATED_CLOSE\");\n }\n /**\n * @param signal - `AbortSignal` to cancel sending a message if it was in the buffer.\n * @note If the connection is not open, the data will be buffered and sent when the connection is established.\n */\n send(data, signal) {\n if (signal?.aborted)\n return;\n if (this._socket.readyState !== ReconnectingWebSocket.OPEN && !this.reconnectAbortController.signal.aborted) {\n this.reconnectOptions.messageBuffer.push(data, signal);\n }\n else {\n this._socket.send(data);\n }\n }\n addEventListener(type, listener, options) {\n // Wrap the listener to handle reconnection\n let listenerProxy;\n if (this.reconnectAbortController.signal.aborted) {\n // If the instance is terminated, use the original listener\n listenerProxy = listener;\n }\n else {\n // Check if the listener is already registered\n const index = this._listeners.findIndex((e) => listenersMatch(e, { type, listener, options }));\n if (index !== -1) {\n // Use the existing listener proxy\n listenerProxy = this._listeners[index].listenerProxy;\n }\n else {\n // Wrap the original listener to follow the once option when reconnecting\n listenerProxy = (event) => {\n try {\n if (typeof listener === \"function\") {\n listener.call(this, event);\n }\n else {\n listener.handleEvent(event);\n }\n }\n finally {\n // If the listener is marked as once, remove it after the first invocation\n if (typeof options === \"object\" && options.once === true) {\n const index = this._listeners.findIndex((e) => listenersMatch(e, { type, listener, options }));\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n }\n };\n this._listeners.push({ type, listener, options, listenerProxy });\n }\n }\n // Add the wrapped (or original) listener\n this._socket.addEventListener(type, listenerProxy, options);\n }\n removeEventListener(type, listener, options) {\n // Remove a wrapped listener, not an original listener\n const index = this._listeners.findIndex((e) => listenersMatch(e, { type, listener, options }));\n if (index !== -1) {\n const { listenerProxy } = this._listeners[index];\n this._socket.removeEventListener(type, listenerProxy, options);\n this._listeners.splice(index, 1);\n }\n else {\n // If the wrapped listener is not found, remove the original listener\n this._socket.removeEventListener(type, listener, options);\n }\n }\n dispatchEvent(event) {\n return this._socket.dispatchEvent(event);\n }\n}\n/** Check if two event listeners are the same (just like EventTarget). */\nfunction listenersMatch(a, b) {\n // EventTarget only compares capture in options, even if one is an object and the other is boolean\n const aCapture = Boolean(typeof a.options === \"object\" ? a.options.capture : a.options);\n const bCapture = Boolean(typeof b.options === \"object\" ? b.options.capture : b.options);\n return a.type === b.type && a.listener === b.listener && aCapture === bCapture;\n}\n","export class TypedEventTarget extends EventTarget {\n /**\n * Dispatches a synthetic event event to target and returns true if either\n * event's cancelable attribute value is false or its preventDefault() method\n * was not invoked, and false otherwise.\n */\n dispatchTypedEvent(_type, event) {\n return super.dispatchEvent(event);\n }\n}\n","import { TypedEventTarget } from \"../../../deps/jsr.io/@derzade/typescript-event-target/1.1.1/mod.js\";\n/** Listens for WebSocket messages and sends them as Hyperliquid typed events. */\nexport class HyperliquidEventTarget extends TypedEventTarget {\n constructor(socket) {\n super();\n socket.addEventListener(\"message\", (event) => {\n try {\n const msg = JSON.parse(event.data);\n if (isHyperliquidMsg(msg)) {\n this.dispatchEvent(new CustomEvent(msg.channel, { detail: msg.data }));\n }\n else if (isExplorerBlockMsg(msg)) {\n this.dispatchEvent(new CustomEvent(\"_explorerBlock\", { detail: msg }));\n }\n else if (isExplorerTxsMsg(msg)) {\n this.dispatchEvent(new CustomEvent(\"_explorerTxs\", { detail: msg }));\n }\n }\n catch {\n // Ignore JSON parsing errors\n }\n });\n }\n}\n/** Type guard for Hyperliquid messages. */\nfunction isHyperliquidMsg(value) {\n return typeof value === \"object\" && value !== null &&\n \"channel\" in value && typeof value.channel === \"string\";\n}\n/** Type guard for explorer block messages. */\nfunction isExplorerBlockMsg(value) {\n return Array.isArray(value) && value.length > 0 &&\n (typeof value[0] === \"object\" && value[0] !== null && !Array.isArray(value[0]) &&\n \"height\" in value[0] && typeof value[0].height === \"number\" &&\n \"blockTime\" in value[0] && typeof value[0].blockTime === \"number\" &&\n \"hash\" in value[0] && typeof value[0].hash === \"string\" &&\n \"proposer\" in value[0] && typeof value[0].proposer === \"string\" &&\n \"numTxs\" in value[0] && typeof value[0].numTxs === \"number\");\n}\n/** Type guard for explorer transactions messages. */\nfunction isExplorerTxsMsg(value) {\n return Array.isArray(value) && value.length > 0 &&\n (typeof value[0] === \"object\" && value[0] !== null && !Array.isArray(value[0]) &&\n \"action\" in value[0] && typeof value[0].action === \"object\" && value[0].action !== null &&\n \"block\" in value[0] && typeof value[0].block === \"number\" &&\n \"error\" in value[0] && (typeof value[0].error === \"string\" || value[0].error === null) &&\n \"hash\" in value[0] && typeof value[0].hash === \"string\" &&\n \"time\" in value[0] && typeof value[0].time === \"number\" &&\n \"user\" in value[0] && typeof value[0].user === \"string\");\n}\n","import { TransportError } from \"../base.js\";\n/**\n * Error thrown when a WebSocket request fails:\n * - When the WebSocket connection is closed\n * - When the server responds with an error message\n */\nexport class WebSocketRequestError extends TransportError {\n constructor(message) {\n super(message);\n this.name = \"WebSocketRequestError\";\n }\n}\n/**\n * Manages WebSocket requests to the Hyperliquid API.\n * Handles request creation, sending, and mapping responses to their corresponding requests.\n */\nexport class WebSocketAsyncRequest {\n socket;\n lastId = 0;\n queue = [];\n lastRequestTime = 0;\n /**\n * Creates a new WebSocket async request handler.\n * @param socket - WebSocket connection instance for sending requests to the Hyperliquid WebSocket API\n * @param hlEvents - Used to recognize Hyperliquid responses and match them with sent requests\n */\n constructor(socket, hlEvents) {\n this.socket = socket;\n // Monitor responses and match the pending request\n hlEvents.addEventListener(\"subscriptionResponse\", (event) => {\n // Use a stringified request as an id\n const id = WebSocketAsyncRequest.requestToId(event.detail);\n this.queue.findLast((item) => item.id === id)?.resolve(event.detail);\n });\n hlEvents.addEventListener(\"post\", (event) => {\n const data = event.detail.response.type === \"info\"\n ? event.detail.response.payload.data\n : event.detail.response.payload;\n this.queue.findLast((item) => item.id === event.detail.id)?.resolve(data);\n });\n hlEvents.addEventListener(\"pong\", () => {\n this.queue.findLast((item) => item.id === \"ping\")?.resolve();\n });\n hlEvents.addEventListener(\"error\", (event) => {\n try {\n // Error event doesn't have an id, use original request to match\n const request = event.detail.match(/{.*}/)?.[0];\n if (!request)\n return;\n const parsedRequest = JSON.parse(request);\n // For `post` requests\n if (\"id\" in parsedRequest && typeof parsedRequest.id === \"number\") {\n this.queue.findLast((item) => item.id === parsedRequest.id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));\n return;\n }\n // For `subscribe` and `unsubscribe` requests\n if (\"subscription\" in parsedRequest &&\n typeof parsedRequest.subscription === \"object\" && parsedRequest.subscription !== null) {\n const id = WebSocketAsyncRequest.requestToId(parsedRequest);\n this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));\n return;\n }\n // For already/invalid subscribed requests\n if (event.detail.startsWith(\"Already subscribed\") || event.detail.startsWith(\"Invalid subscription\")) {\n const id = WebSocketAsyncRequest.requestToId({\n method: \"subscribe\",\n subscription: parsedRequest,\n });\n this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));\n return;\n }\n // For already unsubscribed requests\n if (event.detail.startsWith(\"Already unsubscribed\")) {\n const id = WebSocketAsyncRequest.requestToId({\n method: \"unsubscribe\",\n subscription: parsedRequest,\n });\n this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));\n return;\n }\n // For unknown requests\n const id = WebSocketAsyncRequest.requestToId(parsedRequest);\n this.queue.findLast((item) => item.id === id)?.reject(new WebSocketRequestError(`Cannot complete WebSocket request: ${event.detail}`));\n }\n catch {\n // Ignore JSON parsing errors\n }\n });\n // Throws all pending requests if the connection is dropped\n socket.addEventListener(\"close\", () => {\n this.queue.forEach(({ reject }) => {\n reject(new WebSocketRequestError(\"Cannot complete WebSocket request: connection is closed\"));\n });\n this.queue = [];\n });\n }\n async request(method, payload_or_signal, maybeSignal) {\n const payload = payload_or_signal instanceof AbortSignal ? undefined : payload_or_signal;\n const signal = payload_or_signal instanceof AbortSignal ? payload_or_signal : maybeSignal;\n // Reject the request if the signal is aborted\n if (signal?.aborted)\n return Promise.reject(signal.reason);\n // Create a request\n let id;\n let request;\n if (method === \"post\") {\n id = ++this.lastId;\n request = { method, id, request: payload };\n }\n else if (method === \"ping\") {\n id = \"ping\";\n request = { method };\n }\n else {\n request = { method, subscription: payload };\n id = WebSocketAsyncRequest.requestToId(request);\n }\n // Send the request\n this.socket.send(JSON.stringify(request), signal);\n this.lastRequestTime = Date.now();\n // Wait for a response\n const { promise, resolve, reject } = Promise.withResolvers();\n this.queue.push({ id, resolve, reject });\n const onAbort = () => reject(signal?.reason);\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n return await promise.finally(() => {\n const index = this.queue.findLastIndex((item) => item.id === id);\n if (index !== -1)\n this.queue.splice(index, 1);\n signal?.removeEventListener(\"abort\", onAbort);\n });\n }\n /** Normalizes an object and then converts it to a string. */\n static requestToId(value) {\n const lowerHex = containsUppercaseHex(value) ? deepLowerHex(value) : value;\n const sorted = deepSortKeys(lowerHex);\n return JSON.stringify(sorted); // Also removes undefined\n }\n}\n/** Deeply converts hexadecimal strings in an object/array to lowercase. */\nfunction deepLowerHex(obj) {\n if (typeof obj === \"string\") {\n return /^(0X[0-9a-fA-F]*|0x[0-9a-fA-F]*[A-F][0-9a-fA-F]*)$/.test(obj) ? obj.toLowerCase() : obj;\n }\n if (Array.isArray(obj)) {\n return obj.map(deepLowerHex);\n }\n if (typeof obj === \"object\" && obj !== null) {\n const result = {};\n const entries = Object.entries(obj);\n for (const [key, value] of entries) {\n result[key] = deepLowerHex(value);\n }\n return result;\n }\n return obj;\n}\n/** Check if an object contains uppercase hexadecimal strings. */\nfunction containsUppercaseHex(obj) {\n const str = JSON.stringify(obj);\n return /0X[0-9a-fA-F]*|0x[0-9a-fA-F]*[A-F][0-9a-fA-F]*/.test(str);\n}\n/** Deeply sort the keys of an object. */\nfunction deepSortKeys(obj) {\n if (typeof obj !== \"object\" || obj === null) {\n return obj;\n }\n if (Array.isArray(obj)) {\n return obj.map(deepSortKeys);\n }\n const result = {};\n const keys = Object.keys(obj).sort();\n for (const key of keys) {\n result[key] = deepSortKeys(obj[key]);\n }\n return result;\n}\n","import { ReconnectingWebSocket, ReconnectingWebSocketError, } from \"./_reconnecting_websocket.js\";\nimport { HyperliquidEventTarget } from \"./_hyperliquid_event_target.js\";\nimport { WebSocketAsyncRequest, WebSocketRequestError } from \"./_websocket_async_request.js\";\nexport { WebSocketRequestError };\nexport { ReconnectingWebSocketError };\n/** WebSocket implementation of the REST and Subscription transport interfaces. */\nexport class WebSocketTransport {\n _wsRequester;\n _hlEvents;\n _keepAliveTimeout = null;\n _subscriptions = new Map();\n _isReconnecting = false;\n /**\n * Request timeout in ms.\n * Set to `null` to disable.\n */\n timeout;\n /** Keep-alive configuration. */\n keepAlive;\n /** Enable automatic resubscription after reconnection. */\n autoResubscribe;\n /** The WebSocket that is used for communication. */\n socket;\n /**\n * Creates a new WebSocket transport instance.\n * @param options - Configuration options for the WebSocket transport layer.\n */\n constructor(options) {\n this.socket = new ReconnectingWebSocket(options?.url ?? \"wss://api.hyperliquid.xyz/ws\", undefined, options?.reconnect);\n this._hlEvents = new HyperliquidEventTarget(this.socket);\n this._wsRequester = new WebSocketAsyncRequest(this.socket, this._hlEvents);\n this.timeout = options?.timeout === undefined ? 10_000 : options.timeout;\n this.keepAlive = {\n interval: options?.keepAlive?.interval === undefined ? 30_000 : options.keepAlive?.interval,\n timeout: options?.keepAlive?.timeout === undefined ? this.timeout : options.keepAlive?.timeout,\n };\n this.autoResubscribe = options?.autoResubscribe ?? true;\n // Initialize listeners\n this.socket.addEventListener(\"open\", () => {\n this._keepAliveStart();\n this._resubscribeStart();\n });\n this.socket.addEventListener(\"close\", () => {\n this._keepAliveStop();\n this._resubscribeStop();\n this._isReconnecting = true;\n });\n }\n /**\n * Sends a request to the Hyperliquid API via WebSocket.\n *\n * Note: Explorer requests are not supported in the Hyperliquid WebSocket API.\n *\n * @param endpoint - The API endpoint to send the request to (`explorer` requests are not supported).\n * @param payload - The payload to send with the request.\n * @param signal - An optional abort signal.\n * @returns A promise that resolves with parsed JSON response body.\n * @throws {WebSocketRequestError} - An error that occurs when a WebSocket request fails.\n */\n request(type, payload, signal) {\n const timeoutSignal = this.timeout ? AbortSignal.timeout(this.timeout) : undefined;\n const combinedSignal = signal && timeoutSignal\n ? AbortSignal.any([signal, timeoutSignal])\n : signal ?? timeoutSignal;\n return this._wsRequester.request(\"post\", {\n type: type === \"exchange\" ? \"action\" : type,\n payload,\n }, combinedSignal);\n }\n /**\n * Subscribes to a Hyperliquid event channel.\n *\n * Sends a subscription request to the server and listens for events.\n *\n * @param channel - The event channel to listen to.\n * @param payload - A payload to send with the subscription request.\n * @param listener - A function to call when the event is dispatched.\n * @returns A promise that resolves with a {@link Subscription} object to manage the subscription lifecycle.\n * @throws {WebSocketRequestError} - An error that occurs when a WebSocket request fails.\n */\n async subscribe(channel, payload, listener) {\n // Create a unique identifier for the subscription\n const id = WebSocketAsyncRequest.requestToId(payload);\n // Initialize new subscription, if it doesn't exist\n let subscription = this._subscriptions.get(id);\n if (!subscription) {\n // Send subscription request\n const promise = this._wsRequester.request(\"subscribe\", payload);\n // Cache subscription info\n subscription = {\n listeners: new Map(),\n promise,\n resubscribeAbortController: new AbortController(),\n };\n this._subscriptions.set(id, subscription);\n }\n // Initialize new listener, if it doesn't exist\n let unsubscribe = subscription.listeners.get(listener);\n if (!unsubscribe) {\n // Create new unsubscribe function\n unsubscribe = async () => {\n // Remove listener and cleanup\n this._hlEvents.removeEventListener(channel, listener);\n const subscription = this._subscriptions.get(id);\n subscription?.listeners.delete(listener);\n // If no listeners remain, remove subscription entirely\n if (subscription?.listeners.size === 0) {\n // Cleanup subscription\n this._subscriptions.delete(id);\n // If the socket is open, send unsubscription request\n if (this.socket.readyState === ReconnectingWebSocket.OPEN) {\n await this._wsRequester.request(\"unsubscribe\", payload);\n }\n }\n };\n // Add listener and cache unsubscribe function\n this._hlEvents.addEventListener(channel, listener);\n subscription.listeners.set(listener, unsubscribe);\n }\n // Wait for the initial subscription request to complete\n await subscription.promise;\n // Return subscription control object\n return {\n unsubscribe,\n resubscribeSignal: subscription.resubscribeAbortController?.signal,\n };\n }\n /**\n * Waits until the WebSocket connection is ready.\n * @param signal - An optional abort signal.\n * @returns A promise that resolves when the connection is ready.\n */\n ready(signal) {\n return new Promise((resolve, reject) => {\n const combinedSignal = signal\n ? AbortSignal.any([this.socket.reconnectAbortController.signal, signal])\n : this.socket.reconnectAbortController.signal;\n if (combinedSignal.aborted)\n return reject(combinedSignal.reason);\n if (this.socket.readyState === ReconnectingWebSocket.OPEN)\n return resolve();\n const handleOpen = () => {\n combinedSignal.removeEventListener(\"abort\", handleAbort);\n resolve();\n };\n const handleAbort = () => {\n this.socket.removeEventListener(\"open\", handleOpen);\n reject(combinedSignal.reason);\n };\n this.socket.addEventListener(\"open\", handleOpen, { once: true });\n combinedSignal.addEventListener(\"abort\", handleAbort, { once: true });\n });\n }\n /**\n * Closes the WebSocket connection and waits until it is fully closed.\n * @param signal - An optional abort signal.\n * @returns A promise that resolves when the connection is fully closed.\n */\n close(signal) {\n return new Promise((resolve, reject) => {\n if (signal?.aborted)\n return reject(signal.reason);\n if (this.socket.readyState === ReconnectingWebSocket.CLOSED)\n return resolve();\n const handleClose = () => {\n signal?.removeEventListener(\"abort\", handleAbort);\n resolve();\n };\n const handleAbort = () => {\n this.socket.removeEventListener(\"close\", handleClose);\n reject(signal?.reason);\n };\n this.socket.addEventListener(\"close\", handleClose, { once: true });\n signal?.addEventListener(\"abort\", handleAbort, { once: true });\n this.socket.close();\n });\n }\n /** Keep the connection alive. Sends ping only when necessary. */\n _keepAliveStart() {\n if (this.keepAlive.interval === null || this._keepAliveTimeout)\n return;\n const tick = async () => {\n if (this.socket.readyState !== ReconnectingWebSocket.OPEN || !this._keepAliveTimeout ||\n this.keepAlive.interval === null)\n return;\n // Check if the last request was sent more than the keep-alive interval ago\n if (Date.now() - this._wsRequester.lastRequestTime >= this.keepAlive.interval) {\n const timeoutSignal = this.keepAlive.timeout ? AbortSignal.timeout(this.keepAlive.timeout) : undefined;\n await this._wsRequester.request(\"ping\", timeoutSignal)\n .catch(() => undefined); // Ignore errors\n }\n // Schedule the next ping\n if (this.socket.readyState === ReconnectingWebSocket.OPEN && this._keepAliveTimeout &&\n this.keepAlive.interval !== null) {\n const nextDelay = this.keepAlive.interval - (Date.now() - this._wsRequester.lastRequestTime);\n this._keepAliveTimeout = setTimeout(tick, nextDelay);\n }\n };\n this._keepAliveTimeout = setTimeout(tick, this.keepAlive.interval);\n }\n _keepAliveStop() {\n if (this._keepAliveTimeout !== null) {\n clearTimeout(this._keepAliveTimeout);\n this._keepAliveTimeout = null;\n }\n }\n /** Resubscribe to all existing subscriptions if auto-resubscribe is enabled. */\n _resubscribeStart() {\n if (this.autoResubscribe && this._isReconnecting) {\n for (const [id, subscriptionInfo] of this._subscriptions.entries()) {\n subscriptionInfo.promise = this._wsRequester.request(\"subscribe\", JSON.parse(id))\n .catch((error) => {\n subscriptionInfo.resubscribeAbortController?.abort(error);\n });\n }\n }\n }\n _resubscribeStop() {\n if (!this.autoResubscribe || this.socket.reconnectAbortController.signal.aborted) {\n for (const subscriptionInfo of this._subscriptions.values()) {\n for (const [_, unsubscribe] of subscriptionInfo.listeners) {\n unsubscribe(); // does not cause an error if used when the connection is closed\n }\n }\n }\n }\n async [Symbol.asyncDispose]() {\n await this.close();\n }\n}\n","import * as hl from '@nktkas/hyperliquid';\n\ninterface OptimizedAssetData {\n universe: hl.PerpsUniverse;\n assetCtx: hl.PerpsAssetCtx;\n index: number;\n}\n\nexport interface AllAssetInformation {\n universe: hl.PerpsUniverse;\n assetsCtx: hl.PerpsAssetCtx;\n}\n\n/**\n * Hyperliquid service client for direct API communication\n */\nexport class HyperliquidService {\n private infoClient: hl.InfoClient;\n private subsClient?: hl.SubscriptionClient;\n private wsTransport?: hl.WebSocketTransport;\n \n // Market data\n private allMidsData: hl.WsAllMids | null = null;\n private webData2: hl.WsWebData2 | null = null;\n \n // Optimized caches\n private assetBySymbol: Map<string, OptimizedAssetData> = new Map();\n private allAssetsCache: AllAssetInformation[] | null = null;\n\n constructor(\n wsUrl = 'wss://api.hyperliquid.xyz/ws',\n isTestnet = false\n ) {\n // Initialize HTTP client\n this.infoClient = new hl.InfoClient({\n transport: new hl.HttpTransport(),\n });\n \n // Initialize WebSocket if URL provided\n if (wsUrl) {\n this.initializeWebSocket(wsUrl);\n }\n }\n\n private initializeWebSocket(wsUrl: string): void {\n this.wsTransport = new hl.WebSocketTransport({\n url: wsUrl,\n });\n this.subsClient = new hl.SubscriptionClient({ transport: this.wsTransport });\n\n // Subscribe to all mids for real-time price data\n this.subsClient.allMids((data) => {\n this.allMidsData = data;\n });\n\n // Subscribe to web data for asset information\n // Will be updated when address is set via updateUserAddress method\n }\n\n /**\n * Refresh asset cache when webData2 updates\n */\n private refreshAssetCache(): void {\n if (!this.webData2?.meta.universe || !this.webData2?.assetCtxs) return;\n\n this.assetBySymbol.clear();\n this.allAssetsCache = null;\n\n // Build optimized lookup map\n this.webData2.meta.universe.forEach((universe, index) => {\n const assetCtx = this.webData2!.assetCtxs[index];\n if (assetCtx) {\n this.assetBySymbol.set(universe.name, {\n universe,\n assetCtx,\n index\n });\n }\n });\n }\n\n /**\n * Get asset information by symbol - O(1) lookup\n */\n getAssetInfo(symbol: string): hl.PerpsUniverse | null {\n return this.assetBySymbol.get(symbol)?.universe || null;\n }\n\n /**\n * Get asset context by symbol - O(1) lookup\n */\n getAssetCtx(symbol: string): hl.PerpsAssetCtx | null {\n return this.assetBySymbol.get(symbol)?.assetCtx || null;\n }\n\n /**\n * Get asset index by symbol - O(1) lookup\n */\n getAssetIndex(symbol: string): number | null {\n const data = this.assetBySymbol.get(symbol);\n return data ? data.index : null;\n }\n\n /**\n * Get all assets with caching\n */\n getAllAssets(): AllAssetInformation[] {\n if (this.allAssetsCache) {\n return this.allAssetsCache;\n }\n\n this.allAssetsCache = Array.from(this.assetBySymbol.values()).map(data => ({\n universe: data.universe,\n assetsCtx: data.assetCtx,\n }));\n\n return this.allAssetsCache;\n }\n\n /**\n * Get current market price for an asset\n */\n getMarketPrice(symbol: string): number {\n return parseFloat(this.allMidsData?.mids[symbol] || '0');\n }\n\n /**\n * Get optimal decimal places for an asset\n */\n getOptimalDecimal(symbol: string): number {\n const asset = this.getAssetInfo(symbol);\n return asset ? asset.szDecimals : 8;\n }\n\n /**\n * Get user's open positions from Hyperliquid\n */\n async getUserPositions(address: string): Promise<hl.AssetPosition[]> {\n try {\n const state = await this.infoClient.clearinghouseState({ \n user: address as `0x${string}` \n });\n return state.assetPositions || [];\n } catch (error) {\n console.error('Failed to get user positions:', error);\n return [];\n }\n }\n\n /**\n * Get user's account summary from Hyperliquid\n */\n async getAccountSummary(address: string): Promise<hl.PerpsClearinghouseState | null> {\n try {\n return await this.infoClient.clearinghouseState({ \n user: address as `0x${string}` \n });\n } catch (error) {\n console.error('Failed to get account summary:', error);\n return null;\n }\n }\n\n /**\n * Get user's open orders from Hyperliquid\n */\n async getUserOrders(address: string): Promise<any[]> {\n try {\n return await this.infoClient.openOrders({ \n user: address as `0x${string}` \n });\n } catch (error) {\n console.error('Failed to get user orders:', error);\n return [];\n }\n }\n\n /**\n * Update the user address for webData2 subscription\n */\n updateUserAddress(address: string | null): void {\n if (this.subsClient && address) {\n // Subscribe to webData2 with the new address\n this.subsClient.webData2({\n user: address as `0x${string}`,\n }, (data) => {\n this.webData2 = data;\n this.refreshAssetCache();\n });\n }\n }\n\n /**\n * Get the info client instance\n */\n getInfoClient(): hl.InfoClient {\n return this.infoClient;\n }\n\n /**\n * Check if WebSocket is connected\n */\n isWebSocketConnected(): boolean {\n return !!this.subsClient && !!this.wsTransport;\n }\n\n /**\n * Clean up resources\n */\n async cleanup(): Promise<void> {\n if (this.wsTransport && this.wsTransport.close) {\n await this.wsTransport.close();\n }\n \n this.assetBySymbol.clear();\n this.allAssetsCache = null;\n this.allMidsData = null;\n this.webData2 = null;\n }\n}","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEventSourceSupported = exports.isReactNative = exports.ReadyState = exports.DEFAULT_HEARTBEAT = exports.UNPARSABLE_JSON_OBJECT = exports.DEFAULT_RECONNECT_INTERVAL_MS = exports.DEFAULT_RECONNECT_LIMIT = exports.SOCKET_IO_PING_CODE = exports.SOCKET_IO_PATH = exports.SOCKET_IO_PING_INTERVAL = exports.DEFAULT_EVENT_SOURCE_OPTIONS = exports.EMPTY_EVENT_HANDLERS = exports.DEFAULT_OPTIONS = void 0;\nvar MILLISECONDS = 1;\nvar SECONDS = 1000 * MILLISECONDS;\nexports.DEFAULT_OPTIONS = {};\nexports.EMPTY_EVENT_HANDLERS = {};\nexports.DEFAULT_EVENT_SOURCE_OPTIONS = {\n withCredentials: false,\n events: exports.EMPTY_EVENT_HANDLERS,\n};\nexports.SOCKET_IO_PING_INTERVAL = 25 * SECONDS;\nexports.SOCKET_IO_PATH = '/socket.io/?EIO=3&transport=websocket';\nexports.SOCKET_IO_PING_CODE = '2';\nexports.DEFAULT_RECONNECT_LIMIT = 20;\nexports.DEFAULT_RECONNECT_INTERVAL_MS = 5000;\nexports.UNPARSABLE_JSON_OBJECT = {};\nexports.DEFAULT_HEARTBEAT = {\n message: 'ping',\n timeout: 60000,\n interval: 25000,\n};\nvar ReadyState;\n(function (ReadyState) {\n ReadyState[ReadyState[\"UNINSTANTIATED\"] = -1] = \"UNINSTANTIATED\";\n ReadyState[ReadyState[\"CONNECTING\"] = 0] = \"CONNECTING\";\n ReadyState[ReadyState[\"OPEN\"] = 1] = \"OPEN\";\n ReadyState[ReadyState[\"CLOSING\"] = 2] = \"CLOSING\";\n ReadyState[ReadyState[\"CLOSED\"] = 3] = \"CLOSED\";\n})(ReadyState || (exports.ReadyState = ReadyState = {}));\nvar eventSourceSupported = function () {\n try {\n return 'EventSource' in globalThis;\n }\n catch (e) {\n return false;\n }\n};\nexports.isReactNative = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';\nexports.isEventSourceSupported = !exports.isReactNative && eventSourceSupported();\n//# sourceMappingURL=constants.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetWebSockets = exports.sharedWebSockets = void 0;\nexports.sharedWebSockets = {};\nvar resetWebSockets = function (url) {\n if (url && exports.sharedWebSockets.hasOwnProperty(url)) {\n delete exports.sharedWebSockets[url];\n }\n else {\n for (var url_1 in exports.sharedWebSockets) {\n if (exports.sharedWebSockets.hasOwnProperty(url_1)) {\n delete exports.sharedWebSockets[url_1];\n }\n }\n }\n};\nexports.resetWebSockets = resetWebSockets;\n//# sourceMappingURL=globals.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.setUpSocketIOPing = exports.appendQueryParams = exports.parseSocketIOUrl = void 0;\nvar constants_1 = require(\"./constants\");\nvar parseSocketIOUrl = function (url) {\n if (url) {\n var isSecure = /^https|wss/.test(url);\n var strippedProtocol = url.replace(/^(https?|wss?)(:\\/\\/)?/, '');\n var removedFinalBackSlack = strippedProtocol.replace(/\\/$/, '');\n var protocol = isSecure ? 'wss' : 'ws';\n return \"\".concat(protocol, \"://\").concat(removedFinalBackSlack).concat(constants_1.SOCKET_IO_PATH);\n }\n else if (url === '') {\n var isSecure = /^https/.test(window.location.protocol);\n var protocol = isSecure ? 'wss' : 'ws';\n var port = window.location.port ? \":\".concat(window.location.port) : '';\n return \"\".concat(protocol, \"://\").concat(window.location.hostname).concat(port).concat(constants_1.SOCKET_IO_PATH);\n }\n return url;\n};\nexports.parseSocketIOUrl = parseSocketIOUrl;\nvar appendQueryParams = function (url, params) {\n if (params === void 0) { params = {}; }\n var hasParamsRegex = /\\?([\\w]+=[\\w]+)/;\n var alreadyHasParams = hasParamsRegex.test(url);\n var stringified = \"\".concat(Object.entries(params).reduce(function (next, _a) {\n var key = _a[0], value = _a[1];\n return next + \"\".concat(key, \"=\").concat(value, \"&\");\n }, '').slice(0, -1));\n return \"\".concat(url).concat(alreadyHasParams ? '&' : '?').concat(stringified);\n};\nexports.appendQueryParams = appendQueryParams;\nvar setUpSocketIOPing = function (sendMessage, interval) {\n if (interval === void 0) { interval = constants_1.SOCKET_IO_PING_INTERVAL; }\n var ping = function () { return sendMessage(constants_1.SOCKET_IO_PING_CODE); };\n return window.setInterval(ping, interval);\n};\nexports.setUpSocketIOPing = setUpSocketIOPing;\n//# sourceMappingURL=socket-io.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.heartbeat = heartbeat;\nvar constants_1 = require(\"./constants\");\nfunction getLastMessageTime(lastMessageTime) {\n if (Array.isArray(lastMessageTime)) {\n return lastMessageTime.reduce(function (p, c) { return (p.current > c.current) ? p : c; }).current;\n }\n return lastMessageTime.current;\n}\nfunction heartbeat(ws, lastMessageTime, options) {\n var _a = options || {}, _b = _a.interval, interval = _b === void 0 ? constants_1.DEFAULT_HEARTBEAT.interval : _b, _c = _a.timeout, timeout = _c === void 0 ? constants_1.DEFAULT_HEARTBEAT.timeout : _c, _d = _a.message, message = _d === void 0 ? constants_1.DEFAULT_HEARTBEAT.message : _d;\n // how often check interval between ping messages\n // minimum is 100ms\n // maximum is ${interval / 10}ms\n var intervalCheck = Math.max(100, interval / 10);\n var lastPingSentAt = Date.now();\n var heartbeatInterval = setInterval(function () {\n var timeNow = Date.now();\n var lastMessageReceivedAt = getLastMessageTime(lastMessageTime);\n if (lastMessageReceivedAt + timeout <= timeNow) {\n console.warn(\"Heartbeat timed out, closing connection, last message received \".concat(timeNow - lastMessageReceivedAt, \"ms ago, last ping sent \").concat(timeNow - lastPingSentAt, \"ms ago\"));\n ws.close();\n }\n else {\n if (lastMessageReceivedAt + interval <= timeNow && lastPingSentAt + interval <= timeNow) {\n try {\n if (typeof message === 'function') {\n ws.send(message());\n }\n else {\n ws.send(message);\n }\n lastPingSentAt = timeNow;\n }\n catch (err) {\n console.error(\"Heartbeat failed, closing connection\", err instanceof Error ? err.message : err);\n ws.close();\n }\n }\n }\n }, intervalCheck);\n ws.addEventListener(\"close\", function () {\n clearInterval(heartbeatInterval);\n });\n return function () { };\n}\n//# sourceMappingURL=heartbeat.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetSubscribers = exports.removeSubscriber = exports.addSubscriber = exports.hasSubscribers = exports.getSubscribers = void 0;\nvar subscribers = {};\nvar EMPTY_LIST = [];\nvar getSubscribers = function (url) {\n if ((0, exports.hasSubscribers)(url)) {\n return Array.from(subscribers[url]);\n }\n return EMPTY_LIST;\n};\nexports.getSubscribers = getSubscribers;\nvar hasSubscribers = function (url) {\n var _a;\n return ((_a = subscribers[url]) === null || _a === void 0 ? void 0 : _a.size) > 0;\n};\nexports.hasSubscribers = hasSubscribers;\nvar addSubscriber = function (url, subscriber) {\n subscribers[url] = subscribers[url] || new Set();\n subscribers[url].add(subscriber);\n};\nexports.addSubscriber = addSubscriber;\nvar removeSubscriber = function (url, subscriber) {\n subscribers[url].delete(subscriber);\n};\nexports.removeSubscriber = removeSubscriber;\nvar resetSubscribers = function (url) {\n if (url && subscribers.hasOwnProperty(url)) {\n delete subscribers[url];\n }\n else {\n for (var url_1 in subscribers) {\n if (subscribers.hasOwnProperty(url_1)) {\n delete subscribers[url_1];\n }\n }\n }\n};\nexports.resetSubscribers = resetSubscribers;\n//# sourceMappingURL=manage-subscribers.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertIsWebSocket = assertIsWebSocket;\nexports.resetGlobalState = resetGlobalState;\nvar globals_1 = require(\"./globals\");\nvar manage_subscribers_1 = require(\"./manage-subscribers\");\nfunction assertIsWebSocket(webSocketInstance, skip) {\n if (!skip && webSocketInstance instanceof WebSocket === false)\n throw new Error('');\n}\n;\nfunction resetGlobalState(url) {\n (0, manage_subscribers_1.resetSubscribers)(url);\n (0, globals_1.resetWebSockets)(url);\n}\n;\n//# sourceMappingURL=util.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attachListeners = void 0;\nvar socket_io_1 = require(\"./socket-io\");\nvar heartbeat_1 = require(\"./heartbeat\");\nvar constants_1 = require(\"./constants\");\nvar util_1 = require(\"./util\");\nvar bindMessageHandler = function (webSocketInstance, optionsRef, setLastMessage, lastMessageTime) {\n webSocketInstance.onmessage = function (message) {\n var _a;\n optionsRef.current.onMessage && optionsRef.current.onMessage(message);\n if (typeof (lastMessageTime === null || lastMessageTime === void 0 ? void 0 : lastMessageTime.current) === 'number') {\n lastMessageTime.current = Date.now();\n }\n if (typeof optionsRef.current.filter === 'function' && optionsRef.current.filter(message) !== true) {\n return;\n }\n if (optionsRef.current.heartbeat &&\n typeof optionsRef.current.heartbeat !== \"boolean\" &&\n ((_a = optionsRef.current.heartbeat) === null || _a === void 0 ? void 0 : _a.returnMessage) === message.data) {\n return;\n }\n setLastMessage(message);\n };\n};\nvar bindOpenHandler = function (webSocketInstance, optionsRef, setReadyState, reconnectCount, lastMessageTime) {\n webSocketInstance.onopen = function (event) {\n optionsRef.current.onOpen && optionsRef.current.onOpen(event);\n reconnectCount.current = 0;\n setReadyState(constants_1.ReadyState.OPEN);\n //start heart beat here\n if (optionsRef.current.heartbeat && webSocketInstance instanceof WebSocket) {\n var heartbeatOptions = typeof optionsRef.current.heartbeat === \"boolean\"\n ? undefined\n : optionsRef.current.heartbeat;\n lastMessageTime.current = Date.now();\n (0, heartbeat_1.heartbeat)(webSocketInstance, lastMessageTime, heartbeatOptions);\n }\n };\n};\nvar bindCloseHandler = function (webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount) {\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n return function () { };\n }\n (0, util_1.assertIsWebSocket)(webSocketInstance, optionsRef.current.skipAssert);\n var reconnectTimeout;\n webSocketInstance.onclose = function (event) {\n var _a;\n optionsRef.current.onClose && optionsRef.current.onClose(event);\n setReadyState(constants_1.ReadyState.CLOSED);\n if (optionsRef.current.shouldReconnect && optionsRef.current.shouldReconnect(event)) {\n var reconnectAttempts = (_a = optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT;\n if (reconnectCount.current < reconnectAttempts) {\n var nextReconnectInterval = typeof optionsRef.current.reconnectInterval === 'function' ?\n optionsRef.current.reconnectInterval(reconnectCount.current) :\n optionsRef.current.reconnectInterval;\n reconnectTimeout = window.setTimeout(function () {\n reconnectCount.current++;\n reconnect();\n }, nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS);\n }\n else {\n optionsRef.current.onReconnectStop && optionsRef.current.onReconnectStop(reconnectAttempts);\n console.warn(\"Max reconnect attempts of \".concat(reconnectAttempts, \" exceeded\"));\n }\n }\n };\n return function () { return reconnectTimeout && window.clearTimeout(reconnectTimeout); };\n};\nvar bindErrorHandler = function (webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount) {\n var reconnectTimeout;\n webSocketInstance.onerror = function (error) {\n var _a;\n optionsRef.current.onError && optionsRef.current.onError(error);\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n optionsRef.current.onClose && optionsRef.current.onClose(__assign(__assign({}, error), { code: 1006, reason: \"An error occurred with the EventSource: \".concat(error), wasClean: false }));\n setReadyState(constants_1.ReadyState.CLOSED);\n webSocketInstance.close();\n }\n if (optionsRef.current.retryOnError) {\n if (reconnectCount.current < ((_a = optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT)) {\n var nextReconnectInterval = typeof optionsRef.current.reconnectInterval === 'function' ?\n optionsRef.current.reconnectInterval(reconnectCount.current) :\n optionsRef.current.reconnectInterval;\n reconnectTimeout = window.setTimeout(function () {\n reconnectCount.current++;\n reconnect();\n }, nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS);\n }\n else {\n optionsRef.current.onReconnectStop && optionsRef.current.onReconnectStop(optionsRef.current.reconnectAttempts);\n console.warn(\"Max reconnect attempts of \".concat(optionsRef.current.reconnectAttempts, \" exceeded\"));\n }\n }\n };\n return function () { return reconnectTimeout && window.clearTimeout(reconnectTimeout); };\n};\nvar attachListeners = function (webSocketInstance, setters, optionsRef, reconnect, reconnectCount, lastMessageTime, sendMessage) {\n var setLastMessage = setters.setLastMessage, setReadyState = setters.setReadyState;\n var interval;\n var cancelReconnectOnClose;\n var cancelReconnectOnError;\n if (optionsRef.current.fromSocketIO) {\n interval = (0, socket_io_1.setUpSocketIOPing)(sendMessage);\n }\n bindMessageHandler(webSocketInstance, optionsRef, setLastMessage, lastMessageTime);\n bindOpenHandler(webSocketInstance, optionsRef, setReadyState, reconnectCount, lastMessageTime);\n cancelReconnectOnClose = bindCloseHandler(webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount);\n cancelReconnectOnError = bindErrorHandler(webSocketInstance, optionsRef, setReadyState, reconnect, reconnectCount);\n return function () {\n setReadyState(constants_1.ReadyState.CLOSING);\n cancelReconnectOnClose();\n cancelReconnectOnError();\n webSocketInstance.close();\n if (interval)\n clearInterval(interval);\n };\n};\nexports.attachListeners = attachListeners;\n//# sourceMappingURL=attach-listener.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attachSharedListeners = void 0;\nvar globals_1 = require(\"./globals\");\nvar constants_1 = require(\"./constants\");\nvar manage_subscribers_1 = require(\"./manage-subscribers\");\nvar socket_io_1 = require(\"./socket-io\");\nvar heartbeat_1 = require(\"./heartbeat\");\nvar bindMessageHandler = function (webSocketInstance, url, heartbeatOptions) {\n webSocketInstance.onmessage = function (message) {\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n var _a;\n if (subscriber.optionsRef.current.onMessage) {\n subscriber.optionsRef.current.onMessage(message);\n }\n if (typeof ((_a = subscriber === null || subscriber === void 0 ? void 0 : subscriber.lastMessageTime) === null || _a === void 0 ? void 0 : _a.current) === 'number') {\n subscriber.lastMessageTime.current = Date.now();\n }\n if (typeof subscriber.optionsRef.current.filter === 'function' &&\n subscriber.optionsRef.current.filter(message) !== true) {\n return;\n }\n if (heartbeatOptions &&\n typeof heartbeatOptions !== \"boolean\" &&\n (heartbeatOptions === null || heartbeatOptions === void 0 ? void 0 : heartbeatOptions.returnMessage) === message.data)\n return;\n subscriber.setLastMessage(message);\n });\n };\n};\nvar bindOpenHandler = function (webSocketInstance, url, heartbeatOptions) {\n webSocketInstance.onopen = function (event) {\n var subscribers = (0, manage_subscribers_1.getSubscribers)(url);\n subscribers.forEach(function (subscriber) {\n subscriber.reconnectCount.current = 0;\n if (subscriber.optionsRef.current.onOpen) {\n subscriber.optionsRef.current.onOpen(event);\n }\n subscriber.setReadyState(constants_1.ReadyState.OPEN);\n var onMessageCb;\n if (heartbeatOptions && webSocketInstance instanceof WebSocket) {\n subscriber.lastMessageTime.current = Date.now();\n }\n });\n if (heartbeatOptions && webSocketInstance instanceof WebSocket) {\n (0, heartbeat_1.heartbeat)(webSocketInstance, subscribers.map(function (subscriber) { return subscriber.lastMessageTime; }), typeof heartbeatOptions === 'boolean' ? undefined : heartbeatOptions);\n }\n };\n};\nvar bindCloseHandler = function (webSocketInstance, url) {\n if (webSocketInstance instanceof WebSocket) {\n webSocketInstance.onclose = function (event) {\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n if (subscriber.optionsRef.current.onClose) {\n subscriber.optionsRef.current.onClose(event);\n }\n subscriber.setReadyState(constants_1.ReadyState.CLOSED);\n });\n delete globals_1.sharedWebSockets[url];\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n var _a;\n if (subscriber.optionsRef.current.shouldReconnect &&\n subscriber.optionsRef.current.shouldReconnect(event)) {\n var reconnectAttempts = (_a = subscriber.optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT;\n if (subscriber.reconnectCount.current < reconnectAttempts) {\n var nextReconnectInterval = typeof subscriber.optionsRef.current.reconnectInterval === 'function' ?\n subscriber.optionsRef.current.reconnectInterval(subscriber.reconnectCount.current) :\n subscriber.optionsRef.current.reconnectInterval;\n setTimeout(function () {\n subscriber.reconnectCount.current++;\n subscriber.reconnect.current();\n }, nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS);\n }\n else {\n subscriber.optionsRef.current.onReconnectStop && subscriber.optionsRef.current.onReconnectStop(subscriber.optionsRef.current.reconnectAttempts);\n console.warn(\"Max reconnect attempts of \".concat(reconnectAttempts, \" exceeded\"));\n }\n }\n });\n };\n }\n};\nvar bindErrorHandler = function (webSocketInstance, url) {\n webSocketInstance.onerror = function (error) {\n (0, manage_subscribers_1.getSubscribers)(url).forEach(function (subscriber) {\n if (subscriber.optionsRef.current.onError) {\n subscriber.optionsRef.current.onError(error);\n }\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n subscriber.optionsRef.current.onClose && subscriber.optionsRef.current.onClose(__assign(__assign({}, error), { code: 1006, reason: \"An error occurred with the EventSource: \".concat(error), wasClean: false }));\n subscriber.setReadyState(constants_1.ReadyState.CLOSED);\n }\n });\n if (constants_1.isEventSourceSupported && webSocketInstance instanceof EventSource) {\n webSocketInstance.close();\n }\n };\n};\nvar attachSharedListeners = function (webSocketInstance, url, optionsRef, sendMessage) {\n var interval;\n if (optionsRef.current.fromSocketIO) {\n interval = (0, socket_io_1.setUpSocketIOPing)(sendMessage);\n }\n bindMessageHandler(webSocketInstance, url, optionsRef.current.heartbeat);\n bindCloseHandler(webSocketInstance, url);\n bindOpenHandler(webSocketInstance, url, optionsRef.current.heartbeat);\n bindErrorHandler(webSocketInstance, url);\n return function () {\n if (interval)\n clearInterval(interval);\n };\n};\nexports.attachSharedListeners = attachSharedListeners;\n//# sourceMappingURL=attach-shared-listeners.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createOrJoinSocket = void 0;\nvar globals_1 = require(\"./globals\");\nvar constants_1 = require(\"./constants\");\nvar attach_listener_1 = require(\"./attach-listener\");\nvar attach_shared_listeners_1 = require(\"./attach-shared-listeners\");\nvar manage_subscribers_1 = require(\"./manage-subscribers\");\n//TODO ensure that all onClose callbacks are called\nvar cleanSubscribers = function (url, subscriber, optionsRef, setReadyState, clearSocketIoPingInterval) {\n return function () {\n (0, manage_subscribers_1.removeSubscriber)(url, subscriber);\n if (!(0, manage_subscribers_1.hasSubscribers)(url)) {\n try {\n var socketLike = globals_1.sharedWebSockets[url];\n if (socketLike instanceof WebSocket) {\n socketLike.onclose = function (event) {\n if (optionsRef.current.onClose) {\n optionsRef.current.onClose(event);\n }\n setReadyState(constants_1.ReadyState.CLOSED);\n };\n }\n socketLike.close();\n }\n catch (e) {\n }\n if (clearSocketIoPingInterval)\n clearSocketIoPingInterval();\n delete globals_1.sharedWebSockets[url];\n }\n };\n};\nvar createOrJoinSocket = function (webSocketRef, url, setReadyState, optionsRef, setLastMessage, startRef, reconnectCount, lastMessageTime, sendMessage) {\n if (!constants_1.isEventSourceSupported && optionsRef.current.eventSourceOptions) {\n if (constants_1.isReactNative) {\n throw new Error('EventSource is not supported in ReactNative');\n }\n else {\n throw new Error('EventSource is not supported');\n }\n }\n if (optionsRef.current.share) {\n var clearSocketIoPingInterval = null;\n if (globals_1.sharedWebSockets[url] === undefined) {\n globals_1.sharedWebSockets[url] = optionsRef.current.eventSourceOptions ?\n new EventSource(url, optionsRef.current.eventSourceOptions) :\n new WebSocket(url, optionsRef.current.protocols);\n webSocketRef.current = globals_1.sharedWebSockets[url];\n setReadyState(constants_1.ReadyState.CONNECTING);\n clearSocketIoPingInterval = (0, attach_shared_listeners_1.attachSharedListeners)(globals_1.sharedWebSockets[url], url, optionsRef, sendMessage);\n }\n else {\n webSocketRef.current = globals_1.sharedWebSockets[url];\n setReadyState(globals_1.sharedWebSockets[url].readyState);\n }\n var subscriber = {\n setLastMessage: setLastMessage,\n setReadyState: setReadyState,\n optionsRef: optionsRef,\n reconnectCount: reconnectCount,\n lastMessageTime: lastMessageTime,\n reconnect: startRef,\n };\n (0, manage_subscribers_1.addSubscriber)(url, subscriber);\n return cleanSubscribers(url, subscriber, optionsRef, setReadyState, clearSocketIoPingInterval);\n }\n else {\n webSocketRef.current = optionsRef.current.eventSourceOptions ?\n new EventSource(url, optionsRef.current.eventSourceOptions) :\n new WebSocket(url, optionsRef.current.protocols);\n setReadyState(constants_1.ReadyState.CONNECTING);\n if (!webSocketRef.current) {\n throw new Error('WebSocket failed to be created');\n }\n return (0, attach_listener_1.attachListeners)(webSocketRef.current, {\n setLastMessage: setLastMessage,\n setReadyState: setReadyState\n }, optionsRef, startRef.current, reconnectCount, lastMessageTime, sendMessage);\n }\n};\nexports.createOrJoinSocket = createOrJoinSocket;\n//# sourceMappingURL=create-or-join.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getUrl = void 0;\nvar socket_io_1 = require(\"./socket-io\");\nvar constants_1 = require(\"./constants\");\nvar waitFor = function (duration) { return new Promise(function (resolve) { return window.setTimeout(resolve, duration); }); };\nvar getUrl = function (url_1, optionsRef_1) {\n var args_1 = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args_1[_i - 2] = arguments[_i];\n }\n return __awaiter(void 0, __spreadArray([url_1, optionsRef_1], args_1, true), void 0, function (url, optionsRef, retriedAttempts) {\n var convertedUrl, e_1, reconnectLimit, nextReconnectInterval, parsedUrl, parsedWithQueryParams;\n var _a, _b, _c;\n if (retriedAttempts === void 0) { retriedAttempts = 0; }\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!(typeof url === 'function')) return [3 /*break*/, 10];\n _d.label = 1;\n case 1:\n _d.trys.push([1, 3, , 9]);\n return [4 /*yield*/, url()];\n case 2:\n convertedUrl = _d.sent();\n return [3 /*break*/, 9];\n case 3:\n e_1 = _d.sent();\n if (!optionsRef.current.retryOnError) return [3 /*break*/, 7];\n reconnectLimit = (_a = optionsRef.current.reconnectAttempts) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_RECONNECT_LIMIT;\n if (!(retriedAttempts < reconnectLimit)) return [3 /*break*/, 5];\n nextReconnectInterval = typeof optionsRef.current.reconnectInterval === 'function' ?\n optionsRef.current.reconnectInterval(retriedAttempts) :\n optionsRef.current.reconnectInterval;\n return [4 /*yield*/, waitFor(nextReconnectInterval !== null && nextReconnectInterval !== void 0 ? nextReconnectInterval : constants_1.DEFAULT_RECONNECT_INTERVAL_MS)];\n case 4:\n _d.sent();\n return [2 /*return*/, (0, exports.getUrl)(url, optionsRef, retriedAttempts + 1)];\n case 5:\n (_c = (_b = optionsRef.current).onReconnectStop) === null || _c === void 0 ? void 0 : _c.call(_b, retriedAttempts);\n return [2 /*return*/, null];\n case 6: return [3 /*break*/, 8];\n case 7: return [2 /*return*/, null];\n case 8: return [3 /*break*/, 9];\n case 9: return [3 /*break*/, 11];\n case 10:\n convertedUrl = url;\n _d.label = 11;\n case 11:\n parsedUrl = optionsRef.current.fromSocketIO ?\n (0, socket_io_1.parseSocketIOUrl)(convertedUrl) :\n convertedUrl;\n parsedWithQueryParams = optionsRef.current.queryParams ?\n (0, socket_io_1.appendQueryParams)(parsedUrl, optionsRef.current.queryParams) :\n parsedUrl;\n return [2 /*return*/, parsedWithQueryParams];\n }\n });\n });\n};\nexports.getUrl = getUrl;\n//# sourceMappingURL=get-url.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.websocketWrapper = void 0;\nvar websocketWrapper = function (webSocket, start) {\n return new Proxy(webSocket, {\n get: function (obj, key) {\n var val = obj[key];\n if (key === 'reconnect')\n return start;\n if (typeof val === 'function') {\n console.error('Calling methods directly on the websocket is not supported at this moment. You must use the methods returned by useWebSocket.');\n //Prevent error thrown by invoking a non-function\n return function () { };\n }\n else {\n return val;\n }\n },\n set: function (obj, key, val) {\n if (/^on/.test(key)) {\n console.warn('The websocket\\'s event handlers should be defined through the options object passed into useWebSocket.');\n return false;\n }\n else {\n obj[key] = val;\n return true;\n }\n },\n });\n};\nexports.websocketWrapper = websocketWrapper;\nexports.default = exports.websocketWrapper;\n//# sourceMappingURL=proxy.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useWebSocket = void 0;\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar constants_1 = require(\"./constants\");\nvar create_or_join_1 = require(\"./create-or-join\");\nvar get_url_1 = require(\"./get-url\");\nvar proxy_1 = __importDefault(require(\"./proxy\"));\nvar util_1 = require(\"./util\");\nvar useWebSocket = function (url, options, connect) {\n if (options === void 0) { options = constants_1.DEFAULT_OPTIONS; }\n if (connect === void 0) { connect = true; }\n var _a = (0, react_1.useState)(null), lastMessage = _a[0], setLastMessage = _a[1];\n var _b = (0, react_1.useState)({}), readyState = _b[0], setReadyState = _b[1];\n var lastJsonMessage = (0, react_1.useMemo)(function () {\n if (!options.disableJson && lastMessage) {\n try {\n return JSON.parse(lastMessage.data);\n }\n catch (e) {\n return constants_1.UNPARSABLE_JSON_OBJECT;\n }\n }\n return null;\n }, [lastMessage, options.disableJson]);\n var convertedUrl = (0, react_1.useRef)(null);\n var webSocketRef = (0, react_1.useRef)(null);\n var startRef = (0, react_1.useRef)(function () { return void 0; });\n var reconnectCount = (0, react_1.useRef)(0);\n var lastMessageTime = (0, react_1.useRef)(Date.now());\n var messageQueue = (0, react_1.useRef)([]);\n var webSocketProxy = (0, react_1.useRef)(null);\n var optionsCache = (0, react_1.useRef)(options);\n optionsCache.current = options;\n var readyStateFromUrl = convertedUrl.current && readyState[convertedUrl.current] !== undefined ?\n readyState[convertedUrl.current] :\n url !== null && connect === true ?\n constants_1.ReadyState.CONNECTING :\n constants_1.ReadyState.UNINSTANTIATED;\n var stringifiedQueryParams = options.queryParams ? JSON.stringify(options.queryParams) : null;\n var sendMessage = (0, react_1.useCallback)(function (message, keep) {\n var _a;\n if (keep === void 0) { keep = true; }\n if (constants_1.isEventSourceSupported && webSocketRef.current instanceof EventSource) {\n console.warn('Unable to send a message from an eventSource');\n return;\n }\n if (((_a = webSocketRef.current) === null || _a === void 0 ? void 0 : _a.readyState) === constants_1.ReadyState.OPEN) {\n (0, util_1.assertIsWebSocket)(webSocketRef.current, optionsCache.current.skipAssert);\n webSocketRef.current.send(message);\n }\n else if (keep) {\n messageQueue.current.push(message);\n }\n }, []);\n var sendJsonMessage = (0, react_1.useCallback)(function (message, keep) {\n if (keep === void 0) { keep = true; }\n sendMessage(JSON.stringify(message), keep);\n }, [sendMessage]);\n var getWebSocket = (0, react_1.useCallback)(function () {\n if (optionsCache.current.share !== true || (constants_1.isEventSourceSupported && webSocketRef.current instanceof EventSource)) {\n return webSocketRef.current;\n }\n if (webSocketProxy.current === null && webSocketRef.current) {\n (0, util_1.assertIsWebSocket)(webSocketRef.current, optionsCache.current.skipAssert);\n webSocketProxy.current = (0, proxy_1.default)(webSocketRef.current, startRef);\n }\n return webSocketProxy.current;\n }, []);\n (0, react_1.useEffect)(function () {\n if (url !== null && connect === true) {\n var removeListeners_1;\n var expectClose_1 = false;\n var createOrJoin_1 = true;\n var start_1 = function () { return __awaiter(void 0, void 0, void 0, function () {\n var _a, protectedSetLastMessage, protectedSetReadyState;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = convertedUrl;\n return [4 /*yield*/, (0, get_url_1.getUrl)(url, optionsCache)];\n case 1:\n _a.current = _b.sent();\n if (convertedUrl.current === null) {\n console.error('Failed to get a valid URL. WebSocket connection aborted.');\n convertedUrl.current = 'ABORTED';\n (0, react_dom_1.flushSync)(function () { return setReadyState(function (prev) { return (__assign(__assign({}, prev), { ABORTED: constants_1.ReadyState.CLOSED })); }); });\n return [2 /*return*/];\n }\n protectedSetLastMessage = function (message) {\n if (!expectClose_1) {\n (0, react_dom_1.flushSync)(function () { return setLastMessage(message); });\n }\n };\n protectedSetReadyState = function (state) {\n if (!expectClose_1) {\n (0, react_dom_1.flushSync)(function () { return setReadyState(function (prev) {\n var _a;\n return (__assign(__assign({}, prev), (convertedUrl.current && (_a = {}, _a[convertedUrl.current] = state, _a))));\n }); });\n }\n };\n if (createOrJoin_1) {\n removeListeners_1 = (0, create_or_join_1.createOrJoinSocket)(webSocketRef, convertedUrl.current, protectedSetReadyState, optionsCache, protectedSetLastMessage, startRef, reconnectCount, lastMessageTime, sendMessage);\n }\n return [2 /*return*/];\n }\n });\n }); };\n startRef.current = function () {\n if (!expectClose_1) {\n if (webSocketProxy.current)\n webSocketProxy.current = null;\n removeListeners_1 === null || removeListeners_1 === void 0 ? void 0 : removeListeners_1();\n start_1();\n }\n };\n start_1();\n return function () {\n expectClose_1 = true;\n createOrJoin_1 = false;\n if (webSocketProxy.current)\n webSocketProxy.current = null;\n removeListeners_1 === null || removeListeners_1 === void 0 ? void 0 : removeListeners_1();\n setLastMessage(null);\n };\n }\n else if (url === null || connect === false) {\n reconnectCount.current = 0; // reset reconnection attempts\n setReadyState(function (prev) {\n var _a;\n return (__assign(__assign({}, prev), (convertedUrl.current && (_a = {}, _a[convertedUrl.current] = constants_1.ReadyState.CLOSED, _a))));\n });\n }\n }, [url, connect, stringifiedQueryParams, sendMessage]);\n (0, react_1.useEffect)(function () {\n if (readyStateFromUrl === constants_1.ReadyState.OPEN) {\n messageQueue.current.splice(0).forEach(function (message) {\n sendMessage(message);\n });\n }\n }, [readyStateFromUrl]);\n return {\n sendMessage: sendMessage,\n sendJsonMessage: sendJsonMessage,\n lastMessage: lastMessage,\n lastJsonMessage: lastJsonMessage,\n readyState: readyStateFromUrl,\n getWebSocket: getWebSocket,\n };\n};\nexports.useWebSocket = useWebSocket;\n//# sourceMappingURL=use-websocket.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useSocketIO = void 0;\nvar react_1 = require(\"react\");\nvar use_websocket_1 = require(\"./use-websocket\");\nvar constants_1 = require(\"./constants\");\nvar emptyEvent = {\n type: 'empty',\n payload: null,\n};\nvar getSocketData = function (event) {\n if (!event || !event.data) {\n return emptyEvent;\n }\n var match = event.data.match(/\\[.*]/);\n if (!match) {\n return emptyEvent;\n }\n var data = JSON.parse(match);\n if (!Array.isArray(data) || !data[1]) {\n return emptyEvent;\n }\n return {\n type: data[0],\n payload: data[1],\n };\n};\nvar useSocketIO = function (url, options, connect) {\n if (options === void 0) { options = constants_1.DEFAULT_OPTIONS; }\n if (connect === void 0) { connect = true; }\n var optionsWithSocketIO = (0, react_1.useMemo)(function () { return (__assign(__assign({}, options), { fromSocketIO: true })); }, []);\n var _a = (0, use_websocket_1.useWebSocket)(url, optionsWithSocketIO, connect), sendMessage = _a.sendMessage, sendJsonMessage = _a.sendJsonMessage, lastMessage = _a.lastMessage, readyState = _a.readyState, getWebSocket = _a.getWebSocket;\n var socketIOLastMessage = (0, react_1.useMemo)(function () {\n return getSocketData(lastMessage);\n }, [lastMessage]);\n return {\n sendMessage: sendMessage,\n sendJsonMessage: sendJsonMessage,\n lastMessage: socketIOLastMessage,\n lastJsonMessage: socketIOLastMessage,\n readyState: readyState,\n getWebSocket: getWebSocket,\n };\n};\nexports.useSocketIO = useSocketIO;\n//# sourceMappingURL=use-socket-io.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useEventSource = void 0;\nvar react_1 = require(\"react\");\nvar use_websocket_1 = require(\"./use-websocket\");\nvar constants_1 = require(\"./constants\");\nvar useEventSource = function (url, _a, connect) {\n if (_a === void 0) { _a = constants_1.DEFAULT_EVENT_SOURCE_OPTIONS; }\n var withCredentials = _a.withCredentials, events = _a.events, options = __rest(_a, [\"withCredentials\", \"events\"]);\n if (connect === void 0) { connect = true; }\n var optionsWithEventSource = __assign(__assign({}, options), { eventSourceOptions: {\n withCredentials: withCredentials,\n } });\n var eventsRef = (0, react_1.useRef)(constants_1.EMPTY_EVENT_HANDLERS);\n if (events) {\n eventsRef.current = events;\n }\n var _b = (0, use_websocket_1.useWebSocket)(url, optionsWithEventSource, connect), lastMessage = _b.lastMessage, readyState = _b.readyState, getWebSocket = _b.getWebSocket;\n (0, react_1.useEffect)(function () {\n if (lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.type) {\n Object.entries(eventsRef.current).forEach(function (_a) {\n var type = _a[0], handler = _a[1];\n if (type === lastMessage.type) {\n handler(lastMessage);\n }\n });\n }\n }, [lastMessage]);\n return {\n lastEvent: lastMessage,\n readyState: readyState,\n getEventSource: getWebSocket,\n };\n};\nexports.useEventSource = useEventSource;\n//# sourceMappingURL=use-event-source.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resetGlobalState = exports.useEventSource = exports.ReadyState = exports.useSocketIO = exports.default = void 0;\nvar use_websocket_1 = require(\"./lib/use-websocket\");\nObject.defineProperty(exports, \"default\", { enumerable: true, get: function () { return use_websocket_1.useWebSocket; } });\nvar use_socket_io_1 = require(\"./lib/use-socket-io\");\nObject.defineProperty(exports, \"useSocketIO\", { enumerable: true, get: function () { return use_socket_io_1.useSocketIO; } });\nvar constants_1 = require(\"./lib/constants\");\nObject.defineProperty(exports, \"ReadyState\", { enumerable: true, get: function () { return constants_1.ReadyState; } });\nvar use_event_source_1 = require(\"./lib/use-event-source\");\nObject.defineProperty(exports, \"useEventSource\", { enumerable: true, get: function () { return use_event_source_1.useEventSource; } });\nvar util_1 = require(\"./lib/util\");\nObject.defineProperty(exports, \"resetGlobalState\", { enumerable: true, get: function () { return util_1.resetGlobalState; } });\n//# sourceMappingURL=index.js.map","import React, { createContext, useContext, ReactNode, useMemo, useState, useCallback, useEffect } from 'react';\nimport useWebSocket, { ReadyState } from 'react-use-websocket';\nimport { PearHyperliquidClient } from './client';\nimport { PearHyperliquidConfig } from './types';\nimport { PearMigrationSDK } from './migration-sdk';\nimport { HyperliquidService } from './hyperliquid-service';\nimport type {\n PaginatedTradeHistoryResponseDto,\n OpenPositionDto,\n OpenLimitOrderDto,\n AccountSummaryResponseDto,\n WebSocketChannel,\n WebSocketDataMessage,\n} from './types';\n\ninterface WebSocketData {\n tradeHistories: PaginatedTradeHistoryResponseDto | null;\n openPositions: OpenPositionDto[] | null;\n openOrders: OpenLimitOrderDto[] | null;\n accountSummary: AccountSummaryResponseDto | null;\n}\n\nexport interface PearHyperliquidContextType {\n // Existing clients\n client: PearHyperliquidClient;\n migrationSDK: PearMigrationSDK;\n \n // Enhanced services\n hyperliquidService: HyperliquidService;\n \n // Address management\n address: string | null;\n setAddress: (address: string | null) => void;\n \n // WebSocket state\n connectionStatus: ReadyState;\n isConnected: boolean;\n \n // WebSocket data\n data: WebSocketData;\n lastError: string | null;\n}\n\nexport const PearHyperliquidContext = createContext<PearHyperliquidContextType | undefined>(undefined);\n\ninterface PearHyperliquidProviderProps {\n config: PearHyperliquidConfig;\n /**\n * WebSocket server URL\n * @default 'wss://hl-v2.pearprotocol.io/ws'\n */\n wsUrl?: string;\n /**\n * Hyperliquid WebSocket URL\n * @default 'wss://api.hyperliquid.xyz/ws'\n */\n hyperliquidWsUrl?: string;\n children: ReactNode;\n}\n\n/**\n * React Provider for PearHyperliquidClient\n */\nexport const PearHyperliquidProvider: React.FC<PearHyperliquidProviderProps> = ({\n config,\n wsUrl = 'wss://hl-v2.pearprotocol.io/ws',\n hyperliquidWsUrl = 'wss://api.hyperliquid.xyz/ws',\n children,\n}) => {\n const client = useMemo(() => new PearHyperliquidClient(config), [config]);\n const migrationSDK = useMemo(() => new PearMigrationSDK(client), [client]);\n \n // Initialize Hyperliquid service\n const hyperliquidService = useMemo(() => new HyperliquidService(hyperliquidWsUrl), [hyperliquidWsUrl]);\n \n // Address state\n const [address, setAddress] = useState<string | null>(null);\n \n // WebSocket data state\n const [data, setData] = useState<WebSocketData>({\n tradeHistories: null,\n openPositions: null,\n openOrders: null,\n accountSummary: null,\n });\n const [lastError, setLastError] = useState<string | null>(null);\n\n // WebSocket connection\n const { lastMessage, readyState, sendMessage } = useWebSocket(\n address ? wsUrl : null, // Only connect when address is set\n {\n shouldReconnect: () => true,\n reconnectAttempts: 5,\n reconnectInterval: 3000,\n }\n );\n\n const isConnected = readyState === ReadyState.OPEN;\n\n // Handle incoming WebSocket messages\n useEffect(() => {\n if (lastMessage !== null) {\n try {\n const message = JSON.parse(lastMessage.data);\n \n // Handle subscription responses\n if ('success' in message || 'error' in message) {\n if (message.error) {\n setLastError(message.error);\n } else {\n setLastError(null);\n }\n return;\n }\n\n // Handle channel data messages\n if ('channel' in message && 'data' in message) {\n const dataMessage = message as WebSocketDataMessage;\n \n switch (dataMessage.channel) {\n case 'trade-histories':\n setData(prev => ({ \n ...prev, \n tradeHistories: dataMessage.data as PaginatedTradeHistoryResponseDto \n }));\n break;\n case 'open-positions':\n setData(prev => ({ \n ...prev, \n openPositions: dataMessage.data as OpenPositionDto[] \n }));\n break;\n case 'open-orders':\n setData(prev => ({ \n ...prev, \n openOrders: dataMessage.data as OpenLimitOrderDto[] \n }));\n break;\n case 'account-summary':\n setData(prev => ({ \n ...prev, \n accountSummary: dataMessage.data as AccountSummaryResponseDto \n }));\n break;\n }\n }\n } catch (error) {\n setLastError(`Failed to parse message: ${error instanceof Error ? error.message : String(error)}`);\n }\n }\n }, [lastMessage]);\n\n // Handle address changes - subscribe/unsubscribe\n useEffect(() => {\n if (isConnected && address) {\n // Subscribe to new address\n sendMessage(JSON.stringify({\n action: 'subscribe',\n address: address\n }));\n \n // Clear previous data\n setData({\n tradeHistories: null,\n openPositions: null,\n openOrders: null,\n accountSummary: null,\n });\n setLastError(null);\n } else if (isConnected && !address) {\n // Clear data when address is removed\n setData({\n tradeHistories: null,\n openPositions: null,\n openOrders: null,\n accountSummary: null,\n });\n }\n }, [isConnected, address, sendMessage]);\n\n // Handle address changes for Hyperliquid service\n useEffect(() => {\n hyperliquidService.updateUserAddress(address);\n }, [address, hyperliquidService]);\n\n const contextValue = useMemo(() => ({\n // Existing clients\n client,\n migrationSDK,\n \n // Enhanced services\n hyperliquidService,\n \n // Address management\n address,\n setAddress,\n \n // WebSocket state\n connectionStatus: readyState,\n isConnected,\n \n // WebSocket data\n data,\n lastError,\n }), [client, migrationSDK, hyperliquidService, address, readyState, isConnected, data, lastError]);\n\n return (\n <PearHyperliquidContext.Provider value={contextValue}>\n {children}\n </PearHyperliquidContext.Provider>\n );\n};\n\n/**\n * Hook to use PearHyperliquidClient from context\n */\nexport const usePearHyperliquidClient = (): PearHyperliquidClient => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('usePearHyperliquidClient must be used within a PearHyperliquidProvider');\n }\n \n return context.client;\n};\n\n/**\n * Hook to use migration SDK from context\n */\nexport const useMigrationSDK = (): PearMigrationSDK => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useMigrationSDK must be used within a PearHyperliquidProvider');\n }\n \n return context.migrationSDK;\n};\n\n/**\n * Hook to use Hyperliquid service from context\n */\nexport const useHyperliquidService = (): HyperliquidService => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useHyperliquidService must be used within a PearHyperliquidProvider');\n }\n \n return context.hyperliquidService;\n};\n\n","import { useContext } from 'react';\nimport { PearHyperliquidContext } from '../provider';\n\n/**\n * Hook to manage address (login/logout functionality)\n */\nexport const useAddress = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useAddress must be used within a PearHyperliquidProvider');\n }\n \n return {\n address: context.address,\n setAddress: context.setAddress,\n clearAddress: () => context.setAddress(null),\n isLoggedIn: !!context.address,\n };\n};","import { useContext, useCallback, useEffect, useState } from 'react';\nimport { PearHyperliquidContext } from '../provider';\nimport { useHyperliquidService } from '../provider';\nimport { OpenPositionDto, AccountSummaryResponseDto } from '../types';\n\n/**\n * Hook to access trade histories\n */\nexport const useTradeHistories = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useTradeHistories must be used within a PearHyperliquidProvider');\n }\n \n return context.data.tradeHistories;\n};\n\n/**\n * Hook to access open positions with enhanced real-time synchronization\n */\nexport const useOpenPositions = () => {\n const context = useContext(PearHyperliquidContext);\n const hyperliquidService = useHyperliquidService();\n \n const [enhancedPositions, setEnhancedPositions] = useState<OpenPositionDto[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [lastSyncTime, setLastSyncTime] = useState<Date | null>(null);\n \n if (!context) {\n throw new Error('useOpenPositions must be used within a PearHyperliquidProvider');\n }\n\n // Get base positions from WebSocket\n const wsPositions = context.data.openPositions;\n\n // Enhance positions with real-time Hyperliquid data\n const syncPositions = useCallback(async () => {\n if (!wsPositions || wsPositions.length === 0) {\n setEnhancedPositions([]);\n return;\n }\n\n setIsLoading(true);\n try {\n // Enhanced positions with real-time market prices from Hyperliquid\n const enhancedPositionsData: OpenPositionDto[] = wsPositions.map(wsPos => {\n // Calculate updated position values using current market prices\n const enhancedLongAssets = wsPos.longAssets.map(asset => ({\n ...asset,\n positionValue: asset.platformSize * hyperliquidService.getMarketPrice(asset.coin),\n }));\n \n const enhancedShortAssets = wsPos.shortAssets.map(asset => ({\n ...asset,\n positionValue: asset.platformSize * hyperliquidService.getMarketPrice(asset.coin),\n }));\n\n // Calculate updated position value and mark ratio\n const totalPositionValue = \n enhancedLongAssets.reduce((sum, asset) => sum + asset.positionValue, 0) +\n enhancedShortAssets.reduce((sum, asset) => sum + asset.positionValue, 0);\n\n return {\n ...wsPos,\n longAssets: enhancedLongAssets,\n shortAssets: enhancedShortAssets,\n positionValue: totalPositionValue,\n // Add timestamp for when we enhanced with Hyperliquid data\n lastSyncAt: new Date().toISOString(),\n };\n });\n\n setEnhancedPositions(enhancedPositionsData);\n setLastSyncTime(new Date());\n } catch (error) {\n console.error('Failed to enhance positions with Hyperliquid data:', error);\n // Fall back to WebSocket data if enhancement fails\n setEnhancedPositions(wsPositions || []);\n } finally {\n setIsLoading(false);\n }\n }, [wsPositions, hyperliquidService]);\n\n // Sync positions whenever WebSocket data changes\n useEffect(() => {\n syncPositions();\n }, [syncPositions]);\n\n // Real-time updates are handled automatically through webData2 subscription\n\n return {\n positions: enhancedPositions, // Returns OpenPositionDto[] - fully backward compatible\n isLoading,\n lastSyncTime,\n rawWsPositions: wsPositions, // Expose raw WebSocket data for debugging\n resync: syncPositions // Manual resync function\n };\n};\n\n/**\n * Hook to access open orders\n */\nexport const useOpenOrders = () => {\n const context = useContext(PearHyperliquidContext);\n \n if (!context) {\n throw new Error('useOpenOrders must be used within a PearHyperliquidProvider');\n }\n \n return context.data.openOrders;\n};\n\n/**\n * Hook to access account summary with enhanced real-time data from Hyperliquid\n */\nexport const useAccountSummary = () => {\n const context = useContext(PearHyperliquidContext);\n const hyperliquidService = useHyperliquidService();\n \n const [enhancedSummary, setEnhancedSummary] = useState<AccountSummaryResponseDto | null>(null);\n const [isLoading, setIsLoading] = useState(false);\n const [lastSyncTime, setLastSyncTime] = useState<Date | null>(null);\n \n if (!context) {\n throw new Error('useAccountSummary must be used within a PearHyperliquidProvider');\n }\n\n // Get base summary from WebSocket (your backend data)\n const wsSummary = context.data.accountSummary;\n\n // Enhance account summary with fresh Hyperliquid data\n const syncAccountSummary = useCallback(async () => {\n if (!context.address || !wsSummary) {\n setEnhancedSummary(wsSummary);\n return;\n }\n\n setIsLoading(true);\n try {\n // Get fresh data from Hyperliquid (like your backend does)\n const hlAccountSummary = await hyperliquidService.getAccountSummary(context.address);\n \n if (hlAccountSummary) {\n // Enhance your backend data with fresh Hyperliquid data\n const enhancedSummaryData: AccountSummaryResponseDto = {\n balanceSummary: {\n // Use fresh Hyperliquid data for real-time accuracy\n crossMaintenanceMarginUsed: hlAccountSummary.crossMaintenanceMarginUsed || wsSummary.balanceSummary.crossMaintenanceMarginUsed,\n crossMarginSummary: {\n accountValue: hlAccountSummary.crossMarginSummary?.accountValue || wsSummary.balanceSummary.crossMarginSummary.accountValue,\n totalMarginUsed: hlAccountSummary.crossMarginSummary?.totalMarginUsed || wsSummary.balanceSummary.crossMarginSummary.totalMarginUsed,\n totalNtlPos: hlAccountSummary.crossMarginSummary?.totalNtlPos || wsSummary.balanceSummary.crossMarginSummary.totalNtlPos,\n totalRawUsd: hlAccountSummary.crossMarginSummary?.totalRawUsd || wsSummary.balanceSummary.crossMarginSummary.totalRawUsd\n },\n marginSummary: {\n accountValue: hlAccountSummary.marginSummary?.accountValue || wsSummary.balanceSummary.marginSummary.accountValue,\n totalMarginUsed: hlAccountSummary.marginSummary?.totalMarginUsed || wsSummary.balanceSummary.marginSummary.totalMarginUsed,\n totalNtlPos: hlAccountSummary.marginSummary?.totalNtlPos || wsSummary.balanceSummary.marginSummary.totalNtlPos,\n totalRawUsd: hlAccountSummary.marginSummary?.totalRawUsd || wsSummary.balanceSummary.marginSummary.totalRawUsd\n },\n time: Date.now(), // Current timestamp\n // Keep your backend's calculated withdrawable (includes order deductions)\n withdrawable: wsSummary.balanceSummary.withdrawable\n },\n // Keep your backend's agent wallet data\n agentWallet: wsSummary.agentWallet\n };\n \n setEnhancedSummary(enhancedSummaryData);\n } else {\n // Fallback to WebSocket data if Hyperliquid fails\n setEnhancedSummary(wsSummary);\n }\n \n setLastSyncTime(new Date());\n } catch (error) {\n console.error('Failed to enhance account summary with Hyperliquid:', error);\n // Fall back to WebSocket data if enhancement fails\n setEnhancedSummary(wsSummary);\n } finally {\n setIsLoading(false);\n }\n }, [context.address, wsSummary, hyperliquidService]);\n\n // Sync account summary whenever WebSocket data changes\n useEffect(() => {\n syncAccountSummary();\n }, [syncAccountSummary]);\n\n // Real-time updates are handled automatically through webData2 subscription\n\n return {\n summary: enhancedSummary, // Returns AccountSummaryResponseDto - fully backward compatible\n isLoading,\n lastSyncTime,\n rawWsSummary: wsSummary, // Expose raw WebSocket data for debugging\n resync: syncAccountSummary // Manual resync function\n };\n};"],"names":["hl.InfoClient","hl.HttpTransport","hl.WebSocketTransport","hl.SubscriptionClient","jsxRuntimeModule","require$$0","require$$1","constants_1","heartbeat_1","globals_1","manage_subscribers_1","__assign","this","socket_io_1","require$$2","util_1","require$$3","bindMessageHandler","bindOpenHandler","bindCloseHandler","bindErrorHandler","attachSharedListeners_1","require$$4","react_1","require$$5","require$$6","useWebSocket","use_websocket_1","useEventSource_1","ReadyState","_jsx"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]}
|