<img src='https://i.imgur.com/mXuQAt2.png' alt='sharc logo' width=200>
SHARC MCP Server - Semantic code search for AI assistants
SHARC Splitter - AST and recursive text chunking for semantic search
Array#isArray for older browsers
Get the command from a shebang
JSON parse & stringify that supports binary via bops & base64
Callback wrapping utility
CLI arguments parser. Native port of python's argparse.
Run a function exactly one time
ECMAScript AST recursive visitor
Resolve the path of a module like `require.resolve()` but from a given path
Allows users to use generators in order to write common functions that can be both sync or async.
deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify
Light ECMAScript (JavaScript) Value Notation - human written, concise, typed, flexible
process.nextTick but always with args
Use node's fs.realpath, but fall back to the JS implementation if the native one fails
deterministic JSON.stringify() with custom sorting to get deterministic hashes from stringified results, with no public domain dependencies
Buffers events from a stream until you are ready to handle them.
Create a stream that emits events from multiple other streams
Returns true if a string has an extglob.
The Node.js `util.deprecate()` function with browser support
type-check allows you to check the types of JavaScript values at runtime with a Haskell like type syntax.
Safer Node.js Buffer API
A small polyfill for Object.setprototypeof