@stevejkang/nestjs-common
v0.0.1
Published
Project-wide utilities for NestJS applications
Readme
@stevejkang/nestjs-common
Project-wide utilities for NestJS applications.
Install
pnpm add @stevejkang/nestjs-commonPeer dependencies:
@nestjs/common
Usage
import { Snowflake, ExternalId, RequestContext, Semaphore, TimeUnit } from '@stevejkang/nestjs-common';
// Generate a Snowflake ID
const id = Snowflake.generate();
// Encode/decode external-facing IDs
const encoded = ExternalId.encode(42, 'user');
const decoded = ExternalId.decode(encoded, 'user'); // 42
// Trace ID propagation via AsyncLocalStorage
RequestContext.run({ traceId: id }, () => {
RequestContext.getTraceId(); // returns id
});
// Concurrency control
const sem = new Semaphore({ maxConcurrency: 5 });
await sem.execute(async () => { /* ... */ });
// Duration conversion
TimeUnit.fromMinutes(30).toMilliseconds(); // 1800000License
MIT
