JSPM

  • Created
  • Published
  • Downloads 478
  • Score
    100M100P100Q104826F
  • License Unlicense

A collection of utilities for Node.js and browser environments.

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/toolkit

Usage

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/toolkit

esm.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.