Standard library API
Every export of every velt/… module and the prelude's globals, with its signature and doc comment, generated from the standard library sources. 510 of 530 exports (96%) have a doc comment.
| Module | What it is | Exports | Documented |
|---|---|---|---|
| prelude/symbol | JavaScript's Symbol, a global (std/lang/symbol/index.vlt): unique values compared by identity, which also name members of objects (Symbols). | 2 | 100% |
| prelude/typed_array | ArrayBuffer, DataView and the typed arrays Uint8Array, Int8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array and Float64Array are globals, as in Node (no import; the module is velt/lang/typed_array). | 11 | 100% |
| velt/cli | Command-line argument parsing with Node util.parseArgs rules and a commander-style builder. | 5 | 100% |
| velt/collections | Containers beyond the prelude's arrays and Map, written in Velt on public APIs. | 8 | 100% |
| velt/compress | Decompression, written in Velt: gzip (RFC 1952), zlib (RFC 1950), raw DEFLATE (RFC 1951) and Brotli (RFC 7932). | 9 | 100% |
| velt/crypto | SHA-256 and SHA-1, HMAC, secure randomness and constant-time comparison: what a program needs to sign and check tokens and webhooks, store content by hash, or make session ids. | 10 | 100% |
| velt/db | What database drivers share: typed rows from any source of tabular data, and a statement's parameters handed to a native driver. | 8 | 100% |
| velt/dev | What a program run by velt dev (hot reload) takes part in: the graceful stop before its next version starts. | 2 | 100% |
| velt/encoding | Converts between bytes and text: Base64 (RFC 4648, standard and URL-safe alphabets), lowercase hex, and UTF-8. | 21 | 100% |
| velt/encoding/csv | RFC 4180 CSV. | 6 | 100% |
| velt/encoding/json | JSON is a global, as in JavaScript: it needs no import. | 6 | 100% |
| velt/fs | File system access, with Node's names, behavior and error messages. | 48 | 100% |
| velt/generate | What a source generator is written with. | 11 | 100% |
| velt/hash | A stable, non-cryptographic hash for sharding, bucketing and consistent hashing. | 2 | 100% |
| velt/io | The error type the I/O modules share: files (velt/fs), sockets (velt/net), child processes and WebSockets all throw IoError. | 8 | 100% |
| velt/jsx | Server-side rendering of TSX to HTML. | 13 | 100% |
| velt/jsx/attrs | The attribute types velt/jsx's IntrinsicElements is made of, for JSX providers that extend them. | 80 | 100% |
| velt/jsx/jsx-runtime | The JSX provider module of velt/jsx. | 19 | 100% |
| velt/math | Integer helpers and arbitrary-precision integers. | 7 | 100% |
| velt/mem | Facts about how values are stored, for code that manages its own memory layout, such as a container with slots for many values (Rust's std::mem), and Arena, a typed memory pool. | 3 | 100% |
| velt/native | What the Velt side of a package with native code binds its Rust functions with. | 6 | 100% |
| velt/net | TCP, and TLS over TCP. | 9 | 78% |
| velt/net/dns | Host name resolution through the system resolver. | 2 | 100% |
| velt/net/http | fetch, Request, Response and Headers are global, as in Node: no import. | 18 | 83% |
| velt/net/http/h2 | HTTP/2's wire format (RFC 9113) and HPACK (RFC 7541), written in Velt: what the fetch client and HTTP/2 servers (the HTTP server package is one) share. | 55 | 100% |
| velt/net/udp | UDP sockets. | 3 | 100% |
| velt/net/url | A WHATWG-style URL and URLSearchParams, plus JS's URI encoding functions (encodeURIComponent and the others): globals, as in Node; velt/net/url exports them too. | 7 | 100% |
| velt/net/websocket | WebSockets (RFC 6455), written in Velt on velt/net streams: opened as a client to ws:// / wss:// URLs, or over a connection a server upgraded. | 8 | 88% |
| velt/os | Facts about the machine, a subset of Node's os module. | 6 | 100% |
| velt/package | The type of the package manifest, package.vlt, and of the workspace manifest, velt.workspace.vlt. | 7 | 100% |
| velt/path | POSIX path manipulation (Node's path.posix) as pure string code. | 8 | 100% |
| velt/prelude | The prelude is the part of the standard library that every module sees without an import. | 0 | 100% |
| velt/process | Write to standard output and read environment variables on the builtin process, with no import, as in Node: | 22 | 100% |
| velt/process/child | Runs other programs. | 9 | 100% |
| velt/random | Fast pseudo-random numbers like Math.random(), for simulations, sampling, shuffling, jitter and load generation. | 2 | 100% |
| velt/random/uuid | RFC 9562 UUIDs. | 8 | 100% |
| velt/reflect | What a dynamic value (any, unknown) holds at run time, read from its type descriptor: its kind and type, and the entries it lists (the fields of an object, the elements of an array, the entries of a Map). | 12 | 100% |
| velt/simd | ts import { u8x16, f32x4, mask8x16 } from "velt/simd"; | 14 | 0% |
| velt/sync | Lock-free shared state: the prelude's Atomic<T>, the primitive, and velt/sync (import { Backoff, VersionLatch } from "velt/sync"), building blocks written on it. | 7 | 100% |
| velt/sync/epoch | Epoch-based reclamation, written in Velt on Atomic, ThreadLocal and Mutex: a way to drop a shared value that other threads may still be reading, once none can be. | 7 | 100% |
| velt/task | Cancellation with TypeScript's AbortController / AbortSignal (global, as in Node; this module exports them too), timeouts, task scopes (structured concurrency) and task placement. | 11 | 100% |
| velt/test | The test runner, written in Velt, with Vitest's API; import ... from "vitest" imports this module too. | 10 | 100% |
| velt/test/http | Matchers for a Response, for tests of HTTP servers and clients (Testing): the import adds them to expect(response). | 0 | 100% |
| velt/text | Text processing: | 6 | 100% |
| velt/time | Time: | 14 | 100% |