/base/000_base/bower_components/was/dist/was.js |
@@ -67,9 +67,70 @@ |
} |
}); |
|
/////////////////////////////////////////////////////////////////////////// |
// Copyright (C) 2016 Wizardry and Steamworks - License: GNU GPLv3 // |
/////////////////////////////////////////////////////////////////////////// |
/*************************************************************************/ |
/* Copyright (C) 2017 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
/*stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript*/ |
/*************************************************************************/ |
if (!Array.prototype.equals) { |
// attach the .equals method to Array's prototype to call it on any array |
Array.prototype.equals = function(a) { |
// if the other array is a falsy value, return |
if (!a) { |
return false; |
} |
|
// compare lengths - can save a lot of time |
if (this.length !== a.length) { |
return false; |
} |
|
for (var i = 0, l = this.length; i < l; i++) { |
// Check if we have nested arrays |
if (this[i] instanceof Array && a[i] instanceof Array) { |
// recurse into the nested arrays |
if (!this[i].equals(a[i])) { |
return false; |
} |
} else if (this[i] !== a[i]) { |
// Warning - two different object instances will never be equal: {x:20} != {x:20} |
return false; |
} |
} |
return true; |
}; |
} |
|
$.extend({ |
equals: function(a) { |
// if the other array is a falsy value, return |
if (!a) { |
return false; |
} |
|
// compare lengths - can save a lot of time |
if (this.length !== a.length) { |
return false; |
} |
|
for (var i = 0, l = this.length; i < l; i++) { |
// Check if we have nested arrays |
if (this[i] instanceof Array && a[i] instanceof Array) { |
// recurse into the nested arrays |
if (!this[i].equals(a[i])) { |
return false; |
} |
} else if (this[i] !== a[i]) { |
// Warning - two different object instances will never be equal: {x:20} != {x:20} |
return false; |
} |
} |
return true; |
} |
}); |
|
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasCSVToArray(csv) { |
var l = []; |
var s = []; |
@@ -108,9 +169,9 @@ |
return l; |
} |
|
/////////////////////////////////////////////////////////////////////////// |
// Copyright (C) 2016 Wizardry and Steamworks - License: GNU GPLv3 // |
/////////////////////////////////////////////////////////////////////////// |
/*************************************************************************/ |
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasArrayToCSV(a) { |
var csv = []; |
for(var i=0; i<a.length; ++i) { |
@@ -123,3 +184,42 @@ |
} |
return csv.join(); |
} |
|
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasMapValueToRange(value, xMin, xMax, yMin, yMax) { |
return yMin + ( |
( yMax - yMin ) * ( value - xMin ) / ( xMax - xMin ) |
); |
} |
|
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasHexToRGB(hex) { |
var shortRegEx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; |
hex = hex.replace( |
shortRegEx, |
function(m, r, g, b) { |
return r + r + g + g + b + b; |
} |
); |
|
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); |
return result ? { |
r: parseInt(result[1], 16), |
g: parseInt(result[2], 16), |
b: parseInt(result[3], 16) |
} : null; |
} |
|
/*************************************************************************/ |
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasRGBToHex(r, g, b) { |
return "#" + ( |
(1 << 24) + |
(r << 16) + |
(g << 8) + |
b |
).toString(16).slice(1); |
} |
/base/000_base/bower_components/was/dist/was.min.js |
@@ -1,4 +1,4 @@ |
/*! was - v1.0.0 - 2017-05-28 |
* http://grimore.org |
* Copyright (c) 2017 Wizardry and Steamworks <office@grimore.org>; Licensed GPL-3.0 */ |
function wasCSVToArray(a){var b=[],c=[],d="";do{var e=a.charAt(0);if(a=a.slice(1,a.length),","!==e)if('"'!==e||a.charAt(0)!==e)if('"'!==e)d+=e;else{if(c[c.length-1]!==e){c.push(e);continue}c.pop()}else d+=e,a=a.slice(1,a.length);else{if('"'!==c[c.length-1]){b.push(d),d="";continue}d+=e}}while(""!==a);return b.push(d),b}function wasArrayToCSV(a){for(var b=[],c=0;c<a.length;++c){var d=a[c].toString().replace('"','""');/"\s,\r\n/.test(d)?b[c]='"'+d+'"':b[c]=d}return b.join()}Array.prototype.product||(Array.prototype.product=function(a){var b=this;return $.map(new Array(Math.max(this.length,b.length)),function(c,d){var e={};return e[b[d]]=a[d],e})}),$.extend({product:function(a,b){return $.map(new Array(Math.max(this.length,a.length)),function(c,d){var e={};return e[a[d]]=b[d],e})}}),Array.prototype.stride||(Array.prototype.stride=function(a){return this.filter(function(b,c){return c%a==0})}),$.extend({stride:function(a,b){return a.filter(function(a,c){return c%b==0})}}),Array.prototype.chunk||(Array.prototype.chunk=function(a){return this.length?[this.slice(0,a)].concat(this.slice(a).chunk(a)):[]}),$.extend({chunk:function(a,b){return a.length?[a.slice(0,b)].concat(a.slice(b).chunk(b)):[]}}); |
function wasCSVToArray(a){var b=[],c=[],d="";do{var e=a.charAt(0);if(a=a.slice(1,a.length),","!==e)if('"'!==e||a.charAt(0)!==e)if('"'!==e)d+=e;else{if(c[c.length-1]!==e){c.push(e);continue}c.pop()}else d+=e,a=a.slice(1,a.length);else{if('"'!==c[c.length-1]){b.push(d),d="";continue}d+=e}}while(""!==a);return b.push(d),b}function wasArrayToCSV(a){for(var b=[],c=0;c<a.length;++c){var d=a[c].toString().replace('"','""');/"\s,\r\n/.test(d)?b[c]='"'+d+'"':b[c]=d}return b.join()}function wasMapValueToRange(a,b,c,d,e){return d+(e-d)*(a-b)/(c-b)}function wasHexToRGB(a){var b=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;a=a.replace(b,function(a,b,c,d){return b+b+c+c+d+d});var c=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);return c?{r:parseInt(c[1],16),g:parseInt(c[2],16),b:parseInt(c[3],16)}:null}function wasRGBToHex(a,b,c){return"#"+((1<<24)+(a<<16)+(b<<8)+c).toString(16).slice(1)}Array.prototype.product||(Array.prototype.product=function(a){var b=this;return $.map(new Array(Math.max(this.length,b.length)),function(c,d){var e={};return e[b[d]]=a[d],e})}),$.extend({product:function(a,b){return $.map(new Array(Math.max(this.length,a.length)),function(c,d){var e={};return e[a[d]]=b[d],e})}}),Array.prototype.stride||(Array.prototype.stride=function(a){return this.filter(function(b,c){return c%a==0})}),$.extend({stride:function(a,b){return a.filter(function(a,c){return c%b==0})}}),Array.prototype.chunk||(Array.prototype.chunk=function(a){return this.length?[this.slice(0,a)].concat(this.slice(a).chunk(a)):[]}),$.extend({chunk:function(a,b){return a.length?[a.slice(0,b)].concat(a.slice(b).chunk(b)):[]}}),Array.prototype.equals||(Array.prototype.equals=function(a){if(!a)return!1;if(this.length!==a.length)return!1;for(var b=0,c=this.length;b<c;b++)if(this[b]instanceof Array&&a[b]instanceof Array){if(!this[b].equals(a[b]))return!1}else if(this[b]!==a[b])return!1;return!0}),$.extend({equals:function(a){if(!a)return!1;if(this.length!==a.length)return!1;for(var b=0,c=this.length;b<c;b++)if(this[b]instanceof Array&&a[b]instanceof Array){if(!this[b].equals(a[b]))return!1}else if(this[b]!==a[b])return!1;return!0}}); |
/base/000_base/bower_components/was/lib/collections/arrays/arrays.js |
@@ -64,3 +64,65 @@ |
.concat(a.slice(n).chunk(n)); |
} |
}); |
|
/*************************************************************************/ |
/* Copyright (C) 2017 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
/*stackoverflow.com/questions/7837456/how-to-compare-arrays-in-javascript*/ |
/*************************************************************************/ |
if (!Array.prototype.equals) { |
// attach the .equals method to Array's prototype to call it on any array |
Array.prototype.equals = function(a) { |
// if the other array is a falsy value, return |
if (!a) { |
return false; |
} |
|
// compare lengths - can save a lot of time |
if (this.length !== a.length) { |
return false; |
} |
|
for (var i = 0, l = this.length; i < l; i++) { |
// Check if we have nested arrays |
if (this[i] instanceof Array && a[i] instanceof Array) { |
// recurse into the nested arrays |
if (!this[i].equals(a[i])) { |
return false; |
} |
} else if (this[i] !== a[i]) { |
// Warning - two different object instances will never be equal: {x:20} != {x:20} |
return false; |
} |
} |
return true; |
}; |
} |
|
$.extend({ |
equals: function(a) { |
// if the other array is a falsy value, return |
if (!a) { |
return false; |
} |
|
// compare lengths - can save a lot of time |
if (this.length !== a.length) { |
return false; |
} |
|
for (var i = 0, l = this.length; i < l; i++) { |
// Check if we have nested arrays |
if (this[i] instanceof Array && a[i] instanceof Array) { |
// recurse into the nested arrays |
if (!this[i].equals(a[i])) { |
return false; |
} |
} else if (this[i] !== a[i]) { |
// Warning - two different object instances will never be equal: {x:20} != {x:20} |
return false; |
} |
} |
return true; |
} |
}); |
/base/000_base/bower_components/was/lib/formats/csv/csv.js |
@@ -1,6 +1,6 @@ |
/////////////////////////////////////////////////////////////////////////// |
// Copyright (C) 2016 Wizardry and Steamworks - License: GNU GPLv3 // |
/////////////////////////////////////////////////////////////////////////// |
/*************************************************************************/ |
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasCSVToArray(csv) { |
var l = []; |
var s = []; |
@@ -39,9 +39,9 @@ |
return l; |
} |
|
/////////////////////////////////////////////////////////////////////////// |
// Copyright (C) 2016 Wizardry and Steamworks - License: GNU GPLv3 // |
/////////////////////////////////////////////////////////////////////////// |
/*************************************************************************/ |
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasArrayToCSV(a) { |
var csv = []; |
for(var i=0; i<a.length; ++i) { |
/base/000_base/bower_components/was/lib/physics/colorimetry.js |
@@ -0,0 +1,31 @@ |
/*************************************************************************/ |
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasHexToRGB(hex) { |
var shortRegEx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; |
hex = hex.replace( |
shortRegEx, |
function(m, r, g, b) { |
return r + r + g + g + b + b; |
} |
); |
|
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); |
return result ? { |
r: parseInt(result[1], 16), |
g: parseInt(result[2], 16), |
b: parseInt(result[3], 16) |
} : null; |
} |
|
/*************************************************************************/ |
/* Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 */ |
/*************************************************************************/ |
function wasRGBToHex(r, g, b) { |
return "#" + ( |
(1 << 24) + |
(r << 16) + |
(g << 8) + |
b |
).toString(16).slice(1); |
} |