Standard library

The standard library is a set of packages published on JSR under @ende. Add one to a project with ende add jsr:@ende/<package>.

  • @ende/assert — A library of assertion functions. If the assertion is false an `AssertionError` will be thrown which will result in pretty-printed diff of the failing assertion.
  • @ende/async — Provide helpers with asynchronous tasks, like delay, debounce, retry, or pooledMap.
  • @ende/bytes — Helper functions for working with Uint8Array byte slices.
  • @ende/cache — In-memory cache utilities, such as memoization and caches with different expiration policies.
  • @ende/cbor — Concise Binary Object Representation (CBOR) is a binary data serialization format optimized for compactness and efficiency. It is designed to encode a wide range of data types, including integers, strings, arrays, and maps, in a space-efficient manner. RFC 8949 - Concise Binary Object Representation (CBOR) spec.
  • @ende/chronver — The Chronological Version parser.
  • @ende/cli — Tools for creating interactive command line tools.
  • @ende/collections — Pure functions for common tasks around collection types like arrays and objects.
  • @ende/crypto — Extensions to the Web Crypto supporting additional encryption APIs, but also delegating to the built-in APIs when possible.
  • @ende/csv — Reads and writes comma-separated values (CSV) files.
  • @ende/data-structures — Data structures for use in algorithms and other data manipulation.
  • @ende/datetime — Utilities for dealing with Date objects.
  • @ende/dotenv — Parses and stringifies data in the `.env` file format.
  • @ende/encoding — Utilities for encoding and decoding common formats like hex, base64, and varint.
  • @ende/expect — This module provides Jest compatible expect assertion functionality.
  • @ende/fmt — Convert bytes to a human-readable string: 1337 → 1.34 kB
  • @ende/front-matter — Extracts front matter from strings. Adapted from jxson/front-matter.
  • @ende/fs — Helpers for working with the filesystem.
  • @ende/html — Functions for HTML tasks such as escaping or unescaping HTML entities.
  • @ende/http — Provides user-friendly serve on top of Ende's native HTTP server and other utilities for creating HTTP servers and clients.
  • @ende/ini — parse and stringify for handling INI encoded data, such as the Desktop Entry specification.
  • @ende/io — Utilities for working with Ende's readers, writers, and web streams.
  • @ende/json — Utilities for parsing streaming JSON data.
  • @ende/jsonc — Provides tools for working with JSONC (JSON with comments).
  • @ende/markdown — A CommonMark parser and HTML renderer, with optional GitHub Flavored Markdown, and the features a documentation site needs:
  • @ende/math — Math functions such as modulo and clamp.
  • @ende/media-types — Utility functions for media types (MIME types).
  • @ende/msgpack — This module provides functions to encode and decode MessagePack.
  • @ende/net — Network utilities.
  • @ende/path — Utilities for working with OS-specific file paths.
  • @ende/random — Utilities for generating random numbers.
  • @ende/regexp — Functions for tasks related to regular expression (regexp), such as escaping text for interpolation into a regexp.
  • @ende/semver — The Semantic Version parser.
  • @ende/streams — Utilities for working with the Streams API.
  • @ende/tar — Streaming utilities for working with tar archives.
  • @ende/testing — A BDD interface to `Ende.test()` API.
  • @ende/text — Utility functions for working with text.
  • @ende/toml — parse and stringify for handling TOML encoded data.
  • @ende/ulid — Utilities for generating and working with Universally Unique Lexicographically Sortable Identifiers (ULIDs).
  • @ende/uuid — Generators and validators for RFC 9562 UUIDs for versions v1, v3, v4, v5, v6 and v7.
  • @ende/webgpu — Utilities for interacting with the WebGPU API.
  • @ende/xml — XML parsing and serialization for Ende.
  • @ende/yaml — parse and stringify for handling YAML encoded data.