Skip to content

Instantly share code, notes, and snippets.

View WillSquire's full-sized avatar

Will Squire WillSquire

View GitHub Profile
@WillSquire
WillSquire / UrlQueryParse.es6.js
Last active September 30, 2015 15:53
Url query parser (encode and decoding should be done separately)
/**
* URI Query Parse
*
* By Will Squire <will_squire@hotmail.co.uk>
*/
/**
* Parses uri query string into a key/value
* array.
*
@WillSquire
WillSquire / HtmlElement.class.php
Last active August 29, 2015 14:23
OOHTML - Object orientated html. Build html objects using php classes and parse the object to html using the toHtml() function.
<?php
/**
* Base interface for PHP HTML elements
*
* Interface HtmlElement
*/
interface HtmlElement {
/**
@WillSquire
WillSquire / empty.es6.js
Last active December 23, 2015 12:33
empty() function. Checks if a variable is empty or not.
/**
* Checks if a variable is empty or not.
* @author Will Squire <will_squire@hotmail.co.uk>
*
* @param $value
* @returns {boolean}
*/
export function empty($value) {
return ($value === null || $value === '' || typeof $value === 'undefined');
}
@WillSquire
WillSquire / flattenArray.js
Last active August 29, 2015 14:23
Flatten Array - Flatten a multidimensional array.
/**
* Flatten a multidimensional array.
*
* @param {Array.<T>} multidimentionalArray
* @returns {Array.<T>}
*/
function flattenArray(multidimentionalArray) {
return [].concat.apply([], multidimentionalArray);
}
@WillSquire
WillSquire / inRange.js
Last active August 29, 2015 14:23
In Range - See if the value is in the range of a and b.
/**
* Checks if a value is in the range (inbetween) the
* value of a and b. Will also return true if equal to
* either value.
*
* @param {number} value
* @param {number} a
* @param {number} b
* @returns {boolean}
*/
@WillSquire
WillSquire / difference.js
Last active August 29, 2015 14:23
Difference - Returns the difference between two numbers.
/**
* Finds the difference between two numbers.
*
* @param {number} a
* @param {number} b
* @returns {number}
*/
function difference(a, b) {
return Math.abs(a-b);
}
@WillSquire
WillSquire / fileExtension.js
Created June 30, 2015 15:32
File extension - Retrieves the file extension from a string.
/**
* Retrieves the file extension from a string.
*
* @param {string} filename
* @returns {string}
*/
function fileExtension(filename) {
return filename.substr(filename.lastIndexOf('.') + 1);
}
@WillSquire
WillSquire / lerp.js
Last active August 29, 2015 14:23
LERP - Get from point a to point b over t.
/**
* Linear interpolation (LERP).
*
* Returns a value between value a to value b over t (0 to 1).
*
* @param {number} a
* @param {number} b
* @param {number} t
* @returns {number}
*/
@WillSquire
WillSquire / time.js
Last active August 29, 2015 14:23
Time - A singleton for getting current time and delta time.
/**
* Time, a singleton for getting current time and delta time.
* I.e. Time.time or Time.deltaTime
*
* @returns {*}
* @constructor
*/
var Time = function() {
// Singleton is returned if avalible else it is made.
if (Time.prototype._singletonInstance)
@WillSquire
WillSquire / clamp.js
Created July 2, 2015 14:36
Clamp - Clamps a value to within the min or max values given.
/**
* Clamps a value to within the min or max values given.
*
* @param {number} value
* @param {number} min
* @param {number} max
* @returns {number}
*/
function clamp(value, min, max) {
return Math.min(Math.max(value, min), max);