New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

d8

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

d8 - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

1163

d8.js

@@ -1,612 +0,587 @@

!function() {
!function(m8) {
"use strict";
function _indexOf(o, k) {
var i = o.indexOf(k);
return i == -1 ? N : i;
}
function _lc(o) {
return o.toLowerCase();
}
function _substr(s) {
return s.substring(0, 3);
}
function _uc(o) {
return o.toUpperCase();
}
function associate(o, k) {
return o.reduce(function(res, v, i) {
res[k[i]] = v;
return res;
}, {});
}
function between_equalto(v, l, h) {
return l <= v && v <= h;
}
function copy(d, s, r) {
for (var k in s) !has(s, k) || has(d, k) && r !== T || (d[k] = s[k]);
return d;
}
function forEach(o, fn, ctx) {
ctx || (ctx = o);
Object.keys(o).forEach(function(k, i) {
fn.call(ctx, o[k], k, i, o);
});
return o;
}
function nomember(o, k) {
return !(k in o);
}
function has(o, k) {
return OP.hasOwnProperty.call(o, k);
}
function pad(o, len, radix) {
var i = -1, s = o.toString(radix || 10);
len -= s.length;
while (++i < len) s = "0" + s;
return s;
}
function pluck(a, k) {
return a.reduce(function(v, o) {
!(k in o) || v.push(o[k]);
return v;
}, []);
}
function retVal(x) {
return x;
}
function sum(v, i) {
return v + i;
}
function todesc(v, k, i, o) {
o[k] = {
configurable : F,
enumerable : F,
value : v,
writeable : F
};
}
function _24hrTime(o, res) {
return (o = Number(o)) < 12 && _lc(res.ampm) == _lc(LOCALE.PM) ? o += 12 : o;
}
function _adjust(v, k) {
this.adjust(k, v);
}
function _dayOffset(d) {
return Math.floor((d - getISOFirstMondayOfYear.call(d)) / MS_DAY);
}
function _timezoneOffset(o) {
var t = o.indexOf("-") == 0 ? F : T, m = o.match(/[\+-]?([0-9]{2}):?([0-9]{2})/), v = (Number(m[1]) + m[2] / 60) * 3600;
return t ? v : -v;
}
function _weekOffset(d) {
return Math.floor(Math.abs(_dayOffset(d) / 7));
}
function _zeroIndexedInt(o, k) {
return !isNaN(k) ? k == o ? 0 : Number(k) : Number(o) - 1;
}
function adjust(o, v) {
if (OP.toString.call(o) == "[object Object]") {
forEach(o, _adjust, this);
m8.x.cache("Date", function(Type) {
function _indexOf(o, k) {
var i = o.indexOf(k);
return i == -1 ? null : i;
}
function _lc(o) {
return o.toLowerCase();
}
function _substr(s) {
return s.substring(0, 3);
}
function _uc(o) {
return o.toUpperCase();
}
function associate(o, k) {
return o.reduce(function(res, v, i) {
res[k[i]] = v;
return res;
}, {});
}
function between_equalto(v, l, h) {
return l <= v && v <= h;
}
function pad(o, len, radix) {
var i = -1, s = o.toString(radix || 10);
len -= s.length;
while (++i < len) s = "0" + s;
return s;
}
function pluck(a, k) {
return a.reduce(function(v, o) {
!(k in o) || v.push(o[k]);
return v;
}, []);
}
function sum(v, i) {
return v + i;
}
function _24hrTime(o, res) {
return (o = Number(o)) < 12 && _lc(res.ampm) == _lc(LOCALE.PM) ? o += 12 : o;
}
function _adjust(d, v, k) {
return d.adjust(k, v);
}
function _dayOffset(d) {
return Math.floor((d - getISOFirstMondayOfYear.call(d)) / MS_DAY);
}
function _timezoneOffset(o) {
var t = !!o.indexOf("-"), m = o.match(re_tz_off), v = (Number(m[1]) + m[2] / 60) * 3600;
return t ? v : -v;
}
function _weekOffset(d) {
return Math.floor(Math.abs(_dayOffset(d) / 7));
}
function _zeroIndexedInt(o, k) {
return !isNaN(k) ? k == o ? 0 : Number(k) : Number(o) - 1;
}
function adjust(o, v) {
if (m8.nativeType(o) == "object") {
Object.reduce(o, _adjust, this);
return this;
}
var day, fn = adjust_by[o.toLowerCase()], weekday;
if (!fn || v === 0) return this;
LOCALE.setLeapYear(this);
if (fn == adjust_by.month) {
day = this.getDate();
day < 28 || this.setDate(Math.min(day, getLastOfTheMonth.call(getFirstOfTheMonth.call(this).adjust(Type.MONTH, v))).getDate());
}
fn != adjust_by.week || (weekday = this.getDay());
this[fn[1]](this[fn[0]]() + v);
!weekday || this.setDate(this.getDate() + weekday);
return this;
}
var day, fn = math_fn[o.toLowerCase()], weekday;
if (!fn || v === 0) return this;
LOCALE.setLeapYear(this);
if (fn == math_fn.month) {
day = this.getDate();
day < 28 || this.setDate(Math.min(day, getLastOfTheMonth.call(getFirstOfTheMonth.call(this).adjust(Date.MONTH, v))).getDate());
function between(l, h) {
return this >= l && this <= h;
}
if (fn == math_fn.week) {
weekday = this.getDay();
function clearTime() {
this.setHours(0);
this.setMinutes(0);
this.setSeconds(0);
this.setMilliseconds(0);
return this;
}
this[fn[1]](this[fn[0]]() + v);
!weekday || this.setDate(this.getDate() + weekday);
return this;
}
function between(l, h) {
return this >= l && this <= h;
}
function clearTime() {
this.setHours(0);
this.setMinutes(0);
this.setSeconds(0);
this.setMilliseconds(0);
return this;
}
function clone() {
return new Date(this.getTime());
}
function getDayOfYear() {
LOCALE.setLeapYear(this);
return LOCALE.day_count.slice(0, this.getMonth()).reduce(sum, 0) + this.getDate() - 1;
}
function getFirstOfTheMonth() {
return new Date(this.getFullYear(), this.getMonth(), 1);
}
function getGMTOffset(colon) {
var tz = this.getTimezoneOffset();
return [ tz > 0 ? "-" : "+", pad(Math.floor(Math.abs(tz) / 60), 2), colon ? ":" : "", pad(Math.abs(tz % 60), 2) ].join("");
}
function getISODay() {
return this.getDay() || 7;
}
function getISODaysInYear() {
return Math.ceil((getISOFirstMondayOfYear.call(new Date(this.getFullYear() + 1, 0, 1)) - getISOFirstMondayOfYear.call(this)) / MS_DAY);
}
function getISOFirstMondayOfYear() {
var y = this.getFullYear();
return new Date(y, 0, DAY_OFFSETS[(new Date(y, 0, 1)).getDay()]);
}
function getISOWeek() {
var w, y = this.getFullYear();
if (this >= getISOFirstMondayOfYear.call(new Date(y + 1, 0, 1))) return 1;
w = Math.floor((getDayOfYear.call(this) - getISODay.call(this) + 10) / 7);
return w == 0 ? getISOWeeksInYear.call(new Date(y - 1, 0, 1)) - _weekOffset(this) : w;
}
function getISOWeeksInYear() {
return Math.round((getISOFirstMondayOfYear.call(new Date(this.getFullYear() + 1, 0, 1)) - getISOFirstMondayOfYear.call(this)) / MS_WEEK);
}
function getLastOfTheMonth() {
var m = this.getMonth();
LOCALE.setLeapYear(this);
return new Date(this.getFullYear(), m, LOCALE.day_count[m]);
}
function getWeek() {
return Math.floor(getDayOfYear.call(this) / 7);
}
function isDST() {
return (new Date(this.getFullYear(), 0, 1)).getTimezoneOffset() != this.getTimezoneOffset();
}
function isLeapYear() {
return LOCALE.isLeapYear(this.getFullYear());
}
function setWeek(v) {
this.setMonth(0);
this.setDate(1);
return this.adjust(Date.DAY, v * 7).getTime();
}
function timezone() {
var s = this.toString().split(" ");
return s.splice(4, s.length).join(" ").replace(re_tz, "$1").replace(re_tz_abbr, "");
}
function buildTemplate(o) {
if (cache_format[o]) return cache_format[o];
var fn = [ "var out=[];" ], i = -1, p, parts = o.replace(re_add_nr, NOREPLACE_RB).replace(re_add_enr, NOREPLACE_RE).split(re_split), re_invalid = /^[^A-Za-z]*$/g, l = parts.length;
while (++i < l) {
p = parts[i];
p == NOREPLACE ? (fn.push(tplOut(parts[++i])), ++i) : re_invalid.test(p) ? fn.push(tplOut(p)) : fn.push(compileTplStr(p));
function clone() {
return new Type(this.getTime());
}
fn.push('return out.join( "" );');
return cache_format[o] = new Function("filter", "date", fn.join("\n"));
}
function format(f) {
return buildTemplate(f)(filter, this);
}
function compileTplStr(o) {
return o.replace(re_compile, function(m, p0, p1, p2) {
return tplOut(p0 + "', filter." + p1 + "( date ), '" + p2);
});
}
function tplOut(s) {
return "out.push( '" + s + "' );";
}
function buildParser(o) {
if (cache_parse[o]) return cache_parse[o];
var fn = {}, keys = [], i = -1, parts = o.replace(re_add_nr, NOREPLACE_RB).replace(re_add_enr, NOREPLACE_RE).split(re_split), l = parts.length, p, re = [];
while (++i < l) {
p = parts[i];
if (p == NOREPLACE) {
re.push(parts[++i]);
++i;
continue;
function getDayOfYear() {
LOCALE.setLeapYear(this);
return LOCALE.day_count.slice(0, this.getMonth()).reduce(sum, 0) + this.getDate() - 1;
}
function getFirstOfTheMonth() {
return new Type(this.getFullYear(), this.getMonth(), 1);
}
function getGMTOffset(colon) {
var tz = this.getTimezoneOffset();
return [ tz > 0 ? "-" : "+", pad(Math.floor(Math.abs(tz) / 60), 2), colon ? ":" : "", pad(Math.abs(tz % 60), 2) ].join("");
}
function getISODay() {
return this.getDay() || 7;
}
function getISODaysInYear() {
return Math.ceil((getISOFirstMondayOfYear.call(new Type(this.getFullYear() + 1, 0, 1)) - getISOFirstMondayOfYear.call(this)) / MS_DAY);
}
function getISOFirstMondayOfYear() {
var y = this.getFullYear();
return new Type(y, 0, DAY_OFFSETS[(new Type(y, 0, 1)).getDay()]);
}
function getISOWeek() {
var w, y = this.getFullYear();
if (this >= getISOFirstMondayOfYear.call(new Type(y + 1, 0, 1))) return 1;
w = Math.floor((getDayOfYear.call(this) - getISODay.call(this) + 10) / 7);
return w == 0 ? getISOWeeksInYear.call(new Type(y - 1, 0, 1)) - _weekOffset(this) : w;
}
function getISOWeeksInYear() {
return Math.round((getISOFirstMondayOfYear.call(new Type(this.getFullYear() + 1, 0, 1)) - getISOFirstMondayOfYear.call(this)) / MS_WEEK);
}
function getLastOfTheMonth() {
var m = this.getMonth();
LOCALE.setLeapYear(this);
return new Type(this.getFullYear(), m, LOCALE.day_count[m]);
}
function getWeek() {
return Math.floor(getDayOfYear.call(this) / 7);
}
function isDST() {
return (new Type(this.getFullYear(), 0, 1)).getTimezoneOffset() != this.getTimezoneOffset();
}
function isLeapYear() {
return LOCALE.isLeapYear(this.getFullYear());
}
function setWeek(v) {
this.setMonth(0);
this.setDate(1);
return this.adjust(Type.DAY, v * 7).getTime();
}
function timezone() {
var s = this.toString().split(" ");
return s.splice(4, s.length).join(" ").replace(re_tz, "$1").replace(re_tz_abbr, "");
}
function buildTemplate(o) {
if (cache_format[o]) return cache_format[o];
var fn = [ "var out=[];" ], i = -1, p, parts = o.replace(re_add_nr, NOREPLACE_RB).replace(re_add_enr, NOREPLACE_RE).split(re_split), re_invalid = /^[^A-Za-z]*$/g, l = parts.length;
while (++i < l) {
p = parts[i];
p == NOREPLACE ? (fn.push(tplOut(parts[++i])), ++i) : re_invalid.test(p) ? fn.push(tplOut(p)) : fn.push(compileTplStr(p));
}
p.replace(re_compile, function(m, p1, p2, p3) {
var _fn, _k, _p;
if (!(_p = parser[p2])) return;
if (_p.k) {
keys.push(_p.k);
if (_p.fn) fn[_p.k] = _p.fn;
}
if (_p.combo) {
_k = pluck(_p.combo, "k");
_fn = associate(pluck(_p.combo, "fn"), _k);
keys.push.apply(keys, _k);
copy(fn, _fn, T);
}
if (_p.re) re.push(p1, _p.re, p3);
fn.push('return out.join( "" );');
return cache_format[o] = new Function("filter", "date", fn.join("\n"));
}
function format(f) {
return buildTemplate(f)(filter, this);
}
function compileTplStr(o) {
return o.replace(re_compile, function(m, p0, p1, p2) {
return tplOut(p0 + "', filter." + p1 + "( date ), '" + p2);
});
}
return cache_parse[o] = parse.bind(N, new RegExp(re.join("")), keys, fn);
}
function parse(re, keys, fn, s) {
var d = new Date, m = s.match(re), o = associate(m.slice(1), keys);
forEach(o, function(v, k) {
if (fn[k]) o[k] = fn[k](v, o);
});
if (!isNaN(o[UNIX])) d.setTime(o[UNIX]); else {
parse_setTime(d, o[HOUR], o[MINUTE], o[SECOND], o[MILLISECOND]);
parse_setDate(d, o);
parse_setTimezoneOffset(d, o[TIMEZONE]);
function tplOut(s) {
return "out.push( '" + s + "' );";
}
return d;
}
function parse_setDate(d, o) {
var dw, l, ly, odc, i = -1;
if (date_members.every(nomember.bind(N, o))) return;
if (isNaN(o[YEAR])) o[YEAR] = d.getFullYear();
if (isNaN(o[MONTH])) {
ly = LOCALE.isLeapYear(o[YEAR]) ? 1 : 0;
odc = LOCALE.ordinal_day_count[ly];
l = odc.length;
o[MONTH] = 0;
if (o[WEEK] && !o[DAYYEAR]) {
dw = o[DAYWEEK];
dw = isNaN(dw) ? 0 : !dw ? 7 : dw;
o[DAYYEAR] = o[WEEK] * 7 - (4 - dw);
function buildParser(o) {
if (cache_parse[o]) return cache_parse[o];
var fn = {}, keys = [], i = -1, parts = o.replace(re_add_nr, NOREPLACE_RB).replace(re_add_enr, NOREPLACE_RE).split(re_split), l = parts.length, p, re = [];
while (++i < l) {
p = parts[i];
if (p == NOREPLACE) {
re.push(parts[++i]);
++i;
continue;
}
p.replace(re_compile, function(m, p1, p2, p3) {
var _fn, _k, _p;
if (!(_p = parser[p2])) return;
if (_p.k) {
keys.push(_p.k);
if (_p.fn) fn[_p.k] = _p.fn;
}
if (_p.combo) {
_k = pluck(_p.combo, "k");
_fn = associate(pluck(_p.combo, "fn"), _k);
keys.push.apply(keys, _k);
m8.copy(fn, _fn, true);
}
if (_p.re) re.push(p1, _p.re, p3);
});
}
if (!isNaN(o[DAYYEAR])) {
if (o[DAYYEAR] > odc[odc.length - 1]) {
o[DAYYEAR] -= odc[odc.length - 1];
++o[YEAR];
return cache_parse[o] = parse.bind(null, new RegExp(re.join("")), keys, fn);
}
function parse(re, keys, fn, s) {
var d = new Type, m = s.match(re), o = associate(m.slice(1), keys);
Object.reduce(o, function(n, v, k) {
if (fn[k]) o[k] = fn[k](v, o);
return n;
}, null);
if (!isNaN(o[UNIX])) d.setTime(o[UNIX]); else {
parse_setTime(d, o[HOUR], o[MINUTE], o[SECOND], o[MILLISECOND]);
parse_setDate(d, o);
parse_setTimezoneOffset(d, o[TIMEZONE]);
}
return d;
}
function parse_setDate(d, o) {
var dw, l, ly, odc, i = -1;
if (date_members.every(m8.has.bind(null, o))) return;
if (isNaN(o[YEAR])) o[YEAR] = d.getFullYear();
if (isNaN(o[MONTH])) {
ly = LOCALE.isLeapYear(o[YEAR]) ? 1 : 0;
odc = LOCALE.ordinal_day_count[ly];
l = odc.length;
o[MONTH] = 0;
if (o[WEEK] && !o[DAYYEAR]) {
dw = o[DAYWEEK];
dw = isNaN(dw) ? 0 : !dw ? 7 : dw;
o[DAYYEAR] = o[WEEK] * 7 - (4 - dw);
}
while (++i < l) {
if (between_equalto(o[DAYYEAR], odc[i], odc[i + 1])) {
o[MONTH] = i;
o[DAY] = odc[i] == 0 ? o[DAYYEAR] : o[DAYYEAR] - odc[i];
break;
if (!isNaN(o[DAYYEAR])) {
if (o[DAYYEAR] > odc[odc.length - 1]) {
o[DAYYEAR] -= odc[odc.length - 1];
++o[YEAR];
}
while (++i < l) {
if (between_equalto(o[DAYYEAR], odc[i], odc[i + 1])) {
o[MONTH] = i;
o[DAY] = odc[i] == 0 ? o[DAYYEAR] : o[DAYYEAR] - odc[i];
break;
}
}
}
}
if (isNaN(o[DAY])) o[DAY] = 1;
d.setYear(o[YEAR]);
d.setMonth(o[MONTH]);
d.setDate(o[DAY]);
}
if (isNaN(o[DAY])) o[DAY] = 1;
d.setYear(o[YEAR]);
d.setMonth(o[MONTH]);
d.setDate(o[DAY]);
}
function parse_setTime(d, h, m, s, ms) {
d.setHours(h || 0);
d.setMinutes(m || 0);
d.setSeconds(s || 0);
d.setMilliseconds(ms || 0);
}
function parse_setTimezoneOffset(d, tzo) {
!between_equalto(tzo, -43200, 50400) || d.adjust(Date.SECOND, -d.getTimezoneOffset() * 60 - tzo);
}
function toDate(s, f) {
return buildParser(f)(s);
}
var F = !1, LOCALE = Date.locale, N = null, OP = Object.prototype, T = !0, U, DAY_OFFSETS = [ 9, 1, 0, -1, -2, 4, 3 ], MS_DAY = 864e5, MS_WEEK = 6048e5, SHORT_DAYS = LOCALE.days.map(_substr), SHORT_MONTHS = LOCALE.months.map(_substr), AMPM = "ampm", DAY = "day", DAYWEEK = "dayweek", DAYYEAR = "dayyear", HOUR = "hour", MILLISECOND = "ms", MINUTE = "minute", MONTH = "month", SECOND = "second", TIMEZONE = "timezone", UNIX = "unix", WEEK = "week", YEAR = "year", NOREPLACE = "NOREPLACE", NOREPLACE_RB = "<" + NOREPLACE + "<", NOREPLACE_RE = ">END" + NOREPLACE + ">", cache_format = {}, cache_parse = {}, date_chars, date_members = [ DAY, DAYWEEK, DAYYEAR, MONTH, WEEK, YEAR ], filter, formats = copy({
ISO_8601 : "Y-m-d<T>H:i:s.u<Z>",
ISO_8601_SHORT : "Y-m-d",
RFC_850 : "l, d-M-y H:i:s T",
RFC_2822 : "D, d M Y H:i:s O",
sortable : "Y-m-d H:i:sO"
}, LOCALE.formats), m, math_fn = {
day : [ "getDate", "setDate" ],
hr : [ "getHours", "setHours" ],
min : [ "getMinutes", "setMinutes" ],
month : [ "getMonth", "setMonth" ],
ms : [ "getMilliseconds", "setMilliseconds" ],
sec : [ "getSeconds", "setSeconds" ],
week : [ "getWeek", "setWeek" ],
year : [ "getFullYear", "setFullYear" ]
}, parser, re_ampm = "(am|pm)", re_add_enr = />/g, re_add_nr = /</g, re_compile, re_d1_2 = "([0-9]{1,2})", re_d2 = "([0-9]{2})", re_d4 = "([0-9]{4})", re_split = /[<>]/, re_tz = /[^\(]*\(([^\)]+)\)/g, re_tz_abbr = /[^A-Z]+/g;
formats.atom = formats.ISO_8601;
formats.cookie = formats.RFC_850;
formats.rss = formats.RFC_2822;
filter = {
d : function(d) {
return pad(d.getDate(), 2);
},
D : function(d) {
return LOCALE.days[d.getDay()].substring(0, 3);
},
j : function(d) {
return d.getDate();
},
l : function(d) {
return LOCALE.days[d.getDay()];
},
N : function(d) {
return getISODay.call(d);
},
S : function(d) {
return LOCALE.getOrdinal(d.getDate());
},
w : function(d) {
return d.getDay();
},
z : function(d) {
return d.getDayOfYear();
},
W : function(d) {
return getISOWeek.call(d);
},
F : function(d) {
return LOCALE.months[d.getMonth()];
},
m : function(d) {
return pad(d.getMonth() + 1, 2);
},
M : function(d) {
return LOCALE.months[d.getMonth()].substring(0, 3);
},
n : function(d) {
return d.getMonth() + 1;
},
t : function(d) {
LOCALE.setLeapYear(d);
return LOCALE.day_count[d.getMonth()];
},
L : function(d) {
return d.isLeapYear() ? 1 : 0;
},
o : function(d) {
var m = d.getMonth(), w = getISOWeek.call(d);
return d.getFullYear() + (w == 1 && m > 0 ? 1 : w >= 52 && m < 11 ? -1 : 0);
},
Y : function(d) {
return d.getFullYear();
},
y : function(d) {
return String(d.getFullYear()).substring(2, 4);
},
a : function(d) {
return _lc(d.getHours() < 12 ? LOCALE.AM : LOCALE.PM);
},
A : function(d) {
return _uc(d.getHours() < 12 ? LOCALE.AM : LOCALE.PM);
},
g : function(d) {
return d.getHours() % 12 || 12;
},
G : function(d) {
return d.getHours();
},
h : function(d) {
return pad(filter.g(d), 2);
},
H : function(d) {
return pad(filter.G(d), 2);
},
i : function(d) {
return pad(d.getMinutes(), 2);
},
s : function(d) {
return pad(d.getSeconds(), 2);
},
u : function(d) {
return pad(d.getMilliseconds(), 3);
},
O : function(d) {
return getGMTOffset.call(d);
},
P : function(d) {
return getGMTOffset.call(d, T);
},
T : function(d) {
return timezone.call(d);
},
Z : function(d) {
return d.getTimezoneOffset() * -60;
},
c : function(d) {
return format.call(d, formats.ISO_8601);
},
r : function(d) {
return format.call(d, formats.RFC_2822);
},
U : function(d) {
return d.getTime();
function parse_setTime(d, h, m, s, ms) {
d.setHours(h || 0);
d.setMinutes(m || 0);
d.setSeconds(s || 0);
d.setMilliseconds(ms || 0);
}
};
date_chars = Object.keys(filter).sort().join("");
re_compile = new RegExp("([^" + date_chars + "]*)([" + date_chars + "])([^" + date_chars + "]*)", "g");
parser = {
d : {
k : DAY,
fn : Number,
re : re_d2
},
D : {
k : DAYWEEK,
fn : _indexOf.bind(N, SHORT_DAYS),
re : "(" + SHORT_DAYS.join("|") + ")"
},
j : {
k : DAY,
fn : Number,
re : re_d1_2
},
l : {
k : DAYWEEK,
fn : _indexOf.bind(N, LOCALE.days),
re : "(" + LOCALE.days.join("|") + ")"
},
N : {
k : DAYWEEK,
fn : _zeroIndexedInt.bind(N, 7),
re : "([1-7])"
},
S : {
re : "(?:" + LOCALE.ordinal.join("|") + ")"
},
w : {
k : DAYWEEK,
fn : Number,
re : "([0-6])"
},
z : {
k : DAYYEAR,
fn : Number,
re : "([0-9]{1,3})"
},
W : {
k : WEEK,
fn : Number,
re : re_d2
},
F : {
k : MONTH,
fn : _indexOf.bind(N, LOCALE.months),
re : "(" + LOCALE.months.join("|") + ")"
},
m : {
k : MONTH,
fn : _zeroIndexedInt,
re : re_d2
},
M : {
k : MONTH,
fn : _indexOf.bind(N, SHORT_MONTHS),
re : "(" + SHORT_MONTHS.join("|") + ")"
},
n : {
k : MONTH,
fn : _zeroIndexedInt,
re : re_d1_2
},
t : {
re : "[0-9]{2}"
},
L : {
re : "(?:0|1)"
},
o : {
k : YEAR,
fn : Number,
re : re_d4
},
Y : {
k : YEAR,
fn : Number,
re : re_d4
},
y : {
k : YEAR,
fn : function(o) {
o = Number(o);
return o += o < 30 ? 2e3 : 1900;
function parse_setTimezoneOffset(d, tzo) {
!between_equalto(tzo, -43200, 50400) || d.adjust(Type.SECOND, -d.getTimezoneOffset() * 60 - tzo);
}
function toDate(s, f) {
return buildParser(f)(s);
}
var LOCALE = Type.locale, U, DAY_OFFSETS = [ 9, 1, 0, -1, -2, 4, 3 ], MS_DAY = 864e5, MS_WEEK = 6048e5, SHORT_DAYS = LOCALE.days.map(_substr), SHORT_MONTHS = LOCALE.months.map(_substr), AMPM = "ampm", DAY = "day", DAYWEEK = "dayweek", DAYYEAR = "dayyear", HOUR = "hour", MILLISECOND = "ms", MINUTE = "minute", MONTH = "month", SECOND = "second", TIMEZONE = "timezone", UNIX = "unix", WEEK = "week", YEAR = "year", NOREPLACE = "NOREPLACE", NOREPLACE_RB = "<" + NOREPLACE + "<", NOREPLACE_RE = ">END" + NOREPLACE + ">", adjust_by = {
day : [ "getDate", "setDate" ],
hr : [ "getHours", "setHours" ],
min : [ "getMinutes", "setMinutes" ],
month : [ "getMonth", "setMonth" ],
ms : [ "getMilliseconds", "setMilliseconds" ],
sec : [ "getSeconds", "setSeconds" ],
week : [ "getWeek", "setWeek" ],
year : [ "getFullYear", "setFullYear" ]
}, cache_format = {}, cache_parse = {}, date_members = [ DAY, DAYWEEK, DAYYEAR, MONTH, WEEK, YEAR ], filter = {
d : function(d) {
return pad(d.getDate(), 2);
},
re : re_d2
},
a : {
k : AMPM,
fn : retVal,
re : re_ampm
},
A : {
k : AMPM,
fn : _lc,
re : _uc(re_ampm)
},
g : {
k : HOUR,
fn : _24hrTime,
re : re_d1_2
},
G : {
k : HOUR,
fn : Number,
re : re_d1_2
},
h : {
k : HOUR,
fn : _24hrTime,
re : re_d2
},
H : {
k : HOUR,
fn : Number,
re : re_d2
},
i : {
k : MINUTE,
fn : Number,
re : re_d2
},
s : {
k : SECOND,
fn : Number,
re : re_d2
},
u : {
k : MILLISECOND,
fn : Number,
re : "([0-9]{1,})"
},
O : {
k : TIMEZONE,
fn : _timezoneOffset,
re : "([\\+-][0-9]{4})"
},
P : {
k : TIMEZONE,
fn : _timezoneOffset,
re : "([\\+-][0-9]{2}:[0-9]{2})"
},
T : {
re : "[A-Z]{1,4}"
},
Z : {
k : TIMEZONE,
fn : Number,
re : "([\\+-]?[0-9]{5})"
},
U : {
k : UNIX,
fn : Number,
re : "(-?[0-9]{1,})"
}
};
parser.c = {
combo : [ parser.Y, parser.m, parser.d, parser.H, parser.i, parser.s, parser.P ],
re : [ parser.Y.re, "-", parser.m.re, "-", parser.d.re, "T", parser.H.re, ":", parser.i.re, ":", parser.s.re, parser.P.re ].join("")
};
parser.r = {
combo : [ parser.D, parser.d, parser.M, parser.Y, parser.H, parser.i, parser.s, parser.O ],
re : [ parser.D.re, ", ", parser.d.re, " ", parser.M.re, " ", parser.Y.re, " ", parser.H.re, ":", parser.i.re, ":", parser.s.re, " ", parser.O.re ].join("")
};
Object.defineProperties(Date.prototype, forEach({
adjust : adjust,
between : between,
clearTime : clearTime,
clone : clone,
format : format,
getDayOfYear : getDayOfYear,
getFirstOfTheMonth : getFirstOfTheMonth,
getGMTOffset : getGMTOffset,
getISODay : getISODay,
getISODaysInYear : getISODaysInYear,
getISOFirstMondayOfYear : getISOFirstMondayOfYear,
getISOWeek : getISOWeek,
getISOWeeksInYear : getISOWeeksInYear,
getLastOfTheMonth : getLastOfTheMonth,
getWeek : getWeek,
isDST : isDST,
isLeapYear : isLeapYear,
setWeek : setWeek,
timezone : timezone
}, todesc));
Object.defineProperties(Date, forEach({
DAY : DAY,
HOUR : "hr",
MINUTE : MINUTE.substring(0, 3),
MILLISECOND : MILLISECOND,
MONTH : MONTH,
SECOND : SECOND.substring(0, 3),
WEEK : WEEK,
YEAR : YEAR,
MS_DAY : MS_DAY,
MS_WEEK : MS_WEEK,
MS_MONTH : 2592e6,
MS_YEAR : 31536e6,
filters : filter,
formats : formats,
parsers : parser,
getOrdinal : LOCALE.getOrdinal,
isLeapYear : LOCALE.isLeapYear,
setLeapYear : LOCALE.setLeapYear,
toDate : toDate
}, todesc));
}();
D : function(d) {
return LOCALE.days[d.getDay()].substring(0, 3);
},
j : function(d) {
return d.getDate();
},
l : function(d) {
return LOCALE.days[d.getDay()];
},
N : function(d) {
return getISODay.call(d);
},
S : function(d) {
return LOCALE.getOrdinal(d.getDate());
},
w : function(d) {
return d.getDay();
},
z : function(d) {
return d.getDayOfYear();
},
W : function(d) {
return getISOWeek.call(d);
},
F : function(d) {
return LOCALE.months[d.getMonth()];
},
m : function(d) {
return pad(d.getMonth() + 1, 2);
},
M : function(d) {
return LOCALE.months[d.getMonth()].substring(0, 3);
},
n : function(d) {
return d.getMonth() + 1;
},
t : function(d) {
LOCALE.setLeapYear(d);
return LOCALE.day_count[d.getMonth()];
},
L : function(d) {
return d.isLeapYear() ? 1 : 0;
},
o : function(d) {
var m = d.getMonth(), w = getISOWeek.call(d);
return d.getFullYear() + (w == 1 && m > 0 ? 1 : w >= 52 && m < 11 ? -1 : 0);
},
Y : function(d) {
return d.getFullYear();
},
y : function(d) {
return String(d.getFullYear()).substring(2, 4);
},
a : function(d) {
return _lc(d.getHours() < 12 ? LOCALE.AM : LOCALE.PM);
},
A : function(d) {
return _uc(d.getHours() < 12 ? LOCALE.AM : LOCALE.PM);
},
g : function(d) {
return d.getHours() % 12 || 12;
},
G : function(d) {
return d.getHours();
},
h : function(d) {
return pad(filter.g(d), 2);
},
H : function(d) {
return pad(filter.G(d), 2);
},
i : function(d) {
return pad(d.getMinutes(), 2);
},
s : function(d) {
return pad(d.getSeconds(), 2);
},
u : function(d) {
return pad(d.getMilliseconds(), 3);
},
O : function(d) {
return getGMTOffset.call(d);
},
P : function(d) {
return getGMTOffset.call(d, true);
},
T : function(d) {
return timezone.call(d);
},
Z : function(d) {
return d.getTimezoneOffset() * -60;
},
c : function(d) {
return format.call(d, formats.ISO_8601);
},
r : function(d) {
return format.call(d, formats.RFC_2822);
},
U : function(d) {
return d.getTime();
}
}, filter_chars = Object.keys(filter).sort().join(""), formats = m8.copy({
ISO_8601 : "Y-m-d<T>H:i:s.u<Z>",
ISO_8601_SHORT : "Y-m-d",
RFC_850 : "l, d-M-y H:i:s T",
RFC_2822 : "D, d M Y H:i:s O",
sortable : "Y-m-d H:i:sO"
}, LOCALE.formats), m, re_ampm = "(am|pm)", re_add_enr = />/g, re_add_nr = /</g, re_compile = new RegExp("([^" + filter_chars + "]*)([" + filter_chars + "])([^" + filter_chars + "]*)", "g"), re_d1_2 = "([0-9]{1,2})", re_d2 = "([0-9]{2})", re_d4 = "([0-9]{4})", re_split = /[<>]/, re_tz = /[^\(]*\(([^\)]+)\)/g, re_tz_abbr = /[^A-Z]+/g, re_tz_off = /[\+-]?([0-9]{2}):?([0-9]{2})/, parser = {
d : {
k : DAY,
fn : Number,
re : re_d2
},
D : {
k : DAYWEEK,
fn : _indexOf.bind(null, SHORT_DAYS),
re : "(" + SHORT_DAYS.join("|") + ")"
},
j : {
k : DAY,
fn : Number,
re : re_d1_2
},
l : {
k : DAYWEEK,
fn : _indexOf.bind(null, LOCALE.days),
re : "(" + LOCALE.days.join("|") + ")"
},
N : {
k : DAYWEEK,
fn : _zeroIndexedInt.bind(null, 7),
re : "([1-7])"
},
S : {
re : "(?:" + LOCALE.ordinal.join("|") + ")"
},
w : {
k : DAYWEEK,
fn : Number,
re : "([0-6])"
},
z : {
k : DAYYEAR,
fn : Number,
re : "([0-9]{1,3})"
},
W : {
k : WEEK,
fn : Number,
re : re_d2
},
F : {
k : MONTH,
fn : _indexOf.bind(null, LOCALE.months),
re : "(" + LOCALE.months.join("|") + ")"
},
m : {
k : MONTH,
fn : _zeroIndexedInt,
re : re_d2
},
M : {
k : MONTH,
fn : _indexOf.bind(null, SHORT_MONTHS),
re : "(" + SHORT_MONTHS.join("|") + ")"
},
n : {
k : MONTH,
fn : _zeroIndexedInt,
re : re_d1_2
},
t : {
re : "[0-9]{2}"
},
L : {
re : "(?:0|1)"
},
o : {
k : YEAR,
fn : Number,
re : re_d4
},
Y : {
k : YEAR,
fn : Number,
re : re_d4
},
y : {
k : YEAR,
fn : function(o) {
o = Number(o);
return o += o < 30 ? 2e3 : 1900;
},
re : re_d2
},
a : {
k : AMPM,
fn : m8,
re : re_ampm
},
A : {
k : AMPM,
fn : _lc,
re : _uc(re_ampm)
},
g : {
k : HOUR,
fn : _24hrTime,
re : re_d1_2
},
G : {
k : HOUR,
fn : Number,
re : re_d1_2
},
h : {
k : HOUR,
fn : _24hrTime,
re : re_d2
},
H : {
k : HOUR,
fn : Number,
re : re_d2
},
i : {
k : MINUTE,
fn : Number,
re : re_d2
},
s : {
k : SECOND,
fn : Number,
re : re_d2
},
u : {
k : MILLISECOND,
fn : Number,
re : "([0-9]{1,})"
},
O : {
k : TIMEZONE,
fn : _timezoneOffset,
re : "([\\+-][0-9]{4})"
},
P : {
k : TIMEZONE,
fn : _timezoneOffset,
re : "([\\+-][0-9]{2}:[0-9]{2})"
},
T : {
re : "[A-Z]{1,4}"
},
Z : {
k : TIMEZONE,
fn : Number,
re : "([\\+-]?[0-9]{5})"
},
U : {
k : UNIX,
fn : Number,
re : "(-?[0-9]{1,})"
}
};
formats.atom = formats.ISO_8601;
formats.cookie = formats.RFC_850;
formats.rss = formats.RFC_2822;
parser.c = {
combo : [ parser.Y, parser.m, parser.d, parser.H, parser.i, parser.s, parser.P ],
re : [ parser.Y.re, "-", parser.m.re, "-", parser.d.re, "T", parser.H.re, ":", parser.i.re, ":", parser.s.re, parser.P.re ].join("")
};
parser.r = {
combo : [ parser.D, parser.d, parser.M, parser.Y, parser.H, parser.i, parser.s, parser.O ],
re : [ parser.D.re, ", ", parser.d.re, " ", parser.M.re, " ", parser.Y.re, " ", parser.H.re, ":", parser.i.re, ":", parser.s.re, " ", parser.O.re ].join("")
};
m8.defs(Type.prototype, {
adjust : adjust,
between : between,
clearTime : clearTime,
clone : clone,
format : format,
getDayOfYear : getDayOfYear,
getFirstOfTheMonth : getFirstOfTheMonth,
getGMTOffset : getGMTOffset,
getISODay : getISODay,
getISODaysInYear : getISODaysInYear,
getISOFirstMondayOfYear : getISOFirstMondayOfYear,
getISOWeek : getISOWeek,
getISOWeeksInYear : getISOWeeksInYear,
getLastOfTheMonth : getLastOfTheMonth,
getWeek : getWeek,
isDST : isDST,
isLeapYear : isLeapYear,
setWeek : setWeek,
timezone : timezone
}, "r");
m8.defs(Type, {
DAY : DAY,
HOUR : "hr",
MINUTE : MINUTE.substring(0, 3),
MILLISECOND : MILLISECOND,
MONTH : MONTH,
SECOND : SECOND.substring(0, 3),
WEEK : WEEK,
YEAR : YEAR,
MS_DAY : MS_DAY,
MS_WEEK : MS_WEEK,
MS_MONTH : 2592e6,
MS_YEAR : 31536e6,
filters : {
value : filter
},
formats : {
value : formats
},
parsers : {
value : parser
},
getOrdinal : LOCALE.getOrdinal,
isLeapYear : LOCALE.isLeapYear,
setLeapYear : LOCALE.setLeapYear,
toDate : toDate
}, "r");
}).x(Date);
}(typeof m8 != "undefined" ? m8 : typeof require != "undefined" ? require("m8") : null);

@@ -1,23 +0,25 @@

Date.locale = {
id : 'en-GB',
AM : 'am',
PM : 'pm',
days : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
day_count : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
formats : {
server_date : 'Y-m-d',
server_datetime : 'Y-m-d<T>H:i:sP',
server_time : 'H:i:s',
short_date : 'd/m/Y',
short_time : 'h:ia'
},
months : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
ordinal : ['th', 'st', 'nd', 'rd', 'th'],
ordinal_day_count : [
[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],
[0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
],
getOrdinal : function( d ) { return ( d > 3 && d < 21 ) ? Date.locale.ordinal[0] : Date.locale.ordinal[Math.min( d % 10, 4 )]; },
isLeapYear : function( y ) { return !!( y && ( ( new Date( y, 1, 29 ) ).getDate() == 29 && ( y % 100 || y % 400 == 0 ) ) ); },
setLeapYear : function( d ) { Date.locale.day_count[1] = Date.locale.isLeapYear( d.getFullYear() ) ? 29 : 28; }
};
( typeof m8 != 'undefined' ? m8 : require( 'm8' ) ).x.cache( 'Date', function( Type, m8 ) {
m8.def( Type, 'locale', m8.describe( { value : {
id : 'en-GB',
AM : 'am',
PM : 'pm',
days : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
day_count : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
formats : {
server_date : 'Y-m-d',
server_datetime : 'Y-m-d<T>H:i:sP',
server_time : 'H:i:s',
short_date : 'd/m/Y',
short_time : 'h:ia'
},
months : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
ordinal : ['th', 'st', 'nd', 'rd', 'th'],
ordinal_day_count : [
[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],
[0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
],
getOrdinal : function( d ) { return ( d > 3 && d < 21 ) ? Type.locale.ordinal[0] : Type.locale.ordinal[Math.min( d % 10, 4 )]; },
isLeapYear : function( y ) { return !!( y && ( ( new Type( y, 1, 29 ) ).getDate() == 29 && ( y % 100 || y % 400 == 0 ) ) ); },
setLeapYear : function( d ) { Type.locale.day_count[1] = Type.locale.isLeapYear( d.getFullYear() ) ? 29 : 28; }
} }, 'w' ) );
} );

@@ -1,23 +0,25 @@

Date.locale = {
id : 'en-US',
AM : 'am',
PM : 'pm',
days : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
day_count : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
formats : {
server_date : 'Y-m-d',
server_datetime : 'Y-m-d<T>H:i:sP',
server_time : 'H:i:s',
short_date : 'm/d/Y',
short_time : 'h:ia'
},
months : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
ordinal : ['th', 'st', 'nd', 'rd', 'th'],
ordinal_day_count : [
[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],
[0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
],
getOrdinal : function( d ) { return ( d > 3 && d < 21 ) ? Date.locale.ordinal[0] : Date.locale.ordinal[Math.min( d % 10, 4 )]; },
isLeapYear : function( y ) { return !!( y && ( ( new Date( y, 1, 29 ) ).getDate() == 29 && ( y % 100 || y % 400 == 0 ) ) ); },
setLeapYear : function( d ) { Date.locale.day_count[1] = Date.locale.isLeapYear( d.getFullYear() ) ? 29 : 28; }
};
( typeof m8 != 'undefined' ? m8 : require( 'm8' ) ).x.cache( 'Date', function( Type, m8 ) {
m8.def( Type, 'locale', m8.describe( { value : {
id : 'en-US',
AM : 'am',
PM : 'pm',
days : ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
day_count : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
formats : {
server_date : 'Y-m-d',
server_datetime : 'Y-m-d<T>H:i:sP',
server_time : 'H:i:s',
short_date : 'm/d/Y',
short_time : 'h:ia'
},
months : ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
ordinal : ['th', 'st', 'nd', 'rd', 'th'],
ordinal_day_count : [
[0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365],
[0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366]
],
getOrdinal : function( d ) { return ( d > 3 && d < 21 ) ? Type.locale.ordinal[0] : Type.locale.ordinal[Math.min( d % 10, 4 )]; },
isLeapYear : function( y ) { return !!( y && ( ( new Type( y, 1, 29 ) ).getDate() == 29 && ( y % 100 || y % 400 == 0 ) ) ); },
setLeapYear : function( d ) { Type.locale.day_count[1] = Type.locale.isLeapYear( d.getFullYear() ) ? 29 : 28; }
} }, 'w' ) );
} );

@@ -8,2 +8,3 @@ {

"description" : "d8 is a date parsing and formatting micro-framework for modern JavaScript engines.",
"dependencies" : { "m8" : ">= 0.1.0" },
"devDependencies" : { "Templ8" : ">= 0.3.0", "mkdirp" : ">= 0.3.0", "uglify-js" : ">= 1.2.5" },

@@ -21,3 +22,3 @@ "keywords" : ["date"],

},
"version" : "0.2.0"
"version" : "0.3.0"
}

@@ -11,18 +11,21 @@ # d8.js

- en-GB (0.5kb deflated)
- en-US (0.5kb deflated)
- en-GB (0.6kb deflated)
- en-US (0.6kb deflated)
but feel free to create a locale for your specific nationality and submit a pull request! :D
## file size
## Dependencies
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td width="256">d8.js</td><td width="48">4.6kb</td><td>deflate</td>
<tr><td width="256">d8.min.js</td><td width="48">3.5kb</td><td>uglified + deflate</td>
</table>
d8.js only has one dependency [m8.js](/constantology/m8).
## WARNING!
**NOTE:**
If you are using d8 within a commonjs module, you don't need to require m8 before requiring d8 as this is done internally.
This is an, as yet, untested framework. Use at your own risk!
Also, since d8.js simply extends the Native Date Class, a reference to **m8 IS NOT** stored.
## WARNING!!!
While **d8** has been tested, the testing framework I've written and used is very much a work in progress.
Also I'm currently between virtual machine software – and operating system licenses – so I have only tested on mac osx lion and snow leopard: nodejs – >= v0.6.13 – as well as current – and beta/ nightly – versions of Chrome, Safari/ Webkit and FireFox.
## browser usage

@@ -32,2 +35,4 @@

<script src="/path/to/m8/m8.js" type="text/javascript"></script>
<!-- IMPORTANT: The correct locale must be loaded before d8! -->

@@ -52,2 +57,5 @@ <script src="/path/to/d8/locale/en-GB.js" type="text/javascript"></script>

// if running in a sandboxed environment remember to:
require( 'm8' ).x( Date ); // and/ or any other Types that require extending.
```

@@ -154,3 +162,3 @@

dir( Date.formats );
console.dir( Date.formats );

@@ -157,0 +165,0 @@ ```

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc