mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-20 06:20:11 +00:00
fix(adventure): remove dead code flagged by knip
Delete unused dom.ts, remove unexported functions/types, inline hasAllPrerequisites into its sole remaining caller. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -192,5 +192,3 @@ export function buildNarrativeSummary(
|
||||
|
||||
return parts.join(' ')
|
||||
}
|
||||
|
||||
export { bridges, sections, sentences }
|
||||
|
||||
@@ -1,22 +1,4 @@
|
||||
import type { RoomDefinition, SaveState } from '@/types'
|
||||
import { canEnterRoom } from '@/state/tags'
|
||||
|
||||
type NavigationResult =
|
||||
| { allowed: true }
|
||||
| { allowed: false; unmetTags: string[] }
|
||||
|
||||
function checkNavigation(
|
||||
room: RoomDefinition,
|
||||
save: SaveState
|
||||
): NavigationResult {
|
||||
if (canEnterRoom(room, save)) {
|
||||
return { allowed: true }
|
||||
}
|
||||
const unmetTags = room.prerequisites.filter(
|
||||
(tag) => !save.currentRun.conceptTags.includes(tag)
|
||||
)
|
||||
return { allowed: false, unmetTags }
|
||||
}
|
||||
import type { SaveState } from '@/types'
|
||||
|
||||
function isRoomDiscovered(roomId: string, save: SaveState): boolean {
|
||||
return save.currentRun.path.includes(roomId)
|
||||
@@ -30,10 +12,4 @@ function countResolvedChallenges(save: SaveState): number {
|
||||
return Object.keys(save.currentRun.resolvedChallenges).length
|
||||
}
|
||||
|
||||
export type { NavigationResult }
|
||||
export {
|
||||
checkNavigation,
|
||||
countResolvedChallenges,
|
||||
isChallengeResolved,
|
||||
isRoomDiscovered
|
||||
}
|
||||
export { countResolvedChallenges, isChallengeResolved, isRoomDiscovered }
|
||||
|
||||
@@ -21,10 +21,6 @@ function initGameState(save: SaveState): void {
|
||||
notify()
|
||||
}
|
||||
|
||||
function getGameState(): GameState {
|
||||
return currentState
|
||||
}
|
||||
|
||||
function subscribe(handler: GameEventHandler): () => void {
|
||||
listeners.push(handler)
|
||||
return () => {
|
||||
@@ -103,11 +99,9 @@ function resetForPrestige(newSave: SaveState): void {
|
||||
|
||||
export {
|
||||
enterRoom,
|
||||
getGameState,
|
||||
initGameState,
|
||||
resetForPrestige,
|
||||
resolveChallenge,
|
||||
showEnding,
|
||||
subscribe,
|
||||
transition
|
||||
subscribe
|
||||
}
|
||||
|
||||
@@ -64,12 +64,4 @@ function isV1Save(): boolean {
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
clearSave,
|
||||
createDefaultSave,
|
||||
createFreshRun,
|
||||
isV1Save,
|
||||
loadSave,
|
||||
persistSave,
|
||||
SAVE_VERSION
|
||||
}
|
||||
export { clearSave, createFreshRun, isV1Save, loadSave, persistSave }
|
||||
|
||||
@@ -33,4 +33,4 @@ function prestige(save: SaveState, narrativeSummary: string): SaveState {
|
||||
}
|
||||
}
|
||||
|
||||
export { canPrestige, finalizeRun, prestige }
|
||||
export { canPrestige, prestige }
|
||||
|
||||
@@ -1,21 +1,9 @@
|
||||
import type { RoomDefinition, SaveState } from '@/types'
|
||||
|
||||
function hasAllPrerequisites(
|
||||
room: RoomDefinition,
|
||||
earnedTags: string[]
|
||||
): boolean {
|
||||
return room.prerequisites.every((tag) => earnedTags.includes(tag))
|
||||
}
|
||||
|
||||
function getUnmetPrerequisites(
|
||||
room: RoomDefinition,
|
||||
earnedTags: string[]
|
||||
): string[] {
|
||||
return room.prerequisites.filter((tag) => !earnedTags.includes(tag))
|
||||
}
|
||||
|
||||
function canEnterRoom(room: RoomDefinition, save: SaveState): boolean {
|
||||
return hasAllPrerequisites(room, save.currentRun.conceptTags)
|
||||
return room.prerequisites.every((tag) =>
|
||||
save.currentRun.conceptTags.includes(tag)
|
||||
)
|
||||
}
|
||||
|
||||
function grantTags(save: SaveState, tags: string[]): SaveState {
|
||||
@@ -31,4 +19,4 @@ function grantTags(save: SaveState, tags: string[]): SaveState {
|
||||
}
|
||||
}
|
||||
|
||||
export { canEnterRoom, getUnmetPrerequisites, grantTags, hasAllPrerequisites }
|
||||
export { canEnterRoom, grantTags }
|
||||
|
||||
@@ -11,8 +11,6 @@ type GamePhase =
|
||||
| 'ending'
|
||||
| 'prestige'
|
||||
|
||||
type RoomState = 'locked' | 'discovered' | 'challenge-available' | 'solved'
|
||||
|
||||
// --- Room & Challenge Data ---
|
||||
|
||||
interface RoomConnection {
|
||||
@@ -132,8 +130,6 @@ interface GameState {
|
||||
}
|
||||
|
||||
export type {
|
||||
Artifact,
|
||||
ChallengeChoice,
|
||||
ChallengeDefinition,
|
||||
ChallengeRating,
|
||||
ChallengeResult,
|
||||
@@ -144,10 +140,7 @@ export type {
|
||||
NarrativeBridge,
|
||||
NarrativeSection,
|
||||
NarrativeSentence,
|
||||
PersistentState,
|
||||
RoomConnection,
|
||||
RoomDefinition,
|
||||
RoomState,
|
||||
RunRecord,
|
||||
SaveState
|
||||
}
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
function el<K extends keyof HTMLElementTagNameMap>(
|
||||
tag: K,
|
||||
attrs?: Record<string, string>,
|
||||
...children: (string | Node)[]
|
||||
): HTMLElementTagNameMap[K] {
|
||||
const element = document.createElement(tag)
|
||||
if (attrs) {
|
||||
for (const [key, value] of Object.entries(attrs)) {
|
||||
element.setAttribute(key, value)
|
||||
}
|
||||
}
|
||||
for (const child of children) {
|
||||
if (typeof child === 'string') {
|
||||
element.appendChild(document.createTextNode(child))
|
||||
} else {
|
||||
element.appendChild(child)
|
||||
}
|
||||
}
|
||||
return element
|
||||
}
|
||||
|
||||
function qs<T extends HTMLElement>(
|
||||
selector: string,
|
||||
parent: ParentNode = document
|
||||
): T {
|
||||
const found = parent.querySelector<T>(selector)
|
||||
if (!found) throw new Error(`Element not found: ${selector}`)
|
||||
return found
|
||||
}
|
||||
|
||||
function qsa<T extends HTMLElement>(
|
||||
selector: string,
|
||||
parent: ParentNode = document
|
||||
): T[] {
|
||||
return Array.from(parent.querySelectorAll<T>(selector))
|
||||
}
|
||||
|
||||
function setHtml(element: HTMLElement, html: string): void {
|
||||
element.innerHTML = html
|
||||
}
|
||||
|
||||
export { el, qs, qsa, setHtml }
|
||||
@@ -34,18 +34,4 @@ function renderSidebar(state: GameState): void {
|
||||
}
|
||||
}
|
||||
|
||||
function addLogEntry(text: string, type: string = 'info'): void {
|
||||
const logEntries = document.getElementById('log-entries')
|
||||
if (!logEntries) return
|
||||
|
||||
const entry = document.createElement('div')
|
||||
entry.className = `log-entry log-${type}`
|
||||
entry.textContent = text
|
||||
logEntries.prepend(entry)
|
||||
|
||||
while (logEntries.children.length > 50) {
|
||||
logEntries.lastChild?.remove()
|
||||
}
|
||||
}
|
||||
|
||||
export { addLogEntry, createSidebar, renderSidebar }
|
||||
export { createSidebar, renderSidebar }
|
||||
|
||||
Reference in New Issue
Block a user