@hx-cd/utils
v0.1.0
Published
Browser-oriented utility library with helpers for timing, storage, sandboxing, cross-page communication, date formatting, GUIDs, and enum management.
Readme
@hx-cd/utils
Browser-oriented utility library with helpers for timing, storage, sandboxing, cross-page communication, date formatting, GUIDs, and enum management.
Installation
pnpm add @hx-cd/utilsExports
Timing
import { sleep } from "@hx-cd/utils";
await sleep(1000); // Wait 1 secondGUID Generation
import { generateGUID } from "@hx-cd/utils";
const id = generateGUID(); // "a1b2c3d4e5f6..."Date Formatting
import { dateFormat } from "@hx-cd/utils";
dateFormat(new Date(), "yyyy-MM-dd hh:mm:ss"); // "2026-04-28 14:30:00"Blob to JSON
import { blob2json } from "@hx-cd/utils";
const json = await blob2json(blob);Enums
Class-based enum system with caching, value/label lookup, grouping support.
import { Enums } from "@hx-cd/utils";
const enums = new Enums([
{ value: 1, label: "Active" },
{ value: 0, label: "Inactive" },
]);
enums.getValue(1); // "Active"
enums.getLabel("Active"); // 1IndexedDB
Typed IndexedDB wrapper with transaction management and CRUD operations.
import { Database } from '@hx-cd/utils';
const db = new Database<{ users: { id: number; name: string } }>(...);LRUSessionStorage
LRU cache with IndexedDB persistence, cross-tab sync via localStorage signals, versioning, write locks, TTL expiration, and event system (on/off for set/remove/clear/itemChange).
import { LRUSessionStorage } from "@hx-cd/utils";CrossPageEventBus
Cross-tab communication via localStorage.
import { CrossPageEventBus } from '@hx-cd/utils';
CrossPageEventBus.emit('event-name', data);
CrossPageEventBus.on('event-name', (data) => { ... });Sandbox
ProxySandbox— Base sandbox with fakewindowand Proxy-based isolation.SecureProxySandbox— Extended sandbox with code safety validation, dangerous pattern detection, and execution frequency limits.
Build
pnpm build # Rollup → CJS + ESM + UMDDependencies
- Runtime:
@hx-cd/types,uuid
License
MIT
