
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@epdoc/timeutil
Advanced tools
Contains date and time duration utilities that are not found in moment.js or require a fair amount of wrapper logic when using Intl.DurationFormat.
Contains no external dependencies.
Contains methods to generate, from a Date object:
import { dateUtil } from './mod.ts';
const d0 = new Date();
console.log(d0.toLocaleString());
console.log(d0.toISOString());
console.log(dateUtil(d0).toISOLocalString());
console.log(dateUtil(d0).toISOLocalString(false));
console.log(dateUtil(d0).julianDate());
console.log(dateUtil(d0).googleSheetsDate());
console.log(dateUtil(d0).format('YYYYMMDD_HHmmss'));
console.log(dateUtil(d0).formatUTC('YYYYMMDD_HHmmss'));
Resultant output:
11/25/1997, 06:13:14 AM
1997-11-25T12:13:14.456Z
1997-11-25T06:13:14.456-06:00
1997-11-25T06:13:14-06:00'
2450778
35759.25918981482
19971125_061314
19971125_121314
Contains methods to generate a duration string from a number of milliseconds.
import { Duration } from './mod.ts';
console.log('digital');
console.log(' ', Duration.util().digital.format(-4443454));
console.log(' ', Duration.util().digital.digits(0).format(-4443454));
console.log(' ', Duration.util().digital.format(3454)); // default 3 fractional digits
console.log(' ', Duration.util().digital.digits(0).format(3454.123456));
console.log(' ', Duration.util().digital.digits(6).format(3454.123456));
console.log(' ', Duration.util().digital.digits(9).format(3454.123456));
console.log('narrow');
console.log(' ', Duration.util().narrow.format(-4443454));
console.log(' ', Duration.util().narrow.max('minutes').digits(0).format(4443454));
console.log(' ', Duration.util().narrow.format(3454));
console.log('long');
console.log(' ', Duration.util().long.format(-4443454));
console.log(' ', Duration.util().long.separator(' ').digits(0).max('minutes').format(-4443454));
console.log('short');
console.log(' ', Duration.util().short.digits(0).format(982440990));
console.log(' ', Duration.util().short.digits(3).format(982440990));
Resultant output:
digital
1:14:03.454
1:14:03
00:03.454
00:03
00:03.454123
00:03.454123456
narrow
1h14m03.454s
74m03s
3.454s
long
1 hour, 14 minutes, 3 seconds, 454 milliseconds
74 minutes 3 seconds
short
11 days 8 hr 54 min
11 days 8 hr 54 min 990 ms
There are type definitions for the following:
Milliseconds: IntegerHrMilliseconds: numberEpochMilliseconds: IntegerEpochSeconds: IntegerMinutes: numberSeconds: numberimport type { Milliseconds, HrMilliseconds, EpochMilliseconds, EpochSeconds, Minutes } from './mod.ts';
FAQs
Date and duration utilities
The npm package @epdoc/timeutil receives a total of 1 weekly downloads. As such, @epdoc/timeutil popularity was classified as not popular.
We found that @epdoc/timeutil demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.