This project is an attempt to emulate Atari 2600 video game console. The work is in progress. I hope I'll have enough time, patience and inspiration to finish it.
Array#isArray for older browsers
CLI arguments parser. Native port of python's argparse.
Get the command from a shebang
Callback wrapping utility
Resolve the path of a module like `require.resolve()` but from a given path
JSON parse & stringify that supports binary via bops & base64
Run a function exactly one time
Allows users to use generators in order to write common functions that can be both sync or async.
ECMAScript AST recursive visitor
deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results, with no public domain dependencies
process.nextTick but always with args
Fast (and loose) selective `process.env` replacer using js-tokens instead of an AST
Pass two numbers, get a regex-compatible source string for matching ranges. Validated against more than 2.78 million test assertions.
deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify
Use node's fs.realpath, but fall back to the JS implementation if the native one fails
Safer Node.js Buffer API
Light ECMAScript (JavaScript) Value Notation - human written, concise, typed, flexible
Create a stream that emits events from multiple other streams
Merge multiple streams into one stream in sequence or parallel.
Returns true if a number or string value is a finite number. Useful for regex matches, parsing, user input, etc.
Buffers events from a stream until you are ready to handle them.
ES2015 `Object.assign()` ponyfill
Returns true if a string has an extglob.