protoblast
Advanced tools
Comparing version 0.5.4 to 0.5.5
@@ -0,1 +1,8 @@ | ||
## 0.5.5 (WIP) | ||
* Fix some reserved words | ||
* Fix `URL#parse` not working on node v10 | ||
* Change name of the URL class to RURL, also store under Blast.Classes.URL, because the new URL class is crap anyway. | ||
* `Function.regulate` returned wrappers now have a `call_count` property | ||
## 0.5.4 (2018-03-14) | ||
@@ -2,0 +9,0 @@ |
@@ -915,3 +915,3 @@ module.exports = function BlastArray(Blast, Collection, Bound, Obj) { | ||
* | ||
* @param {Array} | ||
* @return {Array} | ||
*/ | ||
@@ -959,2 +959,24 @@ Blast.definePrototype('Array', 'shuffle', function shuffle(rng) { | ||
/** | ||
* Get all elements after the given needle | ||
* | ||
* @author Jelle De Loecker <jelle@develry.be> | ||
* @since 0.5.5 | ||
* @version 0.5.5 | ||
* | ||
* @param {Mixed} needle | ||
* | ||
* @return {Array} | ||
*/ | ||
Blast.definePrototype('Array', 'after', function after(needle) { | ||
var index = this.indexOf(needle); | ||
if (index == -1) { | ||
return []; | ||
} | ||
return this.slice(index + 1); | ||
}); | ||
}; |
@@ -1027,3 +1027,3 @@ module.exports = function BlastFunctionFlow(Blast, Collection, Bound) { | ||
* @since 0.1.6 | ||
* @version 0.5.4 | ||
* @version 0.5.5 | ||
* | ||
@@ -1053,3 +1053,3 @@ * @param {Function} fnc Function to regulate | ||
return function wrapper() { | ||
function wrapper() { | ||
@@ -1059,2 +1059,3 @@ var args = Bound.Array.cast(arguments); | ||
count++; | ||
wrapper.call_count = count; | ||
@@ -1070,2 +1071,6 @@ if (count > amount) { | ||
}; | ||
wrapper.call_count = 0; | ||
return wrapper; | ||
}); | ||
@@ -1072,0 +1077,0 @@ |
@@ -11,5 +11,5 @@ module.exports = function BlastInitLoader(modifyPrototype) { | ||
other_ver, | ||
r_package, | ||
required, | ||
libpath, | ||
package, | ||
Globals, | ||
@@ -97,3 +97,3 @@ version, | ||
if (Blast.isNode) { | ||
package = require(__dirname + '/../package.json'); | ||
r_package = require(__dirname + '/../package.json'); | ||
@@ -116,3 +116,3 @@ // Require the module package | ||
// Split the version | ||
temp = package.version.split('.'); | ||
temp = r_package.version.split('.'); | ||
@@ -196,5 +196,2 @@ // Interpret the numbers | ||
console.log('Reloading protoblast') | ||
// Store shims under unit_test object | ||
@@ -201,0 +198,0 @@ // when unit testing |
@@ -394,3 +394,3 @@ module.exports = function BlastString(Blast, Collection, Bound, Obj) { | ||
* @since 0.1.2 | ||
* @version 0.1.2 | ||
* @version 0.5.5 | ||
* | ||
@@ -407,3 +407,7 @@ * @param {String} needle The string to look for | ||
id; | ||
if (this == null) { | ||
throw new Error('Attempted to perform String#after on invalid context'); | ||
} | ||
if (typeof first === 'undefined') { | ||
@@ -410,0 +414,0 @@ first = true; |
@@ -6,3 +6,4 @@ module.exports = function BlastURL(Blast, Collection) { | ||
NewURL, | ||
props; | ||
props, | ||
key; | ||
@@ -28,10 +29,9 @@ props = [ | ||
/** | ||
* The URL class is present on all modern browsers. | ||
* It is not in node.js or IE9 | ||
* A URL class that accepts relative urls, like it should | ||
* | ||
* @author Jelle De Loecker <jelle@develry.be> | ||
* @since 0.1.3 | ||
* @version 0.1.3 | ||
* @version 0.5.5 | ||
*/ | ||
NewURL = Blast.defineClass('URL', function URL(url) { | ||
NewURL = Blast.defineClass('RURL', function RURL(url) { | ||
@@ -57,2 +57,4 @@ var auth; | ||
this.parse(url); | ||
} else if (Blast.isNode) { | ||
} else { | ||
@@ -80,20 +82,7 @@ parse.call(this, url); | ||
this.slashes = undefined; | ||
}, true); | ||
}); | ||
// IE10 has a URL class, but it doesn't work. | ||
if (Blast.isIE || Blast.isEdge) { | ||
Blast.Classes.URL = NewURL; | ||
Blast.Bound.URL = {}; | ||
Blast.Collection.URL = NewURL; | ||
// Also store under URL, because who cares about the standard URL class anyway | ||
Blast.Classes.URL = NewURL; | ||
Blast.definePrototype(NewURL, 'parse', parse); | ||
} else if (!Blast.isNode) { | ||
// Detect broken URL constructor objects | ||
if (Object.prototype.toString.call(Blast.Globals.URL) == '[object URLConstructor]') { | ||
Blast.Classes.URL = NewURL; | ||
Blast.Bound.URL = {}; | ||
Blast.Collection.URL = NewURL; | ||
} | ||
} | ||
// Add the URL-module prototype methods | ||
@@ -107,3 +96,5 @@ if (Blast.isNode && !Blast.isNWWindow) { | ||
}); | ||
} catch (err) {}; | ||
} catch (err) { | ||
Blast.definePrototype(Blast.Classes.URL, 'parse', liburl.parse); | ||
}; | ||
} | ||
@@ -110,0 +101,0 @@ |
{ | ||
"name": "protoblast", | ||
"description": "Native object expansion library", | ||
"version": "0.5.4", | ||
"version": "0.5.5", | ||
"author": "Jelle De Loecker <jelle@develry.be>", | ||
@@ -15,3 +15,3 @@ "keywords": [ | ||
"dependencies": { | ||
"json-dry" : "~1.0.3" | ||
"json-dry" : "~1.0.4" | ||
}, | ||
@@ -18,0 +18,0 @@ "repository": "skerit/protoblast", |
497596
20431
Updatedjson-dry@~1.0.4