@multisystemsuite/timezone-engine-utils
v5.0.0
Published
Caching, logging, and plugin utilities for @multisystemsuite/timezone-engine
Downloads
1,498
Maintainers
Readme
@multisystemsuite/timezone-engine-utils
Shared utilities — caching, memoization, logging, plugins, and environment detection for the timezone engine.
What it is used for
- Performance — TTL cache and memoized conversion/formatting
- Enterprise plugins — extend format/convert behaviour
- Config management — centralised engine settings
- Environment detection — browser vs Node vs SSR
- Internal building block; rarely installed directly by app developers
Install
npm install @multisystemsuite/timezone-engine-utilsUsage
import {
TimezoneCache,
memoize,
PluginManager,
ConfigManager,
createConsoleLogger,
isBrowser,
isNode,
isSSR,
} from "@multisystemsuite/timezone-engine-utils";
const cache = new TimezoneCache(300_000); // 5 min TTL
cache.set("key", { tz: "UTC" });
const cachedFn = memoize(
(tz: string) => expensiveLookup(tz),
(tz) => tz,
cache,
);
const plugins = new PluginManager();
plugins.register({
name: "audit",
afterFormat: (_date, result) => {
auditLog(result);
return result;
},
});Key exports
| Export | Purpose |
| -------------------------------------- | ------------------------- |
| TimezoneCache | TTL key-value cache |
| memoize() | Cache function results |
| PluginManager | Register timezone plugins |
| ConfigManager | Engine config get/update |
| createConsoleLogger() | Debug logging |
| isBrowser() / isNode() / isSSR() | Runtime detection |
Related packages
@multisystemsuite/timezone-engine-core— primary consumer@multisystemsuite/timezone-engine-shared-types—TimezonePlugin,TimezoneLoggertypes
Keywords
timezone, cache, memoization, plugins, utilities, typescript, enterprise
License
MIT
