Documentation

Scraper Utils

@mr_ozio/scraper-utils · v2.5.0 · Generated April 21, 2026

Small utilities for scraping, formatting, files, queues, network access, and the kind of helper functions that should feel pleasant to call.

This site is generated from the repo itself:

  • JSDoc from exported utilities
  • markdown guides from the docs/ folder
  • explicit target and legacy style metadata from exported utilities

What lives here

  • expressive wrappers around low-level helpers
  • file and gzip utilities
  • network fetch/download helpers
  • formatting and validation helpers
  • queue and text classes

Docs modes

The generated docs now separate public APIs into two styles:

  • Target Style is the preferred style for new code.
  • Legacy Style is older public API that still exists, but is not the default direction.
  • Both shows the split side by side when you want to compare or migrate.

The global selector in the sidebar controls which style the docs emphasize. The default is Target Style.

Taste

This repo likes APIs that read like intent.

await writeFile('hello', {
  to: '/tmp/greeting.txt',
  createDirectories: true,
})

const html = await readPage({
  at: 'https://example.com',
})

Not this:

writeFile(path, data, options)
goto(url, proxy)

Deployment

The site is built with npm run docs:build.

On GitHub, the version workflow bumps package.json, pushes that commit, and then the docs workflow publishes the generated site/ directory to GitHub Pages from the bumped version state.

49

Modules Indexed

109

Total Exports

107

Target Style Exports

63

Legacy Style Exports

153

Documented APIs

Helpers

28 modules
areSame.mjs
1 target 1 legacy
matchFieldsareSame
beep.mjs
1 target 1 legacy
ringBellbeep
calculateAverage.mjs
1 target 1 legacy
averageOfcalculateAverage
calculateMedian.mjs
1 target 1 legacy
medianOfcalculateMedian
delay.mjs
1 target 1 legacy
waitFordelay
eachSnapshot.mjs
2 target 1 legacy
forEachSnapshotreadEachSnapshoteachSnapshot
emojiHash.mjs
1 target 1 legacy
emojiHashemojiHashOf
execAsync.mjs
2 target 1 legacy
runCommandreadCommandOutputexecAsync
fikaCheck.mjs
2 target 1 legacy
waitForFikawaitForFilefikaCheck
findURLsInString.mjs
1 target 1 legacy
urlsInfindURLsInString
flag.mjs
2 target 1 legacy
readFlaghasFlagflag
generateHash.mjs
1 target 3 legacy
hashOfgenerateHashgenerateHashSHA256generateHashMD5
getElementByXpath.mjs
1 target 1 legacy
findElementgetElementByXpath
getFixedDate.mjs
2 target 0 legacy
getFixedDateroundDateToHour
getYearById.mjs
3 target 1 legacy
getYearByIdyearForIdgetYearByICIdgetYearByRDId
guessPrice.mjs
1 target 1 legacy
pricesInguessPrice
hammingDistance.mjs
1 target 1 legacy
compareStringshammingDistance
objectToMap.mjs
1 target 1 legacy
mapFromobjectToMap
plural.mjs
1 target 1 legacy
pluralizeplural
prepareProxy.mjs
1 target 2 legacy
resolveProxyproxygetProxy
randomEl.mjs
1 target 1 legacy
pickRandomrandomEl
regex.mjs
2 target 0 legacy
REGEX_NON_NUMBERSREGEX_INSIDE_ROUND_BRACKETS
shuffleArray.mjs
1 target 1 legacy
shuffledshuffleArray
sleep.mjs
1 target 1 legacy
sleepForsleep
stableStringify.mjs
2 target 0 legacy
stableStringifyhashStably
streamToString.mjs
1 target 1 legacy
readStreamAsStringstreamToString
switchKeyValue.mjs
1 target 1 legacy
invertMapswitchKeyValue
toPercents.mjs
1 target 1 legacy
percentOftoPercents

File System

2 modules

Formatters

2 modules

Validators

1 modules

Network

8 modules

Classes

6 modules

Printers

2 modules