Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ vendor
build
dest
dist
lib
lib-cov
coverage
nbproject
Expand Down
7 changes: 0 additions & 7 deletions .npmignore

This file was deleted.

1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
package-lock=false
10 changes: 8 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,14 +139,17 @@ passing an object with the necessary strings. For example:
```js
import { i18n } from "dateformat";

i18n.dayNames = [
i18n.dayNamesShort = [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
];

i18n.dayNamesLong = [
"Sunday",
"Monday",
"Tuesday",
Expand All @@ -156,7 +159,7 @@ i18n.dayNames = [
"Saturday",
];

i18n.monthNames = [
i18n.monthNamesShort = [
"Jan",
"Feb",
"Mar",
Expand All @@ -169,6 +172,9 @@ i18n.monthNames = [
"Oct",
"Nov",
"Dec",
];

i18n.monthNamesLong = [
"January",
"February",
"March",
Expand Down
11 changes: 0 additions & 11 deletions babel.config.json

This file was deleted.

63 changes: 63 additions & 0 deletions benchmark/benchmark-dateformatter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import { Bench } from "tinybench"
import { DateFormatter } from "../date-formatter.js"

const masks = [
"d",
"W",
"o",
"N",
"H",
"S",
"L",
"yy",
"yyyy",
"default",
"shortDate", "paddedShortDate", "mediumDate", "longDate", "fullDate", "isoDate",
"shortTime", "mediumTime", "longTime", "isoTime",
"isoDateTime", "isoUtcDateTime",
"expiresHeaderFormat"
];

const bench = new Bench({ name: 'simple benchmark', time: 100 })

masks.forEach((mask) => {
const date = new Date();
const dateFormatter = new DateFormatter(mask);
bench.add(`DateFormatter ${mask}`, () => {
dateFormatter.format(date);
});
});

{
const date = new Date();
const dateFormatter = new DateFormatter("DDDD");

bench.add(`DateFormatter DDDD - today`, () => {
dateFormatter.format(date);
});
}

{
const date = new Date()
date.setDate(new Date().getDate() + 1);

const dateFormatter = new DateFormatter("DDDD");
bench.add(`DateFormatter DDDD - tomorrow`, () => {
dateFormatter.format(date);
});
}

{
const date = new Date()
date.setDate(new Date().getDate() - 1);

const dateFormatter = new DateFormatter("DDDD");
bench.add(`DateFormatter DDDD - yesterday`, () => {
dateFormatter.format(date);
});
}

await bench.run()

console.log(bench.name)
console.table(bench.table())
62 changes: 40 additions & 22 deletions benchmark/benchmark.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,56 @@
var previousDateFormat = require("./previousDateFormat");
var newDateFormat = require("../lib/dateformat");
import { Bench } from "tinybench"
import dateFormat from "../lib/dateformat.js";

const masks = [
"d",
"W",
"o",
"N",
"shortDate",
"fullDate",
"longTime",
"H",
"S",
"L",
"yy",
"yyyy",
"default",
"shortDate", "paddedShortDate", "mediumDate", "longDate", "fullDate", "isoDate",
"shortTime", "mediumTime", "longTime", "isoTime",
"isoDateTime", "isoUtcDateTime",
"expiresHeaderFormat"
];
let results = [];

const bench = new Bench({ name: 'simple benchmark', time: 100 })

masks.forEach((mask) => {
const previousSpeed = getSpeed(false, mask);
const newSpeed = getSpeed(true, mask);
results.push({
mask: mask,
previous: previousSpeed + "ms",
new: newSpeed + "ms",
improvement: Math.round((previousSpeed / newSpeed - 1) * 100, 2) + "%",
const date = new Date();
bench.add(mask, () => {
dateFormat(date, mask);
});
});

function getSpeed(newVersion, mask) {
const startTime = new Date();
{
const date = new Date();
for (var i = 0; i < 100_000; i++) {
if (newVersion) newDateFormat(date, mask);
else previousDateFormat(date, mask);
}
const endTime = new Date();
return endTime - startTime;
bench.add("DDDD - today", () => {
dateFormat(date, "DDDD");
});
}

{
const date = new Date()
date.setDate(new Date().getDate() + 1);
bench.add("DDDD - tomorrow", () => {
dateFormat(date, "DDDD");
});
}

console.table(results);
{
const date = new Date()
date.setDate(new Date().getDate() - 1);
bench.add("DDDD - yesterday", () => {
dateFormat(date, "DDDD");
});
}

await bench.run()

console.log(bench.name)
console.table(bench.table())
Loading