Skip to content

Packages

All packages are published under the @studnicky scope to the GitHub Package Registry.

@studnicky:registry=https://npm.pkg.github.com

Concurrency

PackageDescription
@studnicky/retryGeneric async retry with extensible error classification and backoff strategies
@studnicky/throttleSliding-window concurrency throttle with adaptive limits and abort support
@studnicky/mutexKey-based async mutual exclusion with queue and timeout support
@studnicky/batchBatch concurrent execution: process items in controlled parallel groups
@studnicky/concurrencyKeyed async channels, semaphore, and coalesce primitives
@studnicky/file-lockProcess-level advisory file locking
@studnicky/virtual-fsIn-memory synchronous filesystem primitive with browser compatibility
@studnicky/signalAbortSignal composition utilities
@studnicky/idempotency-guardIdempotency key guard composing cache, concurrency, and json: replay, coalesce, and conflict detection
@studnicky/memoizePure function memoization composing cache and concurrency: LRU+TTL result caching with in-flight call dedup
@studnicky/bounded-dispatcherBounded work dispatch pattern composing concurrency's Semaphore, event-bus, and scheduler
@studnicky/keyed-work-gateKeyed single-flight and serialized work gate composing mutex and concurrency's Coalesce
@studnicky/keyed-rate-limiterPer-key rate limiting composing cache and resilience, generic over an injectable rate-limiting strategy

Time

PackageDescription
@studnicky/clockWall-clock and monotonic time with injectable providers for deterministic testing
@studnicky/schedulerReal-time and virtual (min-heap) scheduler primitives
@studnicky/timingHigh-resolution operation timing tracker using process.hrtime.bigint()

State & Flow

PackageDescription
@studnicky/contextPer-request async context isolation using AsyncLocalStorage
@studnicky/fsmAbstract finite state machine base class with effect interpreter
@studnicky/pipelineGeneric typed async pipeline for sequential context transforms
@studnicky/paginatorCursor/page-list state tracker for paginated data sources
@studnicky/process-kitReducer-with-effects process pattern composing fsm, scheduler, and signal
@studnicky/visible-rangePure index/offset arithmetic for computing the visible item range of a virtualized list
@studnicky/flag-evaluatorLocal deterministic feature-flag evaluation with percentage rollout and observability hooks

Data

PackageDescription
@studnicky/cacheLRU cache with optional TTL and capacity bounds
@studnicky/entity-storeNormalized, ID-indexed entity collection with CRUD operations and O(1) lookup
@studnicky/jsonJSON/object value-tools: deep merge, clone, equal, freeze, patch, hash, path, sort
@studnicky/predicatesType-safe predicates and coercion utilities
@studnicky/typesShared zero-runtime utility types and type-guard helpers
@studnicky/configConfiguration validation utilities and type guards

I/O & Observability

PackageDescription
@studnicky/event-busPublish/subscribe event bus with backpressure-aware queues
@studnicky/fetchProfessional HTTP client with timeout, override hooks, and configured clients
@studnicky/loggerPluggable logging interface with Pino wrapper, child loggers, and structured builders
@studnicky/errorsStandardized error hierarchy with cause-chain serialization and error codes
@studnicky/request-executorComposes fetch, retry, signal, timing, and context into a one-shot request execution pattern
@studnicky/resilienceCircuit breaker, token bucket, and dead-letter queue primitives
@studnicky/sliding-window-limiterSliding-window rate limiter — exact timestamp-log or approximate blended-counter algorithm
@studnicky/boundary-kitComposes throttle, circuit breaker, and retry into a fixed-order boundary call pattern
@studnicky/health-registryNamed async health-check registry with worst-status-wins aggregation
@studnicky/systemCPU/GPU/memory/platform detection for worker sizing
@studnicky/worker-poolBounded node:worker_threads pool that fans work items across workers with a typed message envelope and per-task timeout

Buffers

PackageDescription
@studnicky/circular-bufferGeneric circular buffer with O(1) push and shift
@studnicky/sample-bufferFixed-capacity numeric sample buffer with percentile calculation

Foundation

PackageDescription
@studnicky/eslint-configShared ESLint flat config for @studnicky packages