Code Graph & Type Tree

Code Dependency Graph

Code Dependency Graph
Loading graph…

Code Type Tree

Name

archiver-web

Web-based archive compression and extraction

jszipextractcompress

src

bin-compress.ts

CLI binary for compressing files into archives.

index.tsreadStreamToBuffermain

bin-extract.ts

CLI binary for extracting archive contents.

index.tsreadStreamToBuffermain

index.ts

Main entry point for archive operations.

jsziptypes.tsextractcompress

types.ts

TypeScript type definitions for archiver.

ExtractEventCreateOptionsArchiveFile

readme.md

grab-api

Core Grab API library

common

types.ts

All TypeScript definitions for request options, response shapes, and mock configurations.

@grab-url/logGrabResponseGrabOptionsGrabMockHandlerGrabLogEntryGrabGlobalGrabFunctionLogFunctionprintJSONStructureFunction

utils.ts

Low-level utilities like debouncer, wait (sleep), and buildUrl.

debouncerwaitbuildUrl

core

cache-pagination.ts

Decides if a request should be served from cache and increments page numbers for infinite scrolling.

manageCacheAndPagination

core.ts

The heart of the library. Orchestrates the flow from option merging to final response mapping.

@grab-url/logtypes.tsutils.tsdevtools.tsflow-control.tsregrab-events.tsresponse-handler.tsinfinite-scroll.tscache-pagination.tsrequest-executor.tsgrab

flow-control.ts

Manages non-network request flow such as debouncing and repeating requests.

types.tsutils.tsgetMergedOptionshandleFlowControl

regrab-events.ts

Sets up listeners (window focus, online status) to automatically refetch data.

types.tshandleRegrabEvents

request-executor.ts

Handles the actual network fetch call or returns mock data if configured.

types.tsutils.tsprepareFetchRequestexecuteRequest

devtools

devtools.ts

Implements a floating visual alert/notification system for the browser.

@grab-url/logtypes.tsshowAlertsetupDevTools

response

infinite-scroll.ts

Logic for appending paginated results and saving/restoring scroll position in browsers.

@grab-url/logtypes.tssetupInfiniteScroll

response-handler.ts

Transforms raw fetch responses into the predictable GrabResponse format.

initializeResponsemapResultToResponse

index.ts

Main entry point. Exports the grab() function and log utility, sets up global instances, and initializes browser devtools.

@grab-url/logcore.tsdevtools.tstypes.ts

grab-url-cli

Command-Line Interface

@grab-url/loading-animations chalk cli-progress cli-table3

display

progress-format.ts

Pure functions for converting bytes to human-readable strings, calculating ETAs, and building progress bars.

chalkformatBytesformatBytesPlainformatBytesCompacttruncateFilenameformatETAformatMasterProgressformatProgressformatTotalDisplayformatSpeedformatSpeedDisplayformatTotalSpeed

spinner-config.ts

Selects and animates randomized spinner frames for a polished CLI look.

loading-animations-emojis.jsSpinnerEntrygetFramesgetSpinnerFramesgetRandomSpinnergetSpinnerWidthcalculateBarSizegetRandomBarColorgetRandomBarGlueColor

transfer

multi-file-transfer.ts

Manages a pool of concurrent downloads using a multi-progress bar display.

stream/promises cli-progressprogress-format.tsspinner-config.tsresume-state.tsDownloadTotalTrackingMultiDownloadContextbarFormatbarOptionsbarPayloaddownloadMultipleFilesdownloadSingleFileWithBaraddFileToMultiBar

resume-state.ts

Handles .download-state sidecar files to allow resuming interrupted downloads.

progress-format.tsServerInfoDownloadStateResumeDecisiongetStateDirectoryensureStateDirectorygetStateFilePathcleanupStateFileloadDownloadStatesaveDownloadStategetPartialFileSizecheckServerSupportresolveResumeDecision

single-file-transfer.ts

The driver logic for streaming a single file to disk with progress updates.

stream/promises cli-progress chalkprogress-format.tsspinner-config.tsresume-state.tsSingleDownloadContextdownloadFile

cli-args.ts

A custom, lightweight alternative to yargs for parsing flags and positional URLs.

isFileUrl

download-spinners.ts

Spinner animation configurations for download progress display.

loading-animations-emojis.jsSpinnerEntrygetFramesgetSpinnerFramesgetRandomSpinnergetSpinnerWidthcalculateBarSizegetRandomBarColorgetRandomBarGlueColor

file-downloader.ts

Orchestrator class that coordinates formatting, state, and keyboard modules for a unified download experience.

progress-format.tsspinner-config.tsresume-state.tskeyboard-controls.tssingle-file-transfer.tsmulti-file-transfer.ts

index.ts

Parses CLI arguments and switches between API Mode and Download Mode.

chalk cli-table3cli-args.tsfile-downloader.tsindex.ts

keyboard-controls.ts

Listens for keypresses (like 'p' for pause) during active downloads.

progress-format.tsKeyboardCallbackssetupKeyboardListenerteardownKeyboardListenerpromptForNewUrlisValidUrlgenerateFilenamegetFileExtension

loading-animations

Assets & animations for CLI and browser

cli

index.js

loading-animations-emojis.js

A collection of character-based animation frames for terminal spinners.

svg

index.ts

Exports SVG animations as strings for use in grab-api devtools.

LoadingOptionscustomSVGloadingBouncyBallloadingDoubleRingloadingEclipseloadingEllipsisloadingFloatingSearchloadingGearsloadingInfinityloadingOrbitalloadingPacmanloadingPulseBarsloadingRedBlueBallloadingReloadArrowloadingRingloadingRippleloadingSpinnerOvalloadingSpinnerloadingSquareBlocks

log-json

Output formatting and logging

log

colors.ts

ANSI terminal colors.

ColorNamegetColors

log-json.ts

Robust logger that outputs colorized, structured JSON to the console.

colors.tsstructure.tsLogOptionslog

structure.ts

TypeDoc-style JSON describer.

colors.tsgetColorForTypegetTypeStringprintJSONStructure

open-when-ready

Opens browser when dev server is ready

minimist opener wait-on

open-when-ready.mjs

opener minimist wait-ongetErrorContextextractUrlrun

Last updated on

On this page