Skip to content

Instantly share code, notes, and snippets.

View ianaya89's full-sized avatar
👾

Nacho Anaya ianaya89

👾
View GitHub Profile
if (!Array.prototype.indexOf) {
Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
"use strict";
if (this == null) {
throw new TypeError();
}
var t = Object(this);
var len = t.length >>> 0;
if (len === 0) {
return -1;
@ianaya89
ianaya89 / isNative.js
Created August 26, 2014 02:52
Detect if a function is native.
;(function() {
// Used to resolve the internal `[[Class]]` of values
var toString = Object.prototype.toString;
// Used to resolve the decompiled source of functions
var fnToString = Function.prototype.toString;
// Used to detect host constructors (Safari > 4; really typed array specific)
var reHostCtor = /^\[object .+?Constructor\]$/;
@ianaya89
ianaya89 / debugger.js
Last active August 29, 2015 14:07
CSS Layout Debugger
//Using jquery
[].forEach.call(document.querySelectorAll("*"),function(a){a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16)})
//Full CSS Layout Debugger Tool
http://pesticide.io/
@ianaya89
ianaya89 / module.js
Last active August 29, 2015 14:10
Universal Module Definition (UMD)
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define(['b'], factory); //AMD
} else if (typeof exports === 'object') {
module.exports = factory; //CommonJS
} else {
root.amdWeb = factory(root.b); //Global
}
}(this, function (b) {
return {}; //Module
@ianaya89
ianaya89 / format.js
Created November 26, 2014 18:43
String.format() method.
String.prototype.format = function() {
var args = arguments;
return this.replace(/{(\d+)}/g, function(match, number) {
return typeof args[number] != 'undefined' ? args[number] : match;
});
};
@ianaya89
ianaya89 / gulp.sh
Created December 1, 2014 19:33
Using gulp as web server
npm install gulp -g && npm install --save-dev gulp-connect
@ianaya89
ianaya89 / .bash_profile
Last active October 20, 2017 11:28
Custom Setting for Mac Terminal
# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
export PATH
# Showing Git Branch.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
@ianaya89
ianaya89 / server.js
Created December 4, 2014 02:43
Using Command Line Arguments in Node
//Simple commands: type in console server -f/-g
var units = process.argv[2];
if(units == '-f'){
this.setUnits('Fahrenheit');
} else {
this.setUnits('Celsius');
}
//Flag and Argument Pairs: type in console node -c Tampa,FL
@ianaya89
ianaya89 / little.js
Created December 10, 2014 15:22
Douglas Crockford JS version of the The Little LISPer.
// The Little JavaScripter
// http://www.crockford.com/javascript/little.js
// Copyright 2003 Douglas Crockford. All rights reserved wrrrld wide.
// May 4, 2011
// Produce a printable presentation of an s-expression
function p(x) {
var Patterns = {
INT: /[0-9 -()+]+$/,
FLOAT: /[-+]?([0-9]*.[0-9]+|[0-9]+)/,
EMAIL: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}$/,
IP: /bd{1,3}.d{1,3}.d{1,3}.d{1,3}b/,
CREDIT_CARD: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35d{3})d{11})$/,
USER_NAME: /^[a-z0-9_-]{3,16}$/,
PASSWORD: /^[a-z0-9_-]{6,18}$/,
PASSWORD_STRENGTH: /((?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,15})/gm,