Package Exports
- @gesslar/toolkit
- @gesslar/toolkit/browser
- @gesslar/toolkit/node
Readme
Toolkit
A collection of utilities for Node.js and browser environments, including file and directory abstractions, terminal utilities, validation helpers, and data manipulation functions.
Included Classes
Browser
These classes exist and function within the browser, or browser-like environment, such as a Tauri app.
| Name | Description |
|---|---|
| Collection | Array, Map, Set, and other collection manipulation methods |
| Data | Primitive manipulation and type identification |
| Disposer | Lifecycle management for disposable resources |
| HTML | HTML loading and sanitization utilities |
| Notify | Event system wrapper for DOM events |
| Sass | Custom Error class with enhanced features |
| Tantrum | AggregateError implementation |
| Type | String-based type management (exported as TypeSpec in browser) |
| Util | General utility functions |
| Valid | Validation and assertion methods |
Node.js
Includes all browser functionality plus Node.js-specific modules for file I/O, logging, and system operations.
| Name | Description |
|---|---|
| Cache | Cache management for file I/O operations |
| CappedDirectoryObject | Directory operations constrained to a specific tree |
| Contract | Contract management and validation |
| DirectoryObject | File system wrapper for directory operations |
| FileObject | File system wrapper for file operations |
| FS | Base class for file system operations with static utilities |
| Glog | Logging framework |
| Notify | Event system wrapper for Node.js events |
| Sass | Custom Error class with enhanced features |
| Schemer | JSON schema validation and management |
| Tantrum | AggregateError implementation |
| TempDirectoryObject | Temporary directory management with automatic cleanup |
| Term | Terminal formatting and output utilities |
| Terms | Terms for use with Contract |
| Util | General utility functions (Node-enhanced version) |
| Valid | Validation and assertion methods |
Installation
npm i @gesslar/toolkitUsage
Toolkit is environment aware and automatically detects whether it is being used in a web browser or in Node.js. You can optionally specify the node or browser variant explicitly.
Browser-like
TypeScript editors do not pick up types from jsDelivr. If you want inline types without
installing from npm, use the esm.sh ?dts URL or install the package locally for
development and use the CDN at runtime.
jsDelivr (runtime only)
https://cdn.jsdelivr.net/npm/@gesslar/toolkitesm.sh (runtime, types)
https://esm.sh/@gesslar/toolkit
https://esm.sh/@gesslar/toolkit?dts` (serves `.d.ts` for editors)Node.js
import * as TK from "@gesslar/toolkit"import {Data, FileObject, Cache} from "@gesslar/toolkit"import {Data, FileObject} from "@gesslar/toolkit/node"import { Data, Collection, Util } from '@gesslar/toolkit/browser'The browser version includes: Collection, Data, Disposer, HTML, Notify, Sass, Tantrum, Type (TypeSpec), Util, and Valid. Node-only modules (Cache, CappedDirectoryObject, Contract, DirectoryObject, FileObject, FS, Glog, Schemer, TempDirectoryObject, Term, Terms) are not available in the browser version.