@bluebottle_gg/league-broadcast-client 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +713 -728
- package/dist/index.js +491 -61
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -454,6 +454,134 @@ var ChampSelectStateStore = class {
|
|
|
454
454
|
}
|
|
455
455
|
};
|
|
456
456
|
|
|
457
|
+
// src/reactivity/PostGameStateStore.ts
|
|
458
|
+
var PostGameStateStore = class {
|
|
459
|
+
constructor(initialState) {
|
|
460
|
+
/** Global listeners — called on every state change regardless of selector. */
|
|
461
|
+
this.listeners = /* @__PURE__ */ new Set();
|
|
462
|
+
/** Monotonically increasing version — used for cheap stale checks. */
|
|
463
|
+
this.version = 0;
|
|
464
|
+
this.snapshot = Object.freeze({
|
|
465
|
+
postGameData: initialState,
|
|
466
|
+
isActive: initialState.isActive,
|
|
467
|
+
version: this.version
|
|
468
|
+
});
|
|
469
|
+
}
|
|
470
|
+
// ---------------------------------------------------------------------------
|
|
471
|
+
// Core API
|
|
472
|
+
// ---------------------------------------------------------------------------
|
|
473
|
+
/** Return the current full snapshot. */
|
|
474
|
+
getSnapshot() {
|
|
475
|
+
return this.snapshot;
|
|
476
|
+
}
|
|
477
|
+
/** Return the current version number. */
|
|
478
|
+
getVersion() {
|
|
479
|
+
return this.version;
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Subscribe to **all** state changes (unfiltered).
|
|
483
|
+
* Returns an unsubscribe function.
|
|
484
|
+
*/
|
|
485
|
+
subscribe(listener) {
|
|
486
|
+
this.listeners.add(listener);
|
|
487
|
+
return () => {
|
|
488
|
+
this.listeners.delete(listener);
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
// ---------------------------------------------------------------------------
|
|
492
|
+
// Selectors
|
|
493
|
+
// ---------------------------------------------------------------------------
|
|
494
|
+
/**
|
|
495
|
+
* Create a **subscribable slice** that only triggers when the selected
|
|
496
|
+
* value changes according to `equalityFn` (defaults to `===`).
|
|
497
|
+
*/
|
|
498
|
+
select(selector, equalityFn = Object.is) {
|
|
499
|
+
let currentValue = selector(this.snapshot);
|
|
500
|
+
let lastVersion = this.version;
|
|
501
|
+
const sliceListeners = /* @__PURE__ */ new Set();
|
|
502
|
+
const getSnapshot = () => {
|
|
503
|
+
if (lastVersion !== this.version) {
|
|
504
|
+
const next = selector(this.snapshot);
|
|
505
|
+
if (!equalityFn(currentValue, next)) {
|
|
506
|
+
currentValue = next;
|
|
507
|
+
}
|
|
508
|
+
lastVersion = this.version;
|
|
509
|
+
}
|
|
510
|
+
return currentValue;
|
|
511
|
+
};
|
|
512
|
+
const subscribe = (listener) => {
|
|
513
|
+
sliceListeners.add(listener);
|
|
514
|
+
const unsub = this.subscribe(() => {
|
|
515
|
+
const prev = currentValue;
|
|
516
|
+
const next = selector(this.snapshot);
|
|
517
|
+
lastVersion = this.version;
|
|
518
|
+
if (!equalityFn(prev, next)) {
|
|
519
|
+
currentValue = next;
|
|
520
|
+
listener();
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
return () => {
|
|
524
|
+
sliceListeners.delete(listener);
|
|
525
|
+
unsub();
|
|
526
|
+
};
|
|
527
|
+
};
|
|
528
|
+
return { subscribe, getSnapshot };
|
|
529
|
+
}
|
|
530
|
+
// ---------------------------------------------------------------------------
|
|
531
|
+
// Convenience helpers
|
|
532
|
+
// ---------------------------------------------------------------------------
|
|
533
|
+
/**
|
|
534
|
+
* Watch a derived value and invoke `callback` whenever it changes.
|
|
535
|
+
* Returns an unsubscribe function.
|
|
536
|
+
*/
|
|
537
|
+
watch(selector, callback, equalityFn = Object.is) {
|
|
538
|
+
let prev = selector(this.snapshot);
|
|
539
|
+
return this.subscribe(() => {
|
|
540
|
+
const next = selector(this.snapshot);
|
|
541
|
+
if (!equalityFn(prev, next)) {
|
|
542
|
+
const old = prev;
|
|
543
|
+
prev = next;
|
|
544
|
+
callback(next, old);
|
|
545
|
+
}
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
/**
|
|
549
|
+
* Watch a derived value and invoke `callback` whenever it changes,
|
|
550
|
+
* **and** invoke it immediately with the current value.
|
|
551
|
+
*/
|
|
552
|
+
watchImmediate(selector, callback, equalityFn = Object.is) {
|
|
553
|
+
const current = selector(this.snapshot);
|
|
554
|
+
callback(current, void 0);
|
|
555
|
+
return this.watch(selector, callback, equalityFn);
|
|
556
|
+
}
|
|
557
|
+
// ---------------------------------------------------------------------------
|
|
558
|
+
// Internal — called by LeagueBroadcastClient
|
|
559
|
+
// ---------------------------------------------------------------------------
|
|
560
|
+
/** @internal Replace post-game data snapshot and notify listeners. */
|
|
561
|
+
_setPostGameData(data) {
|
|
562
|
+
this.version++;
|
|
563
|
+
this.snapshot = Object.freeze({
|
|
564
|
+
postGameData: data,
|
|
565
|
+
isActive: data.isActive,
|
|
566
|
+
version: this.version
|
|
567
|
+
});
|
|
568
|
+
this.emit();
|
|
569
|
+
}
|
|
570
|
+
/** @internal Replace entire snapshot (used on post-game hide / reset). */
|
|
571
|
+
_reset(data) {
|
|
572
|
+
this.version++;
|
|
573
|
+
this.snapshot = Object.freeze({
|
|
574
|
+
postGameData: data,
|
|
575
|
+
isActive: data.isActive,
|
|
576
|
+
version: this.version
|
|
577
|
+
});
|
|
578
|
+
this.emit();
|
|
579
|
+
}
|
|
580
|
+
emit() {
|
|
581
|
+
this.listeners.forEach((l) => l());
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
|
|
457
585
|
// src/reactivity/structuralShare.ts
|
|
458
586
|
function structuralShare(prev, next) {
|
|
459
587
|
if (Object.is(prev, next)) {
|
|
@@ -512,7 +640,7 @@ function isObject(value) {
|
|
|
512
640
|
return value !== null && typeof value === "object";
|
|
513
641
|
}
|
|
514
642
|
|
|
515
|
-
// types/shared/
|
|
643
|
+
// types/shared/GameState.ts
|
|
516
644
|
var GameState = /* @__PURE__ */ ((GameState2) => {
|
|
517
645
|
GameState2[GameState2["OutOfGame"] = 0] = "OutOfGame";
|
|
518
646
|
GameState2[GameState2["Loading"] = 1] = "Loading";
|
|
@@ -534,6 +662,7 @@ var ingameFrontendData = class {
|
|
|
534
662
|
this.showTwitchPrediction = false;
|
|
535
663
|
this.showTwitchPoll = false;
|
|
536
664
|
this.showTwitchChatVote = false;
|
|
665
|
+
this.championDetail = null;
|
|
537
666
|
}
|
|
538
667
|
};
|
|
539
668
|
|
|
@@ -550,6 +679,16 @@ var champSelectStateData = class {
|
|
|
550
679
|
}
|
|
551
680
|
};
|
|
552
681
|
|
|
682
|
+
// types/postgame/postGameStateData.ts
|
|
683
|
+
var postGameStateData = class {
|
|
684
|
+
constructor() {
|
|
685
|
+
this.isActive = false;
|
|
686
|
+
this.isConnected = false;
|
|
687
|
+
this.isMocking = false;
|
|
688
|
+
this.overview = null;
|
|
689
|
+
}
|
|
690
|
+
};
|
|
691
|
+
|
|
553
692
|
// src/api/ApiClient.ts
|
|
554
693
|
var ApiClient = class {
|
|
555
694
|
constructor(baseUrl) {
|
|
@@ -1842,11 +1981,21 @@ var LeagueBroadcastClient = class {
|
|
|
1842
1981
|
onChampSelectEnd: /* @__PURE__ */ new Set(),
|
|
1843
1982
|
onRouteUpdate: /* @__PURE__ */ new Set()
|
|
1844
1983
|
};
|
|
1984
|
+
// -- Post-game event handlers -----------------------------------------------
|
|
1985
|
+
this.postGameUpdateHandlers = /* @__PURE__ */ new Set();
|
|
1986
|
+
this.postGameEventHandlers = {
|
|
1987
|
+
onRouteUpdate: /* @__PURE__ */ new Set(),
|
|
1988
|
+
onMockingUpdate: /* @__PURE__ */ new Set(),
|
|
1989
|
+
onActiveComponentChanged: /* @__PURE__ */ new Set(),
|
|
1990
|
+
onPostGameShow: /* @__PURE__ */ new Set(),
|
|
1991
|
+
onPostGameHide: /* @__PURE__ */ new Set()
|
|
1992
|
+
};
|
|
1845
1993
|
this.config = {
|
|
1846
1994
|
host: config.host,
|
|
1847
1995
|
port: config.port ?? 58869,
|
|
1848
1996
|
ingameWsRoute: config.ingameWsRoute ?? "/ws/in",
|
|
1849
1997
|
preGameWsRoute: config.preGameWsRoute ?? "/ws/pre",
|
|
1998
|
+
postGameWsRoute: config.postGameWsRoute ?? "/ws/post",
|
|
1850
1999
|
apiRoute: config.apiRoute ?? "/api",
|
|
1851
2000
|
cacheRoute: config.cacheRoute ?? "/cache",
|
|
1852
2001
|
useHttps: config.useHttps ?? false,
|
|
@@ -1867,6 +2016,10 @@ var LeagueBroadcastClient = class {
|
|
|
1867
2016
|
this.preGameStore = new ChampSelectStateStore(this.champSelectData);
|
|
1868
2017
|
this.setupPreGameMessageHandler();
|
|
1869
2018
|
this.preGameWs.onDisconnect(() => this.endChampSelect());
|
|
2019
|
+
this.postGameWs = new WebSocketManager();
|
|
2020
|
+
this.postGameData = new postGameStateData();
|
|
2021
|
+
this.postGameStore = new PostGameStateStore(this.postGameData);
|
|
2022
|
+
this.setupPostGameMessageHandler();
|
|
1870
2023
|
if (this.config.autoConnect) {
|
|
1871
2024
|
this.connect();
|
|
1872
2025
|
}
|
|
@@ -1905,10 +2058,15 @@ var LeagueBroadcastClient = class {
|
|
|
1905
2058
|
const base = `${protocol}://${this.config.host}:${this.config.port}`;
|
|
1906
2059
|
const ingameUrl = `${base}${this.config.ingameWsRoute}`;
|
|
1907
2060
|
const preGameUrl = `${base}${this.config.preGameWsRoute}`;
|
|
1908
|
-
const
|
|
2061
|
+
const connections = [
|
|
1909
2062
|
this.ingameWs.connect(ingameUrl),
|
|
1910
2063
|
this.preGameWs.connect(preGameUrl)
|
|
1911
|
-
]
|
|
2064
|
+
];
|
|
2065
|
+
if (this.config.postGameWsRoute !== false) {
|
|
2066
|
+
const postGameUrl = `${base}${this.config.postGameWsRoute}`;
|
|
2067
|
+
connections.push(this.postGameWs.connect(postGameUrl));
|
|
2068
|
+
}
|
|
2069
|
+
const results = await Promise.allSettled(connections);
|
|
1912
2070
|
const failures = results.filter((r) => r.status === "rejected");
|
|
1913
2071
|
if (failures.length > 0) {
|
|
1914
2072
|
const reasons = failures.map(
|
|
@@ -1927,6 +2085,7 @@ var LeagueBroadcastClient = class {
|
|
|
1927
2085
|
disconnect() {
|
|
1928
2086
|
this.ingameWs.disconnect();
|
|
1929
2087
|
this.preGameWs.disconnect();
|
|
2088
|
+
this.postGameWs.disconnect();
|
|
1930
2089
|
this._overlayHealth?.stop();
|
|
1931
2090
|
this._overlayHealth = null;
|
|
1932
2091
|
}
|
|
@@ -1962,6 +2121,12 @@ var LeagueBroadcastClient = class {
|
|
|
1962
2121
|
isPreGameConnected() {
|
|
1963
2122
|
return this.preGameWs.isConnected();
|
|
1964
2123
|
}
|
|
2124
|
+
/**
|
|
2125
|
+
* Whether the post-game WebSocket is connected.
|
|
2126
|
+
*/
|
|
2127
|
+
isPostGameConnected() {
|
|
2128
|
+
return this.postGameWs.isConnected();
|
|
2129
|
+
}
|
|
1965
2130
|
// ===========================================================================
|
|
1966
2131
|
// In-game data access
|
|
1967
2132
|
// ===========================================================================
|
|
@@ -1989,6 +2154,17 @@ var LeagueBroadcastClient = class {
|
|
|
1989
2154
|
return this.champSelectData.isActive;
|
|
1990
2155
|
}
|
|
1991
2156
|
// ===========================================================================
|
|
2157
|
+
// Post-game data access
|
|
2158
|
+
// ===========================================================================
|
|
2159
|
+
/** Get the current post-game state. */
|
|
2160
|
+
getPostGameData() {
|
|
2161
|
+
return this.postGameData;
|
|
2162
|
+
}
|
|
2163
|
+
/** Whether post-game is currently active. */
|
|
2164
|
+
isPostGameActive() {
|
|
2165
|
+
return this.postGameData.isActive;
|
|
2166
|
+
}
|
|
2167
|
+
// ===========================================================================
|
|
1992
2168
|
// In-game event handlers
|
|
1993
2169
|
// ===========================================================================
|
|
1994
2170
|
/** Register a handler for in-game state updates. */
|
|
@@ -2048,6 +2224,32 @@ var LeagueBroadcastClient = class {
|
|
|
2048
2224
|
};
|
|
2049
2225
|
}
|
|
2050
2226
|
// ===========================================================================
|
|
2227
|
+
// Post-game event handlers
|
|
2228
|
+
// ===========================================================================
|
|
2229
|
+
/** Register a handler for post-game state updates. */
|
|
2230
|
+
onPostGameUpdate(handler) {
|
|
2231
|
+
this.postGameUpdateHandlers.add(handler);
|
|
2232
|
+
return () => this.postGameUpdateHandlers.delete(handler);
|
|
2233
|
+
}
|
|
2234
|
+
/** Register handlers for post-game lifecycle and analysis events. Returns an unsubscribe function. */
|
|
2235
|
+
onPostGameEvents(handlers) {
|
|
2236
|
+
const entries = Object.entries(handlers);
|
|
2237
|
+
for (const [key, handler] of entries) {
|
|
2238
|
+
if (handler) {
|
|
2239
|
+
this.postGameEventHandlers[key].add(handler);
|
|
2240
|
+
}
|
|
2241
|
+
}
|
|
2242
|
+
return () => {
|
|
2243
|
+
for (const [key, handler] of entries) {
|
|
2244
|
+
if (handler) {
|
|
2245
|
+
this.postGameEventHandlers[key].delete(
|
|
2246
|
+
handler
|
|
2247
|
+
);
|
|
2248
|
+
}
|
|
2249
|
+
}
|
|
2250
|
+
};
|
|
2251
|
+
}
|
|
2252
|
+
// ===========================================================================
|
|
2051
2253
|
// Connection event handlers
|
|
2052
2254
|
// ===========================================================================
|
|
2053
2255
|
/** Register a handler for in-game connection. */
|
|
@@ -2074,6 +2276,18 @@ var LeagueBroadcastClient = class {
|
|
|
2074
2276
|
onPreGameError(handler) {
|
|
2075
2277
|
return this.preGameWs.onError(handler);
|
|
2076
2278
|
}
|
|
2279
|
+
/** Register a handler for post-game connection. */
|
|
2280
|
+
onPostGameConnect(handler) {
|
|
2281
|
+
return this.postGameWs.onConnect(handler);
|
|
2282
|
+
}
|
|
2283
|
+
/** Register a handler for post-game disconnection. */
|
|
2284
|
+
onPostGameDisconnect(handler) {
|
|
2285
|
+
return this.postGameWs.onDisconnect(handler);
|
|
2286
|
+
}
|
|
2287
|
+
/** Register a handler for post-game connection errors. */
|
|
2288
|
+
onPostGameError(handler) {
|
|
2289
|
+
return this.postGameWs.onError(handler);
|
|
2290
|
+
}
|
|
2077
2291
|
// ===========================================================================
|
|
2078
2292
|
// Reactive API — in-game (convenience wrappers around this.store)
|
|
2079
2293
|
// ===========================================================================
|
|
@@ -2139,6 +2353,37 @@ var LeagueBroadcastClient = class {
|
|
|
2139
2353
|
return this.preGameStore.watch(selector, callback, equalityFn);
|
|
2140
2354
|
}
|
|
2141
2355
|
// ===========================================================================
|
|
2356
|
+
// Reactive API — post-game (convenience wrappers around this.postGameStore)
|
|
2357
|
+
// ===========================================================================
|
|
2358
|
+
/**
|
|
2359
|
+
* Create a subscribable slice of **post-game** (analysis) state.
|
|
2360
|
+
*
|
|
2361
|
+
* ```tsx
|
|
2362
|
+
* const overview = client.selectPostGame(s => s.postGameData.overview);
|
|
2363
|
+
* function Winner() {
|
|
2364
|
+
* const value = useSyncExternalStore(overview.subscribe, overview.getSnapshot);
|
|
2365
|
+
* return <span>{value?.winnerSide}</span>;
|
|
2366
|
+
* }
|
|
2367
|
+
* ```
|
|
2368
|
+
*/
|
|
2369
|
+
selectPostGame(selector, equalityFn) {
|
|
2370
|
+
return this.postGameStore.select(selector, equalityFn);
|
|
2371
|
+
}
|
|
2372
|
+
/**
|
|
2373
|
+
* Watch a derived **post-game** value and invoke `callback` whenever it
|
|
2374
|
+
* changes. Returns an unsubscribe function.
|
|
2375
|
+
*
|
|
2376
|
+
* ```ts
|
|
2377
|
+
* client.watchPostGame(
|
|
2378
|
+
* s => s.postGameData.overview?.winnerSide,
|
|
2379
|
+
* (winner, prev) => console.log(`Winner: ${prev} → ${winner}`),
|
|
2380
|
+
* );
|
|
2381
|
+
* ```
|
|
2382
|
+
*/
|
|
2383
|
+
watchPostGame(selector, callback, equalityFn) {
|
|
2384
|
+
return this.postGameStore.watch(selector, callback, equalityFn);
|
|
2385
|
+
}
|
|
2386
|
+
// ===========================================================================
|
|
2142
2387
|
// URLs
|
|
2143
2388
|
// ===========================================================================
|
|
2144
2389
|
/** Get the base HTTP URL for API requests. */
|
|
@@ -2347,6 +2592,96 @@ var LeagueBroadcastClient = class {
|
|
|
2347
2592
|
(handler) => handler(this.champSelectData)
|
|
2348
2593
|
);
|
|
2349
2594
|
}
|
|
2595
|
+
// ===========================================================================
|
|
2596
|
+
// Private — post-game message handling
|
|
2597
|
+
// ===========================================================================
|
|
2598
|
+
setupPostGameMessageHandler() {
|
|
2599
|
+
this.postGameWs.onMessage((messageData) => {
|
|
2600
|
+
switch (messageData.type) {
|
|
2601
|
+
case "postgame-route-change":
|
|
2602
|
+
case "frontend-route-update":
|
|
2603
|
+
this.handlePostGameRouteUpdate(messageData.uri);
|
|
2604
|
+
break;
|
|
2605
|
+
case "postgame-mocking-update":
|
|
2606
|
+
this.handlePostGameMockingUpdate(
|
|
2607
|
+
messageData.mockingState ?? messageData.mocking
|
|
2608
|
+
);
|
|
2609
|
+
break;
|
|
2610
|
+
case "active-component-changed":
|
|
2611
|
+
this.handleActiveComponentChanged(messageData);
|
|
2612
|
+
break;
|
|
2613
|
+
}
|
|
2614
|
+
});
|
|
2615
|
+
}
|
|
2616
|
+
handlePostGameRouteUpdate(uri) {
|
|
2617
|
+
if (typeof uri !== "string" || uri.length === 0) return;
|
|
2618
|
+
this.postGameEventHandlers.onRouteUpdate.forEach((h) => h(uri));
|
|
2619
|
+
}
|
|
2620
|
+
handlePostGameMockingUpdate(mocking) {
|
|
2621
|
+
const isMocking = Boolean(mocking);
|
|
2622
|
+
const nextData = {
|
|
2623
|
+
...this.postGameData,
|
|
2624
|
+
isMocking
|
|
2625
|
+
};
|
|
2626
|
+
this.postGameData = structuralShare(this.postGameData, nextData);
|
|
2627
|
+
this.postGameStore._setPostGameData(this.postGameData);
|
|
2628
|
+
this.postGameUpdateHandlers.forEach(
|
|
2629
|
+
(handler) => handler(this.postGameData)
|
|
2630
|
+
);
|
|
2631
|
+
this.postGameEventHandlers.onMockingUpdate.forEach((h) => h(isMocking));
|
|
2632
|
+
}
|
|
2633
|
+
handleActiveComponentChanged(messageData) {
|
|
2634
|
+
const { type: _type, ...rest } = messageData ?? {};
|
|
2635
|
+
const args = messageData?.args ?? rest;
|
|
2636
|
+
const nextData = {
|
|
2637
|
+
...this.postGameData,
|
|
2638
|
+
activeComponent: args
|
|
2639
|
+
};
|
|
2640
|
+
this.postGameData = structuralShare(this.postGameData, nextData);
|
|
2641
|
+
this.postGameStore._setPostGameData(this.postGameData);
|
|
2642
|
+
this.postGameUpdateHandlers.forEach(
|
|
2643
|
+
(handler) => handler(this.postGameData)
|
|
2644
|
+
);
|
|
2645
|
+
this.postGameEventHandlers.onActiveComponentChanged.forEach((h) => h(args));
|
|
2646
|
+
}
|
|
2647
|
+
// ===========================================================================
|
|
2648
|
+
// Post-game data methods
|
|
2649
|
+
// ===========================================================================
|
|
2650
|
+
/** Fetch the postgame overview (current game, a specific game, or the mock overview when mocking) and activate the postgame state. */
|
|
2651
|
+
async showPostGame(gameId) {
|
|
2652
|
+
const overview = this.postGameData.isMocking ? await this.api.postGame.getMockGameOverview() : gameId !== void 0 ? await this.api.postGame.getGameOverview(gameId) : await this.api.postGame.getCurrentGameOverview();
|
|
2653
|
+
const nextData = {
|
|
2654
|
+
...this.postGameData,
|
|
2655
|
+
isActive: true,
|
|
2656
|
+
gameId,
|
|
2657
|
+
overview
|
|
2658
|
+
};
|
|
2659
|
+
this.postGameData = structuralShare(this.postGameData, nextData);
|
|
2660
|
+
this.postGameStore._setPostGameData(this.postGameData);
|
|
2661
|
+
this.postGameUpdateHandlers.forEach(
|
|
2662
|
+
(handler) => handler(this.postGameData)
|
|
2663
|
+
);
|
|
2664
|
+
this.postGameEventHandlers.onPostGameShow.forEach((h) => h(overview));
|
|
2665
|
+
return overview;
|
|
2666
|
+
}
|
|
2667
|
+
/** Re-fetch the postgame overview using the stored game id / mocking state. No-op when postgame is not active. */
|
|
2668
|
+
async refreshPostGame() {
|
|
2669
|
+
if (!this.postGameData.isActive) return;
|
|
2670
|
+
await this.showPostGame(this.postGameData.gameId);
|
|
2671
|
+
}
|
|
2672
|
+
/** Hide / reset the postgame state (preserves `isMocking` and `isConnected`). */
|
|
2673
|
+
hidePostGame() {
|
|
2674
|
+
console.log("[LeagueBroadcastClient] Post-game hidden, resetting data");
|
|
2675
|
+
const reset = new postGameStateData();
|
|
2676
|
+
reset.isMocking = this.postGameData.isMocking;
|
|
2677
|
+
reset.isConnected = this.postGameData.isConnected;
|
|
2678
|
+
this.postGameData = reset;
|
|
2679
|
+
this.postGameStore._reset(this.postGameData);
|
|
2680
|
+
this.postGameEventHandlers.onPostGameHide.forEach((h) => h());
|
|
2681
|
+
this.postGameUpdateHandlers.forEach(
|
|
2682
|
+
(handler) => handler(this.postGameData)
|
|
2683
|
+
);
|
|
2684
|
+
}
|
|
2350
2685
|
};
|
|
2351
2686
|
|
|
2352
2687
|
// types/cloud/changeDetectionResponse.ts
|
|
@@ -2432,7 +2767,7 @@ var cloudSyncResult = class {
|
|
|
2432
2767
|
}
|
|
2433
2768
|
};
|
|
2434
2769
|
|
|
2435
|
-
// types/shared/style/set/
|
|
2770
|
+
// types/shared/style/set/SetPhaseType.ts
|
|
2436
2771
|
var SetPhaseType = /* @__PURE__ */ ((SetPhaseType2) => {
|
|
2437
2772
|
SetPhaseType2[SetPhaseType2["Pre"] = 0] = "Pre";
|
|
2438
2773
|
SetPhaseType2[SetPhaseType2["In"] = 1] = "In";
|
|
@@ -2503,7 +2838,7 @@ var cloudOverlayUploadResponse = class {
|
|
|
2503
2838
|
var casterModeConfigDto = class {
|
|
2504
2839
|
};
|
|
2505
2840
|
|
|
2506
|
-
// types/hotkey/
|
|
2841
|
+
// types/hotkey/Lane.ts
|
|
2507
2842
|
var Lane = /* @__PURE__ */ ((Lane2) => {
|
|
2508
2843
|
Lane2[Lane2["Top"] = 0] = "Top";
|
|
2509
2844
|
Lane2[Lane2["Jungle"] = 1] = "Jungle";
|
|
@@ -2552,7 +2887,7 @@ var singlePostgameHotkeyConfigDto = class {
|
|
|
2552
2887
|
}
|
|
2553
2888
|
};
|
|
2554
2889
|
|
|
2555
|
-
// types/ingame/
|
|
2890
|
+
// types/ingame/SpellSlotIndex.ts
|
|
2556
2891
|
var SpellSlotIndex = /* @__PURE__ */ ((SpellSlotIndex2) => {
|
|
2557
2892
|
SpellSlotIndex2[SpellSlotIndex2["Q"] = 0] = "Q";
|
|
2558
2893
|
SpellSlotIndex2[SpellSlotIndex2["W"] = 1] = "W";
|
|
@@ -2628,7 +2963,7 @@ var announcementParameter = class {
|
|
|
2628
2963
|
}
|
|
2629
2964
|
};
|
|
2630
2965
|
|
|
2631
|
-
// types/ingame/announcer/
|
|
2966
|
+
// types/ingame/announcer/AnnouncementType.ts
|
|
2632
2967
|
var AnnouncementType = /* @__PURE__ */ ((AnnouncementType2) => {
|
|
2633
2968
|
AnnouncementType2[AnnouncementType2["Unknown"] = 0] = "Unknown";
|
|
2634
2969
|
AnnouncementType2[AnnouncementType2["Kill"] = 1] = "Kill";
|
|
@@ -2673,6 +3008,64 @@ var announcerEvent = class {
|
|
|
2673
3008
|
}
|
|
2674
3009
|
};
|
|
2675
3010
|
|
|
3011
|
+
// types/ingame/championDetail/championCombatStats.ts
|
|
3012
|
+
var championCombatStats = class {
|
|
3013
|
+
constructor() {
|
|
3014
|
+
this.attackDamage = 0;
|
|
3015
|
+
this.abilityPower = 0;
|
|
3016
|
+
this.armor = 0;
|
|
3017
|
+
this.magicResist = 0;
|
|
3018
|
+
this.attackSpeed = 0;
|
|
3019
|
+
this.attackSpeedIsMultiplierOnly = false;
|
|
3020
|
+
this.moveSpeed = 0;
|
|
3021
|
+
}
|
|
3022
|
+
};
|
|
3023
|
+
|
|
3024
|
+
// types/shared/style/Team.ts
|
|
3025
|
+
var Team = /* @__PURE__ */ ((Team2) => {
|
|
3026
|
+
Team2[Team2["None"] = 0] = "None";
|
|
3027
|
+
Team2[Team2["Order"] = 1] = "Order";
|
|
3028
|
+
Team2[Team2["Chaos"] = 2] = "Chaos";
|
|
3029
|
+
Team2[Team2["Neutral"] = 3] = "Neutral";
|
|
3030
|
+
return Team2;
|
|
3031
|
+
})(Team || {});
|
|
3032
|
+
|
|
3033
|
+
// types/ingame/championDetail/championDetailData.ts
|
|
3034
|
+
var championDetailData = class {
|
|
3035
|
+
constructor() {
|
|
3036
|
+
this.playerIndex = 0;
|
|
3037
|
+
this.team = 0 /* None */;
|
|
3038
|
+
this.name = "";
|
|
3039
|
+
this.displayName = "";
|
|
3040
|
+
this.level = 0;
|
|
3041
|
+
this.health = {};
|
|
3042
|
+
this.resource = {};
|
|
3043
|
+
this.stats = {};
|
|
3044
|
+
this.kills = 0;
|
|
3045
|
+
this.deaths = 0;
|
|
3046
|
+
this.assists = 0;
|
|
3047
|
+
this.creepScore = 0;
|
|
3048
|
+
this.gold = 0;
|
|
3049
|
+
this.totalGold = 0;
|
|
3050
|
+
this.shutdownGold = 0;
|
|
3051
|
+
this.respawnAt = null;
|
|
3052
|
+
this.summonerSpells = [];
|
|
3053
|
+
this.abilities = [];
|
|
3054
|
+
this.runes = [];
|
|
3055
|
+
}
|
|
3056
|
+
};
|
|
3057
|
+
|
|
3058
|
+
// types/ingame/championDetail/championRuneStat.ts
|
|
3059
|
+
var championRuneStat = class {
|
|
3060
|
+
constructor() {
|
|
3061
|
+
this.id = 0;
|
|
3062
|
+
this.name = "";
|
|
3063
|
+
this.icon = "";
|
|
3064
|
+
this.value = 0;
|
|
3065
|
+
this.statModValue = 0;
|
|
3066
|
+
}
|
|
3067
|
+
};
|
|
3068
|
+
|
|
2676
3069
|
// types/ingame/damageComposition/damageCompositionPlayer.ts
|
|
2677
3070
|
var damageCompositionPlayer = class {
|
|
2678
3071
|
constructor() {
|
|
@@ -2704,7 +3097,7 @@ var ingameDamageCompositionData = class {
|
|
|
2704
3097
|
}
|
|
2705
3098
|
};
|
|
2706
3099
|
|
|
2707
|
-
// types/ingame/damageEvent/
|
|
3100
|
+
// types/ingame/damageEvent/DamageEventType.ts
|
|
2708
3101
|
var DamageEventType = /* @__PURE__ */ ((DamageEventType2) => {
|
|
2709
3102
|
DamageEventType2[DamageEventType2["PlayerDeath"] = 0] = "PlayerDeath";
|
|
2710
3103
|
DamageEventType2[DamageEventType2["ObjectiveKill"] = 1] = "ObjectiveKill";
|
|
@@ -2784,7 +3177,7 @@ var damageRecapEntry = class {
|
|
|
2784
3177
|
}
|
|
2785
3178
|
};
|
|
2786
3179
|
|
|
2787
|
-
// types/ingame/damageRecap/
|
|
3180
|
+
// types/ingame/damageRecap/DamageType.ts
|
|
2788
3181
|
var DamageType = /* @__PURE__ */ ((DamageType2) => {
|
|
2789
3182
|
DamageType2[DamageType2["Physical"] = 0] = "Physical";
|
|
2790
3183
|
DamageType2[DamageType2["Magic"] = 1] = "Magic";
|
|
@@ -2815,7 +3208,7 @@ var damageRecapTimelineEntry = class {
|
|
|
2815
3208
|
}
|
|
2816
3209
|
};
|
|
2817
3210
|
|
|
2818
|
-
// types/ingame/damageRecap/
|
|
3211
|
+
// types/ingame/damageRecap/ObjectiveRecapDisplayMode.ts
|
|
2819
3212
|
var ObjectiveRecapDisplayMode = /* @__PURE__ */ ((ObjectiveRecapDisplayMode2) => {
|
|
2820
3213
|
ObjectiveRecapDisplayMode2[ObjectiveRecapDisplayMode2["None"] = 0] = "None";
|
|
2821
3214
|
ObjectiveRecapDisplayMode2[ObjectiveRecapDisplayMode2["ObjectiveInfo"] = 1] = "ObjectiveInfo";
|
|
@@ -2836,7 +3229,7 @@ var ingameDamageRecapData = class {
|
|
|
2836
3229
|
}
|
|
2837
3230
|
};
|
|
2838
3231
|
|
|
2839
|
-
// types/ingame/damageSplit/
|
|
3232
|
+
// types/ingame/damageSplit/DamageSplitMode.ts
|
|
2840
3233
|
var DamageSplitMode = /* @__PURE__ */ ((DamageSplitMode2) => {
|
|
2841
3234
|
DamageSplitMode2[DamageSplitMode2["Detail"] = 0] = "Detail";
|
|
2842
3235
|
DamageSplitMode2[DamageSplitMode2["Flow"] = 1] = "Flow";
|
|
@@ -2891,7 +3284,7 @@ var killFeedEvent = class {
|
|
|
2891
3284
|
}
|
|
2892
3285
|
};
|
|
2893
3286
|
|
|
2894
|
-
// types/ingame/event/
|
|
3287
|
+
// types/ingame/event/ObjectiveEventType.ts
|
|
2895
3288
|
var ObjectiveEventType = /* @__PURE__ */ ((ObjectiveEventType2) => {
|
|
2896
3289
|
ObjectiveEventType2[ObjectiveEventType2["Spawn"] = 0] = "Spawn";
|
|
2897
3290
|
ObjectiveEventType2[ObjectiveEventType2["Kill"] = 1] = "Kill";
|
|
@@ -2968,7 +3361,7 @@ var singleGameGoldGraphData = class {
|
|
|
2968
3361
|
}
|
|
2969
3362
|
};
|
|
2970
3363
|
|
|
2971
|
-
// types/ingame/objective/
|
|
3364
|
+
// types/ingame/objective/IngameObjectiveType.ts
|
|
2972
3365
|
var IngameObjectiveType = /* @__PURE__ */ ((IngameObjectiveType2) => {
|
|
2973
3366
|
IngameObjectiveType2[IngameObjectiveType2["GRUB"] = 0] = "GRUB";
|
|
2974
3367
|
IngameObjectiveType2[IngameObjectiveType2["HERALD"] = 1] = "HERALD";
|
|
@@ -3036,7 +3429,7 @@ var killParticipationPlayer = class {
|
|
|
3036
3429
|
}
|
|
3037
3430
|
};
|
|
3038
3431
|
|
|
3039
|
-
// types/ingame/objective/
|
|
3432
|
+
// types/ingame/objective/CampLocation.ts
|
|
3040
3433
|
var CampLocation = /* @__PURE__ */ ((CampLocation2) => {
|
|
3041
3434
|
CampLocation2[CampLocation2["DragonPit"] = 2] = "DragonPit";
|
|
3042
3435
|
CampLocation2[CampLocation2["BaronPit"] = 3] = "BaronPit";
|
|
@@ -3799,7 +4192,7 @@ var killFeed = class {
|
|
|
3799
4192
|
}
|
|
3800
4193
|
};
|
|
3801
4194
|
|
|
3802
|
-
// types/shared/style/
|
|
4195
|
+
// types/shared/style/ContentAlign.ts
|
|
3803
4196
|
var ContentAlign = /* @__PURE__ */ ((ContentAlign2) => {
|
|
3804
4197
|
ContentAlign2[ContentAlign2["TopLeft"] = 0] = "TopLeft";
|
|
3805
4198
|
ContentAlign2[ContentAlign2["TopCenter"] = 1] = "TopCenter";
|
|
@@ -3909,7 +4302,7 @@ var lFrameRotation = class {
|
|
|
3909
4302
|
}
|
|
3910
4303
|
};
|
|
3911
4304
|
|
|
3912
|
-
// types/ingame/style/lframe/
|
|
4305
|
+
// types/ingame/style/lframe/TransitionType.ts
|
|
3913
4306
|
var TransitionType = /* @__PURE__ */ ((TransitionType2) => {
|
|
3914
4307
|
TransitionType2[TransitionType2["Cut"] = 0] = "Cut";
|
|
3915
4308
|
TransitionType2[TransitionType2["Fade"] = 1] = "Fade";
|
|
@@ -4647,7 +5040,7 @@ var ingameHealthData = class {
|
|
|
4647
5040
|
}
|
|
4648
5041
|
};
|
|
4649
5042
|
|
|
4650
|
-
// types/ingame/tab/
|
|
5043
|
+
// types/ingame/tab/ResourceType.ts
|
|
4651
5044
|
var ResourceType = /* @__PURE__ */ ((ResourceType2) => {
|
|
4652
5045
|
ResourceType2[ResourceType2["mana"] = 0] = "mana";
|
|
4653
5046
|
ResourceType2[ResourceType2["energy"] = 1] = "energy";
|
|
@@ -4677,7 +5070,7 @@ var ingameResourceData = class {
|
|
|
4677
5070
|
}
|
|
4678
5071
|
};
|
|
4679
5072
|
|
|
4680
|
-
// types/ingame/tab/
|
|
5073
|
+
// types/ingame/tab/IngameSideInfoPageType.ts
|
|
4681
5074
|
var IngameSideInfoPageType = /* @__PURE__ */ ((IngameSideInfoPageType2) => {
|
|
4682
5075
|
IngameSideInfoPageType2[IngameSideInfoPageType2["Gold"] = 1] = "Gold";
|
|
4683
5076
|
IngameSideInfoPageType2[IngameSideInfoPageType2["Experience"] = 2] = "Experience";
|
|
@@ -4759,15 +5152,6 @@ var ingameTeamfightTimelineData = class {
|
|
|
4759
5152
|
}
|
|
4760
5153
|
};
|
|
4761
5154
|
|
|
4762
|
-
// types/shared/style/team.ts
|
|
4763
|
-
var Team = /* @__PURE__ */ ((Team2) => {
|
|
4764
|
-
Team2[Team2["None"] = 0] = "None";
|
|
4765
|
-
Team2[Team2["Order"] = 1] = "Order";
|
|
4766
|
-
Team2[Team2["Chaos"] = 2] = "Chaos";
|
|
4767
|
-
Team2[Team2["Neutral"] = 3] = "Neutral";
|
|
4768
|
-
return Team2;
|
|
4769
|
-
})(Team || {});
|
|
4770
|
-
|
|
4771
5155
|
// types/ingame/teamfightTimeline/teamfightKillEvent.ts
|
|
4772
5156
|
var teamfightKillEvent = class {
|
|
4773
5157
|
constructor() {
|
|
@@ -4802,7 +5186,7 @@ var teamfightTimelineSample = class {
|
|
|
4802
5186
|
}
|
|
4803
5187
|
};
|
|
4804
5188
|
|
|
4805
|
-
// types/shared/
|
|
5189
|
+
// types/shared/BestOfType.ts
|
|
4806
5190
|
var BestOfType = /* @__PURE__ */ ((BestOfType2) => {
|
|
4807
5191
|
BestOfType2[BestOfType2["BestOf1"] = 1] = "BestOf1";
|
|
4808
5192
|
BestOfType2[BestOfType2["BestOf2"] = 2] = "BestOf2";
|
|
@@ -5110,7 +5494,7 @@ var applicationNotificationMessage = class {
|
|
|
5110
5494
|
}
|
|
5111
5495
|
};
|
|
5112
5496
|
|
|
5113
|
-
// types/message/ui/
|
|
5497
|
+
// types/message/ui/AssetType.ts
|
|
5114
5498
|
var AssetType = /* @__PURE__ */ ((AssetType2) => {
|
|
5115
5499
|
AssetType2[AssetType2["Item"] = 0] = "Item";
|
|
5116
5500
|
AssetType2[AssetType2["ItemModifier"] = 1] = "ItemModifier";
|
|
@@ -5134,7 +5518,7 @@ var brushPresetsChangedMessage = class {
|
|
|
5134
5518
|
}
|
|
5135
5519
|
};
|
|
5136
5520
|
|
|
5137
|
-
// types/message/ui/
|
|
5521
|
+
// types/message/ui/CacheOperation.ts
|
|
5138
5522
|
var CacheOperation = /* @__PURE__ */ ((CacheOperation2) => {
|
|
5139
5523
|
CacheOperation2[CacheOperation2["Starting"] = 0] = "Starting";
|
|
5140
5524
|
CacheOperation2[CacheOperation2["FetchingMetadata"] = 1] = "FetchingMetadata";
|
|
@@ -5220,7 +5604,7 @@ var fontsChangedMessage = class {
|
|
|
5220
5604
|
}
|
|
5221
5605
|
};
|
|
5222
5606
|
|
|
5223
|
-
// types/shared/
|
|
5607
|
+
// types/shared/DatabaseUpdateType.ts
|
|
5224
5608
|
var DatabaseUpdateType = /* @__PURE__ */ ((DatabaseUpdateType2) => {
|
|
5225
5609
|
DatabaseUpdateType2[DatabaseUpdateType2["Add"] = 0] = "Add";
|
|
5226
5610
|
DatabaseUpdateType2[DatabaseUpdateType2["Remove"] = 1] = "Remove";
|
|
@@ -5294,7 +5678,7 @@ var seasonDatabaseUpdateMessage = class {
|
|
|
5294
5678
|
}
|
|
5295
5679
|
};
|
|
5296
5680
|
|
|
5297
|
-
// types/message/ui/
|
|
5681
|
+
// types/message/ui/StrokeLayer.ts
|
|
5298
5682
|
var StrokeLayer = /* @__PURE__ */ ((StrokeLayer2) => {
|
|
5299
5683
|
StrokeLayer2[StrokeLayer2["underEverything"] = 0] = "underEverything";
|
|
5300
5684
|
StrokeLayer2[StrokeLayer2["aboveTerrain"] = 1] = "aboveTerrain";
|
|
@@ -5304,7 +5688,7 @@ var StrokeLayer = /* @__PURE__ */ ((StrokeLayer2) => {
|
|
|
5304
5688
|
return StrokeLayer2;
|
|
5305
5689
|
})(StrokeLayer || {});
|
|
5306
5690
|
|
|
5307
|
-
// types/message/ui/
|
|
5691
|
+
// types/message/ui/StrokeLineStyle.ts
|
|
5308
5692
|
var StrokeLineStyle = /* @__PURE__ */ ((StrokeLineStyle2) => {
|
|
5309
5693
|
StrokeLineStyle2[StrokeLineStyle2["solid"] = 0] = "solid";
|
|
5310
5694
|
StrokeLineStyle2[StrokeLineStyle2["dashed"] = 1] = "dashed";
|
|
@@ -5319,7 +5703,7 @@ var strokePropertiesChangedMessage = class {
|
|
|
5319
5703
|
}
|
|
5320
5704
|
};
|
|
5321
5705
|
|
|
5322
|
-
// types/message/ui/
|
|
5706
|
+
// types/message/ui/StrokeTipStyle.ts
|
|
5323
5707
|
var StrokeTipStyle = /* @__PURE__ */ ((StrokeTipStyle2) => {
|
|
5324
5708
|
StrokeTipStyle2[StrokeTipStyle2["circle"] = 0] = "circle";
|
|
5325
5709
|
StrokeTipStyle2[StrokeTipStyle2["rectangle"] = 1] = "rectangle";
|
|
@@ -5366,7 +5750,7 @@ var teamDatabaseUpdateMessage = class {
|
|
|
5366
5750
|
}
|
|
5367
5751
|
};
|
|
5368
5752
|
|
|
5369
|
-
// types/message/ui/
|
|
5753
|
+
// types/message/ui/Tier.ts
|
|
5370
5754
|
var Tier = /* @__PURE__ */ ((Tier2) => {
|
|
5371
5755
|
Tier2[Tier2["Free"] = 0] = "Free";
|
|
5372
5756
|
Tier2[Tier2["Basic"] = 1] = "Basic";
|
|
@@ -5444,7 +5828,7 @@ var playerDeath = class {
|
|
|
5444
5828
|
}
|
|
5445
5829
|
};
|
|
5446
5830
|
|
|
5447
|
-
// types/postgame/
|
|
5831
|
+
// types/postgame/PostGameDataType.ts
|
|
5448
5832
|
var PostGameDataType = /* @__PURE__ */ ((PostGameDataType2) => {
|
|
5449
5833
|
PostGameDataType2[PostGameDataType2["At14Min"] = 0] = "At14Min";
|
|
5450
5834
|
PostGameDataType2[PostGameDataType2["FullGame"] = 1] = "FullGame";
|
|
@@ -5615,7 +5999,7 @@ var combinedViewStyle = class {
|
|
|
5615
5999
|
}
|
|
5616
6000
|
};
|
|
5617
6001
|
|
|
5618
|
-
// types/postgame/style/combinedView/
|
|
6002
|
+
// types/postgame/style/combinedView/CombinedViewTransitionType.ts
|
|
5619
6003
|
var CombinedViewTransitionType = /* @__PURE__ */ ((CombinedViewTransitionType2) => {
|
|
5620
6004
|
CombinedViewTransitionType2[CombinedViewTransitionType2["Cut"] = 0] = "Cut";
|
|
5621
6005
|
CombinedViewTransitionType2[CombinedViewTransitionType2["Fade"] = 1] = "Fade";
|
|
@@ -5962,7 +6346,7 @@ var matchupVersusStyle = class {
|
|
|
5962
6346
|
}
|
|
5963
6347
|
};
|
|
5964
6348
|
|
|
5965
|
-
// types/postgame/style/matchupTable/
|
|
6349
|
+
// types/postgame/style/matchupTable/ScoreDisplayMode.ts
|
|
5966
6350
|
var ScoreDisplayMode = /* @__PURE__ */ ((ScoreDisplayMode2) => {
|
|
5967
6351
|
ScoreDisplayMode2[ScoreDisplayMode2["Dots"] = 0] = "Dots";
|
|
5968
6352
|
ScoreDisplayMode2[ScoreDisplayMode2["Squares"] = 1] = "Squares";
|
|
@@ -5971,7 +6355,7 @@ var ScoreDisplayMode = /* @__PURE__ */ ((ScoreDisplayMode2) => {
|
|
|
5971
6355
|
return ScoreDisplayMode2;
|
|
5972
6356
|
})(ScoreDisplayMode || {});
|
|
5973
6357
|
|
|
5974
|
-
// types/postgame/style/matchupTable/
|
|
6358
|
+
// types/postgame/style/matchupTable/ScoreDotBorderMode.ts
|
|
5975
6359
|
var ScoreDotBorderMode = /* @__PURE__ */ ((ScoreDotBorderMode2) => {
|
|
5976
6360
|
ScoreDotBorderMode2[ScoreDotBorderMode2["Always"] = 0] = "Always";
|
|
5977
6361
|
ScoreDotBorderMode2[ScoreDotBorderMode2["EmptyOnly"] = 1] = "EmptyOnly";
|
|
@@ -6095,7 +6479,7 @@ var runeIcon = class {
|
|
|
6095
6479
|
}
|
|
6096
6480
|
};
|
|
6097
6481
|
|
|
6098
|
-
// types/pregame/
|
|
6482
|
+
// types/pregame/ActionSubType.ts
|
|
6099
6483
|
var ActionSubType = /* @__PURE__ */ ((ActionSubType2) => {
|
|
6100
6484
|
ActionSubType2[ActionSubType2["START"] = 0] = "START";
|
|
6101
6485
|
ActionSubType2[ActionSubType2["HOVER"] = 1] = "HOVER";
|
|
@@ -6103,7 +6487,7 @@ var ActionSubType = /* @__PURE__ */ ((ActionSubType2) => {
|
|
|
6103
6487
|
return ActionSubType2;
|
|
6104
6488
|
})(ActionSubType || {});
|
|
6105
6489
|
|
|
6106
|
-
// types/pregame/
|
|
6490
|
+
// types/pregame/ActionType.ts
|
|
6107
6491
|
var ActionType = /* @__PURE__ */ ((ActionType2) => {
|
|
6108
6492
|
ActionType2[ActionType2["TEN_BANS_REVEAL"] = 0] = "TEN_BANS_REVEAL";
|
|
6109
6493
|
ActionType2[ActionType2["PHASE_TRANSITION"] = 1] = "PHASE_TRANSITION";
|
|
@@ -6147,7 +6531,7 @@ var champSelectStatePerformanceData = class {
|
|
|
6147
6531
|
}
|
|
6148
6532
|
};
|
|
6149
6533
|
|
|
6150
|
-
// types/shared/
|
|
6534
|
+
// types/shared/MatchRuleSet.ts
|
|
6151
6535
|
var MatchRuleSet = /* @__PURE__ */ ((MatchRuleSet2) => {
|
|
6152
6536
|
MatchRuleSet2[MatchRuleSet2["Standard"] = 0] = "Standard";
|
|
6153
6537
|
MatchRuleSet2[MatchRuleSet2["PartialFearless"] = 1] = "PartialFearless";
|
|
@@ -6178,7 +6562,7 @@ var pickBanActionEventArgs = class {
|
|
|
6178
6562
|
}
|
|
6179
6563
|
};
|
|
6180
6564
|
|
|
6181
|
-
// types/pregame/
|
|
6565
|
+
// types/pregame/PickBanPhase.ts
|
|
6182
6566
|
var PickBanPhase = /* @__PURE__ */ ((PickBanPhase2) => {
|
|
6183
6567
|
PickBanPhase2[PickBanPhase2["BEGIN"] = 0] = "BEGIN";
|
|
6184
6568
|
PickBanPhase2[PickBanPhase2["BAN1"] = 1] = "BAN1";
|
|
@@ -6209,7 +6593,7 @@ var pickSlot = class {
|
|
|
6209
6593
|
}
|
|
6210
6594
|
};
|
|
6211
6595
|
|
|
6212
|
-
// types/pregame/
|
|
6596
|
+
// types/pregame/TimeLineActionType.ts
|
|
6213
6597
|
var TimeLineActionType = /* @__PURE__ */ ((TimeLineActionType2) => {
|
|
6214
6598
|
TimeLineActionType2[TimeLineActionType2["HoverPick"] = 0] = "HoverPick";
|
|
6215
6599
|
TimeLineActionType2[TimeLineActionType2["Pick"] = 1] = "Pick";
|
|
@@ -6242,7 +6626,7 @@ var banStyle = class {
|
|
|
6242
6626
|
}
|
|
6243
6627
|
};
|
|
6244
6628
|
|
|
6245
|
-
// types/pregame/style/
|
|
6629
|
+
// types/pregame/style/HeroStatsDisplayMode.ts
|
|
6246
6630
|
var HeroStatsDisplayMode = /* @__PURE__ */ ((HeroStatsDisplayMode2) => {
|
|
6247
6631
|
HeroStatsDisplayMode2[HeroStatsDisplayMode2["None"] = 0] = "None";
|
|
6248
6632
|
HeroStatsDisplayMode2[HeroStatsDisplayMode2["UGG"] = 1] = "UGG";
|
|
@@ -6679,7 +7063,7 @@ var checkoutCompleteResponse = class {
|
|
|
6679
7063
|
}
|
|
6680
7064
|
};
|
|
6681
7065
|
|
|
6682
|
-
// types/rest/account/
|
|
7066
|
+
// types/rest/account/PaymentInterval.ts
|
|
6683
7067
|
var PaymentInterval = /* @__PURE__ */ ((PaymentInterval2) => {
|
|
6684
7068
|
PaymentInterval2[PaymentInterval2["Monthly"] = 0] = "Monthly";
|
|
6685
7069
|
PaymentInterval2[PaymentInterval2["Yearly"] = 1] = "Yearly";
|
|
@@ -6816,7 +7200,7 @@ var billingCycle = class {
|
|
|
6816
7200
|
}
|
|
6817
7201
|
};
|
|
6818
7202
|
|
|
6819
|
-
// types/rest/billing_cycle/
|
|
7203
|
+
// types/rest/billing_cycle/Interval.ts
|
|
6820
7204
|
var Interval = /* @__PURE__ */ ((Interval2) => {
|
|
6821
7205
|
Interval2[Interval2["day"] = 0] = "day";
|
|
6822
7206
|
Interval2[Interval2["week"] = 1] = "week";
|
|
@@ -6825,7 +7209,7 @@ var Interval = /* @__PURE__ */ ((Interval2) => {
|
|
|
6825
7209
|
return Interval2;
|
|
6826
7210
|
})(Interval || {});
|
|
6827
7211
|
|
|
6828
|
-
// types/shared/customoverlay/
|
|
7212
|
+
// types/shared/customoverlay/CustomOverlayMode.ts
|
|
6829
7213
|
var CustomOverlayMode = /* @__PURE__ */ ((CustomOverlayMode2) => {
|
|
6830
7214
|
CustomOverlayMode2[CustomOverlayMode2["Static"] = 0] = "Static";
|
|
6831
7215
|
CustomOverlayMode2[CustomOverlayMode2["Dev"] = 1] = "Dev";
|
|
@@ -7024,7 +7408,7 @@ var simpleChampionData = class {
|
|
|
7024
7408
|
}
|
|
7025
7409
|
};
|
|
7026
7410
|
|
|
7027
|
-
// types/shared/
|
|
7411
|
+
// types/shared/SpellClassification.ts
|
|
7028
7412
|
var SpellClassification = /* @__PURE__ */ ((SpellClassification2) => {
|
|
7029
7413
|
SpellClassification2[SpellClassification2["Ability"] = 0] = "Ability";
|
|
7030
7414
|
SpellClassification2[SpellClassification2["Passive"] = 1] = "Passive";
|
|
@@ -7069,7 +7453,7 @@ var teamData = class {
|
|
|
7069
7453
|
}
|
|
7070
7454
|
};
|
|
7071
7455
|
|
|
7072
|
-
// types/shared/
|
|
7456
|
+
// types/shared/TeamMemberRole.ts
|
|
7073
7457
|
var TeamMemberRole = /* @__PURE__ */ ((TeamMemberRole2) => {
|
|
7074
7458
|
TeamMemberRole2[TeamMemberRole2["Unknown"] = 0] = "Unknown";
|
|
7075
7459
|
TeamMemberRole2[TeamMemberRole2["Player"] = 1] = "Player";
|
|
@@ -7149,7 +7533,7 @@ var customOverlayDescriptor = class {
|
|
|
7149
7533
|
}
|
|
7150
7534
|
};
|
|
7151
7535
|
|
|
7152
|
-
// types/shared/customoverlay/
|
|
7536
|
+
// types/shared/customoverlay/DevServerStatus.ts
|
|
7153
7537
|
var DevServerStatus = /* @__PURE__ */ ((DevServerStatus2) => {
|
|
7154
7538
|
DevServerStatus2[DevServerStatus2["Stopped"] = 0] = "Stopped";
|
|
7155
7539
|
DevServerStatus2[DevServerStatus2["Starting"] = 1] = "Starting";
|
|
@@ -7175,7 +7559,7 @@ var borderStyle = class {
|
|
|
7175
7559
|
}
|
|
7176
7560
|
};
|
|
7177
7561
|
|
|
7178
|
-
// types/shared/style/
|
|
7562
|
+
// types/shared/style/ChampionIconType.ts
|
|
7179
7563
|
var ChampionIconType = /* @__PURE__ */ ((ChampionIconType2) => {
|
|
7180
7564
|
ChampionIconType2[ChampionIconType2["Splash"] = 0] = "Splash";
|
|
7181
7565
|
ChampionIconType2[ChampionIconType2["SplashCentered"] = 1] = "SplashCentered";
|
|
@@ -7185,7 +7569,7 @@ var ChampionIconType = /* @__PURE__ */ ((ChampionIconType2) => {
|
|
|
7185
7569
|
return ChampionIconType2;
|
|
7186
7570
|
})(ChampionIconType || {});
|
|
7187
7571
|
|
|
7188
|
-
// types/shared/style/
|
|
7572
|
+
// types/shared/style/ObjectFit.ts
|
|
7189
7573
|
var ObjectFit = /* @__PURE__ */ ((ObjectFit2) => {
|
|
7190
7574
|
ObjectFit2[ObjectFit2["Fill"] = 0] = "Fill";
|
|
7191
7575
|
ObjectFit2[ObjectFit2["Contain"] = 1] = "Contain";
|
|
@@ -7210,7 +7594,7 @@ var championIconStyle = class {
|
|
|
7210
7594
|
}
|
|
7211
7595
|
};
|
|
7212
7596
|
|
|
7213
|
-
// types/shared/style/
|
|
7597
|
+
// types/shared/style/GradientType.ts
|
|
7214
7598
|
var GradientType = /* @__PURE__ */ ((GradientType2) => {
|
|
7215
7599
|
GradientType2[GradientType2["Linear"] = 0] = "Linear";
|
|
7216
7600
|
GradientType2[GradientType2["Radial"] = 1] = "Radial";
|
|
@@ -7311,7 +7695,7 @@ var layoutStyle = class {
|
|
|
7311
7695
|
}
|
|
7312
7696
|
};
|
|
7313
7697
|
|
|
7314
|
-
// types/shared/style/text/
|
|
7698
|
+
// types/shared/style/text/TextOrientation.ts
|
|
7315
7699
|
var TextOrientation = /* @__PURE__ */ ((TextOrientation2) => {
|
|
7316
7700
|
TextOrientation2[TextOrientation2["None"] = 0] = "None";
|
|
7317
7701
|
TextOrientation2[TextOrientation2["Upright"] = 1] = "Upright";
|
|
@@ -7319,7 +7703,7 @@ var TextOrientation = /* @__PURE__ */ ((TextOrientation2) => {
|
|
|
7319
7703
|
return TextOrientation2;
|
|
7320
7704
|
})(TextOrientation || {});
|
|
7321
7705
|
|
|
7322
|
-
// types/shared/style/text/
|
|
7706
|
+
// types/shared/style/text/WritingMode.ts
|
|
7323
7707
|
var WritingMode = /* @__PURE__ */ ((WritingMode2) => {
|
|
7324
7708
|
WritingMode2[WritingMode2["None"] = 0] = "None";
|
|
7325
7709
|
WritingMode2[WritingMode2["Horizontal"] = 1] = "Horizontal";
|
|
@@ -7343,7 +7727,7 @@ var optionalTextStyle = class {
|
|
|
7343
7727
|
}
|
|
7344
7728
|
};
|
|
7345
7729
|
|
|
7346
|
-
// types/shared/style/
|
|
7730
|
+
// types/shared/style/TeamColorType.ts
|
|
7347
7731
|
var TeamColorType = /* @__PURE__ */ ((TeamColorType2) => {
|
|
7348
7732
|
TeamColorType2[TeamColorType2["Primary"] = 0] = "Primary";
|
|
7349
7733
|
TeamColorType2[TeamColorType2["Secondary"] = 1] = "Secondary";
|
|
@@ -7373,7 +7757,7 @@ var textStyle = class {
|
|
|
7373
7757
|
}
|
|
7374
7758
|
};
|
|
7375
7759
|
|
|
7376
|
-
// types/shared/style/set/
|
|
7760
|
+
// types/shared/style/set/Feature.ts
|
|
7377
7761
|
var Feature = /* @__PURE__ */ ((Feature2) => {
|
|
7378
7762
|
Feature2[Feature2["BasicTier"] = 0] = "BasicTier";
|
|
7379
7763
|
Feature2[Feature2["ProTier"] = 1] = "ProTier";
|
|
@@ -7421,7 +7805,7 @@ var styleSetNameCollection = class {
|
|
|
7421
7805
|
}
|
|
7422
7806
|
};
|
|
7423
7807
|
|
|
7424
|
-
// types/shared/window/
|
|
7808
|
+
// types/shared/window/AppTheme.ts
|
|
7425
7809
|
var AppTheme = /* @__PURE__ */ ((AppTheme2) => {
|
|
7426
7810
|
AppTheme2[AppTheme2["Light"] = 0] = "Light";
|
|
7427
7811
|
AppTheme2[AppTheme2["Dark"] = 1] = "Dark";
|
|
@@ -7429,7 +7813,7 @@ var AppTheme = /* @__PURE__ */ ((AppTheme2) => {
|
|
|
7429
7813
|
return AppTheme2;
|
|
7430
7814
|
})(AppTheme || {});
|
|
7431
7815
|
|
|
7432
|
-
// types/shared/window/
|
|
7816
|
+
// types/shared/window/WindowType.ts
|
|
7433
7817
|
var WindowType = /* @__PURE__ */ ((WindowType2) => {
|
|
7434
7818
|
WindowType2[WindowType2["Main"] = 0] = "Main";
|
|
7435
7819
|
WindowType2[WindowType2["Startup"] = 1] = "Startup";
|
|
@@ -7704,6 +8088,52 @@ function normalizeDamageEntries(entries, limit = 5) {
|
|
|
7704
8088
|
return [...grouped.values()].sort((a, b) => b.totalDamage - a.totalDamage).slice(0, limit);
|
|
7705
8089
|
}
|
|
7706
8090
|
|
|
7707
|
-
export { ActionSubType, ActionType, AnnouncementType, ApiClient, ApiError, AppTheme, AssetType, BestOfType, CacheOperation, CampLocation, ChampSelectStateStore, ChampionIconType, CombinedViewTransitionType, ContentAlign, CustomOverlayMode, DamageEventType, DamageSplitMode, DamageType, DatabaseUpdateType, DevServerStatus, Feature, GameApi, GameState, GameStateApi, GameStateStore, GradientType, HeroStatsDisplayMode, IngameApi, IngameObjectiveType, IngameSideInfoPageType, Interval, Lane, LeagueBroadcastClient, MAGIC_COLOR, MatchApi, MatchRuleSet, ObjectFit, ObjectiveEventType, ObjectiveRecapDisplayMode, PHYS_COLOR, PaymentInterval, PickBanPhase, PostGameApi, PostGameDataType, damageBarStyle2 as PostgameDamageBarStyle, PreGameApi, divider2 as PregameDivider, ResourceType, RestApi, ScoreDisplayMode, ScoreDotBorderMode, SeasonApi, SetPhaseType, SpellClassification, SpellSlotIndex, StrokeLayer, StrokeLineStyle, StrokeTipStyle, TRUE_COLOR, Team, TeamColorType, TeamMemberRole, TextOrientation, Tier, TimeLineActionType, TransitionType, WebSocketManager, WindowType, WritingMode, activeComponentChangedEventArgs, activeComponentChangedMessage, addMatchRequestArgs, aggregateSpellEntries, announcementParameter, announcerColors, announcerEvent, announcerUniversalStyle, applicationLifetimeMessage, applicationNotificationCompletedMessage, applicationNotificationMessage, authHelloMessage, authHelloOkMessage, banSlot, banSlotLayoutStyling, banStyle, barStyle, billingCycle, borderStyle, bottomRowPickBanStyle, bottomRowSizeStyle, bottomRowTeamStyle, bottomRowTournamentData, brushPresetsChangedMessage, cDragonPerkInfo, casterModeConfigDto, centerContent, centerContentLayoutStyling, centerContentStyling, champSelectActionMessage, champSelectStateData, champSelectStateMessage, champSelectStateMetaData, champSelectStatePerformanceData, championAbilityData, championContainer, championData, championIamgeStyle, championIconStyle, championImage, championImageStyle, championSelectEUStyle, championSelectTeam, championSkinInfo, championSlot, championStackStyle, championStatistics, championStats, championStatsContainer, championStatusStyle, championTabContainerStyle, championTabNameStyle, championTabsStyle, championUltimateStyle, championsSlot, changeDetectionResponse, changeEmailRequest, changeEmailResponse, changePasswordRequest, chatVoteOption, chatVoteResultDto, checkoutCompleteResponse, checkoutRequestDTO, choiceBar, choiceTitel, choiceVotes, cloudOverlayDownloadResponse, cloudOverlayMetadata, cloudOverlayUploadRequest, cloudOverlayUploadResponse, cloudOverlaysResponse, cloudStyleSetDownloadResponse, cloudStyleSetMetadata, cloudStyleSetUploadRequest, cloudStyleSetUploadResponse, cloudStyleSetsResponse, cloudSyncConfig, cloudSyncResult, coachSlot, colorByDamageType, colorComponentStyling, colorGradientData, colorImageData, colorRGBA, colorStop, colorStyle, colorStyling, combinedViewStyle, combinedViewTransitionStyle, communityDragonCacheProgressMessage, communityDragonV2ProgressMessage, communityDragonV2StatusMessage, componentStyle, contentContainerStyle, createChoice, createIngameTimerUtils, createPollDto, createPredictionDto, creepScore, curveStyle, customOverlay, customOverlayDescriptor, customOverlayUpdateMessage, damageBarSegments, damageBarStyle, damageCompositionBarStyle, damageCompositionColors, damageCompositionDonutStyle, damageCompositionPlayer, damageCompositionStyle, damageCompositionTeam, damageDealtStyle, damageEventHistoryEntry, damageEventHistoryUpdateMessage, damageFlow, damageFlowEdge, damageFlowNode, damageFlowNodeStyle, damageFlowRibbonStyle, damageGraphEntry, damageGraphSide, damageRecapDamageBarStyle, damageRecapEntry, damageRecapEntryStyle, damageRecapSpellEntry, damageRecapStyle, damageRecapTimelineEntry, damageSplitBarStyle, damageSplitEntryStyle, damageSplitSpellEntry, damageSplitStyle, damageSplitTargetEntry, damageStatsStyle, devServerState, displayColorData, divider, dmgTypeColor, drawingEventMessage, drawingStateMessage, drawingStateRequestMessage, drawingStrokeDto, emailConfirmRequest, emailForgotPasswordRequest, emailLoginRequest, emailResendCodeRequest, emailResetPasswordRequest, emailSignUpRequest, endPollDto, endPredictionDto, fearLessByGame, fearLessSingleRow, fearlessChampionImage, fearlessDraftStyle, fearlessDraftStylePregame, fearlessTree, fearlessTreeBanRowStyle, fearlessTreeConnectorStyle, fearlessTreeGameNodeStyle, fearlessTreeHeaderStyle, fontsChangedMessage, formatDamage, frontendRouteUpdateMessage, fullPlayerScoreboardSlots, gameAnalysis, gameDatabaseUpdateMessage, gameInfoRotation, gameStatusMessage, gameTeamSidesSwappedMessage, gameTimer, gameTimerStyle, gameWithTeams, getAbilityCooldownFraction, getAbilityCooldownRemaining, getDamageByType, getItemCooldownFraction, getItemCooldownRemaining, getRemaining, getRespawnRemaining, getRoleQuest, getSortedInventory, getTrinket, globalPosition, globalScoreboard, globalScoreboardBooleanIndicator, globalScoreboardSection, globalStyleProperties, goldAdvantage, goldEfficiencyEntry, goldEfficiencyHeaderStyle, goldEfficiencyHeatStyle, goldEfficiencyPlayerRowStyle, goldEfficiencyStyle, goldGraph, goldGraphStyle, gridLineStyle, headline, healthBarStyle, hotkeyFiredMessage, hubErrorMessage, hubMemberDto, hubPingMessage, hubPongMessage, imageComponentStyle, imageStyle, infoContentColorStyling, infoContentLayoutStyling, infoContentTextStyle, infoRow, ingameAbilityInfo, ingameDamageCompositionData, ingameDamageFlowData, ingameDamageGraphData, ingameDamageRecapData, ingameDamageSplitData, ingameExperienceData, ingameFrontendData, ingameGoldEfficiencyData, ingameGoldGraphData, ingameHealthData, ingameKillParticipationData, ingameObjectiveDpsData, ingameObjectiveEvent, ingameObjectivePowerPlay, ingameResourceData, ingameRewindMessage, ingameRuneData, ingameScoreboardBottomData, ingameScoreboardBottomPlayerData, ingameScoreboardBottomTeamData, ingameScoreboardData, ingameScoreboardTeamData, ingameSideInfoPage, ingameSideInfoPageDisplayData, ingameSideInfoPageRow, ingameSingleRuneData, ingameSkinDisplayData, ingameSkinDisplayPlayerData, ingameSkinDisplayTeamData, ingameStateMessage, ingameStateSettingsWrapper, ingameTeamfightTimelineData, ingameTelemetry, ingameTelemetryMessage, inhibitorRespawnData, inhibitorTimer, inhibitorTimerContainer, inhibitorTimerDual, inhibitorTimerIconContainer, inhibitorTimerSingle, inhibitorTimerTimerContainer, isAbilityOnCooldown, isActive, isItemOnCooldown, isPlayerDead, itemAsset, itemIcon, itemSlot, itemStats, itemWithAsset, killFeed, killFeedAssistersStyle, killFeedContainerStyle, killFeedEntryStyle, killFeedEvent, killFeedIconStyle, killFeedKillIconStyle, killParticipationLink, killParticipationPlayer, killParticipationStyle, lFrameRotation, laneIconStyle, laneRowLayoutStyle, layoutComponentStyling, layoutStyle, legacyPickBanStyle, levelXpTrackerStyle, lineStyle, localSyncState, localizedPriceData, matchCardStyle, matchData, matchDatabaseUpdateMessage, matchOverviewData, matchOverviewGameSummary, matchOverviewTeamSummary, matchSummaryStyle, matchWithGamesAndTeams, matchupGridStyle, matchupHeaderStyle, matchupOverview, matchupOverviewGameRowStyle, matchupOverviewHeaderStyle, matchupOverviewTeamBarStyle, matchupScoreStyle, matchupTable, matchupTableContentStyle, matchupVersusStyle, normalizeDamageEntries, numberContainerStyle, objectiveDamagePerTeamStyle, objectiveDpsBarStyle, objectiveDpsHeaderStyle, objectiveDpsSample, objectiveDpsSmiteStrip, objectiveDpsTeamNumbersStyle, objectiveList, objectiveRecapCardStyle, objectiveRecapHeaderStyle, objectiveRecapSmiteBarStyle, objectiveRecapStyle, objectiveTimer, optionBar, optionTitel, optionVotes, optionalGameData, optionalMatchData, optionalTextStyle, partialStrokeProperties, perkData, perkInfoV2, perkStyleInfoV2, phaseTimer, phaseTimerColorStyling, phaseTimerLayoutStyling, pickBanActionEventArgs, pickBanTimer, pickBans, pickSlot, planDescriptorRecord, planDetails, playerDeath, playerHotkeyDto, playerKDA, playerScoreboard, playerScoreboardContainer, playerScoreboardGoldComparison, playerScoreboardSlot, playerSlot, playerSlotColorStyling, playerSlotLayoutStyling, playerSlotPickingStyle, playerSlotStyle, playerUpdateEvent, playerXpLevelStyle, pollChoice, pollWrapper, portalSessionResponse, postGameDamageGraph, postGameDamageGraphByTeam, postGameDamageGraphEntry, postGameGoldGraph, postGameOverview, postGamePlayerInfo, postGamePlayerPage, postGamePlayerRunesAndItems, postGamePlayerStats, postGameTeamInfo, postGameTeamOverview, predictionBar, predictionOutcome, predictionOutcomeRequest, predictionPoints, predictionWrapper, profileResponse, progressBarStyle, registerOverlayRequest, respawnTimer, roleQuestSlot, roomJoinMessage, roomJoinedMessage, roomLeaveMessage, roomMemberJoinedMessage, roomMemberLeftMessage, runeContainer, runeDisplayPerkStyle, runeDisplayStyle, runeDisplayTeamStyle, runeIcon, runeStyle, scoreStyle, scoreboardChampionSlot, scoreboardDamageGraphStyle, seasonData, seasonDatabaseUpdateMessage, shallowEqual, simpleChampionData, singleChampionDetailHotkeyConfigDto, singleGameGoldGraph, singleGameGoldGraphData, singleIngameHotkeyConfigDto, singlePostgameHotkeyConfigDto, skinDisplayInfoStyle, skinDisplayPoweredByStyle, skinDisplayRoleIconStyle, skinDisplayStyle, smiteReactionBadgeStyle, smiteReactionPoweredByStyle, smiteReactionResult, smiteReactionRingStyle, smiteReactionStyle, smiteReactionTextStyle, spawnTimer, spawnTimerIconContainerStyle, spawnTimerInfoContainerStyle, spawnTimerStyle, startChatVoteDto, startCheckoutResponse, strokePropertiesChangedMessage, styleSet, styleSetEntry, styleSetNameCollection, styleSetUpdatedMessage, styleVariantUpdateMessage, styleVariantUpdatedEventArgs, summonerSpellData, summonerSpellInfoV2, tabLevelUpStyle, tabPlayer, tabTeam, tabsStyle, teamColorStyling, teamDamageStyle, teamData, teamDatabaseUpdateMessage, teamFightDamageStyle, teamIconStyle, teamInfo, teamInfoStyle, teamInhibitorData, teamLayoutStyling, teamMember, teamName, teamScore, teamScores, teamSummaryStyle, teamTextStyle, teamUpdateResults, teamWithMembers, teamfightDamageEntryStyle, teamfightDeathIconStyle, teamfightKillEvent, teamfightTimelinePlayer, teamfightTimelineSample, teamfightTimelineStyle, teamsAndTimerStyle, textComponentStyling, textContentWithStyle, textOutline, textStyle, textStyleWithBorder, textWithContent, timelineEntry, timerBadgePoll, timerBadgePrediction, timerBarStyle, timerTeamStyle, totalBadge, totalVotes, tournamentData, tournamentLogo, transitionEvents, transitionStyle, turretPlatingFallEvent, twitchChatVote, twitchPoll, twitchPollDto, twitchPrediction, twitchPredictionDto, twitchStatusDTO, ultiAbilityStyle, updateNameRequest, updateOverlayRequest, userFeaturesUpdatedMessage, userTierUpdatedMessage, vector3, verifyEmailRequest, voteWrapper, websocketMessageTypes };
|
|
8091
|
+
// src/util/postGameUtils.ts
|
|
8092
|
+
function getPostGameSides(overview) {
|
|
8093
|
+
const source = overview.teamOverviewBySide && Object.keys(overview.teamOverviewBySide).length > 0 ? overview.teamOverviewBySide : overview.teamInfoBySide ?? {};
|
|
8094
|
+
return Object.keys(source).map(Number).sort((a, b) => a - b);
|
|
8095
|
+
}
|
|
8096
|
+
function buildGoldSeries(graph) {
|
|
8097
|
+
const goldAtTime = graph?.goldAtTime ?? {};
|
|
8098
|
+
return Object.keys(goldAtTime).map(Number).sort((a, b) => a - b).map((time) => ({
|
|
8099
|
+
time,
|
|
8100
|
+
goldBySide: goldAtTime[time]
|
|
8101
|
+
}));
|
|
8102
|
+
}
|
|
8103
|
+
function buildGoldDiffSeries(graph, referenceSide) {
|
|
8104
|
+
const series = buildGoldSeries(graph);
|
|
8105
|
+
if (series.length === 0) return [];
|
|
8106
|
+
const ref = referenceSide ?? Math.min(
|
|
8107
|
+
...series.flatMap((entry) => Object.keys(entry.goldBySide).map(Number))
|
|
8108
|
+
);
|
|
8109
|
+
return series.map((entry) => {
|
|
8110
|
+
const refGold = entry.goldBySide[ref] ?? 0;
|
|
8111
|
+
let otherGold = 0;
|
|
8112
|
+
for (const [side, gold] of Object.entries(entry.goldBySide)) {
|
|
8113
|
+
if (Number(side) !== ref) otherGold += gold;
|
|
8114
|
+
}
|
|
8115
|
+
return { time: entry.time, diff: refGold - otherGold };
|
|
8116
|
+
});
|
|
8117
|
+
}
|
|
8118
|
+
function formatGameClock(seconds) {
|
|
8119
|
+
const total = Math.max(0, Math.floor(seconds));
|
|
8120
|
+
const hours = Math.floor(total / 3600);
|
|
8121
|
+
const minutes = Math.floor(total % 3600 / 60);
|
|
8122
|
+
const secs = total % 60;
|
|
8123
|
+
const ss = secs.toString().padStart(2, "0");
|
|
8124
|
+
if (hours > 0) {
|
|
8125
|
+
const mm = minutes.toString().padStart(2, "0");
|
|
8126
|
+
return `${hours}:${mm}:${ss}`;
|
|
8127
|
+
}
|
|
8128
|
+
return `${minutes}:${ss}`;
|
|
8129
|
+
}
|
|
8130
|
+
function damageGraphTeamTotal(team) {
|
|
8131
|
+
return (team?.entries ?? []).reduce((sum, entry) => sum + entry.damage, 0);
|
|
8132
|
+
}
|
|
8133
|
+
function sortDamageEntries(entries) {
|
|
8134
|
+
return [...entries].sort((a, b) => b.damage - a.damage);
|
|
8135
|
+
}
|
|
8136
|
+
|
|
8137
|
+
export { ActionSubType, ActionType, AnnouncementType, ApiClient, ApiError, AppTheme, AssetType, BestOfType, CacheOperation, CampLocation, ChampSelectStateStore, ChampionIconType, CombinedViewTransitionType, ContentAlign, CustomOverlayMode, DamageEventType, DamageSplitMode, DamageType, DatabaseUpdateType, DevServerStatus, Feature, GameApi, GameState, GameStateApi, GameStateStore, GradientType, HeroStatsDisplayMode, IngameApi, IngameObjectiveType, IngameSideInfoPageType, Interval, Lane, LeagueBroadcastClient, MAGIC_COLOR, MatchApi, MatchRuleSet, ObjectFit, ObjectiveEventType, ObjectiveRecapDisplayMode, PHYS_COLOR, PaymentInterval, PickBanPhase, PostGameApi, PostGameDataType, PostGameStateStore, damageBarStyle2 as PostgameDamageBarStyle, PreGameApi, divider2 as PregameDivider, ResourceType, RestApi, ScoreDisplayMode, ScoreDotBorderMode, SeasonApi, SetPhaseType, SpellClassification, SpellSlotIndex, StrokeLayer, StrokeLineStyle, StrokeTipStyle, TRUE_COLOR, Team, TeamColorType, TeamMemberRole, TextOrientation, Tier, TimeLineActionType, TransitionType, WebSocketManager, WindowType, WritingMode, activeComponentChangedEventArgs, activeComponentChangedMessage, addMatchRequestArgs, aggregateSpellEntries, announcementParameter, announcerColors, announcerEvent, announcerUniversalStyle, applicationLifetimeMessage, applicationNotificationCompletedMessage, applicationNotificationMessage, authHelloMessage, authHelloOkMessage, banSlot, banSlotLayoutStyling, banStyle, barStyle, billingCycle, borderStyle, bottomRowPickBanStyle, bottomRowSizeStyle, bottomRowTeamStyle, bottomRowTournamentData, brushPresetsChangedMessage, buildGoldDiffSeries, buildGoldSeries, cDragonPerkInfo, casterModeConfigDto, centerContent, centerContentLayoutStyling, centerContentStyling, champSelectActionMessage, champSelectStateData, champSelectStateMessage, champSelectStateMetaData, champSelectStatePerformanceData, championAbilityData, championCombatStats, championContainer, championData, championDetailData, championIamgeStyle, championIconStyle, championImage, championImageStyle, championRuneStat, championSelectEUStyle, championSelectTeam, championSkinInfo, championSlot, championStackStyle, championStatistics, championStats, championStatsContainer, championStatusStyle, championTabContainerStyle, championTabNameStyle, championTabsStyle, championUltimateStyle, championsSlot, changeDetectionResponse, changeEmailRequest, changeEmailResponse, changePasswordRequest, chatVoteOption, chatVoteResultDto, checkoutCompleteResponse, checkoutRequestDTO, choiceBar, choiceTitel, choiceVotes, cloudOverlayDownloadResponse, cloudOverlayMetadata, cloudOverlayUploadRequest, cloudOverlayUploadResponse, cloudOverlaysResponse, cloudStyleSetDownloadResponse, cloudStyleSetMetadata, cloudStyleSetUploadRequest, cloudStyleSetUploadResponse, cloudStyleSetsResponse, cloudSyncConfig, cloudSyncResult, coachSlot, colorByDamageType, colorComponentStyling, colorGradientData, colorImageData, colorRGBA, colorStop, colorStyle, colorStyling, combinedViewStyle, combinedViewTransitionStyle, communityDragonCacheProgressMessage, communityDragonV2ProgressMessage, communityDragonV2StatusMessage, componentStyle, contentContainerStyle, createChoice, createIngameTimerUtils, createPollDto, createPredictionDto, creepScore, curveStyle, customOverlay, customOverlayDescriptor, customOverlayUpdateMessage, damageBarSegments, damageBarStyle, damageCompositionBarStyle, damageCompositionColors, damageCompositionDonutStyle, damageCompositionPlayer, damageCompositionStyle, damageCompositionTeam, damageDealtStyle, damageEventHistoryEntry, damageEventHistoryUpdateMessage, damageFlow, damageFlowEdge, damageFlowNode, damageFlowNodeStyle, damageFlowRibbonStyle, damageGraphEntry, damageGraphSide, damageGraphTeamTotal, damageRecapDamageBarStyle, damageRecapEntry, damageRecapEntryStyle, damageRecapSpellEntry, damageRecapStyle, damageRecapTimelineEntry, damageSplitBarStyle, damageSplitEntryStyle, damageSplitSpellEntry, damageSplitStyle, damageSplitTargetEntry, damageStatsStyle, devServerState, displayColorData, divider, dmgTypeColor, drawingEventMessage, drawingStateMessage, drawingStateRequestMessage, drawingStrokeDto, emailConfirmRequest, emailForgotPasswordRequest, emailLoginRequest, emailResendCodeRequest, emailResetPasswordRequest, emailSignUpRequest, endPollDto, endPredictionDto, fearLessByGame, fearLessSingleRow, fearlessChampionImage, fearlessDraftStyle, fearlessDraftStylePregame, fearlessTree, fearlessTreeBanRowStyle, fearlessTreeConnectorStyle, fearlessTreeGameNodeStyle, fearlessTreeHeaderStyle, fontsChangedMessage, formatDamage, formatGameClock, frontendRouteUpdateMessage, fullPlayerScoreboardSlots, gameAnalysis, gameDatabaseUpdateMessage, gameInfoRotation, gameStatusMessage, gameTeamSidesSwappedMessage, gameTimer, gameTimerStyle, gameWithTeams, getAbilityCooldownFraction, getAbilityCooldownRemaining, getDamageByType, getItemCooldownFraction, getItemCooldownRemaining, getPostGameSides, getRemaining, getRespawnRemaining, getRoleQuest, getSortedInventory, getTrinket, globalPosition, globalScoreboard, globalScoreboardBooleanIndicator, globalScoreboardSection, globalStyleProperties, goldAdvantage, goldEfficiencyEntry, goldEfficiencyHeaderStyle, goldEfficiencyHeatStyle, goldEfficiencyPlayerRowStyle, goldEfficiencyStyle, goldGraph, goldGraphStyle, gridLineStyle, headline, healthBarStyle, hotkeyFiredMessage, hubErrorMessage, hubMemberDto, hubPingMessage, hubPongMessage, imageComponentStyle, imageStyle, infoContentColorStyling, infoContentLayoutStyling, infoContentTextStyle, infoRow, ingameAbilityInfo, ingameDamageCompositionData, ingameDamageFlowData, ingameDamageGraphData, ingameDamageRecapData, ingameDamageSplitData, ingameExperienceData, ingameFrontendData, ingameGoldEfficiencyData, ingameGoldGraphData, ingameHealthData, ingameKillParticipationData, ingameObjectiveDpsData, ingameObjectiveEvent, ingameObjectivePowerPlay, ingameResourceData, ingameRewindMessage, ingameRuneData, ingameScoreboardBottomData, ingameScoreboardBottomPlayerData, ingameScoreboardBottomTeamData, ingameScoreboardData, ingameScoreboardTeamData, ingameSideInfoPage, ingameSideInfoPageDisplayData, ingameSideInfoPageRow, ingameSingleRuneData, ingameSkinDisplayData, ingameSkinDisplayPlayerData, ingameSkinDisplayTeamData, ingameStateMessage, ingameStateSettingsWrapper, ingameTeamfightTimelineData, ingameTelemetry, ingameTelemetryMessage, inhibitorRespawnData, inhibitorTimer, inhibitorTimerContainer, inhibitorTimerDual, inhibitorTimerIconContainer, inhibitorTimerSingle, inhibitorTimerTimerContainer, isAbilityOnCooldown, isActive, isItemOnCooldown, isPlayerDead, itemAsset, itemIcon, itemSlot, itemStats, itemWithAsset, killFeed, killFeedAssistersStyle, killFeedContainerStyle, killFeedEntryStyle, killFeedEvent, killFeedIconStyle, killFeedKillIconStyle, killParticipationLink, killParticipationPlayer, killParticipationStyle, lFrameRotation, laneIconStyle, laneRowLayoutStyle, layoutComponentStyling, layoutStyle, legacyPickBanStyle, levelXpTrackerStyle, lineStyle, localSyncState, localizedPriceData, matchCardStyle, matchData, matchDatabaseUpdateMessage, matchOverviewData, matchOverviewGameSummary, matchOverviewTeamSummary, matchSummaryStyle, matchWithGamesAndTeams, matchupGridStyle, matchupHeaderStyle, matchupOverview, matchupOverviewGameRowStyle, matchupOverviewHeaderStyle, matchupOverviewTeamBarStyle, matchupScoreStyle, matchupTable, matchupTableContentStyle, matchupVersusStyle, normalizeDamageEntries, numberContainerStyle, objectiveDamagePerTeamStyle, objectiveDpsBarStyle, objectiveDpsHeaderStyle, objectiveDpsSample, objectiveDpsSmiteStrip, objectiveDpsTeamNumbersStyle, objectiveList, objectiveRecapCardStyle, objectiveRecapHeaderStyle, objectiveRecapSmiteBarStyle, objectiveRecapStyle, objectiveTimer, optionBar, optionTitel, optionVotes, optionalGameData, optionalMatchData, optionalTextStyle, partialStrokeProperties, perkData, perkInfoV2, perkStyleInfoV2, phaseTimer, phaseTimerColorStyling, phaseTimerLayoutStyling, pickBanActionEventArgs, pickBanTimer, pickBans, pickSlot, planDescriptorRecord, planDetails, playerDeath, playerHotkeyDto, playerKDA, playerScoreboard, playerScoreboardContainer, playerScoreboardGoldComparison, playerScoreboardSlot, playerSlot, playerSlotColorStyling, playerSlotLayoutStyling, playerSlotPickingStyle, playerSlotStyle, playerUpdateEvent, playerXpLevelStyle, pollChoice, pollWrapper, portalSessionResponse, postGameDamageGraph, postGameDamageGraphByTeam, postGameDamageGraphEntry, postGameGoldGraph, postGameOverview, postGamePlayerInfo, postGamePlayerPage, postGamePlayerRunesAndItems, postGamePlayerStats, postGameStateData, postGameTeamInfo, postGameTeamOverview, predictionBar, predictionOutcome, predictionOutcomeRequest, predictionPoints, predictionWrapper, profileResponse, progressBarStyle, registerOverlayRequest, respawnTimer, roleQuestSlot, roomJoinMessage, roomJoinedMessage, roomLeaveMessage, roomMemberJoinedMessage, roomMemberLeftMessage, runeContainer, runeDisplayPerkStyle, runeDisplayStyle, runeDisplayTeamStyle, runeIcon, runeStyle, scoreStyle, scoreboardChampionSlot, scoreboardDamageGraphStyle, seasonData, seasonDatabaseUpdateMessage, shallowEqual, simpleChampionData, singleChampionDetailHotkeyConfigDto, singleGameGoldGraph, singleGameGoldGraphData, singleIngameHotkeyConfigDto, singlePostgameHotkeyConfigDto, skinDisplayInfoStyle, skinDisplayPoweredByStyle, skinDisplayRoleIconStyle, skinDisplayStyle, smiteReactionBadgeStyle, smiteReactionPoweredByStyle, smiteReactionResult, smiteReactionRingStyle, smiteReactionStyle, smiteReactionTextStyle, sortDamageEntries, spawnTimer, spawnTimerIconContainerStyle, spawnTimerInfoContainerStyle, spawnTimerStyle, startChatVoteDto, startCheckoutResponse, strokePropertiesChangedMessage, styleSet, styleSetEntry, styleSetNameCollection, styleSetUpdatedMessage, styleVariantUpdateMessage, styleVariantUpdatedEventArgs, summonerSpellData, summonerSpellInfoV2, tabLevelUpStyle, tabPlayer, tabTeam, tabsStyle, teamColorStyling, teamDamageStyle, teamData, teamDatabaseUpdateMessage, teamFightDamageStyle, teamIconStyle, teamInfo, teamInfoStyle, teamInhibitorData, teamLayoutStyling, teamMember, teamName, teamScore, teamScores, teamSummaryStyle, teamTextStyle, teamUpdateResults, teamWithMembers, teamfightDamageEntryStyle, teamfightDeathIconStyle, teamfightKillEvent, teamfightTimelinePlayer, teamfightTimelineSample, teamfightTimelineStyle, teamsAndTimerStyle, textComponentStyling, textContentWithStyle, textOutline, textStyle, textStyleWithBorder, textWithContent, timelineEntry, timerBadgePoll, timerBadgePrediction, timerBarStyle, timerTeamStyle, totalBadge, totalVotes, tournamentData, tournamentLogo, transitionEvents, transitionStyle, turretPlatingFallEvent, twitchChatVote, twitchPoll, twitchPollDto, twitchPrediction, twitchPredictionDto, twitchStatusDTO, ultiAbilityStyle, updateNameRequest, updateOverlayRequest, userFeaturesUpdatedMessage, userTierUpdatedMessage, vector3, verifyEmailRequest, voteWrapper, websocketMessageTypes };
|
|
7708
8138
|
//# sourceMappingURL=index.js.map
|
|
7709
8139
|
//# sourceMappingURL=index.js.map
|