Navigation Menu

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 / 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
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,
@ianaya89
ianaya89 / .jshintrc
Created December 24, 2014 22:06
JavaScrip code guide lines.
{
"maxerr" : 50, // {int} Maximum error before stopping
"bitwise" : true, // true: Prohibit bitwise operators (&, |, ^, etc.)
"camelcase" : true, // true: Identifiers must be in camelCase
"curly" : false, // true: Require {} for every new block or scope
"eqeqeq" : true, // true: Require triple equals (===) for comparison
"forin" : true, // true: Require filtering for..in loops with obj.hasOwnProperty()
"freeze" : true, // true: prohibits overwriting prototypes of native objects such as Array, Date etc.
"immed" : false, // true: Require immediate invocations to be wrapped in parens e.g. `(function () { } ());`
@ianaya89
ianaya89 / get-pip.py
Created December 29, 2014 04:49
Pipi installation file.
This file has been truncated, but you can view the full file.
#!/usr/bin/env python
#
# Hi There!
# You may be wondering what this giant blob of binary data here is, you might
# even be worried that we're up to something nefarious (good for you for being
# paranoid!). This is a base64 encoding of a zip file, this zip file contains
# an entire copy of pip.
#
# Pip is a thing that installs packages, pip itself is a package that someone
# might want to install, especially if they're looking to run this get-pip.py