Skip to content

Instantly share code, notes, and snippets.

@gilly3
gilly3 / url.js
Last active August 29, 2015 14:06
URL parsing utilities - Provides a shim for IE, where window.URL has a different meaning than in Chrome and Firefox
function _URL(url) {
// Naive URL parser. Assumes the input URL is valid.
this.hash = "";
this.search = "";
this.pathname = "";
this.port = "";
this.hostname = "";
this.host = "";
this.password = "";
this.username = "";
@gilly3
gilly3 / Object.prototype.equals
Last active August 29, 2015 14:06
Not perfect, but maybe a decent start at a generic object equality by value javascript function
Object.prototype.equals = function(o) {
var properties = Object.keys(this);
var eq = JSON.stringify(properties.sort()) === JSON.stringify(Object.keys(o).sort());
while (eq && properties.length) {
var p = properties.pop();
eq = this[p] === o[p];
}
return eq;
}
@gilly3
gilly3 / formatDate.js
Last active August 31, 2020 15:44
JavaScript date formatting function, loosely based on .Net's `String.Format()` for `DateTime`.
export default function formatDate(date, format, utc)
{
var MMMM = ["\x00", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var MMM = ["\x01", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var dddd = ["\x02", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var ddd = ["\x03", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
function ii(i, len) { var s = i + ""; len = len || 2; while (s.length < len) s = "0" + s; return s; }
var y = utc ? date.getUTCFullYear() : date.getFullYear();
format = format.replace(/(^|[^\\])yyyy+/g, "$1" + y);